# frozen_string_literal: true # generated: 2024-03-22 15:42:08 +0100 # rubocop:disable Style/FrozenStringLiteralComment require 'openssl' require 'nokogiri' module PaloAlto module DSL def relative(*expressions) Expression.new(:relative, current, expressions) end def root(*expressions) Expression.new(:root, current, expressions) end def current Expression.new(:this_node) end def descendant(*expressions) Expression.new(:descendant, current, expressions) end def child(*expressions) Expression.new(:child, current, expressions) end def axis(name, *element_names) Expression.new(:axis, current, name, element_names) end def anywhere(*expressions) Expression.new(:anywhere, expressions) end def xpath_attr(expression) Expression.new(:attribute, current, expression) end def text Expression.new(:text, current) end def css(selector) Expression.new(:css, current, Literal.new(selector)) end def function(name, *arguments) Expression.new(:function, name, *arguments) end def method(name, *arguments) if name != :not Expression.new(:function, name, current, *arguments) else Expression.new(:function, name, *arguments) end end def where(expression) if expression Expression.new(:where, current, expression) else current end end def is(expression) Expression.new(:is, current, expression) end def binary_operator(name, rhs) Expression.new(:binary_operator, name, current, rhs) end def union(*expressions) Union.new(*[self, expressions].flatten) end alias + union def last function(:last) end def position function(:position) end # rubocop:disable Lint/BooleanSymbol METHODS = [ :count, :id, :local_name, :namespace_uri, :string, :concat, :starts_with, :contains, :substring_before, :substring_after, :substring, :string_length, :normalize_space, :translate, :boolean, :not, :true, :false, :lang, :number, :sum, :floor, :ceiling, :round ].freeze # rubocop:enable Lint/BooleanSymbol METHODS.each do |key| name = key.to_s.tr('_', '-').to_sym define_method key do |*args| method(name, *args) end end def qname method(:name) end alias inverse not alias ~ not alias ! not alias normalize normalize_space alias n normalize_space OPERATORS = [ %i[equals = ==], %i[or or |], %i[and and &], %i[not_equals != !=], %i[lte <= <=], %i[lt < <], %i[gte >= >=], %i[gt > >], %i[plus +], %i[minus -], %i[multiply * *], %i[divide div /], %i[mod mod %] ].freeze OPERATORS.each do |(name, operator, alias_name)| define_method name do |rhs| binary_operator(operator, rhs) end alias_method alias_name, name if alias_name end AXES = %i[ ancestor ancestor_or_self attribute descendant_or_self following following_sibling namespace parent preceding preceding_sibling self ].freeze AXES.each do |key| name = key.to_s.tr('_', '-').to_sym define_method key do |*element_names| axis(name, *element_names) end end alias self_axis self def ends_with(suffix) function(:substring, current, function(:'string-length', current).minus(function(:'string-length', suffix)).plus(1)) == suffix end def contains_word(word) function(:concat, ' ', current.normalize_space, ' ').contains(" #{word} ") end UPPERCASE_LETTERS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞŸŽŠŒ'.freeze LOWERCASE_LETTERS = 'abcdefghijklmnopqrstuvwxyzàáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿžšœ'.freeze def lowercase method(:translate, UPPERCASE_LETTERS, LOWERCASE_LETTERS) end def parenthesis(arg) Expression.new(:parenthesis, arg) end def uppercase method(:translate, LOWERCASE_LETTERS, UPPERCASE_LETTERS) end def one_of(*expressions) expressions.map { |e| current.equals(e) }.reduce(:or) end def next_sibling(*expressions) axis(:'following-sibling')[1].axis(:self, *expressions) end def previous_sibling(*expressions) axis(:'preceding-sibling')[1].axis(:self, *expressions) end end extend PaloAlto::DSL include PaloAlto::DSL def self.generate yield(self) end class Union include Enumerable attr_reader :expressions alias arguments expressions def initialize(*expressions) @expressions = expressions end def expression :union end def each(&block) arguments.each(&block) end def method_missing(*args) # rubocop:disable Style/MissingRespondToMissing PaloAlto::Union.new(*arguments.map { |e| e.send(*args) }) end def to_xpath(type = nil) Renderer.render(self, type) end end class Literal attr_reader :value def initialize(value) @value = value end end class Renderer def self.render(node, type) new(type).render(node) end def initialize(type) @type = type end def render(node) arguments = node.arguments.map { |argument| convert_argument(argument) } send(node.expression, *arguments) end def convert_argument(argument) case argument when Expression, Union then render(argument) when Array then argument.map { |element| convert_argument(element) } when String then string_literal(argument) when Literal then argument.value else argument.to_s end end def string_literal(string) if string.include?("'") string = string.split("'", -1).map do |substr| "'#{substr}'" end.join(%q(,"'",)) "concat(#{string})" else "'#{string}'" end end def this_node '.' end def binary_operator(name, left, right) "#{left}#{name}#{right}".gsub('./@', '@') end def parenthesis(arg) "(#{arg})" end def root(_current, element_names) element_names.any? ? "/#{element_names.join('/')}" : '' end def relative(_current, _element_names) '.' end def descendant(current, element_names) with_element_conditions("#{current}//", element_names) end def child(current, element_names) with_element_conditions("#{current}/", element_names) end def axis(current, name, element_names) with_element_conditions("#{current}/#{name}::", element_names) end def anywhere(element_names) with_element_conditions('//', element_names) end def where(on, condition) "#{on}[#{condition}]" end def attribute(current, name) if valid_xml_name?(name) "#{current}/@#{name}" else "#{current}/attribute::*[local-name(.) = #{string_literal(name)}]" end end def is(one, two) if @type == :exact binary_operator('=', one, two) else function(:contains, one, two) end end def variable(name) "%{#{name}}" end def text(current) "#{current}/text()" end def literal(node) node end def css(current, selector) paths = Nokogiri::CSS.xpath_for(selector).map do |xpath_selector| "#{current}#{xpath_selector}" end union(paths) end def union(*expressions) expressions.join(' | ') end def function(name, *arguments) "#{name}(#{arguments.join(', ')})" end private def with_element_conditions(expression, element_names) if element_names.length == 1 "#{expression}#{element_names.first}" elsif element_names.length > 1 "#{expression}*[#{element_names.map { |e| "self::#{e}" }.join(' | ')}]" else "#{expression}*" end end def valid_xml_name?(name) name =~ /^[a-zA-Z_:][a-zA-Z0-9_:.\-]*$/ end end class Expression include PaloAlto::DSL attr_accessor :expression, :arguments def initialize(expression, *arguments) @expression = expression @arguments = arguments end def current self end def to_xpath(type = nil) Renderer.render(self, type) end end class XML class ConfigClass < Expression attr_reader :api_attributes, :subclasses, :parent_instance alias :_class :class def initialize(parent_instance:, client:, create_children: false) @client = client @parent_instance = parent_instance @subclasses = {} @values = {} @create_children = create_children @external_values = {} # data we received and don't need to set again @api_attributes = {} @expression = :child unless is_a?(ArrayConfigClass) xpath_argument = @parent_instance @arguments = [xpath_argument, [_section]] end end def maybe_register_subclass(name, instance) return instance unless instance_variable_get('@create_children') @subclasses[name] ||= instance end def selector_subclasses [] end class << self attr_accessor :props end def create! @create_children = true self end def inspect to_s[0...-1] + ' ' + values(full_tree: false).map { |k, v| "#{k}: #{v.inspect}" }.join(', ') + '>' end def get_all(xpath: to_xpath) raise(InvalidCommandException, "please use 'get' here") if self._class.superclass != ArrayConfigClass payload = { type: 'config', action: 'get', xpath: xpath } data = @client.execute(payload) start_time = Time.now result = parent_instance.dup.create!.clear!.external_set(data.xpath('//response/result').first) if @client.debug.include?(:statistics) warn "Elapsed for parsing #{result.length} results: #{Time.now - start_time} seconds" end result end def clear! @subclasses = {} @values = {} self end def complete(xpath:) payload = { type: 'config', action: 'complete', xpath: xpath } @client.execute(payload) end def get(ignore_empty_result: false, xpath: to_xpath, return_only: false) if self._class.superclass == ArrayConfigClass && !@selector raise(InvalidCommandException, "Please use 'get_all' here") end payload = { type: 'config', action: 'get', xpath: xpath } data = @client.execute(payload) start_time = Time.now if data.xpath('//response/result/*').length != 1 && (ignore_empty_result == false) raise(ObjectNotPresentException, "empty result: #{payload.inspect}") end if return_only data.xpath('//response/result/*') else @create_children = true n = data.xpath('//response/result/*') if n.any? clear! external_set(n.first) if is_a?(ArrayConfigClass) primary_key = get_primary_key(n.first.attribute_nodes, self._class.props) set_array_class_attributes(n.first, primary_key) end end self end.tap do warn "Elapsed for parsing: #{Time.now - start_time} seconds" if @client.debug.include?(:statistics) end end def get_primary_key(attribute_nodes, props) primary_key_attr = attribute_nodes.find do |attr| props.keys.find { |k| k == "@#{attr.name}" } end Hash[primary_key_attr.name.to_sym, primary_key_attr.value] end def set_array_class_attributes(child, primary_key) @external_values.merge!({ "@#{primary_key.keys.first}" => primary_key.values.first }) child.attribute_nodes.each do |attr| next if attr.name.to_sym == primary_key.keys.first api_attributes[attr.name] = attr.value end end def get_class_from_child_str(child) str = child.name.dup str[0] = 'K' if str == 'class' str[0] = str[0].upcase name = str.gsub(/-(.)/) { |_e| Regexp.last_match(1).upcase } self._class.const_get(name) rescue NameError raise "Child not found for #{self._class.to_s}: #{child.name}" end def external_set(data) data.element_children.map do |child| child.name.match(/\A[a-zA-Z0-9_-]*\z/) or raise 'invalid character' if (prop = self._class.props[child.name]) if has_multiple_values? @external_values[child.name] ||= [] @external_values[child.name] << enforce_type(prop, child.text, skip_validation: true) else @external_values[child.name] = enforce_type(prop, child.text, skip_validation: true) end elsif (new_class = get_class_from_child_str(child)) if new_class.superclass == ConfigClass subclass = send(child.name.gsub('-', '_')) elsif new_class.superclass == ArrayConfigClass primary_key = get_primary_key(child.attribute_nodes, new_class.props) subclass = send(child.name, primary_key) subclass.set_array_class_attributes(child, primary_key) else raise end subclass.external_set(child) else raise "unknown key: #{child.name}" end subclass end end def enforce_type(prop_hash, value, value_type: prop_hash['type'], skip_validation: false) if prop_hash.is_a?(Hash) && prop_hash['ui-field-hint'] == 'type: "bool"' value_type = 'bool' end case value_type when 'bool' return true if ['yes', true].include?(value) return false if ['no', false].include?(value) raise ArgumentError, "Not bool: #{value.inspect}" when 'string', 'ipdiscontmask', 'iprangespec', 'ipspec', 'rangelistspec' raise(ArgumentError, "Not string: #{value.inspect}") unless value.is_a?(String) if prop_hash['regex'] && !value.match(prop_hash['regex']) && !value.match(prop_hash['regex']) raise ArgumentError, "#{self._class} - Not matching regex: #{value.inspect} (#{prop_hash['regex'].inspect})" unless skip_validation end if prop_hash['maxlen'] && (value.length > prop_hash['maxlen'].to_i) raise(ArgumentError, "Too long, max. #{prop_hash['maxlen'].to_i} characters allowed") unless skip_validation end value when 'enum' accepted_values = if prop_hash.is_a?(Hash) prop_hash['enum'].map { |x| x['value'] } else prop_hash.map { |x| x['value'] } # is an array if part of value_type 'multiple' end return value if accepted_values.include?(value) raise ArgumentError, "not allowed: #{value.inspect} (not within #{accepted_values.inspect})" when 'float' Float(value) when 'rangedint' number = Integer(value) return number if number >= prop_hash['min'].to_i && number <= prop_hash['max'].to_i raise ArgumentError, "not in range #{prop_hash['min']}..#{prop_hash['max']}: #{number}" when 'multiple' prop_hash['multi-types'].each_key do |key| # TODO: prop_hash['multi-types'][key] might be an Array, handle that better and provide the correct format to enforce_type return enforce_type(prop_hash['multi-types'][key], value, value_type: key) rescue StandardError false end raise(ArgumentError, "Nothing matching found for #{value.inspect} (#{prop_hash.inspect})") end end def xml_builder(xml, full_tree: false, tag_filter: nil) self._class.props.keys.select { |key| tag_filter.nil? || tag_filter.include?(key) }.map do |k| next if k.start_with?('@') v = prop_get(k, include_defaults: false) next if v.nil? Array(v).each do |val| val = 'yes' if val == true val = 'no' if val == false xml.method_missing(k, val) end end if full_tree @subclasses.each do |tag_name, subclass| next if tag_filter && !tag_filter.include?(tag_name) if subclass.is_a?(Hash) subclass.each do |k2, subclass2| tag_attr = k2.merge(subclass2.api_attributes.select { |attr, _| %w(uuid).include?(attr)}) xml.public_send(tag_name, tag_attr) do |xml2| subclass2.xml_builder(xml2, full_tree: full_tree) end end else tag_name = 'method_' if tag_name=='method' xml.public_send(tag_name) do |xml2| subclass.xml_builder(xml2, full_tree: full_tree) end end end end xml end # used for Array classes (e.g. 'entry') def array_class_setter(*args, klass:, section:, &block) unless (args.length == 1 && !block) || (args.empty? && block) raise(ArgumentError, 'wrong number of arguments (expected one argument or block)') end entry = klass.new(parent_instance: self, client: @client, create_children: @create_children) if block expression = PaloAlto.instance_eval(&block) raise(ArgumentError, 'Block is not an expression!') unless expression.is_a?(PaloAlto::Expression) || expression.nil? obj = child(section.to_sym).where(expression) entry.expression = obj.expression entry.arguments = obj.arguments entry else selector = args[0] @subclasses[section] ||= {} selector_key = "@#{selector.keys.first}" prop = klass.props[selector_key] or raise(ArgumentError, 'Selector does not exist') selector_value = enforce_type(prop, selector.values.first) entry.instance_variable_get('@external_values').merge!({ selector_key => selector_value }) entry.selector = selector entry.set_xpath_from_selector! if @create_children @subclasses[section][selector] ||= entry else entry end end end def values(full_tree: true, include_defaults: true) h = {} self._class.props.keys.map do |k| prop = prop_get(k, include_defaults: include_defaults) h[k] = prop if prop end if full_tree @subclasses.each do |k, subclass| if subclass.is_a?(Hash) h[k] ||= {} subclass.each do |k2, subclass2| h[k][k2] = subclass2.values(full_tree: true, include_defaults: include_defaults) end else h[k] = subclass.values(full_tree: true, include_defaults: include_defaults) end end end h end def set_values(h, external: false) h = h.values(include_defaults: false) if h.is_a?(PaloAlto::XML::ConfigClass) raise(ArgumentError, 'needs to be a Hash') unless h.is_a?(Hash) clear! create! h.each do |k, v| if v.is_a?(Hash) if selector_subclasses.include?(k.to_s.gsub('-', '_')) v.each do |selector, content| send(k.to_s.gsub('-', '_'), selector).set_values(content, external: external) end else send(k.to_s.gsub('-', '_')).set_values(v, external: external) end elsif external @external_values[k] = v else prop_set(k, v) end end self end def prop_get(prop, include_defaults: true) my_prop = self._class.props[prop] if @values.key?(prop) @values[prop] elsif @external_values.key?(prop) && @external_values[prop].is_a?(Array) @values[prop] = @external_values[prop].dup elsif @external_values.key?(prop) @external_values[prop] elsif my_prop.key?('default') && ( my_prop['optional'] != 'yes' || include_defaults ) enforce_types(my_prop, my_prop['default']) end end def enforce_types(prop_hash, values) return if values.nil? values = values.split(/\s+/) if has_multiple_values? && values.is_a?(String) if values.is_a?(Array) && has_multiple_values? values.map { |v| enforce_type(prop_hash, v) } elsif !has_multiple_values? enforce_type(prop_hash, values) else raise(ArgumentError, 'Needs to be Array but is not, or vice versa') end end def prop_set(prop, value) my_prop = self._class.props[prop] or raise(InternalErrorException, "Unknown attribute for #{self._class}: #{prop}") @values[prop] = enforce_types(my_prop, value) end def to_xml(tag_filter: nil, full_tree:, include_root:) builder = Nokogiri::XML::Builder.new do |xml| xml.public_send(_section, begin selector rescue StandardError nil end) do xml_builder(xml, full_tree: full_tree, tag_filter: tag_filter) end end if include_root builder.doc.root.to_xml else builder.doc.root.children.map(&:to_xml).join("\n") end end def edit! xml_str = to_xml(full_tree: true, include_root: true) payload = { type: 'config', action: 'edit', xpath: to_xpath, element: xml_str } @client.execute(payload) end alias :push! :edit! def set!(tag_filter: nil) xml_str = to_xml(full_tree: true, include_root: false, tag_filter: tag_filter) payload = { type: 'config', action: 'set', xpath: to_xpath, element: xml_str } @client.execute(payload) end def delete_child(name) @subclasses.delete(name) && true || false end def delete! payload = { type: 'config', action: 'delete', xpath: to_xpath } @client.execute(payload) end def multimove!(dst:, members:, all_errors: false) source = to_xpath builder = Nokogiri::XML::Builder.new do |xml| xml.root do xml.public_send('selected-list') do xml.source(xpath: source) do members.each { |member| xml.member member } end end xml.public_send('all-errors', all_errors ? 'yes' : 'no') end end element = builder.doc.root.children.map(&:to_xml).join("\n") payload = { type: 'config', action: 'multi-move', xpath: dst, element: element } @client.execute(payload) end end class ArrayConfigClass < ConfigClass attr_accessor :selector def move!(where:, dst: nil) payload = { type: 'config', action: 'move', xpath: to_xpath, where: where } payload[:dst] = dst if dst @client.execute(payload) end def set_xpath_from_selector!(selector: @selector) xpath = parent_instance.child(_section) k, v = selector.first obj = xpath.where(PaloAlto.xpath_attr(k.to_sym) == v) @expression = obj.expression @arguments = obj.arguments end def rename!(new_name, internal_only: false) result = if internal_only true else payload = { type: 'config', action: 'rename', xpath: to_xpath, newname: new_name } @client.execute(payload) end selector.transform_values! { new_name } @external_values["@#{selector.keys.first}"] = new_name set_xpath_from_selector! result end end class Config < ConfigClass def has_multiple_values?; false; end def _section :config end class Predefined < ConfigClass def has_multiple_values?; false; end def _section :predefined end class Threats < ConfigClass def has_multiple_values?; false; end def _section :threats end class PhoneHome < XML::ConfigClass def has_multiple_values?; true; end def _section :'phone-home' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'255'}, 'category'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string'}, 'severity'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'critical'}, {'value'=>'high'}, {'value'=>'medium'}, {'value'=>'low'}, {'value'=>'informational'}]}, 'host'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'client'}, {'value'=>'server'}]}, 'app'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string'}} def name prop_get('@name') end def category prop_get('category') end def category=(val) prop_set('category', val) end def severity prop_get('severity') end def severity=(val) prop_set('severity', val) end def host prop_get('host') end def host=(val) prop_set('host', val) end def app prop_get('app') end def app=(val) prop_set('app', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def phone_home maybe_register_subclass('phone-home', PhoneHome.new(parent_instance: self, client: @client, create_children: @create_children)) end class Vulnerability < XML::ConfigClass def has_multiple_values?; true; end def _section :vulnerability end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class AffectedHost < ConfigClass def has_multiple_values?; false; end def _section :'affected-host' end @props = {'client'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool'}, 'server'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool'}} def client prop_get('client') end def client=(val) prop_set('client', val) end def server prop_get('server') end def server=(val) prop_set('server', val) end end def affected_host @subclasses['affected-host'] ||= AffectedHost.new(parent_instance: self, client: @client, create_children: @create_children) end class TimeAttribute < ConfigClass def has_multiple_values?; false; end def _section :'time-attribute' end @props = {'interval'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4096'}, 'threshold'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'256'}, 'track-by'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'source'}, {'value'=>'destination'}, {'value'=>'source-and-destination'}]}} def interval prop_get('interval') end def interval=(val) prop_set('interval', val) end def threshold prop_get('threshold') end def threshold=(val) prop_set('threshold', val) end def track_by prop_get('track-by') end def track_by=(val) prop_set('track-by', val) end end def time_attribute @subclasses['time-attribute'] ||= TimeAttribute.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'255'}, 'category'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'code-execution'}, {'value'=>'overflow'}, {'value'=>'sql-injection'}, {'value'=>'info-leak'}, {'value'=>'email-worm'}, {'value'=>'net-worm'}, {'value'=>'adware'}, {'value'=>'keylogger'}, {'value'=>'data-theft'}, {'value'=>'phishing'}, {'value'=>'spam'}, {'value'=>'botnet'}, {'value'=>'brute-force'}, {'value'=>'rootkit'}, {'value'=>'trojan'}, {'value'=>'backdoor'}, {'value'=>'virus'}, {'value'=>'email-flooder'}, {'value'=>'spamtool'}, {'value'=>'hacktool'}, {'value'=>'dos'}, {'value'=>'suspicious'}, {'value'=>'scan'}, {'value'=>'other-malware'}, {'value'=>'user-defined'}]}, 'severity'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'critical'}, {'value'=>'high'}, {'value'=>'medium'}, {'value'=>'low'}, {'value'=>'informational'}]}} def name prop_get('@name') end def category prop_get('category') end def category=(val) prop_set('category', val) end def severity prop_get('severity') end def severity=(val) prop_set('severity', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vulnerability maybe_register_subclass('vulnerability', Vulnerability.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def threats @subclasses['threats'] ||= Threats.new(parent_instance: self, client: @client, create_children: @create_children) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'127', 'regex'=>'^[^\]\'\[]*$'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'no'}]}, 'color'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'color1'}, {'value'=>'color2'}, {'value'=>'color3'}, {'value'=>'color4'}, {'value'=>'color5'}, {'value'=>'color6'}, {'value'=>'color7'}, {'value'=>'color8'}, {'value'=>'color9'}, {'value'=>'color10'}, {'value'=>'color11'}, {'value'=>'color12'}, {'value'=>'color13'}, {'value'=>'color14'}, {'value'=>'color15'}, {'value'=>'color16'}, {'value'=>'color17'}, {'value'=>'color19'}, {'value'=>'color20'}, {'value'=>'color21'}, {'value'=>'color22'}, {'value'=>'color23'}, {'value'=>'color24'}, {'value'=>'color25'}, {'value'=>'color26'}, {'value'=>'color27'}, {'value'=>'color28'}, {'value'=>'color29'}, {'value'=>'color30'}, {'value'=>'color31'}, {'value'=>'color32'}, {'value'=>'color33'}, {'value'=>'color34'}, {'value'=>'color35'}, {'value'=>'color36'}, {'value'=>'color37'}, {'value'=>'color38'}, {'value'=>'color39'}, {'value'=>'color40'}, {'value'=>'color41'}, {'value'=>'color42'}]}, 'comments'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}} def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end def color prop_get('color') end def color=(val) prop_set('color', val) end def comments prop_get('comments') end def comments=(val) prop_set('comments', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end class Motd < XML::ConfigClass def has_multiple_values?; true; end def _section :motd end class Entry < ConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'message'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'3200', 'help-string'=>'Message of the day'}, 'severity'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'warning'}, {'value'=>'question'}, {'value'=>'error'}, {'value'=>'info'}]}} # Message of the day def message prop_get('message') end # Message of the day def message=(val) prop_set('message', val) end def severity prop_get('severity') end def severity=(val) prop_set('severity', val) end end def entry @subclasses['entry'] ||= Entry.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def motd maybe_register_subclass('motd', Motd.new(parent_instance: self, client: @client, create_children: @create_children)) end class DefaultSecurityRules < ConfigClass def has_multiple_values?; false; end def _section :'default-security-rules' end @props = {} end def default_security_rules @subclasses['default-security-rules'] ||= DefaultSecurityRules.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def predefined @subclasses['predefined'] ||= Predefined.new(parent_instance: self, client: @client, create_children: @create_children) end class Panorama < ConfigClass def has_multiple_values?; false; end def _section :panorama end class ServerProfile < ConfigClass def has_multiple_values?; false; end def _section :'server-profile' end class Ldap < XML::ConfigClass def has_multiple_values?; true; end def _section :ldap end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'ldap server ip or host name.', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'regex'=>'^([a-zA-Z0-9\.\_-])+([a-zA-Z]{2,63})$', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'Host name.'}}}, 'port'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'389', 'help-string'=>'default 389 for LDAP, 636 for LDAPS'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # ldap server ip or host name. def address prop_get('address') end # ldap server ip or host name. def address=(val) prop_set('address', val) end # default 389 for LDAP, 636 for LDAPS def port prop_get('port') end # default 389 for LDAP, 636 for LDAPS def port=(val) prop_set('port', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'ldap-type'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'other', 'enum'=>[{'value'=>'active-directory'}, {'value'=>'e-directory'}, {'value'=>'sun'}, {'value'=>'other'}]}, 'ssl'=>{'node-type'=>'element', 'prune-on'=>'cc-only-mode', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes'}, 'verify-server-certificate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Verify server certificate for SSL sessions'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}, 'base'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'255', 'regex'=>'^[^[:cntrl:]]+$', 'help-string'=>'Default base distinguished name (DN) to use for searches'}, 'bind-dn'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'255', 'regex'=>'^[^[:cntrl:]]+$', 'help-string'=>'bind distinguished name'}, 'bind-password'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'121', 'encrypt'=>'yes', 'help-string'=>'bind password'}, 'timelimit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'30', 'default'=>'30', 'help-string'=>'number of seconds to wait for performing searches'}, 'bind-timelimit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'60', 'default'=>'30', 'help-string'=>'number of seconds to use for connecting to servers'}, 'retry-interval'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'60', 'max'=>'3600', 'help-string'=>'Interval (seconds) for reconnecting LDAP server', 'default'=>'60'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def ldap_type prop_get('ldap-type') end def ldap_type=(val) prop_set('ldap-type', val) end def ssl prop_get('ssl') end def ssl=(val) prop_set('ssl', val) end # Verify server certificate for SSL sessions def verify_server_certificate prop_get('verify-server-certificate') end # Verify server certificate for SSL sessions def verify_server_certificate=(val) prop_set('verify-server-certificate', val) end def disabled prop_get('disabled') end def disabled=(val) prop_set('disabled', val) end # Default base distinguished name (DN) to use for searches def base prop_get('base') end # Default base distinguished name (DN) to use for searches def base=(val) prop_set('base', val) end # bind distinguished name def bind_dn prop_get('bind-dn') end # bind distinguished name def bind_dn=(val) prop_set('bind-dn', val) end # bind password def bind_password prop_get('bind-password') end # bind password def bind_password=(val) prop_set('bind-password', val) end # number of seconds to wait for performing searches def timelimit prop_get('timelimit') end # number of seconds to wait for performing searches def timelimit=(val) prop_set('timelimit', val) end # number of seconds to use for connecting to servers def bind_timelimit prop_get('bind-timelimit') end # number of seconds to use for connecting to servers def bind_timelimit=(val) prop_set('bind-timelimit', val) end # Interval (seconds) for reconnecting LDAP server def retry_interval prop_get('retry-interval') end # Interval (seconds) for reconnecting LDAP server def retry_interval=(val) prop_set('retry-interval', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ldap maybe_register_subclass('ldap', Ldap.new(parent_instance: self, client: @client, create_children: @create_children)) end class Radius < XML::ConfigClass def has_multiple_values?; true; end def _section :radius end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Protocol < XML::ConfigClass def has_multiple_values?; true; end def _section :protocol end class CHAP < ConfigClass def has_multiple_values?; false; end def _section :CHAP end @props = {} end def CHAP @subclasses['CHAP'] ||= CHAP.new(parent_instance: self, client: @client, create_children: @create_children) end class PAP < ConfigClass def has_multiple_values?; false; end def _section :PAP end @props = {} end def PAP @subclasses['PAP'] ||= PAP.new(parent_instance: self, client: @client, create_children: @create_children) end class PEAPMSCHAPv2 < ConfigClass def has_multiple_values?; false; end def _section :'PEAP-MSCHAPv2' end @props = {'anon-outer-id'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Make Outer Identity Anonymous'}, 'allow-pwd-change'=>{'node-type'=>'element', 'type'=>'bool', 'help-string'=>'Allow users to change passwords after expiry'}, 'radius-cert-profile'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Certificate profile for verifying the RADIUS server'}} # Make Outer Identity Anonymous def anon_outer_id prop_get('anon-outer-id') end # Make Outer Identity Anonymous def anon_outer_id=(val) prop_set('anon-outer-id', val) end # Allow users to change passwords after expiry def allow_pwd_change prop_get('allow-pwd-change') end # Allow users to change passwords after expiry def allow_pwd_change=(val) prop_set('allow-pwd-change', val) end # Certificate profile for verifying the RADIUS server def radius_cert_profile prop_get('radius-cert-profile') end # Certificate profile for verifying the RADIUS server def radius_cert_profile=(val) prop_set('radius-cert-profile', val) end end def PEAP_MSCHAPv2 @subclasses['PEAP-MSCHAPv2'] ||= PEAPMSCHAPv2.new(parent_instance: self, client: @client, create_children: @create_children) end class PEAPWithGTC < ConfigClass def has_multiple_values?; false; end def _section :'PEAP-with-GTC' end @props = {'anon-outer-id'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Make Outer Identity Anonymous'}, 'radius-cert-profile'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Certificate profile for verifying the RADIUS server'}} # Make Outer Identity Anonymous def anon_outer_id prop_get('anon-outer-id') end # Make Outer Identity Anonymous def anon_outer_id=(val) prop_set('anon-outer-id', val) end # Certificate profile for verifying the RADIUS server def radius_cert_profile prop_get('radius-cert-profile') end # Certificate profile for verifying the RADIUS server def radius_cert_profile=(val) prop_set('radius-cert-profile', val) end end def PEAP_with_GTC @subclasses['PEAP-with-GTC'] ||= PEAPWithGTC.new(parent_instance: self, client: @client, create_children: @create_children) end class EAPTTLSWithPAP < ConfigClass def has_multiple_values?; false; end def _section :'EAP-TTLS-with-PAP' end @props = {'anon-outer-id'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Make Outer Identity Anonymous'}, 'radius-cert-profile'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Certificate profile for verifying the RADIUS server'}} # Make Outer Identity Anonymous def anon_outer_id prop_get('anon-outer-id') end # Make Outer Identity Anonymous def anon_outer_id=(val) prop_set('anon-outer-id', val) end # Certificate profile for verifying the RADIUS server def radius_cert_profile prop_get('radius-cert-profile') end # Certificate profile for verifying the RADIUS server def radius_cert_profile=(val) prop_set('radius-cert-profile', val) end end def EAP_TTLS_with_PAP @subclasses['EAP-TTLS-with-PAP'] ||= EAPTTLSWithPAP.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def protocol maybe_register_subclass('protocol', Protocol.new(parent_instance: self, client: @client, create_children: @create_children)) end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'ip-address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'RADIUS server IP or host name', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'regex'=>'^([a-zA-Z0-9\.\_-])+([a-zA-Z]{2,63})$', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'Host name.'}}}, 'secret'=>{'node-type'=>'element', 'type'=>'string', 'encrypt'=>'yes', 'maxlen'=>'64', 'help-string'=>'Shared secret for RADIUS communication'}, 'port'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'1812', 'help-string'=>'RADIUS server port'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # RADIUS server IP or host name def ip_address prop_get('ip-address') end # RADIUS server IP or host name def ip_address=(val) prop_set('ip-address', val) end # Shared secret for RADIUS communication def secret prop_get('secret') end # Shared secret for RADIUS communication def secret=(val) prop_set('secret', val) end # RADIUS server port def port prop_get('port') end # RADIUS server port def port=(val) prop_set('port', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'120', 'default'=>'3', 'help-string'=>'number of seconds to wait for when performing authentication'}, 'retries'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'5', 'default'=>'3', 'help-string'=>'number of attempts before giving up authentication'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # number of seconds to wait for when performing authentication def timeout prop_get('timeout') end # number of seconds to wait for when performing authentication def timeout=(val) prop_set('timeout', val) end # number of attempts before giving up authentication def retries prop_get('retries') end # number of attempts before giving up authentication def retries=(val) prop_set('retries', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def radius maybe_register_subclass('radius', Radius.new(parent_instance: self, client: @client, create_children: @create_children)) end class Scp < XML::ConfigClass def has_multiple_values?; true; end def _section :scp end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string'}, 'server'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'SCP hostname'}, 'port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'22', 'help-string'=>'SCP port'}, 'username'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'128', 'regex'=>'[^\']*', 'help-string'=>'SCP username'}, 'password'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'64', 'regex'=>'[^\']*', 'help-string'=>'SCP Password', 'encrypt'=>'yes'}, 'path'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'256', 'help-string'=>'SCP image base path'}, 'fingerprint'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'256', 'regex'=>'[^\']*', 'help-string'=>'SCP host fingerprint'}} # alphanumeric string def name prop_get('@name') end # SCP hostname def server prop_get('server') end # SCP hostname def server=(val) prop_set('server', val) end # SCP port def port prop_get('port') end # SCP port def port=(val) prop_set('port', val) end # SCP username def username prop_get('username') end # SCP username def username=(val) prop_set('username', val) end # SCP Password def password prop_get('password') end # SCP Password def password=(val) prop_set('password', val) end # SCP image base path def path prop_get('path') end # SCP image base path def path=(val) prop_set('path', val) end # SCP host fingerprint def fingerprint prop_get('fingerprint') end # SCP host fingerprint def fingerprint=(val) prop_set('fingerprint', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def scp maybe_register_subclass('scp', Scp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Kerberos < XML::ConfigClass def has_multiple_values?; true; end def _section :kerberos end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'host'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Kerberos server ip or host name.', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'regex'=>'^([a-zA-Z0-9\.\_-])+([a-zA-Z]{2,63})$', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'Host name.'}}}, 'port'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'88', 'help-string'=>'Kerberos Domain Controller '}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # Kerberos server ip or host name. def host prop_get('host') end # Kerberos server ip or host name. def host=(val) prop_set('host', val) end # Kerberos Domain Controller def port prop_get('port') end # Kerberos Domain Controller def port=(val) prop_set('port', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def kerberos maybe_register_subclass('kerberos', Kerberos.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tacplus < XML::ConfigClass def has_multiple_values?; true; end def _section :tacplus end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'TACACS+ server ip or host name.', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'regex'=>'^([a-zA-Z0-9\.\_-])+([a-zA-Z]{2,63})$', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'Host name.'}}}, 'secret'=>{'node-type'=>'element', 'type'=>'string', 'encrypt'=>'yes', 'maxlen'=>'64', 'help-string'=>'Shared secret for TACACS+ communication'}, 'port'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'49', 'help-string'=>'TACACS+ server port'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # TACACS+ server ip or host name. def address prop_get('address') end # TACACS+ server ip or host name. def address=(val) prop_set('address', val) end # Shared secret for TACACS+ communication def secret prop_get('secret') end # Shared secret for TACACS+ communication def secret=(val) prop_set('secret', val) end # TACACS+ server port def port prop_get('port') end # TACACS+ server port def port=(val) prop_set('port', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'30', 'default'=>'3', 'help-string'=>'number of seconds to wait for when performing authentication'}, 'use-single-connection'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Use single connection for all authentication'}, 'protocol'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'CHAP', 'help-string'=>'Select authentication protocol', 'enum'=>[{'value'=>'CHAP'}, {'value'=>'PAP'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # number of seconds to wait for when performing authentication def timeout prop_get('timeout') end # number of seconds to wait for when performing authentication def timeout=(val) prop_set('timeout', val) end # Use single connection for all authentication def use_single_connection prop_get('use-single-connection') end # Use single connection for all authentication def use_single_connection=(val) prop_set('use-single-connection', val) end # Select authentication protocol def protocol prop_get('protocol') end # Select authentication protocol def protocol=(val) prop_set('protocol', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def tacplus maybe_register_subclass('tacplus', Tacplus.new(parent_instance: self, client: @client, create_children: @create_children)) end class SamlIdp < XML::ConfigClass def has_multiple_values?; true; end def _section :'saml-idp' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'entity-id'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'1024', 'help-string'=>'Unique identifier for SAML IdP'}, 'certificate'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'complete-handler'=>'check-idp-cert-fields-completer', 'help-string'=>'Object name of IdP signing certificate'}, 'sso-url'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'255', 'help-string'=>'The Single Sign On Service URL for the IdP server'}, 'sso-bindings'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'post', 'enum'=>[{'value'=>'post'}, {'value'=>'redirect'}]}, 'slo-url'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'255', 'help-string'=>'The Single Logout Service URL for the IdP server'}, 'slo-bindings'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'post', 'enum'=>[{'value'=>'post'}, {'value'=>'redirect'}]}, 'validate-idp-certificate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Certificate revocation check for IdP certificate when checking assertion signature'}, 'want-auth-requests-signed'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Client auth request signed by cert'}, 'max-clock-skew'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'900', 'default'=>'60', 'help-string'=>'maximum allowed clock skew in second between SAML entities\' system time'}, 'attribute-name-username-import'=>{'node-type'=>'element', 'internal'=>'yes', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'63', 'default'=>'username', 'help-string'=>'Attribute name for username to be extracted from SAML response'}, 'attribute-name-usergroup-import'=>{'node-type'=>'element', 'internal'=>'yes', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'usergroup'}, 'attribute-name-admin-role-import'=>{'node-type'=>'element', 'internal'=>'yes', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'admin-role'}, 'attribute-name-access-domain-import'=>{'node-type'=>'element', 'internal'=>'yes', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'access-domain'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # Unique identifier for SAML IdP def entity_id prop_get('entity-id') end # Unique identifier for SAML IdP def entity_id=(val) prop_set('entity-id', val) end # Object name of IdP signing certificate def certificate prop_get('certificate') end # Object name of IdP signing certificate def certificate=(val) prop_set('certificate', val) end # The Single Sign On Service URL for the IdP server def sso_url prop_get('sso-url') end # The Single Sign On Service URL for the IdP server def sso_url=(val) prop_set('sso-url', val) end def sso_bindings prop_get('sso-bindings') end def sso_bindings=(val) prop_set('sso-bindings', val) end # The Single Logout Service URL for the IdP server def slo_url prop_get('slo-url') end # The Single Logout Service URL for the IdP server def slo_url=(val) prop_set('slo-url', val) end def slo_bindings prop_get('slo-bindings') end def slo_bindings=(val) prop_set('slo-bindings', val) end # Certificate revocation check for IdP certificate when checking assertion signature def validate_idp_certificate prop_get('validate-idp-certificate') end # Certificate revocation check for IdP certificate when checking assertion signature def validate_idp_certificate=(val) prop_set('validate-idp-certificate', val) end # Client auth request signed by cert def want_auth_requests_signed prop_get('want-auth-requests-signed') end # Client auth request signed by cert def want_auth_requests_signed=(val) prop_set('want-auth-requests-signed', val) end # maximum allowed clock skew in second between SAML entities' system time def max_clock_skew prop_get('max-clock-skew') end # maximum allowed clock skew in second between SAML entities' system time def max_clock_skew=(val) prop_set('max-clock-skew', val) end # Attribute name for username to be extracted from SAML response def attribute_name_username_import prop_get('attribute-name-username-import') end # Attribute name for username to be extracted from SAML response def attribute_name_username_import=(val) prop_set('attribute-name-username-import', val) end # usergroup def attribute_name_usergroup_import prop_get('attribute-name-usergroup-import') end # usergroup def attribute_name_usergroup_import=(val) prop_set('attribute-name-usergroup-import', val) end # admin-role def attribute_name_admin_role_import prop_get('attribute-name-admin-role-import') end # admin-role def attribute_name_admin_role_import=(val) prop_set('attribute-name-admin-role-import', val) end # access-domain def attribute_name_access_domain_import prop_get('attribute-name-access-domain-import') end # access-domain def attribute_name_access_domain_import=(val) prop_set('attribute-name-access-domain-import', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def saml_idp maybe_register_subclass('saml-idp', SamlIdp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Netflow < XML::ConfigClass def has_multiple_values?; true; end def _section :netflow end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class TemplateRefreshRate < ConfigClass def has_multiple_values?; false; end def _section :'template-refresh-rate' end @props = {'minutes'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'30'}, 'packets'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'600', 'default'=>'20'}} def minutes prop_get('minutes') end def minutes=(val) prop_set('minutes', val) end def packets prop_get('packets') end def packets=(val) prop_set('packets', val) end end def template_refresh_rate @subclasses['template-refresh-rate'] ||= TemplateRefreshRate.new(parent_instance: self, client: @client, create_children: @create_children) end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'host'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Netflow server ip or host name.', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63', 'regex'=>'^([a-zA-Z0-9\.\_-])+([a-zA-Z]{2,63})$'}}}, 'port'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'2055', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Netflow server port'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # Netflow server ip or host name. def host prop_get('host') end # Netflow server ip or host name. def host=(val) prop_set('host', val) end # Netflow server port def port prop_get('port') end # Netflow server port def port=(val) prop_set('port', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'active-timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'60', 'default'=>'5', 'help-string'=>'Active timeout in minutes'}, 'export-enterprise-fields'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Export PAN-OS Specific Field Types'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # Active timeout in minutes def active_timeout prop_get('active-timeout') end # Active timeout in minutes def active_timeout=(val) prop_set('active-timeout', val) end # Export PAN-OS Specific Field Types def export_enterprise_fields prop_get('export-enterprise-fields') end # Export PAN-OS Specific Field Types def export_enterprise_fields=(val) prop_set('export-enterprise-fields', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def netflow maybe_register_subclass('netflow', Netflow.new(parent_instance: self, client: @client, create_children: @create_children)) end class Dns < XML::ConfigClass def has_multiple_values?; true; end def _section :dns end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Inheritance < ConfigClass def has_multiple_values?; false; end def _section :inheritance end @props = {'source'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Dynamic interface'}} # Dynamic interface def source prop_get('source') end # Dynamic interface def source=(val) prop_set('source', val) end end def inheritance @subclasses['inheritance'] ||= Inheritance.new(parent_instance: self, client: @client, create_children: @create_children) end class Source < ConfigClass def has_multiple_values?; false; end def _section :source end @props = {'interface'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Source interface to use to reach destination'}, 'address'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Source IP address to use to reach destination'}} # Source interface to use to reach destination def interface prop_get('interface') end # Source interface to use to reach destination def interface=(val) prop_set('interface', val) end # Source IP address to use to reach destination def address prop_get('address') end # Source IP address to use to reach destination def address=(val) prop_set('address', val) end end def source @subclasses['source'] ||= Source.new(parent_instance: self, client: @client, create_children: @create_children) end class SourceV6 < ConfigClass def has_multiple_values?; false; end def _section :'source-v6' end @props = {'interface'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Source interface to use to reach destination'}, 'address'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'96', 'help-string'=>'Source IP address to use to reach destination'}} # Source interface to use to reach destination def interface prop_get('interface') end # Source interface to use to reach destination def interface=(val) prop_set('interface', val) end # Source IP address to use to reach destination def address prop_get('address') end # Source IP address to use to reach destination def address=(val) prop_set('address', val) end end def source_v6 @subclasses['source-v6'] ||= SourceV6.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'primary'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Primary DNS Name server IP address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'help-string'=>'DNS primary server ip'}, 'enum'=>[{'value'=>'inherited'}]}}, 'secondary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Secondary DNS Name server IP address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'help-string'=>'DNS primary server ip'}, 'enum'=>[{'value'=>'inherited'}]}}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # Primary DNS Name server IP address def primary prop_get('primary') end # Primary DNS Name server IP address def primary=(val) prop_set('primary', val) end # Secondary DNS Name server IP address def secondary prop_get('secondary') end # Secondary DNS Name server IP address def secondary=(val) prop_set('secondary', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def dns maybe_register_subclass('dns', Dns.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def server_profile @subclasses['server-profile'] ||= ServerProfile.new(parent_instance: self, client: @client, create_children: @create_children) end class AuthenticationProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'authentication-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SingleSignOn < ConfigClass def has_multiple_values?; false; end def _section :'single-sign-on' end @props = {'realm'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'127', 'subtype'=>'object-name', 'help-string'=>'Kerberos realm to be used for authentication'}, 'service-principal'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'255', 'regex'=>'^([:/a-zA-Z0-9._-])+$', 'help-string'=>'Kerberos service principal'}, 'kerberos-keytab'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'131072', 'encrypt'=>'yes', 'help-string'=>'Kerberos keytab'}} # Kerberos realm to be used for authentication def realm prop_get('realm') end # Kerberos realm to be used for authentication def realm=(val) prop_set('realm', val) end # Kerberos service principal def service_principal prop_get('service-principal') end # Kerberos service principal def service_principal=(val) prop_set('service-principal', val) end # Kerberos keytab def kerberos_keytab prop_get('kerberos-keytab') end # Kerberos keytab def kerberos_keytab=(val) prop_set('kerberos-keytab', val) end end def single_sign_on @subclasses['single-sign-on'] ||= SingleSignOn.new(parent_instance: self, client: @client, create_children: @create_children) end class Lockout < ConfigClass def has_multiple_values?; false; end def _section :lockout end @props = {'failed-attempts'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'10', 'help-string'=>'Number of failed login attempts to trigger lock-out'}, 'lockout-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'60', 'default'=>'0', 'help-string'=>'Number of minutes to lock-out'}} # Number of failed login attempts to trigger lock-out def failed_attempts prop_get('failed-attempts') end # Number of failed login attempts to trigger lock-out def failed_attempts=(val) prop_set('failed-attempts', val) end # Number of minutes to lock-out def lockout_time prop_get('lockout-time') end # Number of minutes to lock-out def lockout_time=(val) prop_set('lockout-time', val) end end def lockout @subclasses['lockout'] ||= Lockout.new(parent_instance: self, client: @client, create_children: @create_children) end class AllowList < XML::ConfigClass def has_multiple_values?; true; end def _section :'allow-list' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'loose-membership'=>'yes', 'maxlen'=>'1023'}, 'enum'=>[{'value'=>'all', 'help-string'=>'all user and user groups'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def allow_list maybe_register_subclass('allow-list', AllowList.new(parent_instance: self, client: @client, create_children: @create_children)) end class Method < XML::ConfigClass def has_multiple_values?; true; end def _section :method end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end class Cloud < ConfigClass def has_multiple_values?; false; end def _section :cloud end class Region < ConfigClass def has_multiple_values?; false; end def _section :region end class Tenant < ConfigClass def has_multiple_values?; false; end def _section :tenant end class Profile < ConfigClass def has_multiple_values?; false; end def _section :profile end class Mfa < ConfigClass def has_multiple_values?; false; end def _section :mfa end @props = {'force-mfa'=>{'node-type'=>'element', 'type'=>'string', 'default'=>'no', 'complete-handler'=>'cas-force-mfa-completer', 'help-string'=>'force multi-factor authentication in cloud'}} # force multi-factor authentication in cloud def force_mfa prop_get('force-mfa') end # force multi-factor authentication in cloud def force_mfa=(val) prop_set('force-mfa', val) end end def mfa @subclasses['mfa'] ||= Mfa.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'profile_id'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'64', 'complete-handler'=>'cas-profile-completer', 'help-string'=>'CAS Profile id'}} # CAS Profile id def profile_id prop_get('profile_id') end # CAS Profile id def profile_id=(val) prop_set('profile_id', val) end end def profile @subclasses['profile'] ||= Profile.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'tenant_id'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'64', 'complete-handler'=>'cas-tenant-completer', 'help-string'=>'Tenant id'}} # Tenant id def tenant_id prop_get('tenant_id') end # Tenant id def tenant_id=(val) prop_set('tenant_id', val) end end def tenant @subclasses['tenant'] ||= Tenant.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'region_id'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'128', 'help-string'=>'Region Id', 'complete-handler'=>'cas-region-completer'}} # Region Id def region_id prop_get('region_id') end # Region Id def region_id=(val) prop_set('region_id', val) end end def region @subclasses['region'] ||= Region.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'clock-skew'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'900', 'default'=>'60', 'help-string'=>'clock skew between CAS service and device'}} # clock skew between CAS service and device def clock_skew prop_get('clock-skew') end # clock skew between CAS service and device def clock_skew=(val) prop_set('clock-skew', val) end end def cloud @subclasses['cloud'] ||= Cloud.new(parent_instance: self, client: @client, create_children: @create_children) end class Radius < ConfigClass def has_multiple_values?; false; end def _section :radius end @props = {'server-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'RADIUS server profile object'}, 'checkgroup'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Retrieve user group from RADIUS'}} # RADIUS server profile object def server_profile prop_get('server-profile') end # RADIUS server profile object def server_profile=(val) prop_set('server-profile', val) end # Retrieve user group from RADIUS def checkgroup prop_get('checkgroup') end # Retrieve user group from RADIUS def checkgroup=(val) prop_set('checkgroup', val) end end def radius @subclasses['radius'] ||= Radius.new(parent_instance: self, client: @client, create_children: @create_children) end class Ldap < ConfigClass def has_multiple_values?; false; end def _section :ldap end @props = {'server-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'LDAP server profile object'}, 'login-attribute'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'Default is samAccountName for Active Directory, uid for other directory servers'}, 'passwd-exp-days'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255', 'optional'=>'yes', 'help-string'=>'Avail for Active Directory, eDir', 'default'=>'7'}} # LDAP server profile object def server_profile prop_get('server-profile') end # LDAP server profile object def server_profile=(val) prop_set('server-profile', val) end # Default is samAccountName for Active Directory, uid for other directory servers def login_attribute prop_get('login-attribute') end # Default is samAccountName for Active Directory, uid for other directory servers def login_attribute=(val) prop_set('login-attribute', val) end # Avail for Active Directory, eDir def passwd_exp_days prop_get('passwd-exp-days') end # Avail for Active Directory, eDir def passwd_exp_days=(val) prop_set('passwd-exp-days', val) end end def ldap @subclasses['ldap'] ||= Ldap.new(parent_instance: self, client: @client, create_children: @create_children) end class Kerberos < ConfigClass def has_multiple_values?; false; end def _section :kerberos end @props = {'server-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'Kerberos server profile object'}, 'realm'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127', 'subtype'=>'object-name', 'help-string'=>'Realm name to be used for authentication'}} # Kerberos server profile object def server_profile prop_get('server-profile') end # Kerberos server profile object def server_profile=(val) prop_set('server-profile', val) end # Realm name to be used for authentication def realm prop_get('realm') end # Realm name to be used for authentication def realm=(val) prop_set('realm', val) end end def kerberos @subclasses['kerberos'] ||= Kerberos.new(parent_instance: self, client: @client, create_children: @create_children) end class Tacplus < ConfigClass def has_multiple_values?; false; end def _section :tacplus end @props = {'server-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'TACACS+ server profile object'}, 'checkgroup'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Retrieve user group from TACACS+'}} # TACACS+ server profile object def server_profile prop_get('server-profile') end # TACACS+ server profile object def server_profile=(val) prop_set('server-profile', val) end # Retrieve user group from TACACS+ def checkgroup prop_get('checkgroup') end # Retrieve user group from TACACS+ def checkgroup=(val) prop_set('checkgroup', val) end end def tacplus @subclasses['tacplus'] ||= Tacplus.new(parent_instance: self, client: @client, create_children: @create_children) end class SamlIdp < ConfigClass def has_multiple_values?; false; end def _section :'saml-idp' end @props = {'server-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'IdP server profile object'}, 'enable-single-logout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable single logout'}, 'request-signing-certificate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'64', 'complete-handler'=>'check-cert-fields-completer', 'help-string'=>'Signing certificate for SAML requests'}, 'certificate-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'Certificate profile for IDP and SP'}, 'attribute-name-username'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'63', 'default'=>'username', 'help-string'=>'Attribute name for username to be extracted from SAML response', 'uiHint-fieldLabel'=>'Username Attribute'}, 'attribute-name-usergroup'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'usergroup', 'uiHint-fieldLabel'=>'User Group Attribute'}, 'attribute-name-admin-role'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'admin-role', 'uiHint-fieldLabel'=>'Admin Role Attribute'}, 'attribute-name-access-domain'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'access-domain', 'uiHint-fieldLabel'=>'Access Domain Attribute'}} # IdP server profile object def server_profile prop_get('server-profile') end # IdP server profile object def server_profile=(val) prop_set('server-profile', val) end # Enable single logout def enable_single_logout prop_get('enable-single-logout') end # Enable single logout def enable_single_logout=(val) prop_set('enable-single-logout', val) end # Signing certificate for SAML requests def request_signing_certificate prop_get('request-signing-certificate') end # Signing certificate for SAML requests def request_signing_certificate=(val) prop_set('request-signing-certificate', val) end # Certificate profile for IDP and SP def certificate_profile prop_get('certificate-profile') end # Certificate profile for IDP and SP def certificate_profile=(val) prop_set('certificate-profile', val) end # Attribute name for username to be extracted from SAML response def attribute_name_username prop_get('attribute-name-username') end # Attribute name for username to be extracted from SAML response def attribute_name_username=(val) prop_set('attribute-name-username', val) end # usergroup def attribute_name_usergroup prop_get('attribute-name-usergroup') end # usergroup def attribute_name_usergroup=(val) prop_set('attribute-name-usergroup', val) end # admin-role def attribute_name_admin_role prop_get('attribute-name-admin-role') end # admin-role def attribute_name_admin_role=(val) prop_set('attribute-name-admin-role', val) end # access-domain def attribute_name_access_domain prop_get('attribute-name-access-domain') end # access-domain def attribute_name_access_domain=(val) prop_set('attribute-name-access-domain', val) end end def saml_idp @subclasses['saml-idp'] ||= SamlIdp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def method maybe_register_subclass('method', Method.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'regex'=>'^[a-zA-Z0-9\ ._-]+$', 'help-string'=>'Group name'}, 'username-modifier'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'%USERINPUT%', 'help-string'=>'Username modifier(Not for SAML) to handle user domain', 'multi-types'=>{'string'=>{'loose-membership'=>'yes', 'maxlen'=>'127'}, 'enum'=>[{'value'=>'%USERINPUT%'}, {'value'=>'%USERINPUT%@%USERDOMAIN%'}, {'value'=>'%USERDOMAIN%\%USERINPUT%'}]}}, 'user-domain'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'regex'=>'^[^\\\/\:\*\?\"\<\>\|\.]{1}[^\\\/\:\*\?\"\<\>\|]{0,62}$', 'help-string'=>'Domain name(Not for SAML) to be used for authentication'}} # Group name def name prop_get('@name') end # Username modifier(Not for SAML) to handle user domain def username_modifier prop_get('username-modifier') end # Username modifier(Not for SAML) to handle user domain def username_modifier=(val) prop_set('username-modifier', val) end # Domain name(Not for SAML) to be used for authentication def user_domain prop_get('user-domain') end # Domain name(Not for SAML) to be used for authentication def user_domain=(val) prop_set('user-domain', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def authentication_profile maybe_register_subclass('authentication-profile', AuthenticationProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class AuthenticationSequence < XML::ConfigClass def has_multiple_values?; true; end def _section :'authentication-sequence' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class AuthenticationProfiles < XML::ConfigClass def has_multiple_values?; true; end def _section :'authentication-profiles' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def authentication_profiles maybe_register_subclass('authentication-profiles', AuthenticationProfiles.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'regex'=>'^[a-zA-Z0-9\ ._-]+$', 'help-string'=>'Authentication sequence name'}, 'use-domain-find-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Attempt to use domain to determine authentication profile'}, 'exit-sequence-on-failure'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'exit the sequence if the domain matched profile fails'}, 'use-userid-domain'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'use the domain retrieved from userid'}} # Authentication sequence name def name prop_get('@name') end # Attempt to use domain to determine authentication profile def use_domain_find_profile prop_get('use-domain-find-profile') end # Attempt to use domain to determine authentication profile def use_domain_find_profile=(val) prop_set('use-domain-find-profile', val) end # exit the sequence if the domain matched profile fails def exit_sequence_on_failure prop_get('exit-sequence-on-failure') end # exit the sequence if the domain matched profile fails def exit_sequence_on_failure=(val) prop_set('exit-sequence-on-failure', val) end # use the domain retrieved from userid def use_userid_domain prop_get('use-userid-domain') end # use the domain retrieved from userid def use_userid_domain=(val) prop_set('use-userid-domain', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def authentication_sequence maybe_register_subclass('authentication-sequence', AuthenticationSequence.new(parent_instance: self, client: @client, create_children: @create_children)) end class CertificateProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'certificate-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class UsernameField < XML::ConfigClass def has_multiple_values?; true; end def _section :'username-field' end @props = {'subject'=>{'node-type'=>'element', 'type'=>'enum', 'help-string'=>'get user name from subject', 'enum'=>[{'value'=>'common-name'}]}, 'subject-alt'=>{'node-type'=>'element', 'type'=>'enum', 'help-string'=>'get user name from subject alternative name', 'enum'=>[{'value'=>'email'}, {'value'=>'principal-name'}]}} # get user name from subject def subject prop_get('subject') end # get user name from subject def subject=(val) prop_set('subject', val) end # get user name from subject alternative name def subject_alt prop_get('subject-alt') end # get user name from subject alternative name def subject_alt=(val) prop_set('subject-alt', val) end end def username_field maybe_register_subclass('username-field', UsernameField.new(parent_instance: self, client: @client, create_children: @create_children)) end class CA < XML::ConfigClass def has_multiple_values?; true; end def _section :CA end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'help-string'=>'CA file for client certificate'}, 'default-ocsp-url'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'1', 'maxlen'=>'255', 'regex'=>'^http(s)?://.+$', 'help-string'=>'default URL for ocsp verification'}, 'ocsp-verify-cert'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'63', 'help-string'=>'Certificate to verify signature in OCSP response'}, 'template-name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'1', 'maxlen'=>'255', 'help-string'=>'Certificate Template Name / OID for the certificate'}} # CA file for client certificate def name prop_get('@name') end # default URL for ocsp verification def default_ocsp_url prop_get('default-ocsp-url') end # default URL for ocsp verification def default_ocsp_url=(val) prop_set('default-ocsp-url', val) end # Certificate to verify signature in OCSP response def ocsp_verify_cert prop_get('ocsp-verify-cert') end # Certificate to verify signature in OCSP response def ocsp_verify_cert=(val) prop_set('ocsp-verify-cert', val) end # Certificate Template Name / OID for the certificate def template_name prop_get('template-name') end # Certificate Template Name / OID for the certificate def template_name=(val) prop_set('template-name', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def CA maybe_register_subclass('CA', CA.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'regex'=>'^[a-zA-Z0-9_-]+$', 'help-string'=>'Profile name'}, 'domain'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]', 'uiHint-fieldLabel'=>'User Domain'}, 'use-crl'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}, 'use-ocsp'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}, 'crl-receive-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'60', 'default'=>'5', 'help-string'=>'set CRL receive timeout value in seconds'}, 'ocsp-receive-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'60', 'default'=>'5', 'help-string'=>'set OCSP receive timeout value in seconds'}, 'ocsp-exclude-nonce'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'whether to exclude nonce extension for OCSP requests'}, 'cert-status-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'60', 'default'=>'5', 'help-string'=>'set cert status query timeout value in seconds'}, 'block-unknown-cert'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'whether to block a session if cert. status is unknown'}, 'block-timeout-cert'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'whether to block a session if cert. status can\'t be retrieved within timeout'}, 'block-unauthenticated-cert'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'whether to block session if the certificate was not issued to the authenticating device'}, 'block-expired-cert'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'whether to block a session if cert. status is expired'}} # Profile name def name prop_get('@name') end # alphanumeric string [ 0-9a-zA-Z._-] def domain prop_get('domain') end # alphanumeric string [ 0-9a-zA-Z._-] def domain=(val) prop_set('domain', val) end def use_crl prop_get('use-crl') end def use_crl=(val) prop_set('use-crl', val) end def use_ocsp prop_get('use-ocsp') end def use_ocsp=(val) prop_set('use-ocsp', val) end # set CRL receive timeout value in seconds def crl_receive_timeout prop_get('crl-receive-timeout') end # set CRL receive timeout value in seconds def crl_receive_timeout=(val) prop_set('crl-receive-timeout', val) end # set OCSP receive timeout value in seconds def ocsp_receive_timeout prop_get('ocsp-receive-timeout') end # set OCSP receive timeout value in seconds def ocsp_receive_timeout=(val) prop_set('ocsp-receive-timeout', val) end # whether to exclude nonce extension for OCSP requests def ocsp_exclude_nonce prop_get('ocsp-exclude-nonce') end # whether to exclude nonce extension for OCSP requests def ocsp_exclude_nonce=(val) prop_set('ocsp-exclude-nonce', val) end # set cert status query timeout value in seconds def cert_status_timeout prop_get('cert-status-timeout') end # set cert status query timeout value in seconds def cert_status_timeout=(val) prop_set('cert-status-timeout', val) end # whether to block a session if cert. status is unknown def block_unknown_cert prop_get('block-unknown-cert') end # whether to block a session if cert. status is unknown def block_unknown_cert=(val) prop_set('block-unknown-cert', val) end # whether to block a session if cert. status can't be retrieved within timeout def block_timeout_cert prop_get('block-timeout-cert') end # whether to block a session if cert. status can't be retrieved within timeout def block_timeout_cert=(val) prop_set('block-timeout-cert', val) end # whether to block session if the certificate was not issued to the authenticating device def block_unauthenticated_cert prop_get('block-unauthenticated-cert') end # whether to block session if the certificate was not issued to the authenticating device def block_unauthenticated_cert=(val) prop_set('block-unauthenticated-cert', val) end # whether to block a session if cert. status is expired def block_expired_cert prop_get('block-expired-cert') end # whether to block a session if cert. status is expired def block_expired_cert=(val) prop_set('block-expired-cert', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def certificate_profile maybe_register_subclass('certificate-profile', CertificateProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class Certificate < XML::ConfigClass def has_multiple_values?; true; end def _section :certificate end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'common-name'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'algorithm'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'ca'=>{'node-type'=>'element', 'type'=>'bool', 'internal'=>'yes', 'optional'=>'yes'}, 'not-valid-after'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'not-valid-before'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'expiry-epoch'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0-9]*$'}, 'subject'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'subject-hash'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'issuer'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'issuer-hash'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'private-key'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'16384', 'encrypt'=>'yes', 'double-encrypt'=>'yes'}, 'status'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'valid', 'enum'=>[{'value'=>'valid'}, {'value'=>'revoked'}]}, 'revoke-date-epoch'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0-9]*$'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def common_name prop_get('common-name') end def common_name=(val) prop_set('common-name', val) end def algorithm prop_get('algorithm') end def algorithm=(val) prop_set('algorithm', val) end def ca prop_get('ca') end def ca=(val) prop_set('ca', val) end def not_valid_after prop_get('not-valid-after') end def not_valid_after=(val) prop_set('not-valid-after', val) end def not_valid_before prop_get('not-valid-before') end def not_valid_before=(val) prop_set('not-valid-before', val) end def expiry_epoch prop_get('expiry-epoch') end def expiry_epoch=(val) prop_set('expiry-epoch', val) end def subject prop_get('subject') end def subject=(val) prop_set('subject', val) end def subject_hash prop_get('subject-hash') end def subject_hash=(val) prop_set('subject-hash', val) end def issuer prop_get('issuer') end def issuer=(val) prop_set('issuer', val) end def issuer_hash prop_get('issuer-hash') end def issuer_hash=(val) prop_set('issuer-hash', val) end def private_key prop_get('private-key') end def private_key=(val) prop_set('private-key', val) end def status prop_get('status') end def status=(val) prop_set('status', val) end def revoke_date_epoch prop_get('revoke-date-epoch') end def revoke_date_epoch=(val) prop_set('revoke-date-epoch', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def certificate maybe_register_subclass('certificate', Certificate.new(parent_instance: self, client: @client, create_children: @create_children)) end class SslTlsServiceProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'ssl-tls-service-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class ProtocolSettings < ConfigClass def has_multiple_values?; false; end def _section :'protocol-settings' end @props = {'min-version'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'tls1-0', 'enum'=>[{'value'=>'tls1-0', 'help-string'=>'TLSv1.0'}, {'value'=>'tls1-1', 'help-string'=>'TLSv1.1'}, {'value'=>'tls1-2', 'help-string'=>'TLSv1.2'}]}, 'max-version'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'max', 'enum'=>[{'value'=>'tls1-0', 'help-string'=>'TLSv1.0'}, {'value'=>'tls1-1', 'help-string'=>'TLSv1.1'}, {'value'=>'tls1-2', 'help-string'=>'TLSv1.2'}, {'value'=>'max', 'help-string'=>'Max'}]}, 'keyxchg-algo-rsa'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm RSA'}, 'keyxchg-algo-dhe'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm DHE'}, 'keyxchg-algo-ecdhe'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm ECDHE'}, 'enc-algo-3des'=>{'node-type'=>'element', 'prune-on'=>'fips-mode', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm 3DES'}, 'enc-algo-rc4'=>{'node-type'=>'element', 'prune-on'=>'fips-mode', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm RC4'}, 'enc-algo-aes-128-cbc'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm AES-128-CBC'}, 'enc-algo-aes-256-cbc'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm AES-256-CBC'}, 'enc-algo-aes-128-gcm'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm AES-128-GCM'}, 'enc-algo-aes-256-gcm'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm AES-256-GCM'}, 'auth-algo-sha1'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow authentication SHA1'}, 'auth-algo-sha256'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow authentication SHA256'}, 'auth-algo-sha384'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow authentication SHA384'}} def min_version prop_get('min-version') end def min_version=(val) prop_set('min-version', val) end def max_version prop_get('max-version') end def max_version=(val) prop_set('max-version', val) end # Allow algorithm RSA def keyxchg_algo_rsa prop_get('keyxchg-algo-rsa') end # Allow algorithm RSA def keyxchg_algo_rsa=(val) prop_set('keyxchg-algo-rsa', val) end # Allow algorithm DHE def keyxchg_algo_dhe prop_get('keyxchg-algo-dhe') end # Allow algorithm DHE def keyxchg_algo_dhe=(val) prop_set('keyxchg-algo-dhe', val) end # Allow algorithm ECDHE def keyxchg_algo_ecdhe prop_get('keyxchg-algo-ecdhe') end # Allow algorithm ECDHE def keyxchg_algo_ecdhe=(val) prop_set('keyxchg-algo-ecdhe', val) end # Allow algorithm 3DES def enc_algo_3des prop_get('enc-algo-3des') end # Allow algorithm 3DES def enc_algo_3des=(val) prop_set('enc-algo-3des', val) end # Allow algorithm RC4 def enc_algo_rc4 prop_get('enc-algo-rc4') end # Allow algorithm RC4 def enc_algo_rc4=(val) prop_set('enc-algo-rc4', val) end # Allow algorithm AES-128-CBC def enc_algo_aes_128_cbc prop_get('enc-algo-aes-128-cbc') end # Allow algorithm AES-128-CBC def enc_algo_aes_128_cbc=(val) prop_set('enc-algo-aes-128-cbc', val) end # Allow algorithm AES-256-CBC def enc_algo_aes_256_cbc prop_get('enc-algo-aes-256-cbc') end # Allow algorithm AES-256-CBC def enc_algo_aes_256_cbc=(val) prop_set('enc-algo-aes-256-cbc', val) end # Allow algorithm AES-128-GCM def enc_algo_aes_128_gcm prop_get('enc-algo-aes-128-gcm') end # Allow algorithm AES-128-GCM def enc_algo_aes_128_gcm=(val) prop_set('enc-algo-aes-128-gcm', val) end # Allow algorithm AES-256-GCM def enc_algo_aes_256_gcm prop_get('enc-algo-aes-256-gcm') end # Allow algorithm AES-256-GCM def enc_algo_aes_256_gcm=(val) prop_set('enc-algo-aes-256-gcm', val) end # Allow authentication SHA1 def auth_algo_sha1 prop_get('auth-algo-sha1') end # Allow authentication SHA1 def auth_algo_sha1=(val) prop_set('auth-algo-sha1', val) end # Allow authentication SHA256 def auth_algo_sha256 prop_get('auth-algo-sha256') end # Allow authentication SHA256 def auth_algo_sha256=(val) prop_set('auth-algo-sha256', val) end # Allow authentication SHA384 def auth_algo_sha384 prop_get('auth-algo-sha384') end # Allow authentication SHA384 def auth_algo_sha384=(val) prop_set('auth-algo-sha384', val) end end def protocol_settings @subclasses['protocol-settings'] ||= ProtocolSettings.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'127', 'regex'=>'.*', 'help-string'=>'Profile name'}, 'certificate'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'SSL certificate file name', 'maxlen'=>'255'}} # Profile name def name prop_get('@name') end # SSL certificate file name def certificate prop_get('certificate') end # SSL certificate file name def certificate=(val) prop_set('certificate', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ssl_tls_service_profile maybe_register_subclass('ssl-tls-service-profile', SslTlsServiceProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class LogSettings < ConfigClass def has_multiple_values?; false; end def _section :'log-settings' end class System < ConfigClass def has_multiple_values?; false; end def _section :system end class MatchList < XML::ConfigClass def has_multiple_values?; true; end def _section :'match-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SendSnmptrap < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-snmptrap' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_snmptrap maybe_register_subclass('send-snmptrap', SendSnmptrap.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendEmail < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-email' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_email maybe_register_subclass('send-email', SendEmail.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendSyslog < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-syslog' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_syslog maybe_register_subclass('send-syslog', SendSyslog.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendHttp < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-http' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_http maybe_register_subclass('send-http', SendHttp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Actions < XML::ConfigClass def has_multiple_values?; true; end def _section :actions end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def actions maybe_register_subclass('actions', Actions.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'filter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1023'}} def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def filter prop_get('filter') end def filter=(val) prop_set('filter', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def match_list maybe_register_subclass('match-list', MatchList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def system @subclasses['system'] ||= System.new(parent_instance: self, client: @client, create_children: @create_children) end class Config < ConfigClass def has_multiple_values?; false; end def _section :config end class MatchList < XML::ConfigClass def has_multiple_values?; true; end def _section :'match-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SendSnmptrap < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-snmptrap' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_snmptrap maybe_register_subclass('send-snmptrap', SendSnmptrap.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendEmail < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-email' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_email maybe_register_subclass('send-email', SendEmail.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendSyslog < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-syslog' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_syslog maybe_register_subclass('send-syslog', SendSyslog.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendHttp < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-http' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_http maybe_register_subclass('send-http', SendHttp.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'filter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1023'}} def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def filter prop_get('filter') end def filter=(val) prop_set('filter', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def match_list maybe_register_subclass('match-list', MatchList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def config @subclasses['config'] ||= Config.new(parent_instance: self, client: @client, create_children: @create_children) end class Userid < ConfigClass def has_multiple_values?; false; end def _section :userid end class MatchList < XML::ConfigClass def has_multiple_values?; true; end def _section :'match-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SendSnmptrap < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-snmptrap' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_snmptrap maybe_register_subclass('send-snmptrap', SendSnmptrap.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendEmail < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-email' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_email maybe_register_subclass('send-email', SendEmail.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendSyslog < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-syslog' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_syslog maybe_register_subclass('send-syslog', SendSyslog.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendHttp < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-http' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_http maybe_register_subclass('send-http', SendHttp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Actions < XML::ConfigClass def has_multiple_values?; true; end def _section :actions end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Tagging < ConfigClass def has_multiple_values?; false; end def _section :tagging end class Registration < XML::ConfigClass def has_multiple_values?; true; end def _section :registration end class Localhost < ConfigClass def has_multiple_values?; false; end def _section :localhost end @props = {} end def localhost @subclasses['localhost'] ||= Localhost.new(parent_instance: self, client: @client, create_children: @create_children) end class Remote < ConfigClass def has_multiple_values?; false; end def _section :remote end @props = {'http-profile'=>{'node-type'=>'element', 'type'=>'string'}} def http_profile prop_get('http-profile') end def http_profile=(val) prop_set('http-profile', val) end end def remote @subclasses['remote'] ||= Remote.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def registration maybe_register_subclass('registration', Registration.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'127', 'regex'=>'^[^\]\'\[]*$'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'target'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'source-address', 'enum'=>[{'value'=>'source-address', 'help-string'=>'Source Address'}, {'value'=>'destination-address', 'help-string'=>'Destination Address'}, {'value'=>'xff-address', 'help-string'=>'X-Forwarded-For Address'}, {'value'=>'user', 'help-string'=>'User'}]}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'add-tag', 'enum'=>[{'value'=>'add-tag', 'help-string'=>'Add Tag'}, {'value'=>'remove-tag', 'help-string'=>'Remove Tag'}]}, 'timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'43200', 'optional'=>'yes', 'default'=>'0', 'help-string'=>'timeout in minutes'}} def target prop_get('target') end def target=(val) prop_set('target', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # timeout in minutes def timeout prop_get('timeout') end # timeout in minutes def timeout=(val) prop_set('timeout', val) end end def tagging @subclasses['tagging'] ||= Tagging.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def actions maybe_register_subclass('actions', Actions.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'filter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1024'}, 'quarantine'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}} def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def filter prop_get('filter') end def filter=(val) prop_set('filter', val) end def quarantine prop_get('quarantine') end def quarantine=(val) prop_set('quarantine', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def match_list maybe_register_subclass('match-list', MatchList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def userid @subclasses['userid'] ||= Userid.new(parent_instance: self, client: @client, create_children: @create_children) end class Iptag < ConfigClass def has_multiple_values?; false; end def _section :iptag end class MatchList < XML::ConfigClass def has_multiple_values?; true; end def _section :'match-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SendSnmptrap < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-snmptrap' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_snmptrap maybe_register_subclass('send-snmptrap', SendSnmptrap.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendEmail < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-email' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_email maybe_register_subclass('send-email', SendEmail.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendSyslog < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-syslog' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_syslog maybe_register_subclass('send-syslog', SendSyslog.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendHttp < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-http' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_http maybe_register_subclass('send-http', SendHttp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Actions < XML::ConfigClass def has_multiple_values?; true; end def _section :actions end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Tagging < ConfigClass def has_multiple_values?; false; end def _section :tagging end class Registration < XML::ConfigClass def has_multiple_values?; true; end def _section :registration end class Localhost < ConfigClass def has_multiple_values?; false; end def _section :localhost end @props = {} end def localhost @subclasses['localhost'] ||= Localhost.new(parent_instance: self, client: @client, create_children: @create_children) end class Remote < ConfigClass def has_multiple_values?; false; end def _section :remote end @props = {'http-profile'=>{'node-type'=>'element', 'type'=>'string'}} def http_profile prop_get('http-profile') end def http_profile=(val) prop_set('http-profile', val) end end def remote @subclasses['remote'] ||= Remote.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def registration maybe_register_subclass('registration', Registration.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'127', 'regex'=>'^[^\]\'\[]*$'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'target'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'source-address', 'enum'=>[{'value'=>'source-address', 'help-string'=>'Source Address'}, {'value'=>'destination-address', 'help-string'=>'Destination Address'}, {'value'=>'xff-address', 'help-string'=>'X-Forwarded-For Address'}, {'value'=>'user', 'help-string'=>'User'}]}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'add-tag', 'enum'=>[{'value'=>'add-tag', 'help-string'=>'Add Tag'}, {'value'=>'remove-tag', 'help-string'=>'Remove Tag'}]}, 'timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'43200', 'optional'=>'yes', 'default'=>'0', 'help-string'=>'timeout in minutes'}} def target prop_get('target') end def target=(val) prop_set('target', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # timeout in minutes def timeout prop_get('timeout') end # timeout in minutes def timeout=(val) prop_set('timeout', val) end end def tagging @subclasses['tagging'] ||= Tagging.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def actions maybe_register_subclass('actions', Actions.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'filter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1024'}, 'quarantine'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}} def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def filter prop_get('filter') end def filter=(val) prop_set('filter', val) end def quarantine prop_get('quarantine') end def quarantine=(val) prop_set('quarantine', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def match_list maybe_register_subclass('match-list', MatchList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def iptag @subclasses['iptag'] ||= Iptag.new(parent_instance: self, client: @client, create_children: @create_children) end class Globalprotect < ConfigClass def has_multiple_values?; false; end def _section :globalprotect end class MatchList < XML::ConfigClass def has_multiple_values?; true; end def _section :'match-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SendSnmptrap < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-snmptrap' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_snmptrap maybe_register_subclass('send-snmptrap', SendSnmptrap.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendEmail < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-email' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_email maybe_register_subclass('send-email', SendEmail.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendSyslog < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-syslog' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_syslog maybe_register_subclass('send-syslog', SendSyslog.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendHttp < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-http' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_http maybe_register_subclass('send-http', SendHttp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Actions < XML::ConfigClass def has_multiple_values?; true; end def _section :actions end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Tagging < ConfigClass def has_multiple_values?; false; end def _section :tagging end class Registration < XML::ConfigClass def has_multiple_values?; true; end def _section :registration end class Localhost < ConfigClass def has_multiple_values?; false; end def _section :localhost end @props = {} end def localhost @subclasses['localhost'] ||= Localhost.new(parent_instance: self, client: @client, create_children: @create_children) end class Remote < ConfigClass def has_multiple_values?; false; end def _section :remote end @props = {'http-profile'=>{'node-type'=>'element', 'type'=>'string'}} def http_profile prop_get('http-profile') end def http_profile=(val) prop_set('http-profile', val) end end def remote @subclasses['remote'] ||= Remote.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def registration maybe_register_subclass('registration', Registration.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'127', 'regex'=>'^[^\]\'\[]*$'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'target'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'source-address', 'enum'=>[{'value'=>'source-address', 'help-string'=>'Source Address'}, {'value'=>'destination-address', 'help-string'=>'Destination Address'}, {'value'=>'xff-address', 'help-string'=>'X-Forwarded-For Address'}, {'value'=>'user', 'help-string'=>'User'}]}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'add-tag', 'enum'=>[{'value'=>'add-tag', 'help-string'=>'Add Tag'}, {'value'=>'remove-tag', 'help-string'=>'Remove Tag'}]}, 'timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'43200', 'optional'=>'yes', 'default'=>'0', 'help-string'=>'timeout in minutes'}} def target prop_get('target') end def target=(val) prop_set('target', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # timeout in minutes def timeout prop_get('timeout') end # timeout in minutes def timeout=(val) prop_set('timeout', val) end end def tagging @subclasses['tagging'] ||= Tagging.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def actions maybe_register_subclass('actions', Actions.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'filter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1024'}, 'quarantine'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}} def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def filter prop_get('filter') end def filter=(val) prop_set('filter', val) end def quarantine prop_get('quarantine') end def quarantine=(val) prop_set('quarantine', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def match_list maybe_register_subclass('match-list', MatchList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def globalprotect @subclasses['globalprotect'] ||= Globalprotect.new(parent_instance: self, client: @client, create_children: @create_children) end class Hipmatch < ConfigClass def has_multiple_values?; false; end def _section :hipmatch end class MatchList < XML::ConfigClass def has_multiple_values?; true; end def _section :'match-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SendSnmptrap < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-snmptrap' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_snmptrap maybe_register_subclass('send-snmptrap', SendSnmptrap.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendEmail < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-email' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_email maybe_register_subclass('send-email', SendEmail.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendSyslog < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-syslog' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_syslog maybe_register_subclass('send-syslog', SendSyslog.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendHttp < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-http' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_http maybe_register_subclass('send-http', SendHttp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Actions < XML::ConfigClass def has_multiple_values?; true; end def _section :actions end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Tagging < ConfigClass def has_multiple_values?; false; end def _section :tagging end class Registration < XML::ConfigClass def has_multiple_values?; true; end def _section :registration end class Localhost < ConfigClass def has_multiple_values?; false; end def _section :localhost end @props = {} end def localhost @subclasses['localhost'] ||= Localhost.new(parent_instance: self, client: @client, create_children: @create_children) end class Remote < ConfigClass def has_multiple_values?; false; end def _section :remote end @props = {'http-profile'=>{'node-type'=>'element', 'type'=>'string'}} def http_profile prop_get('http-profile') end def http_profile=(val) prop_set('http-profile', val) end end def remote @subclasses['remote'] ||= Remote.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def registration maybe_register_subclass('registration', Registration.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'127', 'regex'=>'^[^\]\'\[]*$'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'target'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'source-address', 'enum'=>[{'value'=>'source-address', 'help-string'=>'Source Address'}, {'value'=>'destination-address', 'help-string'=>'Destination Address'}, {'value'=>'xff-address', 'help-string'=>'X-Forwarded-For Address'}, {'value'=>'user', 'help-string'=>'User'}]}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'add-tag', 'enum'=>[{'value'=>'add-tag', 'help-string'=>'Add Tag'}, {'value'=>'remove-tag', 'help-string'=>'Remove Tag'}]}, 'timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'43200', 'optional'=>'yes', 'default'=>'0', 'help-string'=>'timeout in minutes'}} def target prop_get('target') end def target=(val) prop_set('target', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # timeout in minutes def timeout prop_get('timeout') end # timeout in minutes def timeout=(val) prop_set('timeout', val) end end def tagging @subclasses['tagging'] ||= Tagging.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def actions maybe_register_subclass('actions', Actions.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'filter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1023'}, 'quarantine'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}} def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def filter prop_get('filter') end def filter=(val) prop_set('filter', val) end def quarantine prop_get('quarantine') end def quarantine=(val) prop_set('quarantine', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def match_list maybe_register_subclass('match-list', MatchList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def hipmatch @subclasses['hipmatch'] ||= Hipmatch.new(parent_instance: self, client: @client, create_children: @create_children) end class Correlation < ConfigClass def has_multiple_values?; false; end def _section :correlation end class MatchList < XML::ConfigClass def has_multiple_values?; true; end def _section :'match-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SendSnmptrap < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-snmptrap' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_snmptrap maybe_register_subclass('send-snmptrap', SendSnmptrap.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendEmail < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-email' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_email maybe_register_subclass('send-email', SendEmail.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendSyslog < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-syslog' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_syslog maybe_register_subclass('send-syslog', SendSyslog.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendHttp < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-http' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_http maybe_register_subclass('send-http', SendHttp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Actions < XML::ConfigClass def has_multiple_values?; true; end def _section :actions end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Tagging < ConfigClass def has_multiple_values?; false; end def _section :tagging end class Registration < XML::ConfigClass def has_multiple_values?; true; end def _section :registration end class Localhost < ConfigClass def has_multiple_values?; false; end def _section :localhost end @props = {} end def localhost @subclasses['localhost'] ||= Localhost.new(parent_instance: self, client: @client, create_children: @create_children) end class Remote < ConfigClass def has_multiple_values?; false; end def _section :remote end @props = {'http-profile'=>{'node-type'=>'element', 'type'=>'string'}} def http_profile prop_get('http-profile') end def http_profile=(val) prop_set('http-profile', val) end end def remote @subclasses['remote'] ||= Remote.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def registration maybe_register_subclass('registration', Registration.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'127', 'regex'=>'^[^\]\'\[]*$'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'target'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'source-address', 'enum'=>[{'value'=>'source-address', 'help-string'=>'Source Address'}, {'value'=>'destination-address', 'help-string'=>'Destination Address'}, {'value'=>'xff-address', 'help-string'=>'X-Forwarded-For Address'}, {'value'=>'user', 'help-string'=>'User'}]}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'add-tag', 'enum'=>[{'value'=>'add-tag', 'help-string'=>'Add Tag'}, {'value'=>'remove-tag', 'help-string'=>'Remove Tag'}]}, 'timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'43200', 'optional'=>'yes', 'default'=>'0', 'help-string'=>'timeout in minutes'}} def target prop_get('target') end def target=(val) prop_set('target', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # timeout in minutes def timeout prop_get('timeout') end # timeout in minutes def timeout=(val) prop_set('timeout', val) end end def tagging @subclasses['tagging'] ||= Tagging.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def actions maybe_register_subclass('actions', Actions.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'filter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1023'}, 'quarantine'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}} def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def filter prop_get('filter') end def filter=(val) prop_set('filter', val) end def quarantine prop_get('quarantine') end def quarantine=(val) prop_set('quarantine', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def match_list maybe_register_subclass('match-list', MatchList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def correlation @subclasses['correlation'] ||= Correlation.new(parent_instance: self, client: @client, create_children: @create_children) end class Wildfire < ConfigClass def has_multiple_values?; false; end def _section :wildfire end class MatchList < XML::ConfigClass def has_multiple_values?; true; end def _section :'match-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SendSnmptrap < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-snmptrap' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_snmptrap maybe_register_subclass('send-snmptrap', SendSnmptrap.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendEmail < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-email' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_email maybe_register_subclass('send-email', SendEmail.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendSyslog < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-syslog' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_syslog maybe_register_subclass('send-syslog', SendSyslog.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendHttp < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-http' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_http maybe_register_subclass('send-http', SendHttp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Actions < XML::ConfigClass def has_multiple_values?; true; end def _section :actions end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Tagging < ConfigClass def has_multiple_values?; false; end def _section :tagging end class Registration < XML::ConfigClass def has_multiple_values?; true; end def _section :registration end class Localhost < ConfigClass def has_multiple_values?; false; end def _section :localhost end @props = {} end def localhost @subclasses['localhost'] ||= Localhost.new(parent_instance: self, client: @client, create_children: @create_children) end class Remote < ConfigClass def has_multiple_values?; false; end def _section :remote end @props = {'http-profile'=>{'node-type'=>'element', 'type'=>'string'}} def http_profile prop_get('http-profile') end def http_profile=(val) prop_set('http-profile', val) end end def remote @subclasses['remote'] ||= Remote.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def registration maybe_register_subclass('registration', Registration.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'127', 'regex'=>'^[^\]\'\[]*$'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'target'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'source-address', 'enum'=>[{'value'=>'source-address', 'help-string'=>'Source Address'}, {'value'=>'destination-address', 'help-string'=>'Destination Address'}, {'value'=>'xff-address', 'help-string'=>'X-Forwarded-For Address'}, {'value'=>'user', 'help-string'=>'User'}]}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'add-tag', 'enum'=>[{'value'=>'add-tag', 'help-string'=>'Add Tag'}, {'value'=>'remove-tag', 'help-string'=>'Remove Tag'}]}, 'timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'43200', 'optional'=>'yes', 'default'=>'0', 'help-string'=>'timeout in minutes'}} def target prop_get('target') end def target=(val) prop_set('target', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # timeout in minutes def timeout prop_get('timeout') end # timeout in minutes def timeout=(val) prop_set('timeout', val) end end def tagging @subclasses['tagging'] ||= Tagging.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def actions maybe_register_subclass('actions', Actions.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'filter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1023'}, 'quarantine'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}} def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def filter prop_get('filter') end def filter=(val) prop_set('filter', val) end def quarantine prop_get('quarantine') end def quarantine=(val) prop_set('quarantine', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def match_list maybe_register_subclass('match-list', MatchList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def wildfire @subclasses['wildfire'] ||= Wildfire.new(parent_instance: self, client: @client, create_children: @create_children) end class Threat < ConfigClass def has_multiple_values?; false; end def _section :threat end class MatchList < XML::ConfigClass def has_multiple_values?; true; end def _section :'match-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SendSnmptrap < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-snmptrap' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_snmptrap maybe_register_subclass('send-snmptrap', SendSnmptrap.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendEmail < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-email' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_email maybe_register_subclass('send-email', SendEmail.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendSyslog < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-syslog' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_syslog maybe_register_subclass('send-syslog', SendSyslog.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendHttp < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-http' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_http maybe_register_subclass('send-http', SendHttp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Actions < XML::ConfigClass def has_multiple_values?; true; end def _section :actions end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Tagging < ConfigClass def has_multiple_values?; false; end def _section :tagging end class Registration < XML::ConfigClass def has_multiple_values?; true; end def _section :registration end class Localhost < ConfigClass def has_multiple_values?; false; end def _section :localhost end @props = {} end def localhost @subclasses['localhost'] ||= Localhost.new(parent_instance: self, client: @client, create_children: @create_children) end class Remote < ConfigClass def has_multiple_values?; false; end def _section :remote end @props = {'http-profile'=>{'node-type'=>'element', 'type'=>'string'}} def http_profile prop_get('http-profile') end def http_profile=(val) prop_set('http-profile', val) end end def remote @subclasses['remote'] ||= Remote.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def registration maybe_register_subclass('registration', Registration.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'127', 'regex'=>'^[^\]\'\[]*$'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'target'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'source-address', 'enum'=>[{'value'=>'source-address', 'help-string'=>'Source Address'}, {'value'=>'destination-address', 'help-string'=>'Destination Address'}, {'value'=>'xff-address', 'help-string'=>'X-Forwarded-For Address'}, {'value'=>'user', 'help-string'=>'User'}]}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'add-tag', 'enum'=>[{'value'=>'add-tag', 'help-string'=>'Add Tag'}, {'value'=>'remove-tag', 'help-string'=>'Remove Tag'}]}, 'timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'43200', 'optional'=>'yes', 'default'=>'0', 'help-string'=>'timeout in minutes'}} def target prop_get('target') end def target=(val) prop_set('target', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # timeout in minutes def timeout prop_get('timeout') end # timeout in minutes def timeout=(val) prop_set('timeout', val) end end def tagging @subclasses['tagging'] ||= Tagging.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def actions maybe_register_subclass('actions', Actions.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'filter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1023'}, 'quarantine'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}} def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def filter prop_get('filter') end def filter=(val) prop_set('filter', val) end def quarantine prop_get('quarantine') end def quarantine=(val) prop_set('quarantine', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def match_list maybe_register_subclass('match-list', MatchList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def threat @subclasses['threat'] ||= Threat.new(parent_instance: self, client: @client, create_children: @create_children) end class Decryption < ConfigClass def has_multiple_values?; false; end def _section :decryption end class MatchList < XML::ConfigClass def has_multiple_values?; true; end def _section :'match-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SendSnmptrap < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-snmptrap' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_snmptrap maybe_register_subclass('send-snmptrap', SendSnmptrap.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendEmail < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-email' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_email maybe_register_subclass('send-email', SendEmail.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendSyslog < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-syslog' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_syslog maybe_register_subclass('send-syslog', SendSyslog.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendHttp < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-http' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_http maybe_register_subclass('send-http', SendHttp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Actions < XML::ConfigClass def has_multiple_values?; true; end def _section :actions end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Tagging < ConfigClass def has_multiple_values?; false; end def _section :tagging end class Registration < XML::ConfigClass def has_multiple_values?; true; end def _section :registration end class Localhost < ConfigClass def has_multiple_values?; false; end def _section :localhost end @props = {} end def localhost @subclasses['localhost'] ||= Localhost.new(parent_instance: self, client: @client, create_children: @create_children) end class Remote < ConfigClass def has_multiple_values?; false; end def _section :remote end @props = {'http-profile'=>{'node-type'=>'element', 'type'=>'string'}} def http_profile prop_get('http-profile') end def http_profile=(val) prop_set('http-profile', val) end end def remote @subclasses['remote'] ||= Remote.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def registration maybe_register_subclass('registration', Registration.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'127', 'regex'=>'^[^\]\'\[]*$'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'target'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'source-address', 'enum'=>[{'value'=>'source-address', 'help-string'=>'Source Address'}, {'value'=>'destination-address', 'help-string'=>'Destination Address'}, {'value'=>'xff-address', 'help-string'=>'X-Forwarded-For Address'}, {'value'=>'user', 'help-string'=>'User'}]}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'add-tag', 'enum'=>[{'value'=>'add-tag', 'help-string'=>'Add Tag'}, {'value'=>'remove-tag', 'help-string'=>'Remove Tag'}]}, 'timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'43200', 'optional'=>'yes', 'default'=>'0', 'help-string'=>'timeout in minutes'}} def target prop_get('target') end def target=(val) prop_set('target', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # timeout in minutes def timeout prop_get('timeout') end # timeout in minutes def timeout=(val) prop_set('timeout', val) end end def tagging @subclasses['tagging'] ||= Tagging.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def actions maybe_register_subclass('actions', Actions.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'filter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1023'}, 'quarantine'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}} def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def filter prop_get('filter') end def filter=(val) prop_set('filter', val) end def quarantine prop_get('quarantine') end def quarantine=(val) prop_set('quarantine', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def match_list maybe_register_subclass('match-list', MatchList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def decryption @subclasses['decryption'] ||= Decryption.new(parent_instance: self, client: @client, create_children: @create_children) end class Url < ConfigClass def has_multiple_values?; false; end def _section :url end class MatchList < XML::ConfigClass def has_multiple_values?; true; end def _section :'match-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SendSnmptrap < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-snmptrap' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_snmptrap maybe_register_subclass('send-snmptrap', SendSnmptrap.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendEmail < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-email' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_email maybe_register_subclass('send-email', SendEmail.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendSyslog < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-syslog' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_syslog maybe_register_subclass('send-syslog', SendSyslog.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendHttp < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-http' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_http maybe_register_subclass('send-http', SendHttp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Actions < XML::ConfigClass def has_multiple_values?; true; end def _section :actions end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Tagging < ConfigClass def has_multiple_values?; false; end def _section :tagging end class Registration < XML::ConfigClass def has_multiple_values?; true; end def _section :registration end class Localhost < ConfigClass def has_multiple_values?; false; end def _section :localhost end @props = {} end def localhost @subclasses['localhost'] ||= Localhost.new(parent_instance: self, client: @client, create_children: @create_children) end class Remote < ConfigClass def has_multiple_values?; false; end def _section :remote end @props = {'http-profile'=>{'node-type'=>'element', 'type'=>'string'}} def http_profile prop_get('http-profile') end def http_profile=(val) prop_set('http-profile', val) end end def remote @subclasses['remote'] ||= Remote.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def registration maybe_register_subclass('registration', Registration.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'127', 'regex'=>'^[^\]\'\[]*$'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'target'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'source-address', 'enum'=>[{'value'=>'source-address', 'help-string'=>'Source Address'}, {'value'=>'destination-address', 'help-string'=>'Destination Address'}, {'value'=>'xff-address', 'help-string'=>'X-Forwarded-For Address'}, {'value'=>'user', 'help-string'=>'User'}]}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'add-tag', 'enum'=>[{'value'=>'add-tag', 'help-string'=>'Add Tag'}, {'value'=>'remove-tag', 'help-string'=>'Remove Tag'}]}, 'timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'43200', 'optional'=>'yes', 'default'=>'0', 'help-string'=>'timeout in minutes'}} def target prop_get('target') end def target=(val) prop_set('target', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # timeout in minutes def timeout prop_get('timeout') end # timeout in minutes def timeout=(val) prop_set('timeout', val) end end def tagging @subclasses['tagging'] ||= Tagging.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def actions maybe_register_subclass('actions', Actions.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'filter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1023'}, 'quarantine'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}} def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def filter prop_get('filter') end def filter=(val) prop_set('filter', val) end def quarantine prop_get('quarantine') end def quarantine=(val) prop_set('quarantine', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def match_list maybe_register_subclass('match-list', MatchList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def url @subclasses['url'] ||= Url.new(parent_instance: self, client: @client, create_children: @create_children) end class Data < ConfigClass def has_multiple_values?; false; end def _section :data end class MatchList < XML::ConfigClass def has_multiple_values?; true; end def _section :'match-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SendSnmptrap < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-snmptrap' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_snmptrap maybe_register_subclass('send-snmptrap', SendSnmptrap.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendEmail < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-email' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_email maybe_register_subclass('send-email', SendEmail.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendSyslog < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-syslog' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_syslog maybe_register_subclass('send-syslog', SendSyslog.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendHttp < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-http' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_http maybe_register_subclass('send-http', SendHttp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Actions < XML::ConfigClass def has_multiple_values?; true; end def _section :actions end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Tagging < ConfigClass def has_multiple_values?; false; end def _section :tagging end class Registration < XML::ConfigClass def has_multiple_values?; true; end def _section :registration end class Localhost < ConfigClass def has_multiple_values?; false; end def _section :localhost end @props = {} end def localhost @subclasses['localhost'] ||= Localhost.new(parent_instance: self, client: @client, create_children: @create_children) end class Remote < ConfigClass def has_multiple_values?; false; end def _section :remote end @props = {'http-profile'=>{'node-type'=>'element', 'type'=>'string'}} def http_profile prop_get('http-profile') end def http_profile=(val) prop_set('http-profile', val) end end def remote @subclasses['remote'] ||= Remote.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def registration maybe_register_subclass('registration', Registration.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'127', 'regex'=>'^[^\]\'\[]*$'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'target'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'source-address', 'enum'=>[{'value'=>'source-address', 'help-string'=>'Source Address'}, {'value'=>'destination-address', 'help-string'=>'Destination Address'}, {'value'=>'xff-address', 'help-string'=>'X-Forwarded-For Address'}, {'value'=>'user', 'help-string'=>'User'}]}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'add-tag', 'enum'=>[{'value'=>'add-tag', 'help-string'=>'Add Tag'}, {'value'=>'remove-tag', 'help-string'=>'Remove Tag'}]}, 'timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'43200', 'optional'=>'yes', 'default'=>'0', 'help-string'=>'timeout in minutes'}} def target prop_get('target') end def target=(val) prop_set('target', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # timeout in minutes def timeout prop_get('timeout') end # timeout in minutes def timeout=(val) prop_set('timeout', val) end end def tagging @subclasses['tagging'] ||= Tagging.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def actions maybe_register_subclass('actions', Actions.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'filter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1023'}, 'quarantine'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}} def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def filter prop_get('filter') end def filter=(val) prop_set('filter', val) end def quarantine prop_get('quarantine') end def quarantine=(val) prop_set('quarantine', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def match_list maybe_register_subclass('match-list', MatchList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def data @subclasses['data'] ||= Data.new(parent_instance: self, client: @client, create_children: @create_children) end class Traffic < ConfigClass def has_multiple_values?; false; end def _section :traffic end class MatchList < XML::ConfigClass def has_multiple_values?; true; end def _section :'match-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SendSnmptrap < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-snmptrap' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_snmptrap maybe_register_subclass('send-snmptrap', SendSnmptrap.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendEmail < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-email' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_email maybe_register_subclass('send-email', SendEmail.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendSyslog < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-syslog' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_syslog maybe_register_subclass('send-syslog', SendSyslog.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendHttp < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-http' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_http maybe_register_subclass('send-http', SendHttp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Actions < XML::ConfigClass def has_multiple_values?; true; end def _section :actions end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Tagging < ConfigClass def has_multiple_values?; false; end def _section :tagging end class Registration < XML::ConfigClass def has_multiple_values?; true; end def _section :registration end class Localhost < ConfigClass def has_multiple_values?; false; end def _section :localhost end @props = {} end def localhost @subclasses['localhost'] ||= Localhost.new(parent_instance: self, client: @client, create_children: @create_children) end class Remote < ConfigClass def has_multiple_values?; false; end def _section :remote end @props = {'http-profile'=>{'node-type'=>'element', 'type'=>'string'}} def http_profile prop_get('http-profile') end def http_profile=(val) prop_set('http-profile', val) end end def remote @subclasses['remote'] ||= Remote.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def registration maybe_register_subclass('registration', Registration.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'127', 'regex'=>'^[^\]\'\[]*$'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'target'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'source-address', 'enum'=>[{'value'=>'source-address', 'help-string'=>'Source Address'}, {'value'=>'destination-address', 'help-string'=>'Destination Address'}, {'value'=>'xff-address', 'help-string'=>'X-Forwarded-For Address'}, {'value'=>'user', 'help-string'=>'User'}]}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'add-tag', 'enum'=>[{'value'=>'add-tag', 'help-string'=>'Add Tag'}, {'value'=>'remove-tag', 'help-string'=>'Remove Tag'}]}, 'timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'43200', 'optional'=>'yes', 'default'=>'0', 'help-string'=>'timeout in minutes'}} def target prop_get('target') end def target=(val) prop_set('target', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # timeout in minutes def timeout prop_get('timeout') end # timeout in minutes def timeout=(val) prop_set('timeout', val) end end def tagging @subclasses['tagging'] ||= Tagging.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def actions maybe_register_subclass('actions', Actions.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'filter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1023'}, 'quarantine'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}} def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def filter prop_get('filter') end def filter=(val) prop_set('filter', val) end def quarantine prop_get('quarantine') end def quarantine=(val) prop_set('quarantine', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def match_list maybe_register_subclass('match-list', MatchList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def traffic @subclasses['traffic'] ||= Traffic.new(parent_instance: self, client: @client, create_children: @create_children) end class Gtp < ConfigClass def has_multiple_values?; false; end def _section :gtp end class MatchList < XML::ConfigClass def has_multiple_values?; true; end def _section :'match-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SendSnmptrap < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-snmptrap' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_snmptrap maybe_register_subclass('send-snmptrap', SendSnmptrap.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendEmail < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-email' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_email maybe_register_subclass('send-email', SendEmail.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendSyslog < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-syslog' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_syslog maybe_register_subclass('send-syslog', SendSyslog.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendHttp < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-http' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_http maybe_register_subclass('send-http', SendHttp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Actions < XML::ConfigClass def has_multiple_values?; true; end def _section :actions end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Tagging < ConfigClass def has_multiple_values?; false; end def _section :tagging end class Registration < XML::ConfigClass def has_multiple_values?; true; end def _section :registration end class Localhost < ConfigClass def has_multiple_values?; false; end def _section :localhost end @props = {} end def localhost @subclasses['localhost'] ||= Localhost.new(parent_instance: self, client: @client, create_children: @create_children) end class Remote < ConfigClass def has_multiple_values?; false; end def _section :remote end @props = {'http-profile'=>{'node-type'=>'element', 'type'=>'string'}} def http_profile prop_get('http-profile') end def http_profile=(val) prop_set('http-profile', val) end end def remote @subclasses['remote'] ||= Remote.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def registration maybe_register_subclass('registration', Registration.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'127', 'regex'=>'^[^\]\'\[]*$'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'target'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'source-address', 'enum'=>[{'value'=>'source-address', 'help-string'=>'Source Address'}, {'value'=>'destination-address', 'help-string'=>'Destination Address'}, {'value'=>'xff-address', 'help-string'=>'X-Forwarded-For Address'}, {'value'=>'user', 'help-string'=>'User'}]}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'add-tag', 'enum'=>[{'value'=>'add-tag', 'help-string'=>'Add Tag'}, {'value'=>'remove-tag', 'help-string'=>'Remove Tag'}]}, 'timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'43200', 'optional'=>'yes', 'default'=>'0', 'help-string'=>'timeout in minutes'}} def target prop_get('target') end def target=(val) prop_set('target', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # timeout in minutes def timeout prop_get('timeout') end # timeout in minutes def timeout=(val) prop_set('timeout', val) end end def tagging @subclasses['tagging'] ||= Tagging.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def actions maybe_register_subclass('actions', Actions.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'filter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1023'}, 'quarantine'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}} def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def filter prop_get('filter') end def filter=(val) prop_set('filter', val) end def quarantine prop_get('quarantine') end def quarantine=(val) prop_set('quarantine', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def match_list maybe_register_subclass('match-list', MatchList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def gtp @subclasses['gtp'] ||= Gtp.new(parent_instance: self, client: @client, create_children: @create_children) end class Sctp < ConfigClass def has_multiple_values?; false; end def _section :sctp end class MatchList < XML::ConfigClass def has_multiple_values?; true; end def _section :'match-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SendSnmptrap < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-snmptrap' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_snmptrap maybe_register_subclass('send-snmptrap', SendSnmptrap.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendEmail < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-email' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_email maybe_register_subclass('send-email', SendEmail.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendSyslog < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-syslog' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_syslog maybe_register_subclass('send-syslog', SendSyslog.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendHttp < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-http' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_http maybe_register_subclass('send-http', SendHttp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Actions < XML::ConfigClass def has_multiple_values?; true; end def _section :actions end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Tagging < ConfigClass def has_multiple_values?; false; end def _section :tagging end class Registration < XML::ConfigClass def has_multiple_values?; true; end def _section :registration end class Localhost < ConfigClass def has_multiple_values?; false; end def _section :localhost end @props = {} end def localhost @subclasses['localhost'] ||= Localhost.new(parent_instance: self, client: @client, create_children: @create_children) end class Remote < ConfigClass def has_multiple_values?; false; end def _section :remote end @props = {'http-profile'=>{'node-type'=>'element', 'type'=>'string'}} def http_profile prop_get('http-profile') end def http_profile=(val) prop_set('http-profile', val) end end def remote @subclasses['remote'] ||= Remote.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def registration maybe_register_subclass('registration', Registration.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'127', 'regex'=>'^[^\]\'\[]*$'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'target'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'source-address', 'enum'=>[{'value'=>'source-address', 'help-string'=>'Source Address'}, {'value'=>'destination-address', 'help-string'=>'Destination Address'}, {'value'=>'xff-address', 'help-string'=>'X-Forwarded-For Address'}, {'value'=>'user', 'help-string'=>'User'}]}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'add-tag', 'enum'=>[{'value'=>'add-tag', 'help-string'=>'Add Tag'}, {'value'=>'remove-tag', 'help-string'=>'Remove Tag'}]}, 'timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'43200', 'optional'=>'yes', 'default'=>'0', 'help-string'=>'timeout in minutes'}} def target prop_get('target') end def target=(val) prop_set('target', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # timeout in minutes def timeout prop_get('timeout') end # timeout in minutes def timeout=(val) prop_set('timeout', val) end end def tagging @subclasses['tagging'] ||= Tagging.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def actions maybe_register_subclass('actions', Actions.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'filter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1023'}, 'quarantine'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}} def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def filter prop_get('filter') end def filter=(val) prop_set('filter', val) end def quarantine prop_get('quarantine') end def quarantine=(val) prop_set('quarantine', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def match_list maybe_register_subclass('match-list', MatchList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def sctp @subclasses['sctp'] ||= Sctp.new(parent_instance: self, client: @client, create_children: @create_children) end class Tunnel < ConfigClass def has_multiple_values?; false; end def _section :tunnel end class MatchList < XML::ConfigClass def has_multiple_values?; true; end def _section :'match-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SendSnmptrap < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-snmptrap' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_snmptrap maybe_register_subclass('send-snmptrap', SendSnmptrap.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendEmail < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-email' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_email maybe_register_subclass('send-email', SendEmail.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendSyslog < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-syslog' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_syslog maybe_register_subclass('send-syslog', SendSyslog.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendHttp < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-http' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_http maybe_register_subclass('send-http', SendHttp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Actions < XML::ConfigClass def has_multiple_values?; true; end def _section :actions end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Tagging < ConfigClass def has_multiple_values?; false; end def _section :tagging end class Registration < XML::ConfigClass def has_multiple_values?; true; end def _section :registration end class Localhost < ConfigClass def has_multiple_values?; false; end def _section :localhost end @props = {} end def localhost @subclasses['localhost'] ||= Localhost.new(parent_instance: self, client: @client, create_children: @create_children) end class Remote < ConfigClass def has_multiple_values?; false; end def _section :remote end @props = {'http-profile'=>{'node-type'=>'element', 'type'=>'string'}} def http_profile prop_get('http-profile') end def http_profile=(val) prop_set('http-profile', val) end end def remote @subclasses['remote'] ||= Remote.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def registration maybe_register_subclass('registration', Registration.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'127', 'regex'=>'^[^\]\'\[]*$'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'target'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'source-address', 'enum'=>[{'value'=>'source-address', 'help-string'=>'Source Address'}, {'value'=>'destination-address', 'help-string'=>'Destination Address'}, {'value'=>'xff-address', 'help-string'=>'X-Forwarded-For Address'}, {'value'=>'user', 'help-string'=>'User'}]}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'add-tag', 'enum'=>[{'value'=>'add-tag', 'help-string'=>'Add Tag'}, {'value'=>'remove-tag', 'help-string'=>'Remove Tag'}]}, 'timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'43200', 'optional'=>'yes', 'default'=>'0', 'help-string'=>'timeout in minutes'}} def target prop_get('target') end def target=(val) prop_set('target', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # timeout in minutes def timeout prop_get('timeout') end # timeout in minutes def timeout=(val) prop_set('timeout', val) end end def tagging @subclasses['tagging'] ||= Tagging.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def actions maybe_register_subclass('actions', Actions.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'filter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1023'}, 'quarantine'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}} def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def filter prop_get('filter') end def filter=(val) prop_set('filter', val) end def quarantine prop_get('quarantine') end def quarantine=(val) prop_set('quarantine', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def match_list maybe_register_subclass('match-list', MatchList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def tunnel @subclasses['tunnel'] ||= Tunnel.new(parent_instance: self, client: @client, create_children: @create_children) end class Auth < ConfigClass def has_multiple_values?; false; end def _section :auth end class MatchList < XML::ConfigClass def has_multiple_values?; true; end def _section :'match-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SendSnmptrap < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-snmptrap' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_snmptrap maybe_register_subclass('send-snmptrap', SendSnmptrap.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendEmail < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-email' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_email maybe_register_subclass('send-email', SendEmail.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendSyslog < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-syslog' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_syslog maybe_register_subclass('send-syslog', SendSyslog.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendHttp < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-http' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_http maybe_register_subclass('send-http', SendHttp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Actions < XML::ConfigClass def has_multiple_values?; true; end def _section :actions end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Tagging < ConfigClass def has_multiple_values?; false; end def _section :tagging end class Registration < XML::ConfigClass def has_multiple_values?; true; end def _section :registration end class Localhost < ConfigClass def has_multiple_values?; false; end def _section :localhost end @props = {} end def localhost @subclasses['localhost'] ||= Localhost.new(parent_instance: self, client: @client, create_children: @create_children) end class Remote < ConfigClass def has_multiple_values?; false; end def _section :remote end @props = {'http-profile'=>{'node-type'=>'element', 'type'=>'string'}} def http_profile prop_get('http-profile') end def http_profile=(val) prop_set('http-profile', val) end end def remote @subclasses['remote'] ||= Remote.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def registration maybe_register_subclass('registration', Registration.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'127', 'regex'=>'^[^\]\'\[]*$'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'target'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'source-address', 'enum'=>[{'value'=>'source-address', 'help-string'=>'Source Address'}, {'value'=>'destination-address', 'help-string'=>'Destination Address'}, {'value'=>'xff-address', 'help-string'=>'X-Forwarded-For Address'}, {'value'=>'user', 'help-string'=>'User'}]}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'add-tag', 'enum'=>[{'value'=>'add-tag', 'help-string'=>'Add Tag'}, {'value'=>'remove-tag', 'help-string'=>'Remove Tag'}]}, 'timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'43200', 'optional'=>'yes', 'default'=>'0', 'help-string'=>'timeout in minutes'}} def target prop_get('target') end def target=(val) prop_set('target', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # timeout in minutes def timeout prop_get('timeout') end # timeout in minutes def timeout=(val) prop_set('timeout', val) end end def tagging @subclasses['tagging'] ||= Tagging.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def actions maybe_register_subclass('actions', Actions.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'filter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1023'}, 'quarantine'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}} def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def filter prop_get('filter') end def filter=(val) prop_set('filter', val) end def quarantine prop_get('quarantine') end def quarantine=(val) prop_set('quarantine', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def match_list maybe_register_subclass('match-list', MatchList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def auth @subclasses['auth'] ||= Auth.new(parent_instance: self, client: @client, create_children: @create_children) end class Snmptrap < XML::ConfigClass def has_multiple_values?; true; end def _section :snmptrap end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Version < XML::ConfigClass def has_multiple_values?; true; end def _section :version end class V2c < ConfigClass def has_multiple_values?; false; end def _section :v2c end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'manager'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'IP address or FQDN of SNMP manager to use', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63', 'regex'=>'^([a-zA-Z0-9\.\_-])+([a-zA-Z]{2,63})$'}}}, 'community'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # IP address or FQDN of SNMP manager to use def manager prop_get('manager') end # IP address or FQDN of SNMP manager to use def manager=(val) prop_set('manager', val) end def community prop_get('community') end def community=(val) prop_set('community', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def v2c @subclasses['v2c'] ||= V2c.new(parent_instance: self, client: @client, create_children: @create_children) end class V3 < ConfigClass def has_multiple_values?; false; end def _section :v3 end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'manager'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'IP address or FQDN of SNMP manager to use', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63', 'regex'=>'^([a-zA-Z0-9\.\_-])+([a-zA-Z]{2,63})$'}}}, 'user'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31'}, 'engineid'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'255', 'regex'=>'^[0][xX][0-9A-Fa-f]{10,128}$', 'help-string'=>'A hex number (min 5 - max 64 bytes) '}, 'authpwd'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Authentication Protocol Password', 'minlen'=>'8', 'maxlen'=>'256', 'encrypt'=>'yes'}, 'privpwd'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Privacy Protocol Password', 'minlen'=>'8', 'maxlen'=>'256', 'encrypt'=>'yes'}, 'authproto'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'SHA', 'help-string'=>'Authentication Protocol', 'enum'=>[{'value'=>'SHA'}, {'value'=>'SHA-224'}, {'value'=>'SHA-256'}, {'value'=>'SHA-384'}, {'value'=>'SHA-512'}]}, 'privproto'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'AES', 'help-string'=>'Privacy Protocol', 'enum'=>[{'value'=>'AES'}, {'value'=>'AES-192'}, {'value'=>'AES-256'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # IP address or FQDN of SNMP manager to use def manager prop_get('manager') end # IP address or FQDN of SNMP manager to use def manager=(val) prop_set('manager', val) end def user prop_get('user') end def user=(val) prop_set('user', val) end # A hex number (min 5 - max 64 bytes) def engineid prop_get('engineid') end # A hex number (min 5 - max 64 bytes) def engineid=(val) prop_set('engineid', val) end # Authentication Protocol Password def authpwd prop_get('authpwd') end # Authentication Protocol Password def authpwd=(val) prop_set('authpwd', val) end # Privacy Protocol Password def privpwd prop_get('privpwd') end # Privacy Protocol Password def privpwd=(val) prop_set('privpwd', val) end # Authentication Protocol def authproto prop_get('authproto') end # Authentication Protocol def authproto=(val) prop_set('authproto', val) end # Privacy Protocol def privproto prop_get('privproto') end # Privacy Protocol def privproto=(val) prop_set('privproto', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def v3 @subclasses['v3'] ||= V3.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def version maybe_register_subclass('version', Version.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def snmptrap maybe_register_subclass('snmptrap', Snmptrap.new(parent_instance: self, client: @client, create_children: @create_children)) end class Email < XML::ConfigClass def has_multiple_values?; true; end def _section :email end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'display-name'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes'}, 'from'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([a-zA-Z0-9_?~^\'`.\+/=|#$!*%{}\&-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$', 'maxlen'=>'128', 'help-string'=>'email address (e.g. admin@mycompany.com)'}, 'to'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([a-zA-Z0-9_?~^\'`.\+/=|#$!*%{}\&-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$', 'maxlen'=>'128', 'help-string'=>'email address (e.g. admin@mycompany.com)'}, 'and-also-to'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^([a-zA-Z0-9_?~^\'`.\+/=|#$!*%{}\&-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$', 'maxlen'=>'128', 'help-string'=>'email address (e.g. admin@mycompany.com)'}, 'gateway'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'regex'=>'^([a-zA-Z0-9:\.\_-])+([a-zA-Z0-9:\_-])$', 'help-string'=>'IP address or FQDN of SMTP gateway to use'}, 'protocol'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'SMTP', 'enum'=>[{'value'=>'SMTP'}, {'value'=>'TLS'}]}, 'port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'optional'=>'yes', 'default'=>'25', 'help-string'=>'Port number (Standard EMAIL ports SMTP:25, TLS:587)'}, 'tls-version'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'1.2', 'help-string'=>'TLS handshake protocol version', 'enum'=>[{'value'=>'1.2'}, {'value'=>'1.1'}]}, 'auth'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'Auto'}, {'value'=>'Login'}, {'value'=>'Plain'}]}, 'certificate-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'default'=>'None', 'help-string'=>'Certificate Profile for validating server certificate'}, 'username'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'username for authentication', 'minlen'=>'0', 'maxlen'=>'255', 'regex'=>'[^\']*'}, 'password'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'regex'=>'[^\']*', 'encrypt'=>'yes'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def display_name prop_get('display-name') end def display_name=(val) prop_set('display-name', val) end # email address (e.g. admin@mycompany.com) def from prop_get('from') end # email address (e.g. admin@mycompany.com) def from=(val) prop_set('from', val) end # email address (e.g. admin@mycompany.com) def to prop_get('to') end # email address (e.g. admin@mycompany.com) def to=(val) prop_set('to', val) end # email address (e.g. admin@mycompany.com) def and_also_to prop_get('and-also-to') end # email address (e.g. admin@mycompany.com) def and_also_to=(val) prop_set('and-also-to', val) end # IP address or FQDN of SMTP gateway to use def gateway prop_get('gateway') end # IP address or FQDN of SMTP gateway to use def gateway=(val) prop_set('gateway', val) end def protocol prop_get('protocol') end def protocol=(val) prop_set('protocol', val) end # Port number (Standard EMAIL ports SMTP:25, TLS:587) def port prop_get('port') end # Port number (Standard EMAIL ports SMTP:25, TLS:587) def port=(val) prop_set('port', val) end # TLS handshake protocol version def tls_version prop_get('tls-version') end # TLS handshake protocol version def tls_version=(val) prop_set('tls-version', val) end def auth prop_get('auth') end def auth=(val) prop_set('auth', val) end # Certificate Profile for validating server certificate def certificate_profile prop_get('certificate-profile') end # Certificate Profile for validating server certificate def certificate_profile=(val) prop_set('certificate-profile', val) end # username for authentication def username prop_get('username') end # username for authentication def username=(val) prop_set('username', val) end def password prop_get('password') end def password=(val) prop_set('password', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end class Format < ConfigClass def has_multiple_values?; false; end def _section :format end class Escaping < ConfigClass def has_multiple_values?; false; end def _section :escaping end @props = {'escaped-characters'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'help-string'=>'List of characters to be escaped'}, 'escape-character'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'1', 'help-string'=>'Escape character'}} # List of characters to be escaped def escaped_characters prop_get('escaped-characters') end # List of characters to be escaped def escaped_characters=(val) prop_set('escaped-characters', val) end # Escape character def escape_character prop_get('escape-character') end # Escape character def escape_character=(val) prop_set('escape-character', val) end end def escaping @subclasses['escaping'] ||= Escaping.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'traffic'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'threat'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'wildfire'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'url'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'data'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'gtp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420,cfg.platform.model=PA-1410,cfg.platform.model=PA-1420'}, 'sctp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420,cfg.platform.model=PA-1410,cfg.platform.model=PA-1420'}, 'tunnel'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'auth'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'userid'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'iptag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'decryption'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'config'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'system'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'globalprotect'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'hip-match'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'correlation'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}} def traffic prop_get('traffic') end def traffic=(val) prop_set('traffic', val) end def threat prop_get('threat') end def threat=(val) prop_set('threat', val) end def wildfire prop_get('wildfire') end def wildfire=(val) prop_set('wildfire', val) end def url prop_get('url') end def url=(val) prop_set('url', val) end def data prop_get('data') end def data=(val) prop_set('data', val) end def gtp prop_get('gtp') end def gtp=(val) prop_set('gtp', val) end def sctp prop_get('sctp') end def sctp=(val) prop_set('sctp', val) end def tunnel prop_get('tunnel') end def tunnel=(val) prop_set('tunnel', val) end def auth prop_get('auth') end def auth=(val) prop_set('auth', val) end def userid prop_get('userid') end def userid=(val) prop_set('userid', val) end def iptag prop_get('iptag') end def iptag=(val) prop_set('iptag', val) end def decryption prop_get('decryption') end def decryption=(val) prop_set('decryption', val) end def config prop_get('config') end def config=(val) prop_set('config', val) end def system prop_get('system') end def system=(val) prop_set('system', val) end def globalprotect prop_get('globalprotect') end def globalprotect=(val) prop_set('globalprotect', val) end def hip_match prop_get('hip-match') end def hip_match=(val) prop_set('hip-match', val) end def correlation prop_get('correlation') end def correlation=(val) prop_set('correlation', val) end end def format @subclasses['format'] ||= Format.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def email maybe_register_subclass('email', Email.new(parent_instance: self, client: @client, create_children: @create_children)) end class Syslog < XML::ConfigClass def has_multiple_values?; true; end def _section :syslog end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'server'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'regex'=>'^([a-zA-Z0-9:\.\_-])+([a-zA-Z0-9:\_-])$', 'help-string'=>'IP address or FQDN of SYSLOG server to use'}, 'transport'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'UDP', 'enum'=>[{'value'=>'UDP'}, {'value'=>'TCP'}, {'value'=>'SSL'}]}, 'port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'optional'=>'yes', 'help-string'=>'Port number (Standard Syslog ports UDP:514, SSL:6514)'}, 'format'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'BSD', 'help-string'=>'Format of the Syslog message', 'enum'=>[{'value'=>'BSD'}, {'value'=>'IETF'}]}, 'facility'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'LOG_USER', 'enum'=>[{'value'=>'LOG_USER'}, {'value'=>'LOG_LOCAL0'}, {'value'=>'LOG_LOCAL1'}, {'value'=>'LOG_LOCAL2'}, {'value'=>'LOG_LOCAL3'}, {'value'=>'LOG_LOCAL4'}, {'value'=>'LOG_LOCAL5'}, {'value'=>'LOG_LOCAL6'}, {'value'=>'LOG_LOCAL7'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # IP address or FQDN of SYSLOG server to use def server prop_get('server') end # IP address or FQDN of SYSLOG server to use def server=(val) prop_set('server', val) end def transport prop_get('transport') end def transport=(val) prop_set('transport', val) end # Port number (Standard Syslog ports UDP:514, SSL:6514) def port prop_get('port') end # Port number (Standard Syslog ports UDP:514, SSL:6514) def port=(val) prop_set('port', val) end # Format of the Syslog message def format prop_get('format') end # Format of the Syslog message def format=(val) prop_set('format', val) end def facility prop_get('facility') end def facility=(val) prop_set('facility', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end class Format < ConfigClass def has_multiple_values?; false; end def _section :format end class Escaping < ConfigClass def has_multiple_values?; false; end def _section :escaping end @props = {'escaped-characters'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'help-string'=>'List of characters to be escaped'}, 'escape-character'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'1', 'help-string'=>'Escape character'}} # List of characters to be escaped def escaped_characters prop_get('escaped-characters') end # List of characters to be escaped def escaped_characters=(val) prop_set('escaped-characters', val) end # Escape character def escape_character prop_get('escape-character') end # Escape character def escape_character=(val) prop_set('escape-character', val) end end def escaping @subclasses['escaping'] ||= Escaping.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'traffic'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'threat'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'wildfire'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'url'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'data'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'gtp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420,cfg.platform.model=PA-1410,cfg.platform.model=PA-1420'}, 'sctp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420,cfg.platform.model=PA-1410,cfg.platform.model=PA-1420'}, 'tunnel'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'auth'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'userid'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'iptag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'decryption'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'config'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'system'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'globalprotect'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'hip-match'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'correlation'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}} def traffic prop_get('traffic') end def traffic=(val) prop_set('traffic', val) end def threat prop_get('threat') end def threat=(val) prop_set('threat', val) end def wildfire prop_get('wildfire') end def wildfire=(val) prop_set('wildfire', val) end def url prop_get('url') end def url=(val) prop_set('url', val) end def data prop_get('data') end def data=(val) prop_set('data', val) end def gtp prop_get('gtp') end def gtp=(val) prop_set('gtp', val) end def sctp prop_get('sctp') end def sctp=(val) prop_set('sctp', val) end def tunnel prop_get('tunnel') end def tunnel=(val) prop_set('tunnel', val) end def auth prop_get('auth') end def auth=(val) prop_set('auth', val) end def userid prop_get('userid') end def userid=(val) prop_set('userid', val) end def iptag prop_get('iptag') end def iptag=(val) prop_set('iptag', val) end def decryption prop_get('decryption') end def decryption=(val) prop_set('decryption', val) end def config prop_get('config') end def config=(val) prop_set('config', val) end def system prop_get('system') end def system=(val) prop_set('system', val) end def globalprotect prop_get('globalprotect') end def globalprotect=(val) prop_set('globalprotect', val) end def hip_match prop_get('hip-match') end def hip_match=(val) prop_set('hip-match', val) end def correlation prop_get('correlation') end def correlation=(val) prop_set('correlation', val) end end def format @subclasses['format'] ||= Format.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def syslog maybe_register_subclass('syslog', Syslog.new(parent_instance: self, client: @client, create_children: @create_children)) end class Http < XML::ConfigClass def has_multiple_values?; true; end def _section :http end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'address'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'regex'=>'^([a-zA-Z0-9:\.\_-])+([a-zA-Z0-9:\_-])$', 'help-string'=>'IP address or FQDN of HTTP server to use', 'error-string'=>'Must be IP address or FQDN'}, 'protocol'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'HTTPS', 'enum'=>[{'value'=>'HTTP'}, {'value'=>'HTTPS'}]}, 'port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'optional'=>'yes', 'default'=>'443', 'help-string'=>'Port number (Standard HTTP ports HTTP:80, HTTPS:443)'}, 'tls-version'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'1.2', 'help-string'=>'TLS handshake protocol version', 'enum'=>[{'value'=>'1.2'}, {'value'=>'1.1'}, {'value'=>'1.0'}]}, 'auth'=>{'node-type'=>'element', 'type'=>'enum', 'internal'=>'yes', 'optional'=>'yes', 'enum'=>[{'value'=>'OAUTH2'}]}, 'certificate-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'default'=>'None', 'help-string'=>'Certificate Profile for validating server certificate'}, 'http-method'=>{'node-type'=>'element', 'type'=>'string', 'default'=>'POST', 'complete-handler'=>'http-method-completer'}, 'username'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'username for HTTP basic authentication', 'minlen'=>'1', 'maxlen'=>'255', 'regex'=>'[^\']*'}, 'password'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'regex'=>'[^\']*', 'encrypt'=>'yes'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # IP address or FQDN of HTTP server to use def address prop_get('address') end # IP address or FQDN of HTTP server to use def address=(val) prop_set('address', val) end def protocol prop_get('protocol') end def protocol=(val) prop_set('protocol', val) end # Port number (Standard HTTP ports HTTP:80, HTTPS:443) def port prop_get('port') end # Port number (Standard HTTP ports HTTP:80, HTTPS:443) def port=(val) prop_set('port', val) end # TLS handshake protocol version def tls_version prop_get('tls-version') end # TLS handshake protocol version def tls_version=(val) prop_set('tls-version', val) end def auth prop_get('auth') end def auth=(val) prop_set('auth', val) end # Certificate Profile for validating server certificate def certificate_profile prop_get('certificate-profile') end # Certificate Profile for validating server certificate def certificate_profile=(val) prop_set('certificate-profile', val) end def http_method prop_get('http-method') end def http_method=(val) prop_set('http-method', val) end # username for HTTP basic authentication def username prop_get('username') end # username for HTTP basic authentication def username=(val) prop_set('username', val) end def password prop_get('password') end def password=(val) prop_set('password', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end class Format < ConfigClass def has_multiple_values?; false; end def _section :format end class Config < ConfigClass def has_multiple_values?; false; end def _section :config end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def config @subclasses['config'] ||= Config.new(parent_instance: self, client: @client, create_children: @create_children) end class System < ConfigClass def has_multiple_values?; false; end def _section :system end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def system @subclasses['system'] ||= System.new(parent_instance: self, client: @client, create_children: @create_children) end class Traffic < ConfigClass def has_multiple_values?; false; end def _section :traffic end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def traffic @subclasses['traffic'] ||= Traffic.new(parent_instance: self, client: @client, create_children: @create_children) end class Threat < ConfigClass def has_multiple_values?; false; end def _section :threat end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def threat @subclasses['threat'] ||= Threat.new(parent_instance: self, client: @client, create_children: @create_children) end class Wildfire < ConfigClass def has_multiple_values?; false; end def _section :wildfire end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def wildfire @subclasses['wildfire'] ||= Wildfire.new(parent_instance: self, client: @client, create_children: @create_children) end class Url < ConfigClass def has_multiple_values?; false; end def _section :url end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def url @subclasses['url'] ||= Url.new(parent_instance: self, client: @client, create_children: @create_children) end class Data < ConfigClass def has_multiple_values?; false; end def _section :data end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def data @subclasses['data'] ||= Data.new(parent_instance: self, client: @client, create_children: @create_children) end class Gtp < ConfigClass def has_multiple_values?; false; end def _section :gtp end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def gtp @subclasses['gtp'] ||= Gtp.new(parent_instance: self, client: @client, create_children: @create_children) end class Sctp < ConfigClass def has_multiple_values?; false; end def _section :sctp end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def sctp @subclasses['sctp'] ||= Sctp.new(parent_instance: self, client: @client, create_children: @create_children) end class Tunnel < ConfigClass def has_multiple_values?; false; end def _section :tunnel end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def tunnel @subclasses['tunnel'] ||= Tunnel.new(parent_instance: self, client: @client, create_children: @create_children) end class Auth < ConfigClass def has_multiple_values?; false; end def _section :auth end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def auth @subclasses['auth'] ||= Auth.new(parent_instance: self, client: @client, create_children: @create_children) end class Userid < ConfigClass def has_multiple_values?; false; end def _section :userid end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def userid @subclasses['userid'] ||= Userid.new(parent_instance: self, client: @client, create_children: @create_children) end class Iptag < ConfigClass def has_multiple_values?; false; end def _section :iptag end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def iptag @subclasses['iptag'] ||= Iptag.new(parent_instance: self, client: @client, create_children: @create_children) end class Decryption < ConfigClass def has_multiple_values?; false; end def _section :decryption end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def decryption @subclasses['decryption'] ||= Decryption.new(parent_instance: self, client: @client, create_children: @create_children) end class Globalprotect < ConfigClass def has_multiple_values?; false; end def _section :globalprotect end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def globalprotect @subclasses['globalprotect'] ||= Globalprotect.new(parent_instance: self, client: @client, create_children: @create_children) end class HipMatch < ConfigClass def has_multiple_values?; false; end def _section :'hip-match' end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def hip_match @subclasses['hip-match'] ||= HipMatch.new(parent_instance: self, client: @client, create_children: @create_children) end class Correlation < ConfigClass def has_multiple_values?; false; end def _section :correlation end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def correlation @subclasses['correlation'] ||= Correlation.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def format @subclasses['format'] ||= Format.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'tag-registration'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'The server(s) should have User-ID agent running in order for tag registration to work'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # The server(s) should have User-ID agent running in order for tag registration to work def tag_registration prop_get('tag-registration') end # The server(s) should have User-ID agent running in order for tag registration to work def tag_registration=(val) prop_set('tag-registration', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def http maybe_register_subclass('http', Http.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def log_settings @subclasses['log-settings'] ||= LogSettings.new(parent_instance: self, client: @client, create_children: @create_children) end class LogIngestion < ConfigClass def has_multiple_values?; false; end def _section :'log-ingestion' end class Syslog < XML::ConfigClass def has_multiple_values?; true; end def _section :syslog end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'23000', 'max'=>'23999', 'help-string'=>'Port number 23000-23999'}, 'transport'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'SSL', 'enum'=>[{'value'=>'UDP'}, {'value'=>'TCP'}, {'value'=>'SSL'}]}, 'vendor-id'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'16', 'complete-handler'=>'log-ingest-vendor-completer', 'help-string'=>'log source '}, 'version-id'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'16', 'complete-handler'=>'log-ingest-version-completer', 'help-string'=>'log type version (select vendor-id first for version options)'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # Port number 23000-23999 def port prop_get('port') end # Port number 23000-23999 def port=(val) prop_set('port', val) end def transport prop_get('transport') end def transport=(val) prop_set('transport', val) end # log source def vendor_id prop_get('vendor-id') end # log source def vendor_id=(val) prop_set('vendor-id', val) end # log type version (select vendor-id first for version options) def version_id prop_get('version-id') end # log type version (select vendor-id first for version options) def version_id=(val) prop_set('version-id', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def syslog maybe_register_subclass('syslog', Syslog.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def log_ingestion @subclasses['log-ingestion'] ||= LogIngestion.new(parent_instance: self, client: @client, create_children: @create_children) end class SslDecrypt < ConfigClass def has_multiple_values?; false; end def _section :'ssl-decrypt' end class TrustedRootCA < XML::ConfigClass def has_multiple_values?; true; end def _section :'trusted-root-CA' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Trusted Root CA', 'maxlen'=>'63'}} # Trusted Root CA def member prop_get('member') end # Trusted Root CA def member=(val) prop_set('member', val) end end def trusted_root_CA maybe_register_subclass('trusted-root-CA', TrustedRootCA.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def ssl_decrypt @subclasses['ssl-decrypt'] ||= SslDecrypt.new(parent_instance: self, client: @client, create_children: @create_children) end class Scep < XML::ConfigClass def has_multiple_values?; true; end def _section :scep end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class ScepChallenge < XML::ConfigClass def has_multiple_values?; true; end def _section :'scep-challenge' end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end class Dynamic < ConfigClass def has_multiple_values?; false; end def _section :dynamic end @props = {'otp-server-url'=>{'node-type'=>'element', 'type'=>'string', 'prune-on'=>'fips-mode', 'regex'=>'^(http|https)://.+$', 'minlen'=>'0', 'maxlen'=>'255', 'help-string'=>'URL to get the One-Time-Password', 'uiHint-fieldLabel'=>'Server URL'}, 'username'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'help-string'=>'Username to authenticate to the SCEP server for procuring OTP'}, 'password'=>{'node-type'=>'element', 'type'=>'string', 'encrypt'=>'yes', 'minlen'=>'0', 'maxlen'=>'255', 'help-string'=>'Password to authenticate to the SCEP server for procuring OTP'}} # URL to get the One-Time-Password def otp_server_url prop_get('otp-server-url') end # URL to get the One-Time-Password def otp_server_url=(val) prop_set('otp-server-url', val) end # Username to authenticate to the SCEP server for procuring OTP def username prop_get('username') end # Username to authenticate to the SCEP server for procuring OTP def username=(val) prop_set('username', val) end # Password to authenticate to the SCEP server for procuring OTP def password prop_get('password') end # Password to authenticate to the SCEP server for procuring OTP def password=(val) prop_set('password', val) end end def dynamic @subclasses['dynamic'] ||= Dynamic.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'fixed'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'regex'=>'[^\']*', 'helpstring'=>'Challenge to use for SCEP server on mobile clients'}} def fixed prop_get('fixed') end def fixed=(val) prop_set('fixed', val) end end def scep_challenge maybe_register_subclass('scep-challenge', ScepChallenge.new(parent_instance: self, client: @client, create_children: @create_children)) end class Algorithm < XML::ConfigClass def has_multiple_values?; true; end def _section :algorithm end class Rsa < ConfigClass def has_multiple_values?; false; end def _section :rsa end @props = {'rsa-nbits'=>{'node-type'=>'element', 'type'=>'string', 'complete-handler'=>'generate-cert-nbits-complete-handler', 'help-string'=>'Length of the key'}} # Length of the key def rsa_nbits prop_get('rsa-nbits') end # Length of the key def rsa_nbits=(val) prop_set('rsa-nbits', val) end end def rsa @subclasses['rsa'] ||= Rsa.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def algorithm maybe_register_subclass('algorithm', Algorithm.new(parent_instance: self, client: @client, create_children: @create_children)) end class CertificateAttributes < XML::ConfigClass def has_multiple_values?; true; end def _section :'certificate-attributes' end @props = {'rfc822name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'0', 'maxlen'=>'255', 'help-string'=>'rfc822Name'}, 'dnsname'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'0', 'maxlen'=>'255', 'help-string'=>'dNSName'}, 'uniform-resource-identifier'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'help-string'=>'uniformResourceIdentifier'}} # rfc822Name def rfc822name prop_get('rfc822name') end # rfc822Name def rfc822name=(val) prop_set('rfc822name', val) end # dNSName def dnsname prop_get('dnsname') end # dNSName def dnsname=(val) prop_set('dnsname', val) end # uniformResourceIdentifier def uniform_resource_identifier prop_get('uniform-resource-identifier') end # uniformResourceIdentifier def uniform_resource_identifier=(val) prop_set('uniform-resource-identifier', val) end end def certificate_attributes maybe_register_subclass('certificate-attributes', CertificateAttributes.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'scep-url'=>{'node-type'=>'element', 'type'=>'string', 'prune-on'=>'fips-mode', 'regex'=>'^(http|https)://.+$', 'minlen'=>'0', 'maxlen'=>'255', 'help-string'=>'The base URL for the SCEP server'}, 'scep-ca-cert'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'help-string'=>'SCEP Server CA Certificate'}, 'scep-client-cert'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'optional'=>'yes', 'help-string'=>'Client Certificate to use when connecting to SCEP Server over SSL'}, 'ca-identity-name'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'help-string'=>'Name of the SCEP server CA Identity'}, 'subject'=>{'node-type'=>'element', 'regex'=>'(.*)CN=(.*?)(.*)', 'type'=>'string', 'default'=>'CN=$USERNAME', 'minlen'=>'0', 'maxlen'=>'1024', 'help-string'=>'Representation of a X.500 name'}, 'digest'=>{'node-type'=>'element', 'type'=>'string', 'complete-handler'=>'generate-cert-digest-complete-handler', 'help-string'=>'Digest Algorithm for CSR'}, 'fingerprint'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'0', 'maxlen'=>'255', 'help-string'=>'Hex String to use as a fingerprint'}, 'use-as-digital-signature'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Use as digital signature', 'uiHint-fieldLabel'=>'Use as digital signature'}, 'use-for-key-encipherment'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Use for key encipherment', 'uiHint-fieldLabel'=>'Use for key encipherment'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # The base URL for the SCEP server def scep_url prop_get('scep-url') end # The base URL for the SCEP server def scep_url=(val) prop_set('scep-url', val) end # SCEP Server CA Certificate def scep_ca_cert prop_get('scep-ca-cert') end # SCEP Server CA Certificate def scep_ca_cert=(val) prop_set('scep-ca-cert', val) end # Client Certificate to use when connecting to SCEP Server over SSL def scep_client_cert prop_get('scep-client-cert') end # Client Certificate to use when connecting to SCEP Server over SSL def scep_client_cert=(val) prop_set('scep-client-cert', val) end # Name of the SCEP server CA Identity def ca_identity_name prop_get('ca-identity-name') end # Name of the SCEP server CA Identity def ca_identity_name=(val) prop_set('ca-identity-name', val) end # Representation of a X.500 name def subject prop_get('subject') end # Representation of a X.500 name def subject=(val) prop_set('subject', val) end # Digest Algorithm for CSR def digest prop_get('digest') end # Digest Algorithm for CSR def digest=(val) prop_set('digest', val) end # Hex String to use as a fingerprint def fingerprint prop_get('fingerprint') end # Hex String to use as a fingerprint def fingerprint=(val) prop_set('fingerprint', val) end # Use as digital signature def use_as_digital_signature prop_get('use-as-digital-signature') end # Use as digital signature def use_as_digital_signature=(val) prop_set('use-as-digital-signature', val) end # Use for key encipherment def use_for_key_encipherment prop_get('use-for-key-encipherment') end # Use for key encipherment def use_for_key_encipherment=(val) prop_set('use-for-key-encipherment', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def scep maybe_register_subclass('scep', Scep.new(parent_instance: self, client: @client, create_children: @create_children)) end class UserIdSslAuth < ConfigClass def has_multiple_values?; false; end def _section :'user-id-ssl-auth' end @props = {'certificate-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Profile for authenticating client certificates'}} # Profile for authenticating client certificates def certificate_profile prop_get('certificate-profile') end # Profile for authenticating client certificates def certificate_profile=(val) prop_set('certificate-profile', val) end end def user_id_ssl_auth @subclasses['user-id-ssl-auth'] ||= UserIdSslAuth.new(parent_instance: self, client: @client, create_children: @create_children) end class RedistributionAgent < XML::ConfigClass def has_multiple_values?; true; end def _section :'redistribution-agent' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'host'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'IP address or hostname for redistribution agent.', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'help-string'=>'agent IP address'}, 'string'=>{'regex'=>'^([a-zA-Z0-9./_-])+$', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'Host name.'}}}, 'port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'redistribution agent listening port'}, 'collectorname'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'3', 'maxlen'=>'255', 'help-string'=>'collector name on peer panos'}, 'secret'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'encrypt'=>'yes', 'maxlen'=>'255', 'help-string'=>'collector pre-shared key on peer panos'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}, 'ip-user-mappings'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}, 'ip-tags'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}, 'user-tags'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}, 'hip'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}, 'quarantine-list'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # IP address or hostname for redistribution agent. def host prop_get('host') end # IP address or hostname for redistribution agent. def host=(val) prop_set('host', val) end # redistribution agent listening port def port prop_get('port') end # redistribution agent listening port def port=(val) prop_set('port', val) end # collector name on peer panos def collectorname prop_get('collectorname') end # collector name on peer panos def collectorname=(val) prop_set('collectorname', val) end # collector pre-shared key on peer panos def secret prop_get('secret') end # collector pre-shared key on peer panos def secret=(val) prop_set('secret', val) end def disabled prop_get('disabled') end def disabled=(val) prop_set('disabled', val) end def ip_user_mappings prop_get('ip-user-mappings') end def ip_user_mappings=(val) prop_set('ip-user-mappings', val) end def ip_tags prop_get('ip-tags') end def ip_tags=(val) prop_set('ip-tags', val) end def user_tags prop_get('user-tags') end def user_tags=(val) prop_set('user-tags', val) end def hip prop_get('hip') end def hip=(val) prop_set('hip', val) end def quarantine_list prop_get('quarantine-list') end def quarantine_list=(val) prop_set('quarantine-list', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def redistribution_agent maybe_register_subclass('redistribution-agent', RedistributionAgent.new(parent_instance: self, client: @client, create_children: @create_children)) end class IpuserIncludeExcludeList < ConfigClass def has_multiple_values?; false; end def _section :'ipuser-include-exclude-list' end class IncludeExcludeNetwork < XML::ConfigClass def has_multiple_values?; true; end def _section :'include-exclude-network' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}, 'discovery'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'include', 'help-string'=>'default is include', 'enum'=>[{'value'=>'include', 'help-string'=>'Include'}, {'value'=>'exclude', 'help-string'=>'Exclude'}]}, 'network-address'=>{'node-type'=>'element', 'type'=>'ipspec', 'subnet-only'=>'yes', 'help-string'=>'network address/prefix to include or exclude'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def disabled prop_get('disabled') end def disabled=(val) prop_set('disabled', val) end # default is include def discovery prop_get('discovery') end # default is include def discovery=(val) prop_set('discovery', val) end # network address/prefix to include or exclude def network_address prop_get('network-address') end # network address/prefix to include or exclude def network_address=(val) prop_set('network-address', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def include_exclude_network maybe_register_subclass('include-exclude-network', IncludeExcludeNetwork.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def ipuser_include_exclude_list @subclasses['ipuser-include-exclude-list'] ||= IpuserIncludeExcludeList.new(parent_instance: self, client: @client, create_children: @create_children) end class IptagIncludeExcludeList < ConfigClass def has_multiple_values?; false; end def _section :'iptag-include-exclude-list' end class IncludeExcludeNetwork < XML::ConfigClass def has_multiple_values?; true; end def _section :'include-exclude-network' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}, 'discovery'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'include', 'help-string'=>'default is include', 'enum'=>[{'value'=>'include', 'help-string'=>'Include'}, {'value'=>'exclude', 'help-string'=>'Exclude'}]}, 'network-address'=>{'node-type'=>'element', 'type'=>'ipspec', 'subnet-only'=>'yes', 'help-string'=>'network address/prefix to include or exclude'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def disabled prop_get('disabled') end def disabled=(val) prop_set('disabled', val) end # default is include def discovery prop_get('discovery') end # default is include def discovery=(val) prop_set('discovery', val) end # network address/prefix to include or exclude def network_address prop_get('network-address') end # network address/prefix to include or exclude def network_address=(val) prop_set('network-address', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def include_exclude_network maybe_register_subclass('include-exclude-network', IncludeExcludeNetwork.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def iptag_include_exclude_list @subclasses['iptag-include-exclude-list'] ||= IptagIncludeExcludeList.new(parent_instance: self, client: @client, create_children: @create_children) end class RedistributionCollector < ConfigClass def has_multiple_values?; false; end def _section :'redistribution-collector' end class Setting < ConfigClass def has_multiple_values?; false; end def _section :setting end @props = {'collectorname'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'3', 'maxlen'=>'255', 'help-string'=>'collector name for data re-distribution'}, 'secret'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'encrypt'=>'yes', 'maxlen'=>'255', 'help-string'=>'pre-shared key for data re-distribution'}} # collector name for data re-distribution def collectorname prop_get('collectorname') end # collector name for data re-distribution def collectorname=(val) prop_set('collectorname', val) end # pre-shared key for data re-distribution def secret prop_get('secret') end # pre-shared key for data re-distribution def secret=(val) prop_set('secret', val) end end def setting @subclasses['setting'] ||= Setting.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def redistribution_collector @subclasses['redistribution-collector'] ||= RedistributionCollector.new(parent_instance: self, client: @client, create_children: @create_children) end class CloudIdentityEngine < XML::ConfigClass def has_multiple_values?; true; end def _section :'cloud-identity-engine' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'Cloud Identity Engine name'}, 'region'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'complete-handler'=>'directory-sync-region-completer', 'help-string'=>'region name'}, 'cloud-identity-engine-instance'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'complete-handler'=>'directory-sync-instance-completer', 'help-string'=>'cloud identity engine tenant name'}, 'domain'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'complete-handler'=>'directory-sync-domain-completer', 'help-string'=>'domain name'}, 'update-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'5', 'max'=>'1440', 'default'=>'60', 'help-string'=>'Interval (mins) for updating group membership, default is 60 mins'}, 'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'primary-user'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'complete-handler'=>'directory-sync-user-attribute-completer', 'help-string'=>'Primary user name attribute'}, 'user-email'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'complete-handler'=>'directory-sync-user-attribute-completer', 'help-string'=>'User email attribute'}, 'alt-username-1'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'complete-handler'=>'directory-sync-user-attribute-completer', 'help-string'=>'Alternate user name 1 attribute'}, 'alt-username-2'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'complete-handler'=>'directory-sync-user-attribute-completer', 'help-string'=>'Alternate user name 2 attribute'}, 'alt-username-3'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'complete-handler'=>'directory-sync-user-attribute-completer', 'help-string'=>'Alternate user name 3 attribute'}, 'group-name'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'complete-handler'=>'directory-sync-group-attribute-completer', 'help-string'=>'Group name attribute'}, 'group-email'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'complete-handler'=>'directory-sync-group-attribute-completer', 'help-string'=>'Group email attribute'}, 'endpoint-serial-number'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1024', 'optional'=>'yes', 'complete-handler'=>'directory-sync-serial-number-completer', 'help-string'=>'device endpoint serial number'}} # Cloud Identity Engine name def name prop_get('@name') end # region name def region prop_get('region') end # region name def region=(val) prop_set('region', val) end # cloud identity engine tenant name def cloud_identity_engine_instance prop_get('cloud-identity-engine-instance') end # cloud identity engine tenant name def cloud_identity_engine_instance=(val) prop_set('cloud-identity-engine-instance', val) end # domain name def domain prop_get('domain') end # domain name def domain=(val) prop_set('domain', val) end # Interval (mins) for updating group membership, default is 60 mins def update_interval prop_get('update-interval') end # Interval (mins) for updating group membership, default is 60 mins def update_interval=(val) prop_set('update-interval', val) end def enabled prop_get('enabled') end def enabled=(val) prop_set('enabled', val) end # Primary user name attribute def primary_user prop_get('primary-user') end # Primary user name attribute def primary_user=(val) prop_set('primary-user', val) end # User email attribute def user_email prop_get('user-email') end # User email attribute def user_email=(val) prop_set('user-email', val) end # Alternate user name 1 attribute def alt_username_1 prop_get('alt-username-1') end # Alternate user name 1 attribute def alt_username_1=(val) prop_set('alt-username-1', val) end # Alternate user name 2 attribute def alt_username_2 prop_get('alt-username-2') end # Alternate user name 2 attribute def alt_username_2=(val) prop_set('alt-username-2', val) end # Alternate user name 3 attribute def alt_username_3 prop_get('alt-username-3') end # Alternate user name 3 attribute def alt_username_3=(val) prop_set('alt-username-3', val) end # Group name attribute def group_name prop_get('group-name') end # Group name attribute def group_name=(val) prop_set('group-name', val) end # Group email attribute def group_email prop_get('group-email') end # Group email attribute def group_email=(val) prop_set('group-email', val) end # device endpoint serial number def endpoint_serial_number prop_get('endpoint-serial-number') end # device endpoint serial number def endpoint_serial_number=(val) prop_set('endpoint-serial-number', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def cloud_identity_engine maybe_register_subclass('cloud-identity-engine', CloudIdentityEngine.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def panorama @subclasses['panorama'] ||= Panorama.new(parent_instance: self, client: @client, create_children: @create_children) end class Shared < ConfigClass def has_multiple_values?; false; end def _section :shared end class LogSettings < ConfigClass def has_multiple_values?; false; end def _section :'log-settings' end class Profiles < XML::ConfigClass def has_multiple_values?; true; end def _section :profiles end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class MatchList < XML::ConfigClass def has_multiple_values?; true; end def _section :'match-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SendSnmptrap < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-snmptrap' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_snmptrap maybe_register_subclass('send-snmptrap', SendSnmptrap.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendEmail < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-email' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_email maybe_register_subclass('send-email', SendEmail.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendSyslog < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-syslog' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_syslog maybe_register_subclass('send-syslog', SendSyslog.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendHttp < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-http' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_http maybe_register_subclass('send-http', SendHttp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Actions < XML::ConfigClass def has_multiple_values?; true; end def _section :actions end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Integration < ConfigClass def has_multiple_values?; false; end def _section :integration end @props = {'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'Azure-Security-Center-Integration', 'enum'=>[{'value'=>'Azure-Security-Center-Integration', 'help-string'=>'Azure Security Center Integration'}]}} def action prop_get('action') end def action=(val) prop_set('action', val) end end def integration @subclasses['integration'] ||= Integration.new(parent_instance: self, client: @client, create_children: @create_children) end class Tagging < ConfigClass def has_multiple_values?; false; end def _section :tagging end class Registration < XML::ConfigClass def has_multiple_values?; true; end def _section :registration end class Localhost < ConfigClass def has_multiple_values?; false; end def _section :localhost end @props = {} end def localhost @subclasses['localhost'] ||= Localhost.new(parent_instance: self, client: @client, create_children: @create_children) end class Remote < ConfigClass def has_multiple_values?; false; end def _section :remote end @props = {'http-profile'=>{'node-type'=>'element', 'type'=>'string'}} def http_profile prop_get('http-profile') end def http_profile=(val) prop_set('http-profile', val) end end def remote @subclasses['remote'] ||= Remote.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def registration maybe_register_subclass('registration', Registration.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'127', 'regex'=>'^[^\]\'\[]*$'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'target'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'source-address', 'enum'=>[{'value'=>'source-address', 'help-string'=>'Source Address'}, {'value'=>'destination-address', 'help-string'=>'Destination Address'}, {'value'=>'xff-address', 'help-string'=>'X-Forwarded-For Address'}, {'value'=>'user', 'help-string'=>'User'}]}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'add-tag', 'enum'=>[{'value'=>'add-tag', 'help-string'=>'Add Tag'}, {'value'=>'remove-tag', 'help-string'=>'Remove Tag'}]}, 'timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'43200', 'optional'=>'yes', 'default'=>'0', 'help-string'=>'timeout in minutes'}} def target prop_get('target') end def target=(val) prop_set('target', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # timeout in minutes def timeout prop_get('timeout') end # timeout in minutes def timeout=(val) prop_set('timeout', val) end end def tagging @subclasses['tagging'] ||= Tagging.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def actions maybe_register_subclass('actions', Actions.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'action-desc'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'1023'}, 'log-type'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'traffic', 'help-string'=>'Pick log type', 'enum'=>[{'value'=>'traffic'}, {'value'=>'threat'}, {'value'=>'wildfire'}, {'value'=>'url'}, {'value'=>'data'}, {'value'=>'gtp', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420,cfg.platform.model=PA-1410,cfg.platform.model=PA-1420'}, {'value'=>'sctp', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420,cfg.platform.model=PA-1410,cfg.platform.model=PA-1420'}, {'value'=>'tunnel'}, {'value'=>'auth'}, {'value'=>'decryption'}]}, 'filter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1023'}, 'send-to-panorama'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'quarantine'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def action_desc prop_get('action-desc') end def action_desc=(val) prop_set('action-desc', val) end # Pick log type def log_type prop_get('log-type') end # Pick log type def log_type=(val) prop_set('log-type', val) end def filter prop_get('filter') end def filter=(val) prop_set('filter', val) end def send_to_panorama prop_get('send-to-panorama') end def send_to_panorama=(val) prop_set('send-to-panorama', val) end def quarantine prop_get('quarantine') end def quarantine=(val) prop_set('quarantine', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def match_list maybe_register_subclass('match-list', MatchList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'no'}]}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'1023'}, 'enhanced-application-logging'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enabling enhanced-application-logging'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end # Enabling enhanced-application-logging def enhanced_application_logging prop_get('enhanced-application-logging') end # Enabling enhanced-application-logging def enhanced_application_logging=(val) prop_set('enhanced-application-logging', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def profiles maybe_register_subclass('profiles', Profiles.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def log_settings @subclasses['log-settings'] ||= LogSettings.new(parent_instance: self, client: @client, create_children: @create_children) end class ContentPreview < ConfigClass def has_multiple_values?; false; end def _section :'content-preview' end class Application < XML::ConfigClass def has_multiple_values?; true; end def _section :application end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Default < XML::ConfigClass def has_multiple_values?; true; end def _section :default end class Port < XML::ConfigClass def has_multiple_values?; true; end def _section :port end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'protocol port specification : {tcp|udp}/{dynamic|port range list} (e.g. tcp/8080, tcp/80,443, tcp/0-1024,10000, udp/dynamic)'}} # protocol port specification : {tcp|udp}/{dynamic|port range list} (e.g. tcp/8080, tcp/80,443, tcp/0-1024,10000, udp/dynamic) def member prop_get('member') end # protocol port specification : {tcp|udp}/{dynamic|port range list} (e.g. tcp/8080, tcp/80,443, tcp/0-1024,10000, udp/dynamic) def member=(val) prop_set('member', val) end end def port maybe_register_subclass('port', Port.new(parent_instance: self, client: @client, create_children: @create_children)) end class IdentByIcmpType < ConfigClass def has_multiple_values?; false; end def _section :'ident-by-icmp-type' end @props = {'type'=>{'node-type'=>'element', 'type'=>'rangelistspec', 'min'=>'0', 'max'=>'255'}, 'code'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangelistspec', 'min'=>'0', 'max'=>'255'}} def type prop_get('type') end def type=(val) prop_set('type', val) end def code prop_get('code') end def code=(val) prop_set('code', val) end end def ident_by_icmp_type @subclasses['ident-by-icmp-type'] ||= IdentByIcmpType.new(parent_instance: self, client: @client, create_children: @create_children) end class IdentByIcmp6Type < ConfigClass def has_multiple_values?; false; end def _section :'ident-by-icmp6-type' end @props = {'type'=>{'node-type'=>'element', 'type'=>'rangelistspec', 'min'=>'0', 'max'=>'255'}, 'code'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangelistspec', 'min'=>'0', 'max'=>'255'}} def type prop_get('type') end def type=(val) prop_set('type', val) end def code prop_get('code') end def code=(val) prop_set('code', val) end end def ident_by_icmp6_type @subclasses['ident-by-icmp6-type'] ||= IdentByIcmp6Type.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'ident-by-ip-protocol'=>{'node-type'=>'element', 'type'=>'rangelistspec', 'min'=>'0', 'max'=>'255'}} def ident_by_ip_protocol prop_get('ident-by-ip-protocol') end def ident_by_ip_protocol=(val) prop_set('ident-by-ip-protocol', val) end end def default maybe_register_subclass('default', Default.new(parent_instance: self, client: @client, create_children: @create_children)) end class UseApplications < XML::ConfigClass def has_multiple_values?; true; end def _section :'use-applications' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def use_applications maybe_register_subclass('use-applications', UseApplications.new(parent_instance: self, client: @client, create_children: @create_children)) end class ImplicitUseApplications < XML::ConfigClass def has_multiple_values?; true; end def _section :'implicit-use-applications' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def implicit_use_applications maybe_register_subclass('implicit-use-applications', ImplicitUseApplications.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'no'}]}, 'category'=>{'node-type'=>'element', 'type'=>'string'}, 'subcategory'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63'}, 'technology'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'604800', 'optional'=>'yes', 'help-string'=>'timeout in seconds'}, 'tcp-timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'604800', 'optional'=>'yes', 'help-string'=>'timeout in seconds'}, 'udp-timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'604800', 'optional'=>'yes', 'help-string'=>'timeout in seconds'}, 'tcp-half-closed-timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'604800', 'optional'=>'yes', 'help-string'=>'timeout for half-close session in seconds'}, 'tcp-time-wait-timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'600', 'optional'=>'yes', 'help-string'=>'timeout for session in time_wait state in seconds'}, 'risk'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'5'}, 'evasive-behavior'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'consume-big-bandwidth'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'used-by-malware'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'able-to-transfer-file'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'has-known-vulnerability'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'tunnel-other-application'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'tunnel-applications'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'prone-to-misuse'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'pervasive-use'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'file-type-ident'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'virus-ident'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'data-ident'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'no-appid-caching'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'alg-disable-capability'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127', 'optional'=>'yes'}, 'parent-app'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127', 'optional'=>'yes'}, 'cachable'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'can-disable'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'preview'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'is-saas'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end def category prop_get('category') end def category=(val) prop_set('category', val) end def subcategory prop_get('subcategory') end def subcategory=(val) prop_set('subcategory', val) end def technology prop_get('technology') end def technology=(val) prop_set('technology', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end # timeout in seconds def timeout prop_get('timeout') end # timeout in seconds def timeout=(val) prop_set('timeout', val) end # timeout in seconds def tcp_timeout prop_get('tcp-timeout') end # timeout in seconds def tcp_timeout=(val) prop_set('tcp-timeout', val) end # timeout in seconds def udp_timeout prop_get('udp-timeout') end # timeout in seconds def udp_timeout=(val) prop_set('udp-timeout', val) end # timeout for half-close session in seconds def tcp_half_closed_timeout prop_get('tcp-half-closed-timeout') end # timeout for half-close session in seconds def tcp_half_closed_timeout=(val) prop_set('tcp-half-closed-timeout', val) end # timeout for session in time_wait state in seconds def tcp_time_wait_timeout prop_get('tcp-time-wait-timeout') end # timeout for session in time_wait state in seconds def tcp_time_wait_timeout=(val) prop_set('tcp-time-wait-timeout', val) end def risk prop_get('risk') end def risk=(val) prop_set('risk', val) end def evasive_behavior prop_get('evasive-behavior') end def evasive_behavior=(val) prop_set('evasive-behavior', val) end def consume_big_bandwidth prop_get('consume-big-bandwidth') end def consume_big_bandwidth=(val) prop_set('consume-big-bandwidth', val) end def used_by_malware prop_get('used-by-malware') end def used_by_malware=(val) prop_set('used-by-malware', val) end def able_to_transfer_file prop_get('able-to-transfer-file') end def able_to_transfer_file=(val) prop_set('able-to-transfer-file', val) end def has_known_vulnerability prop_get('has-known-vulnerability') end def has_known_vulnerability=(val) prop_set('has-known-vulnerability', val) end def tunnel_other_application prop_get('tunnel-other-application') end def tunnel_other_application=(val) prop_set('tunnel-other-application', val) end def tunnel_applications prop_get('tunnel-applications') end def tunnel_applications=(val) prop_set('tunnel-applications', val) end def prone_to_misuse prop_get('prone-to-misuse') end def prone_to_misuse=(val) prop_set('prone-to-misuse', val) end def pervasive_use prop_get('pervasive-use') end def pervasive_use=(val) prop_set('pervasive-use', val) end def file_type_ident prop_get('file-type-ident') end def file_type_ident=(val) prop_set('file-type-ident', val) end def virus_ident prop_get('virus-ident') end def virus_ident=(val) prop_set('virus-ident', val) end def data_ident prop_get('data-ident') end def data_ident=(val) prop_set('data-ident', val) end def no_appid_caching prop_get('no-appid-caching') end def no_appid_caching=(val) prop_set('no-appid-caching', val) end def alg_disable_capability prop_get('alg-disable-capability') end def alg_disable_capability=(val) prop_set('alg-disable-capability', val) end def parent_app prop_get('parent-app') end def parent_app=(val) prop_set('parent-app', val) end def cachable prop_get('cachable') end def cachable=(val) prop_set('cachable', val) end def can_disable prop_get('can-disable') end def can_disable=(val) prop_set('can-disable', val) end def preview prop_get('preview') end def preview=(val) prop_set('preview', val) end def is_saas prop_get('is-saas') end def is_saas=(val) prop_set('is-saas', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def application maybe_register_subclass('application', Application.new(parent_instance: self, client: @client, create_children: @create_children)) end class ApplicationType < XML::ConfigClass def has_multiple_values?; true; end def _section :'application-type' end class Category < ConfigClass def has_multiple_values?; false; end def _section :category end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, '@id'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'max'=>'128'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def id prop_get('@id') end def description prop_get('description') end def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def category @subclasses['category'] ||= Category.new(parent_instance: self, client: @client, create_children: @create_children) end class Technology < ConfigClass def has_multiple_values?; false; end def _section :technology end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, '@id'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'max'=>'128'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def id prop_get('@id') end def description prop_get('description') end def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def technology @subclasses['technology'] ||= Technology.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def application_type maybe_register_subclass('application-type', ApplicationType.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def content_preview @subclasses['content-preview'] ||= ContentPreview.new(parent_instance: self, client: @client, create_children: @create_children) end class Address < XML::ConfigClass def has_multiple_values?; true; end def _section :address end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'no'}]}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'ip-netmask'=>{'node-type'=>'element', 'type'=>'ipspec'}, 'ip-range'=>{'node-type'=>'element', 'type'=>'iprangespec'}, 'ip-wildcard'=>{'node-type'=>'element', 'type'=>'ipdiscontmask'}, 'fqdn'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'255', 'regex'=>'^[a-zA-Z0-9_]([a-zA-Z0-9._-])+[a-zA-Z0-9]$'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end def ip_netmask prop_get('ip-netmask') end def ip_netmask=(val) prop_set('ip-netmask', val) end def ip_range prop_get('ip-range') end def ip_range=(val) prop_set('ip-range', val) end def ip_wildcard prop_get('ip-wildcard') end def ip_wildcard=(val) prop_set('ip-wildcard', val) end def fqdn prop_get('fqdn') end def fqdn=(val) prop_set('fqdn', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def address maybe_register_subclass('address', Address.new(parent_instance: self, client: @client, create_children: @create_children)) end class AddressGroup < XML::ConfigClass def has_multiple_values?; true; end def _section :'address-group' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Static < XML::ConfigClass def has_multiple_values?; true; end def _section :static end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def static maybe_register_subclass('static', Static.new(parent_instance: self, client: @client, create_children: @create_children)) end class Dynamic < ConfigClass def has_multiple_values?; false; end def _section :dynamic end @props = {'filter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2047', 'help-string'=>'tag-based filter'}} # tag-based filter def filter prop_get('filter') end # tag-based filter def filter=(val) prop_set('filter', val) end end def dynamic @subclasses['dynamic'] ||= Dynamic.new(parent_instance: self, client: @client, create_children: @create_children) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'no'}]}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def address_group maybe_register_subclass('address-group', AddressGroup.new(parent_instance: self, client: @client, create_children: @create_children)) end class DynamicUserGroup < XML::ConfigClass def has_multiple_values?; true; end def _section :'dynamic-user-group' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'no'}]}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'filter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2047', 'help-string'=>'tag-based filter'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end # tag-based filter def filter prop_get('filter') end # tag-based filter def filter=(val) prop_set('filter', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def dynamic_user_group maybe_register_subclass('dynamic-user-group', DynamicUserGroup.new(parent_instance: self, client: @client, create_children: @create_children)) end class Threats < ConfigClass def has_multiple_values?; false; end def _section :threats end class Vulnerability < XML::ConfigClass def has_multiple_values?; true; end def _section :vulnerability end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class AffectedHost < ConfigClass def has_multiple_values?; false; end def _section :'affected-host' end @props = {'client'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool'}, 'server'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool'}} def client prop_get('client') end def client=(val) prop_set('client', val) end def server prop_get('server') end def server=(val) prop_set('server', val) end end def affected_host @subclasses['affected-host'] ||= AffectedHost.new(parent_instance: self, client: @client, create_children: @create_children) end class DefaultAction < XML::ConfigClass def has_multiple_values?; true; end def _section :'default-action' end class Alert < ConfigClass def has_multiple_values?; false; end def _section :alert end @props = {} end def alert @subclasses['alert'] ||= Alert.new(parent_instance: self, client: @client, create_children: @create_children) end class Drop < ConfigClass def has_multiple_values?; false; end def _section :drop end @props = {} end def drop @subclasses['drop'] ||= Drop.new(parent_instance: self, client: @client, create_children: @create_children) end class ResetClient < ConfigClass def has_multiple_values?; false; end def _section :'reset-client' end @props = {} end def reset_client @subclasses['reset-client'] ||= ResetClient.new(parent_instance: self, client: @client, create_children: @create_children) end class ResetServer < ConfigClass def has_multiple_values?; false; end def _section :'reset-server' end @props = {} end def reset_server @subclasses['reset-server'] ||= ResetServer.new(parent_instance: self, client: @client, create_children: @create_children) end class ResetBoth < ConfigClass def has_multiple_values?; false; end def _section :'reset-both' end @props = {} end def reset_both @subclasses['reset-both'] ||= ResetBoth.new(parent_instance: self, client: @client, create_children: @create_children) end class BlockIp < ConfigClass def has_multiple_values?; false; end def _section :'block-ip' end @props = {'track-by'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'source'}, {'value'=>'source-and-destination'}]}, 'duration'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'help-string'=>'Duration for block ip'}} def track_by prop_get('track-by') end def track_by=(val) prop_set('track-by', val) end # Duration for block ip def duration prop_get('duration') end # Duration for block ip def duration=(val) prop_set('duration', val) end end def block_ip @subclasses['block-ip'] ||= BlockIp.new(parent_instance: self, client: @client, create_children: @create_children) end class Allow < ConfigClass def has_multiple_values?; false; end def _section :allow end @props = {} end def allow @subclasses['allow'] ||= Allow.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def default_action maybe_register_subclass('default-action', DefaultAction.new(parent_instance: self, client: @client, create_children: @create_children)) end class Cve < XML::ConfigClass def has_multiple_values?; true; end def _section :cve end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'CVE #, CVE-1999-0001 etc'}} # CVE #, CVE-1999-0001 etc def member prop_get('member') end # CVE #, CVE-1999-0001 etc def member=(val) prop_set('member', val) end end def cve maybe_register_subclass('cve', Cve.new(parent_instance: self, client: @client, create_children: @create_children)) end class Bugtraq < XML::ConfigClass def has_multiple_values?; true; end def _section :bugtraq end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'bugtraq id'}} # bugtraq id def member prop_get('member') end # bugtraq id def member=(val) prop_set('member', val) end end def bugtraq maybe_register_subclass('bugtraq', Bugtraq.new(parent_instance: self, client: @client, create_children: @create_children)) end class Vendor < XML::ConfigClass def has_multiple_values?; true; end def _section :vendor end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'Vendor\'s refer id, for example, MS03-026'}} # Vendor's refer id, for example, MS03-026 def member prop_get('member') end # Vendor's refer id, for example, MS03-026 def member=(val) prop_set('member', val) end end def vendor maybe_register_subclass('vendor', Vendor.new(parent_instance: self, client: @client, create_children: @create_children)) end class Reference < XML::ConfigClass def has_multiple_values?; true; end def _section :reference end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256', 'help-string'=>'URL'}} # URL def member prop_get('member') end # URL def member=(val) prop_set('member', val) end end def reference maybe_register_subclass('reference', Reference.new(parent_instance: self, client: @client, create_children: @create_children)) end class Signature < XML::ConfigClass def has_multiple_values?; true; end def _section :signature end class Standard < XML::ConfigClass def has_multiple_values?; true; end def _section :standard end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class AndCondition < XML::ConfigClass def has_multiple_values?; true; end def _section :'and-condition' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class OrCondition < XML::ConfigClass def has_multiple_values?; true; end def _section :'or-condition' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Operator < XML::ConfigClass def has_multiple_values?; true; end def _section :operator end class LessThan < ConfigClass def has_multiple_values?; false; end def _section :'less-than' end class Qualifier < XML::ConfigClass def has_multiple_values?; true; end def _section :qualifier end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'value'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'127'}, 'string'=>{'content-dependent'=>'yes'}}}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def qualifier maybe_register_subclass('qualifier', Qualifier.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'context'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}, 'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} def context prop_get('context') end def context=(val) prop_set('context', val) end def value prop_get('value') end def value=(val) prop_set('value', val) end end def less_than @subclasses['less-than'] ||= LessThan.new(parent_instance: self, client: @client, create_children: @create_children) end class EqualTo < ConfigClass def has_multiple_values?; false; end def _section :'equal-to' end class Qualifier < XML::ConfigClass def has_multiple_values?; true; end def _section :qualifier end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'value'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'127'}, 'string'=>{'content-dependent'=>'yes'}}}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def qualifier maybe_register_subclass('qualifier', Qualifier.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'context'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}, 'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}, 'negate'=>{'node-type'=>'element', 'type'=>'bool', 'internal'=>'yes', 'optional'=>'yes', 'default'=>'no'}} def context prop_get('context') end def context=(val) prop_set('context', val) end def value prop_get('value') end def value=(val) prop_set('value', val) end def negate prop_get('negate') end def negate=(val) prop_set('negate', val) end end def equal_to @subclasses['equal-to'] ||= EqualTo.new(parent_instance: self, client: @client, create_children: @create_children) end class GreaterThan < ConfigClass def has_multiple_values?; false; end def _section :'greater-than' end class Qualifier < XML::ConfigClass def has_multiple_values?; true; end def _section :qualifier end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'value'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'127'}, 'string'=>{'content-dependent'=>'yes'}}}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def qualifier maybe_register_subclass('qualifier', Qualifier.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'context'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}, 'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} def context prop_get('context') end def context=(val) prop_set('context', val) end def value prop_get('value') end def value=(val) prop_set('value', val) end end def greater_than @subclasses['greater-than'] ||= GreaterThan.new(parent_instance: self, client: @client, create_children: @create_children) end class PatternMatch < ConfigClass def has_multiple_values?; false; end def _section :'pattern-match' end class Qualifier < XML::ConfigClass def has_multiple_values?; true; end def _section :qualifier end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'value'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'127'}, 'string'=>{'content-dependent'=>'yes'}}}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def qualifier maybe_register_subclass('qualifier', Qualifier.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'context'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}, 'pattern'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}, 'negate'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}} def context prop_get('context') end def context=(val) prop_set('context', val) end def pattern prop_get('pattern') end def pattern=(val) prop_set('pattern', val) end def negate prop_get('negate') end def negate=(val) prop_set('negate', val) end end def pattern_match @subclasses['pattern-match'] ||= PatternMatch.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def operator maybe_register_subclass('operator', Operator.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def or_condition maybe_register_subclass('or-condition', OrCondition.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def and_condition maybe_register_subclass('and-condition', AndCondition.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'comment'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'256'}, 'scope'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'protocol-data-unit', 'enum'=>[{'value'=>'protocol-data-unit', 'help-string'=>'transaction'}, {'value'=>'session'}]}, 'order-free'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def comment prop_get('comment') end def comment=(val) prop_set('comment', val) end def scope prop_get('scope') end def scope=(val) prop_set('scope', val) end def order_free prop_get('order-free') end def order_free=(val) prop_set('order-free', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def standard maybe_register_subclass('standard', Standard.new(parent_instance: self, client: @client, create_children: @create_children)) end class Combination < ConfigClass def has_multiple_values?; false; end def _section :combination end class TimeAttribute < ConfigClass def has_multiple_values?; false; end def _section :'time-attribute' end @props = {'interval'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600'}, 'threshold'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255'}, 'track-by'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'source-and-destination', 'enum'=>[{'value'=>'source'}, {'value'=>'destination'}, {'value'=>'source-and-destination'}]}} def interval prop_get('interval') end def interval=(val) prop_set('interval', val) end def threshold prop_get('threshold') end def threshold=(val) prop_set('threshold', val) end def track_by prop_get('track-by') end def track_by=(val) prop_set('track-by', val) end end def time_attribute @subclasses['time-attribute'] ||= TimeAttribute.new(parent_instance: self, client: @client, create_children: @create_children) end class AndCondition < XML::ConfigClass def has_multiple_values?; true; end def _section :'and-condition' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class OrCondition < XML::ConfigClass def has_multiple_values?; true; end def _section :'or-condition' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'threat-id'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'10', 'regex'=>'^[0-9]+$', 'help-string'=>'threat id'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # threat id def threat_id prop_get('threat-id') end # threat id def threat_id=(val) prop_set('threat-id', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def or_condition maybe_register_subclass('or-condition', OrCondition.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def and_condition maybe_register_subclass('and-condition', AndCondition.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'order-free'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}} def order_free prop_get('order-free') end def order_free=(val) prop_set('order-free', val) end end def combination @subclasses['combination'] ||= Combination.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def signature maybe_register_subclass('signature', Signature.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'min'=>'41000', 'max'=>'6900000', 'help-string'=>'threat id range <41000-45000> and <6800001-6900000>'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'no'}]}, 'threatname'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1024', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'comment'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'256'}, 'severity'=>{'node-type'=>'element', 'type'=>'string'}, 'direction'=>{'node-type'=>'element', 'type'=>'string'}} # threat id range <41000-45000> and <6800001-6900000> def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end # alphanumeric string [ 0-9a-zA-Z._-] def threatname prop_get('threatname') end # alphanumeric string [ 0-9a-zA-Z._-] def threatname=(val) prop_set('threatname', val) end def comment prop_get('comment') end def comment=(val) prop_set('comment', val) end def severity prop_get('severity') end def severity=(val) prop_set('severity', val) end def direction prop_get('direction') end def direction=(val) prop_set('direction', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vulnerability maybe_register_subclass('vulnerability', Vulnerability.new(parent_instance: self, client: @client, create_children: @create_children)) end class Spyware < XML::ConfigClass def has_multiple_values?; true; end def _section :spyware end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class DefaultAction < XML::ConfigClass def has_multiple_values?; true; end def _section :'default-action' end class Alert < ConfigClass def has_multiple_values?; false; end def _section :alert end @props = {} end def alert @subclasses['alert'] ||= Alert.new(parent_instance: self, client: @client, create_children: @create_children) end class Drop < ConfigClass def has_multiple_values?; false; end def _section :drop end @props = {} end def drop @subclasses['drop'] ||= Drop.new(parent_instance: self, client: @client, create_children: @create_children) end class ResetClient < ConfigClass def has_multiple_values?; false; end def _section :'reset-client' end @props = {} end def reset_client @subclasses['reset-client'] ||= ResetClient.new(parent_instance: self, client: @client, create_children: @create_children) end class ResetServer < ConfigClass def has_multiple_values?; false; end def _section :'reset-server' end @props = {} end def reset_server @subclasses['reset-server'] ||= ResetServer.new(parent_instance: self, client: @client, create_children: @create_children) end class ResetBoth < ConfigClass def has_multiple_values?; false; end def _section :'reset-both' end @props = {} end def reset_both @subclasses['reset-both'] ||= ResetBoth.new(parent_instance: self, client: @client, create_children: @create_children) end class BlockIp < ConfigClass def has_multiple_values?; false; end def _section :'block-ip' end @props = {'track-by'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'source'}, {'value'=>'source-and-destination'}]}, 'duration'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'help-string'=>'Duration for block ip'}} def track_by prop_get('track-by') end def track_by=(val) prop_set('track-by', val) end # Duration for block ip def duration prop_get('duration') end # Duration for block ip def duration=(val) prop_set('duration', val) end end def block_ip @subclasses['block-ip'] ||= BlockIp.new(parent_instance: self, client: @client, create_children: @create_children) end class Allow < ConfigClass def has_multiple_values?; false; end def _section :allow end @props = {} end def allow @subclasses['allow'] ||= Allow.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def default_action maybe_register_subclass('default-action', DefaultAction.new(parent_instance: self, client: @client, create_children: @create_children)) end class Cve < XML::ConfigClass def has_multiple_values?; true; end def _section :cve end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'CVE #, CVE-1999-0001 etc'}} # CVE #, CVE-1999-0001 etc def member prop_get('member') end # CVE #, CVE-1999-0001 etc def member=(val) prop_set('member', val) end end def cve maybe_register_subclass('cve', Cve.new(parent_instance: self, client: @client, create_children: @create_children)) end class Bugtraq < XML::ConfigClass def has_multiple_values?; true; end def _section :bugtraq end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'bugtraq id'}} # bugtraq id def member prop_get('member') end # bugtraq id def member=(val) prop_set('member', val) end end def bugtraq maybe_register_subclass('bugtraq', Bugtraq.new(parent_instance: self, client: @client, create_children: @create_children)) end class Vendor < XML::ConfigClass def has_multiple_values?; true; end def _section :vendor end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'Vendor\'s refer id, for example, MS03-026'}} # Vendor's refer id, for example, MS03-026 def member prop_get('member') end # Vendor's refer id, for example, MS03-026 def member=(val) prop_set('member', val) end end def vendor maybe_register_subclass('vendor', Vendor.new(parent_instance: self, client: @client, create_children: @create_children)) end class Reference < XML::ConfigClass def has_multiple_values?; true; end def _section :reference end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256', 'help-string'=>'URL'}} # URL def member prop_get('member') end # URL def member=(val) prop_set('member', val) end end def reference maybe_register_subclass('reference', Reference.new(parent_instance: self, client: @client, create_children: @create_children)) end class Signature < XML::ConfigClass def has_multiple_values?; true; end def _section :signature end class Standard < XML::ConfigClass def has_multiple_values?; true; end def _section :standard end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class AndCondition < XML::ConfigClass def has_multiple_values?; true; end def _section :'and-condition' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class OrCondition < XML::ConfigClass def has_multiple_values?; true; end def _section :'or-condition' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Operator < XML::ConfigClass def has_multiple_values?; true; end def _section :operator end class LessThan < ConfigClass def has_multiple_values?; false; end def _section :'less-than' end class Qualifier < XML::ConfigClass def has_multiple_values?; true; end def _section :qualifier end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'value'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'127'}, 'string'=>{'content-dependent'=>'yes'}}}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def qualifier maybe_register_subclass('qualifier', Qualifier.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}, 'context'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def value prop_get('value') end def value=(val) prop_set('value', val) end def context prop_get('context') end def context=(val) prop_set('context', val) end end def less_than @subclasses['less-than'] ||= LessThan.new(parent_instance: self, client: @client, create_children: @create_children) end class EqualTo < ConfigClass def has_multiple_values?; false; end def _section :'equal-to' end class Qualifier < XML::ConfigClass def has_multiple_values?; true; end def _section :qualifier end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'value'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'127'}, 'string'=>{'content-dependent'=>'yes'}}}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def qualifier maybe_register_subclass('qualifier', Qualifier.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}, 'negate'=>{'node-type'=>'element', 'type'=>'bool', 'internal'=>'yes', 'optional'=>'yes', 'default'=>'no'}, 'context'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def value prop_get('value') end def value=(val) prop_set('value', val) end def negate prop_get('negate') end def negate=(val) prop_set('negate', val) end def context prop_get('context') end def context=(val) prop_set('context', val) end end def equal_to @subclasses['equal-to'] ||= EqualTo.new(parent_instance: self, client: @client, create_children: @create_children) end class GreaterThan < ConfigClass def has_multiple_values?; false; end def _section :'greater-than' end class Qualifier < XML::ConfigClass def has_multiple_values?; true; end def _section :qualifier end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'value'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'127'}, 'string'=>{'content-dependent'=>'yes'}}}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def qualifier maybe_register_subclass('qualifier', Qualifier.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}, 'context'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def value prop_get('value') end def value=(val) prop_set('value', val) end def context prop_get('context') end def context=(val) prop_set('context', val) end end def greater_than @subclasses['greater-than'] ||= GreaterThan.new(parent_instance: self, client: @client, create_children: @create_children) end class PatternMatch < ConfigClass def has_multiple_values?; false; end def _section :'pattern-match' end class Qualifier < XML::ConfigClass def has_multiple_values?; true; end def _section :qualifier end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'value'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'127'}, 'string'=>{'content-dependent'=>'yes'}}}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def qualifier maybe_register_subclass('qualifier', Qualifier.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'context'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}, 'pattern'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}, 'negate'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}} def context prop_get('context') end def context=(val) prop_set('context', val) end def pattern prop_get('pattern') end def pattern=(val) prop_set('pattern', val) end def negate prop_get('negate') end def negate=(val) prop_set('negate', val) end end def pattern_match @subclasses['pattern-match'] ||= PatternMatch.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def operator maybe_register_subclass('operator', Operator.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def or_condition maybe_register_subclass('or-condition', OrCondition.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def and_condition maybe_register_subclass('and-condition', AndCondition.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'comment'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'256'}, 'scope'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'protocol-data-unit', 'enum'=>[{'value'=>'protocol-data-unit', 'help-string'=>'transaction'}, {'value'=>'session'}]}, 'order-free'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def comment prop_get('comment') end def comment=(val) prop_set('comment', val) end def scope prop_get('scope') end def scope=(val) prop_set('scope', val) end def order_free prop_get('order-free') end def order_free=(val) prop_set('order-free', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def standard maybe_register_subclass('standard', Standard.new(parent_instance: self, client: @client, create_children: @create_children)) end class Combination < ConfigClass def has_multiple_values?; false; end def _section :combination end class TimeAttribute < ConfigClass def has_multiple_values?; false; end def _section :'time-attribute' end @props = {'interval'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600'}, 'threshold'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255'}, 'track-by'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'source-and-destination', 'enum'=>[{'value'=>'source'}, {'value'=>'destination'}, {'value'=>'source-and-destination'}]}} def interval prop_get('interval') end def interval=(val) prop_set('interval', val) end def threshold prop_get('threshold') end def threshold=(val) prop_set('threshold', val) end def track_by prop_get('track-by') end def track_by=(val) prop_set('track-by', val) end end def time_attribute @subclasses['time-attribute'] ||= TimeAttribute.new(parent_instance: self, client: @client, create_children: @create_children) end class AndCondition < XML::ConfigClass def has_multiple_values?; true; end def _section :'and-condition' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class OrCondition < XML::ConfigClass def has_multiple_values?; true; end def _section :'or-condition' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'threat-id'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'10', 'regex'=>'^[0-9]+$', 'help-string'=>'threat id'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # threat id def threat_id prop_get('threat-id') end # threat id def threat_id=(val) prop_set('threat-id', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def or_condition maybe_register_subclass('or-condition', OrCondition.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def and_condition maybe_register_subclass('and-condition', AndCondition.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'order-free'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}} def order_free prop_get('order-free') end def order_free=(val) prop_set('order-free', val) end end def combination @subclasses['combination'] ||= Combination.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def signature maybe_register_subclass('signature', Signature.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'min'=>'15000', 'max'=>'7000000', 'help-string'=>'threat id range <15000-18000> and <6900001-7000000>'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'no'}]}, 'threatname'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1024', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'comment'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'256'}, 'severity'=>{'node-type'=>'element', 'type'=>'string'}, 'direction'=>{'node-type'=>'element', 'type'=>'string'}} # threat id range <15000-18000> and <6900001-7000000> def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end # alphanumeric string [ 0-9a-zA-Z._-] def threatname prop_get('threatname') end # alphanumeric string [ 0-9a-zA-Z._-] def threatname=(val) prop_set('threatname', val) end def comment prop_get('comment') end def comment=(val) prop_set('comment', val) end def severity prop_get('severity') end def severity=(val) prop_set('severity', val) end def direction prop_get('direction') end def direction=(val) prop_set('direction', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def spyware maybe_register_subclass('spyware', Spyware.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def threats @subclasses['threats'] ||= Threats.new(parent_instance: self, client: @client, create_children: @create_children) end class DeviceObject < XML::ConfigClass def has_multiple_values?; true; end def _section :'device-object' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Category < XML::ConfigClass def has_multiple_values?; true; end def _section :category end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'128', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def category maybe_register_subclass('category', Category.new(parent_instance: self, client: @client, create_children: @create_children)) end class Profile < XML::ConfigClass def has_multiple_values?; true; end def _section :profile end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'128', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def profile maybe_register_subclass('profile', Profile.new(parent_instance: self, client: @client, create_children: @create_children)) end class Osfamily < XML::ConfigClass def has_multiple_values?; true; end def _section :osfamily end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'128', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def osfamily maybe_register_subclass('osfamily', Osfamily.new(parent_instance: self, client: @client, create_children: @create_children)) end class Os < XML::ConfigClass def has_multiple_values?; true; end def _section :os end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'128', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def os maybe_register_subclass('os', Os.new(parent_instance: self, client: @client, create_children: @create_children)) end class Model < XML::ConfigClass def has_multiple_values?; true; end def _section :model end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'128', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def model maybe_register_subclass('model', Model.new(parent_instance: self, client: @client, create_children: @create_children)) end class Vendor < XML::ConfigClass def has_multiple_values?; true; end def _section :vendor end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'128', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def vendor maybe_register_subclass('vendor', Vendor.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'no'}]}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def device_object maybe_register_subclass('device-object', DeviceObject.new(parent_instance: self, client: @client, create_children: @create_children)) end class Profiles < ConfigClass def has_multiple_values?; false; end def _section :profiles end class HipObjects < XML::ConfigClass def has_multiple_values?; true; end def _section :'hip-objects' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class HostInfo < ConfigClass def has_multiple_values?; false; end def _section :'host-info' end class Criteria < ConfigClass def has_multiple_values?; false; end def _section :criteria end class Domain < ConfigClass def has_multiple_values?; false; end def _section :domain end @props = {'contains'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'is'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'is-not'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}} def contains prop_get('contains') end def contains=(val) prop_set('contains', val) end def is prop_get('is') end def is=(val) prop_set('is', val) end def is_not prop_get('is-not') end def is_not=(val) prop_set('is-not', val) end end def domain @subclasses['domain'] ||= Domain.new(parent_instance: self, client: @client, create_children: @create_children) end class Os < ConfigClass def has_multiple_values?; false; end def _section :os end class Contains < ConfigClass def has_multiple_values?; false; end def _section :contains end @props = {'Microsoft'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'default'=>'All', 'help-string'=>'Microsoft vendor'}, 'Apple'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'default'=>'All', 'help-string'=>'Apple vendor'}, 'Google'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'default'=>'All', 'help-string'=>'Google vendor'}, 'Linux'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'default'=>'All', 'help-string'=>'Linux vendor'}, 'Other'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'help-string'=>'Other vendor'}} # Microsoft vendor def Microsoft prop_get('Microsoft') end # Microsoft vendor def Microsoft=(val) prop_set('Microsoft', val) end # Apple vendor def Apple prop_get('Apple') end # Apple vendor def Apple=(val) prop_set('Apple', val) end # Google vendor def Google prop_get('Google') end # Google vendor def Google=(val) prop_set('Google', val) end # Linux vendor def Linux prop_get('Linux') end # Linux vendor def Linux=(val) prop_set('Linux', val) end # Other vendor def Other prop_get('Other') end # Other vendor def Other=(val) prop_set('Other', val) end end def contains @subclasses['contains'] ||= Contains.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def os @subclasses['os'] ||= Os.new(parent_instance: self, client: @client, create_children: @create_children) end class ClientVersion < ConfigClass def has_multiple_values?; false; end def _section :'client-version' end @props = {'contains'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'is'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'is-not'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}} def contains prop_get('contains') end def contains=(val) prop_set('contains', val) end def is prop_get('is') end def is=(val) prop_set('is', val) end def is_not prop_get('is-not') end def is_not=(val) prop_set('is-not', val) end end def client_version @subclasses['client-version'] ||= ClientVersion.new(parent_instance: self, client: @client, create_children: @create_children) end class HostName < ConfigClass def has_multiple_values?; false; end def _section :'host-name' end @props = {'contains'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'is'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'is-not'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}} def contains prop_get('contains') end def contains=(val) prop_set('contains', val) end def is prop_get('is') end def is=(val) prop_set('is', val) end def is_not prop_get('is-not') end def is_not=(val) prop_set('is-not', val) end end def host_name @subclasses['host-name'] ||= HostName.new(parent_instance: self, client: @client, create_children: @create_children) end class HostId < ConfigClass def has_multiple_values?; false; end def _section :'host-id' end @props = {'contains'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'is'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'is-not'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}} def contains prop_get('contains') end def contains=(val) prop_set('contains', val) end def is prop_get('is') end def is=(val) prop_set('is', val) end def is_not prop_get('is-not') end def is_not=(val) prop_set('is-not', val) end end def host_id @subclasses['host-id'] ||= HostId.new(parent_instance: self, client: @client, create_children: @create_children) end class SerialNumber < ConfigClass def has_multiple_values?; false; end def _section :'serial-number' end @props = {'contains'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'is'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'is-not'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}} def contains prop_get('contains') end def contains=(val) prop_set('contains', val) end def is prop_get('is') end def is=(val) prop_set('is', val) end def is_not prop_get('is-not') end def is_not=(val) prop_set('is-not', val) end end def serial_number @subclasses['serial-number'] ||= SerialNumber.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'managed'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-string'=>'If device is managed', 'enum'=>[{'value'=>'no', 'help-string'=>'No'}, {'value'=>'yes', 'help-string'=>'Yes'}]}} # If device is managed def managed prop_get('managed') end # If device is managed def managed=(val) prop_set('managed', val) end end def criteria @subclasses['criteria'] ||= Criteria.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def host_info @subclasses['host-info'] ||= HostInfo.new(parent_instance: self, client: @client, create_children: @create_children) end class NetworkInfo < ConfigClass def has_multiple_values?; false; end def _section :'network-info' end class Criteria < ConfigClass def has_multiple_values?; false; end def _section :criteria end class Network < XML::ConfigClass def has_multiple_values?; true; end def _section :network end class Is < XML::ConfigClass def has_multiple_values?; true; end def _section :is end class Wifi < ConfigClass def has_multiple_values?; false; end def _section :wifi end @props = {'ssid'=>{'node-type'=>'element', 'type'=>'string', 'uiHint-fieldLabel'=>'SSID', 'maxlen'=>'1023', 'regex'=>'.*', 'optional'=>'yes', 'help-string'=>'SSID'}} # SSID def ssid prop_get('ssid') end # SSID def ssid=(val) prop_set('ssid', val) end end def wifi @subclasses['wifi'] ||= Wifi.new(parent_instance: self, client: @client, create_children: @create_children) end class Mobile < ConfigClass def has_multiple_values?; false; end def _section :mobile end @props = {'carrier'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1023', 'regex'=>'.*', 'optional'=>'yes'}} def carrier prop_get('carrier') end def carrier=(val) prop_set('carrier', val) end end def mobile @subclasses['mobile'] ||= Mobile.new(parent_instance: self, client: @client, create_children: @create_children) end class Unknown < ConfigClass def has_multiple_values?; false; end def _section :unknown end @props = {} end def unknown @subclasses['unknown'] ||= Unknown.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def is maybe_register_subclass('is', Is.new(parent_instance: self, client: @client, create_children: @create_children)) end class IsNot < XML::ConfigClass def has_multiple_values?; true; end def _section :'is-not' end class Wifi < ConfigClass def has_multiple_values?; false; end def _section :wifi end @props = {'ssid'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1023', 'uiHint-fieldLabel'=>'SSID', 'regex'=>'.*', 'optional'=>'yes', 'help-string'=>'SSID'}} # SSID def ssid prop_get('ssid') end # SSID def ssid=(val) prop_set('ssid', val) end end def wifi @subclasses['wifi'] ||= Wifi.new(parent_instance: self, client: @client, create_children: @create_children) end class Mobile < ConfigClass def has_multiple_values?; false; end def _section :mobile end @props = {'carrier'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1023', 'regex'=>'.*', 'optional'=>'yes'}} def carrier prop_get('carrier') end def carrier=(val) prop_set('carrier', val) end end def mobile @subclasses['mobile'] ||= Mobile.new(parent_instance: self, client: @client, create_children: @create_children) end class Ethernet < ConfigClass def has_multiple_values?; false; end def _section :ethernet end @props = {} end def ethernet @subclasses['ethernet'] ||= Ethernet.new(parent_instance: self, client: @client, create_children: @create_children) end class Unknown < ConfigClass def has_multiple_values?; false; end def _section :unknown end @props = {} end def unknown @subclasses['unknown'] ||= Unknown.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def is_not maybe_register_subclass('is-not', IsNot.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def network maybe_register_subclass('network', Network.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def criteria @subclasses['criteria'] ||= Criteria.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def network_info @subclasses['network-info'] ||= NetworkInfo.new(parent_instance: self, client: @client, create_children: @create_children) end class PatchManagement < ConfigClass def has_multiple_values?; false; end def _section :'patch-management' end class Criteria < ConfigClass def has_multiple_values?; false; end def _section :criteria end class MissingPatches < ConfigClass def has_multiple_values?; false; end def _section :'missing-patches' end class Severity < ConfigClass def has_multiple_values?; false; end def _section :severity end @props = {'greater-equal'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'100000'}, 'greater-than'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'100000'}, 'is'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'100000'}, 'is-not'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'100000'}, 'less-equal'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'100000'}, 'less-than'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'100000'}} def greater_equal prop_get('greater-equal') end def greater_equal=(val) prop_set('greater-equal', val) end def greater_than prop_get('greater-than') end def greater_than=(val) prop_set('greater-than', val) end def is prop_get('is') end def is=(val) prop_set('is', val) end def is_not prop_get('is-not') end def is_not=(val) prop_set('is-not', val) end def less_equal prop_get('less-equal') end def less_equal=(val) prop_set('less-equal', val) end def less_than prop_get('less-than') end def less_than=(val) prop_set('less-than', val) end end def severity @subclasses['severity'] ||= Severity.new(parent_instance: self, client: @client, create_children: @create_children) end class Patches < XML::ConfigClass def has_multiple_values?; true; end def _section :patches end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1023', 'regex'=>'.*', 'help-string'=>'patch security-bulletin-id or kb-article-id'}} # patch security-bulletin-id or kb-article-id def member prop_get('member') end # patch security-bulletin-id or kb-article-id def member=(val) prop_set('member', val) end end def patches maybe_register_subclass('patches', Patches.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'check'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'has-any', 'enum'=>[{'value'=>'has-any'}, {'value'=>'has-none'}, {'value'=>'has-all'}]}} def check prop_get('check') end def check=(val) prop_set('check', val) end end def missing_patches @subclasses['missing-patches'] ||= MissingPatches.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'is-installed'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Is Installed'}, 'is-enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-string'=>'is enabled', 'enum'=>[{'value'=>'no', 'help-string'=>'No'}, {'value'=>'yes', 'help-string'=>'Yes'}, {'value'=>'not-available', 'help-string'=>'Not Available'}]}} # Is Installed def is_installed prop_get('is-installed') end # Is Installed def is_installed=(val) prop_set('is-installed', val) end # is enabled def is_enabled prop_get('is-enabled') end # is enabled def is_enabled=(val) prop_set('is-enabled', val) end end def criteria @subclasses['criteria'] ||= Criteria.new(parent_instance: self, client: @client, create_children: @create_children) end class Vendor < XML::ConfigClass def has_multiple_values?; true; end def _section :vendor end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Product < XML::ConfigClass def has_multiple_values?; true; end def _section :product end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'1023'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def product maybe_register_subclass('product', Product.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'103', 'regex'=>'.*'}} def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vendor maybe_register_subclass('vendor', Vendor.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'exclude-vendor'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}} def exclude_vendor prop_get('exclude-vendor') end def exclude_vendor=(val) prop_set('exclude-vendor', val) end end def patch_management @subclasses['patch-management'] ||= PatchManagement.new(parent_instance: self, client: @client, create_children: @create_children) end class DataLossPrevention < ConfigClass def has_multiple_values?; false; end def _section :'data-loss-prevention' end class Criteria < ConfigClass def has_multiple_values?; false; end def _section :criteria end @props = {'is-installed'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Is Installed'}, 'is-enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-string'=>'is enabled', 'enum'=>[{'value'=>'no', 'help-string'=>'No'}, {'value'=>'yes', 'help-string'=>'Yes'}, {'value'=>'not-available', 'help-string'=>'Not Available'}]}} # Is Installed def is_installed prop_get('is-installed') end # Is Installed def is_installed=(val) prop_set('is-installed', val) end # is enabled def is_enabled prop_get('is-enabled') end # is enabled def is_enabled=(val) prop_set('is-enabled', val) end end def criteria @subclasses['criteria'] ||= Criteria.new(parent_instance: self, client: @client, create_children: @create_children) end class Vendor < XML::ConfigClass def has_multiple_values?; true; end def _section :vendor end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Product < XML::ConfigClass def has_multiple_values?; true; end def _section :product end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'1023'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def product maybe_register_subclass('product', Product.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'103', 'regex'=>'.*'}} def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vendor maybe_register_subclass('vendor', Vendor.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'exclude-vendor'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}} def exclude_vendor prop_get('exclude-vendor') end def exclude_vendor=(val) prop_set('exclude-vendor', val) end end def data_loss_prevention @subclasses['data-loss-prevention'] ||= DataLossPrevention.new(parent_instance: self, client: @client, create_children: @create_children) end class Firewall < ConfigClass def has_multiple_values?; false; end def _section :firewall end class Criteria < ConfigClass def has_multiple_values?; false; end def _section :criteria end @props = {'is-installed'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Is Installed'}, 'is-enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-string'=>'is enabled', 'enum'=>[{'value'=>'no', 'help-string'=>'No'}, {'value'=>'yes', 'help-string'=>'Yes'}, {'value'=>'not-available', 'help-string'=>'Not Available'}]}} # Is Installed def is_installed prop_get('is-installed') end # Is Installed def is_installed=(val) prop_set('is-installed', val) end # is enabled def is_enabled prop_get('is-enabled') end # is enabled def is_enabled=(val) prop_set('is-enabled', val) end end def criteria @subclasses['criteria'] ||= Criteria.new(parent_instance: self, client: @client, create_children: @create_children) end class Vendor < XML::ConfigClass def has_multiple_values?; true; end def _section :vendor end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Product < XML::ConfigClass def has_multiple_values?; true; end def _section :product end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'1023'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def product maybe_register_subclass('product', Product.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'103', 'regex'=>'.*'}} def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vendor maybe_register_subclass('vendor', Vendor.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'exclude-vendor'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}} def exclude_vendor prop_get('exclude-vendor') end def exclude_vendor=(val) prop_set('exclude-vendor', val) end end def firewall @subclasses['firewall'] ||= Firewall.new(parent_instance: self, client: @client, create_children: @create_children) end class AntiMalware < ConfigClass def has_multiple_values?; false; end def _section :'anti-malware' end class Criteria < ConfigClass def has_multiple_values?; false; end def _section :criteria end class VirdefVersion < ConfigClass def has_multiple_values?; false; end def _section :'virdef-version' end class Within < XML::ConfigClass def has_multiple_values?; true; end def _section :within end @props = {'days'=>{'node-type'=>'element', 'help-string'=>'specify time in days', 'type'=>'rangedint', 'max'=>'65535', 'min'=>'1', 'default'=>'1'}, 'versions'=>{'node-type'=>'element', 'help-string'=>'specify versions range', 'type'=>'rangedint', 'max'=>'65535', 'min'=>'1', 'default'=>'1'}} # specify time in days def days prop_get('days') end # specify time in days def days=(val) prop_set('days', val) end # specify versions range def versions prop_get('versions') end # specify versions range def versions=(val) prop_set('versions', val) end end def within maybe_register_subclass('within', Within.new(parent_instance: self, client: @client, create_children: @create_children)) end class NotWithin < XML::ConfigClass def has_multiple_values?; true; end def _section :'not-within' end @props = {'days'=>{'node-type'=>'element', 'help-string'=>'specify time in days', 'type'=>'rangedint', 'max'=>'65535', 'min'=>'1', 'default'=>'1'}, 'versions'=>{'node-type'=>'element', 'help-string'=>'specify versions range', 'type'=>'rangedint', 'max'=>'65535', 'min'=>'1', 'default'=>'1'}} # specify time in days def days prop_get('days') end # specify time in days def days=(val) prop_set('days', val) end # specify versions range def versions prop_get('versions') end # specify versions range def versions=(val) prop_set('versions', val) end end def not_within maybe_register_subclass('not-within', NotWithin.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def virdef_version @subclasses['virdef-version'] ||= VirdefVersion.new(parent_instance: self, client: @client, create_children: @create_children) end class ProductVersion < ConfigClass def has_multiple_values?; false; end def _section :'product-version' end class Within < ConfigClass def has_multiple_values?; false; end def _section :within end @props = {'versions'=>{'node-type'=>'element', 'help-string'=>'versions range', 'type'=>'rangedint', 'max'=>'1', 'min'=>'1', 'default'=>'1'}} # versions range def versions prop_get('versions') end # versions range def versions=(val) prop_set('versions', val) end end def within @subclasses['within'] ||= Within.new(parent_instance: self, client: @client, create_children: @create_children) end class NotWithin < ConfigClass def has_multiple_values?; false; end def _section :'not-within' end @props = {'versions'=>{'node-type'=>'element', 'help-string'=>'versions range', 'type'=>'rangedint', 'max'=>'1', 'min'=>'1', 'default'=>'1'}} # versions range def versions prop_get('versions') end # versions range def versions=(val) prop_set('versions', val) end end def not_within @subclasses['not-within'] ||= NotWithin.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'greater-equal'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'greater-than'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'is'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'is-not'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'less-equal'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'less-than'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'contains'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}} def greater_equal prop_get('greater-equal') end def greater_equal=(val) prop_set('greater-equal', val) end def greater_than prop_get('greater-than') end def greater_than=(val) prop_set('greater-than', val) end def is prop_get('is') end def is=(val) prop_set('is', val) end def is_not prop_get('is-not') end def is_not=(val) prop_set('is-not', val) end def less_equal prop_get('less-equal') end def less_equal=(val) prop_set('less-equal', val) end def less_than prop_get('less-than') end def less_than=(val) prop_set('less-than', val) end def contains prop_get('contains') end def contains=(val) prop_set('contains', val) end end def product_version @subclasses['product-version'] ||= ProductVersion.new(parent_instance: self, client: @client, create_children: @create_children) end class LastScanTime < ConfigClass def has_multiple_values?; false; end def _section :'last-scan-time' end class NotAvailable < ConfigClass def has_multiple_values?; false; end def _section :'not-available' end @props = {} end def not_available @subclasses['not-available'] ||= NotAvailable.new(parent_instance: self, client: @client, create_children: @create_children) end class Within < XML::ConfigClass def has_multiple_values?; true; end def _section :within end @props = {'days'=>{'node-type'=>'element', 'help-string'=>'specify time in days', 'type'=>'rangedint', 'max'=>'65535', 'min'=>'1', 'default'=>'1'}, 'hours'=>{'node-type'=>'element', 'help-string'=>'specify time in hours', 'type'=>'rangedint', 'max'=>'65535', 'min'=>'1', 'default'=>'24'}} # specify time in days def days prop_get('days') end # specify time in days def days=(val) prop_set('days', val) end # specify time in hours def hours prop_get('hours') end # specify time in hours def hours=(val) prop_set('hours', val) end end def within maybe_register_subclass('within', Within.new(parent_instance: self, client: @client, create_children: @create_children)) end class NotWithin < XML::ConfigClass def has_multiple_values?; true; end def _section :'not-within' end @props = {'days'=>{'node-type'=>'element', 'help-string'=>'specify time in days', 'type'=>'rangedint', 'max'=>'65535', 'min'=>'1', 'default'=>'1'}, 'hours'=>{'node-type'=>'element', 'help-string'=>'specify time in hours', 'type'=>'rangedint', 'max'=>'65535', 'min'=>'1', 'default'=>'24'}} # specify time in days def days prop_get('days') end # specify time in days def days=(val) prop_set('days', val) end # specify time in hours def hours prop_get('hours') end # specify time in hours def hours=(val) prop_set('hours', val) end end def not_within maybe_register_subclass('not-within', NotWithin.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def last_scan_time @subclasses['last-scan-time'] ||= LastScanTime.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'is-installed'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Is Installed'}, 'real-time-protection'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-string'=>'real time protection', 'enum'=>[{'value'=>'no', 'help-string'=>'No'}, {'value'=>'yes', 'help-string'=>'Yes'}, {'value'=>'not-available', 'help-string'=>'Not Available'}]}} # Is Installed def is_installed prop_get('is-installed') end # Is Installed def is_installed=(val) prop_set('is-installed', val) end # real time protection def real_time_protection prop_get('real-time-protection') end # real time protection def real_time_protection=(val) prop_set('real-time-protection', val) end end def criteria @subclasses['criteria'] ||= Criteria.new(parent_instance: self, client: @client, create_children: @create_children) end class Vendor < XML::ConfigClass def has_multiple_values?; true; end def _section :vendor end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Product < XML::ConfigClass def has_multiple_values?; true; end def _section :product end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'1023'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def product maybe_register_subclass('product', Product.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'103', 'regex'=>'.*'}} def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vendor maybe_register_subclass('vendor', Vendor.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'exclude-vendor'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}} def exclude_vendor prop_get('exclude-vendor') end def exclude_vendor=(val) prop_set('exclude-vendor', val) end end def anti_malware @subclasses['anti-malware'] ||= AntiMalware.new(parent_instance: self, client: @client, create_children: @create_children) end class DiskBackup < ConfigClass def has_multiple_values?; false; end def _section :'disk-backup' end class Criteria < ConfigClass def has_multiple_values?; false; end def _section :criteria end class LastBackupTime < ConfigClass def has_multiple_values?; false; end def _section :'last-backup-time' end class NotAvailable < ConfigClass def has_multiple_values?; false; end def _section :'not-available' end @props = {} end def not_available @subclasses['not-available'] ||= NotAvailable.new(parent_instance: self, client: @client, create_children: @create_children) end class Within < XML::ConfigClass def has_multiple_values?; true; end def _section :within end @props = {'days'=>{'node-type'=>'element', 'help-string'=>'specify time in days', 'type'=>'rangedint', 'max'=>'65535', 'min'=>'1', 'default'=>'1'}, 'hours'=>{'node-type'=>'element', 'help-string'=>'specify time in hours', 'type'=>'rangedint', 'max'=>'65535', 'min'=>'1', 'default'=>'24'}} # specify time in days def days prop_get('days') end # specify time in days def days=(val) prop_set('days', val) end # specify time in hours def hours prop_get('hours') end # specify time in hours def hours=(val) prop_set('hours', val) end end def within maybe_register_subclass('within', Within.new(parent_instance: self, client: @client, create_children: @create_children)) end class NotWithin < XML::ConfigClass def has_multiple_values?; true; end def _section :'not-within' end @props = {'days'=>{'node-type'=>'element', 'help-string'=>'specify time in days', 'type'=>'rangedint', 'max'=>'65535', 'min'=>'1', 'default'=>'1'}, 'hours'=>{'node-type'=>'element', 'help-string'=>'specify time in hours', 'type'=>'rangedint', 'max'=>'65535', 'min'=>'1', 'default'=>'24'}} # specify time in days def days prop_get('days') end # specify time in days def days=(val) prop_set('days', val) end # specify time in hours def hours prop_get('hours') end # specify time in hours def hours=(val) prop_set('hours', val) end end def not_within maybe_register_subclass('not-within', NotWithin.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def last_backup_time @subclasses['last-backup-time'] ||= LastBackupTime.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'is-installed'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Is Installed'}} # Is Installed def is_installed prop_get('is-installed') end # Is Installed def is_installed=(val) prop_set('is-installed', val) end end def criteria @subclasses['criteria'] ||= Criteria.new(parent_instance: self, client: @client, create_children: @create_children) end class Vendor < XML::ConfigClass def has_multiple_values?; true; end def _section :vendor end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Product < XML::ConfigClass def has_multiple_values?; true; end def _section :product end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'1023'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def product maybe_register_subclass('product', Product.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'103', 'regex'=>'.*'}} def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vendor maybe_register_subclass('vendor', Vendor.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'exclude-vendor'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}} def exclude_vendor prop_get('exclude-vendor') end def exclude_vendor=(val) prop_set('exclude-vendor', val) end end def disk_backup @subclasses['disk-backup'] ||= DiskBackup.new(parent_instance: self, client: @client, create_children: @create_children) end class DiskEncryption < ConfigClass def has_multiple_values?; false; end def _section :'disk-encryption' end class Criteria < ConfigClass def has_multiple_values?; false; end def _section :criteria end class EncryptedLocations < XML::ConfigClass def has_multiple_values?; true; end def _section :'encrypted-locations' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class EncryptionState < XML::ConfigClass def has_multiple_values?; true; end def _section :'encryption-state' end @props = {'is'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'encrypted', 'enum'=>[{'value'=>'encrypted'}, {'value'=>'unencrypted'}, {'value'=>'partial'}, {'value'=>'unknown'}]}, 'is-not'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'encrypted', 'enum'=>[{'value'=>'encrypted'}, {'value'=>'unencrypted'}, {'value'=>'partial'}, {'value'=>'unknown'}]}} def is prop_get('is') end def is=(val) prop_set('is', val) end def is_not prop_get('is-not') end def is_not=(val) prop_set('is-not', val) end end def encryption_state maybe_register_subclass('encryption-state', EncryptionState.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'encryption location', 'maxlen'=>'1023', 'regex'=>'.*'}} # encryption location def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def encrypted_locations maybe_register_subclass('encrypted-locations', EncryptedLocations.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'is-installed'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Is Installed'}} # Is Installed def is_installed prop_get('is-installed') end # Is Installed def is_installed=(val) prop_set('is-installed', val) end end def criteria @subclasses['criteria'] ||= Criteria.new(parent_instance: self, client: @client, create_children: @create_children) end class Vendor < XML::ConfigClass def has_multiple_values?; true; end def _section :vendor end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Product < XML::ConfigClass def has_multiple_values?; true; end def _section :product end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'1023'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def product maybe_register_subclass('product', Product.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'103', 'regex'=>'.*'}} def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vendor maybe_register_subclass('vendor', Vendor.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'exclude-vendor'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}} def exclude_vendor prop_get('exclude-vendor') end def exclude_vendor=(val) prop_set('exclude-vendor', val) end end def disk_encryption @subclasses['disk-encryption'] ||= DiskEncryption.new(parent_instance: self, client: @client, create_children: @create_children) end class CustomChecks < ConfigClass def has_multiple_values?; false; end def _section :'custom-checks' end class Criteria < ConfigClass def has_multiple_values?; false; end def _section :criteria end class ProcessList < XML::ConfigClass def has_multiple_values?; true; end def _section :'process-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'1023', 'regex'=>'.*', 'help-string'=>'Process Name'}, 'running'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'optional'=>'yes'}} # Process Name def name prop_get('@name') end def running prop_get('running') end def running=(val) prop_set('running', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def process_list maybe_register_subclass('process-list', ProcessList.new(parent_instance: self, client: @client, create_children: @create_children)) end class RegistryKey < XML::ConfigClass def has_multiple_values?; true; end def _section :'registry-key' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class RegistryValue < XML::ConfigClass def has_multiple_values?; true; end def _section :'registry-value' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'1023', 'regex'=>'.*', 'help-string'=>'Registry value name'}, 'value-data'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'1024', 'help-string'=>'Registry value data'}, 'negate'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Value does not exist'}} # Registry value name def name prop_get('@name') end # Registry value data def value_data prop_get('value-data') end # Registry value data def value_data=(val) prop_set('value-data', val) end # Value does not exist def negate prop_get('negate') end # Value does not exist def negate=(val) prop_set('negate', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def registry_value maybe_register_subclass('registry-value', RegistryValue.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'1023', 'regex'=>'.*', 'help-string'=>'Registry key'}, 'default-value-data'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'1024', 'help-string'=>'Registry key default value data'}, 'negate'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Key does not exist'}} # Registry key def name prop_get('@name') end # Registry key default value data def default_value_data prop_get('default-value-data') end # Registry key default value data def default_value_data=(val) prop_set('default-value-data', val) end # Key does not exist def negate prop_get('negate') end # Key does not exist def negate=(val) prop_set('negate', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def registry_key maybe_register_subclass('registry-key', RegistryKey.new(parent_instance: self, client: @client, create_children: @create_children)) end class Plist < XML::ConfigClass def has_multiple_values?; true; end def _section :plist end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Key < XML::ConfigClass def has_multiple_values?; true; end def _section :key end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'1023', 'regex'=>'.*', 'help-string'=>'Key name'}, 'value'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'1024', 'help-string'=>'Key value'}, 'negate'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Value does not exist or match specified value data'}} # Key name def name prop_get('@name') end # Key value def value prop_get('value') end # Key value def value=(val) prop_set('value', val) end # Value does not exist or match specified value data def negate prop_get('negate') end # Value does not exist or match specified value data def negate=(val) prop_set('negate', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def key maybe_register_subclass('key', Key.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'1023', 'regex'=>'.*', 'help-string'=>'Preference list'}, 'negate'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Plist does not exist'}} # Preference list def name prop_get('@name') end # Plist does not exist def negate prop_get('negate') end # Plist does not exist def negate=(val) prop_set('negate', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def plist maybe_register_subclass('plist', Plist.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def criteria @subclasses['criteria'] ||= Criteria.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def custom_checks @subclasses['custom-checks'] ||= CustomChecks.new(parent_instance: self, client: @client, create_children: @create_children) end class MobileDevice < ConfigClass def has_multiple_values?; false; end def _section :'mobile-device' end class Criteria < ConfigClass def has_multiple_values?; false; end def _section :criteria end class LastCheckinTime < ConfigClass def has_multiple_values?; false; end def _section :'last-checkin-time' end class Within < ConfigClass def has_multiple_values?; false; end def _section :within end @props = {'days'=>{'node-type'=>'element', 'help-string'=>'specify time in days', 'type'=>'rangedint', 'max'=>'365', 'min'=>'1', 'default'=>'30'}} # specify time in days def days prop_get('days') end # specify time in days def days=(val) prop_set('days', val) end end def within @subclasses['within'] ||= Within.new(parent_instance: self, client: @client, create_children: @create_children) end class NotWithin < ConfigClass def has_multiple_values?; false; end def _section :'not-within' end @props = {'days'=>{'node-type'=>'element', 'help-string'=>'specify time in days', 'type'=>'rangedint', 'max'=>'365', 'min'=>'1', 'default'=>'30'}} # specify time in days def days prop_get('days') end # specify time in days def days=(val) prop_set('days', val) end end def not_within @subclasses['not-within'] ||= NotWithin.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def last_checkin_time @subclasses['last-checkin-time'] ||= LastCheckinTime.new(parent_instance: self, client: @client, create_children: @create_children) end class Imei < ConfigClass def has_multiple_values?; false; end def _section :imei end @props = {'contains'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'is'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'is-not'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}} def contains prop_get('contains') end def contains=(val) prop_set('contains', val) end def is prop_get('is') end def is=(val) prop_set('is', val) end def is_not prop_get('is-not') end def is_not=(val) prop_set('is-not', val) end end def imei @subclasses['imei'] ||= Imei.new(parent_instance: self, client: @client, create_children: @create_children) end class Model < ConfigClass def has_multiple_values?; false; end def _section :model end @props = {'contains'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'is'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'is-not'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}} def contains prop_get('contains') end def contains=(val) prop_set('contains', val) end def is prop_get('is') end def is=(val) prop_set('is', val) end def is_not prop_get('is-not') end def is_not=(val) prop_set('is-not', val) end end def model @subclasses['model'] ||= Model.new(parent_instance: self, client: @client, create_children: @create_children) end class PhoneNumber < ConfigClass def has_multiple_values?; false; end def _section :'phone-number' end @props = {'contains'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'is'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'is-not'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}} def contains prop_get('contains') end def contains=(val) prop_set('contains', val) end def is prop_get('is') end def is=(val) prop_set('is', val) end def is_not prop_get('is-not') end def is_not=(val) prop_set('is-not', val) end end def phone_number @subclasses['phone-number'] ||= PhoneNumber.new(parent_instance: self, client: @client, create_children: @create_children) end class Tag < ConfigClass def has_multiple_values?; false; end def _section :tag end @props = {'contains'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'is'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'is-not'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}} def contains prop_get('contains') end def contains=(val) prop_set('contains', val) end def is prop_get('is') end def is=(val) prop_set('is', val) end def is_not prop_get('is-not') end def is_not=(val) prop_set('is-not', val) end end def tag @subclasses['tag'] ||= Tag.new(parent_instance: self, client: @client, create_children: @create_children) end class Applications < ConfigClass def has_multiple_values?; false; end def _section :applications end class HasMalware < XML::ConfigClass def has_multiple_values?; true; end def _section :'has-malware' end class No < ConfigClass def has_multiple_values?; false; end def _section :no end @props = {} end def no @subclasses['no'] ||= No.new(parent_instance: self, client: @client, create_children: @create_children) end class Yes < ConfigClass def has_multiple_values?; false; end def _section :yes end class Excludes < XML::ConfigClass def has_multiple_values?; true; end def _section :excludes end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31'}, 'package'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'1024', 'help-string'=>'application package name'}, 'hash'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'1024', 'help-string'=>'application hash'}} def name prop_get('@name') end # application package name def package prop_get('package') end # application package name def package=(val) prop_set('package', val) end # application hash def hash prop_get('hash') end # application hash def hash=(val) prop_set('hash', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def excludes maybe_register_subclass('excludes', Excludes.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def yes @subclasses['yes'] ||= Yes.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def has_malware maybe_register_subclass('has-malware', HasMalware.new(parent_instance: self, client: @client, create_children: @create_children)) end class Includes < XML::ConfigClass def has_multiple_values?; true; end def _section :includes end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31'}, 'package'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'1024', 'help-string'=>'application package name'}, 'hash'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'1024', 'help-string'=>'application hash'}} def name prop_get('@name') end # application package name def package prop_get('package') end # application package name def package=(val) prop_set('package', val) end # application hash def hash prop_get('hash') end # application hash def hash=(val) prop_set('hash', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def includes maybe_register_subclass('includes', Includes.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'has-unmanaged-app'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-string'=>'Has apps that are not managed', 'enum'=>[{'value'=>'no', 'help-string'=>'No'}, {'value'=>'yes', 'help-string'=>'Yes'}]}} # Has apps that are not managed def has_unmanaged_app prop_get('has-unmanaged-app') end # Has apps that are not managed def has_unmanaged_app=(val) prop_set('has-unmanaged-app', val) end end def applications @subclasses['applications'] ||= Applications.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'jailbroken'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-string'=>'If device is by rooted/jailbroken', 'enum'=>[{'value'=>'no', 'help-string'=>'No'}, {'value'=>'yes', 'help-string'=>'Yes'}]}, 'disk-encrypted'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-string'=>'If device\'s disk is encrypted', 'enum'=>[{'value'=>'no', 'help-string'=>'No'}, {'value'=>'yes', 'help-string'=>'Yes'}]}, 'passcode-set'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-string'=>'If device\'s passcode is present', 'enum'=>[{'value'=>'no', 'help-string'=>'No'}, {'value'=>'yes', 'help-string'=>'Yes'}]}} # If device is by rooted/jailbroken def jailbroken prop_get('jailbroken') end # If device is by rooted/jailbroken def jailbroken=(val) prop_set('jailbroken', val) end # If device's disk is encrypted def disk_encrypted prop_get('disk-encrypted') end # If device's disk is encrypted def disk_encrypted=(val) prop_set('disk-encrypted', val) end # If device's passcode is present def passcode_set prop_get('passcode-set') end # If device's passcode is present def passcode_set=(val) prop_set('passcode-set', val) end end def criteria @subclasses['criteria'] ||= Criteria.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def mobile_device @subclasses['mobile-device'] ||= MobileDevice.new(parent_instance: self, client: @client, create_children: @create_children) end class Certificate < ConfigClass def has_multiple_values?; false; end def _section :certificate end class Criteria < ConfigClass def has_multiple_values?; false; end def _section :criteria end class CertificateAttributes < XML::ConfigClass def has_multiple_values?; true; end def _section :'certificate-attributes' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'enum', 'maxlen'=>'1023', 'regex'=>'.*', 'help-string'=>'Attribute Name', 'enum'=>[{'value'=>'serial-no'}, {'value'=>'signature-algorithm'}, {'value'=>'issuer'}, {'value'=>'valid-from'}, {'value'=>'valid-to'}, {'value'=>'subject'}, {'value'=>'certificate-template-name'}, {'value'=>'certificate-template-oid'}, {'value'=>'extended-key-usage'}, {'value'=>'subject-key-identifier'}, {'value'=>'authority-key-identifier'}, {'value'=>'subject-alternative-name-url'}, {'value'=>'subject-alternative-name-email'}, {'value'=>'subject-alternative-name-ip'}, {'value'=>'key-usage'}]}, 'value'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'1024', 'help-string'=>'Key value'}} # Attribute Name def name prop_get('@name') end # Key value def value prop_get('value') end # Key value def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def certificate_attributes maybe_register_subclass('certificate-attributes', CertificateAttributes.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'certificate-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Profile for authenticating client certificates'}} # Profile for authenticating client certificates def certificate_profile prop_get('certificate-profile') end # Profile for authenticating client certificates def certificate_profile=(val) prop_set('certificate-profile', val) end end def criteria @subclasses['criteria'] ||= Criteria.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def certificate @subclasses['certificate'] ||= Certificate.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'no'}]}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def hip_objects maybe_register_subclass('hip-objects', HipObjects.new(parent_instance: self, client: @client, create_children: @create_children)) end class Virus < XML::ConfigClass def has_multiple_values?; true; end def _section :virus end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class MlavEngineFilebasedEnabled < XML::ConfigClass def has_multiple_values?; true; end def _section :'mlav-engine-filebased-enabled' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'128'}, 'mlav-policy-action'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'enable(alert-only)'}, {'value'=>'disable'}]}} def name prop_get('@name') end def mlav_policy_action prop_get('mlav-policy-action') end def mlav_policy_action=(val) prop_set('mlav-policy-action', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def mlav_engine_filebased_enabled maybe_register_subclass('mlav-engine-filebased-enabled', MlavEngineFilebasedEnabled.new(parent_instance: self, client: @client, create_children: @create_children)) end class Decoder < XML::ConfigClass def has_multiple_values?; true; end def _section :decoder end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'content-dependent'=>'yes', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'default', 'enum'=>[{'value'=>'default'}, {'value'=>'allow'}, {'value'=>'alert'}, {'value'=>'drop'}, {'value'=>'reset-client'}, {'value'=>'reset-server'}, {'value'=>'reset-both'}]}, 'wildfire-action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'default', 'enum'=>[{'value'=>'default'}, {'value'=>'allow'}, {'value'=>'alert'}, {'value'=>'drop'}, {'value'=>'reset-client'}, {'value'=>'reset-server'}, {'value'=>'reset-both'}]}, 'mlav-action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'default', 'enum'=>[{'value'=>'default'}, {'value'=>'allow'}, {'value'=>'alert'}, {'value'=>'drop'}, {'value'=>'reset-client'}, {'value'=>'reset-server'}, {'value'=>'reset-both'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def action prop_get('action') end def action=(val) prop_set('action', val) end def wildfire_action prop_get('wildfire-action') end def wildfire_action=(val) prop_set('wildfire-action', val) end def mlav_action prop_get('mlav-action') end def mlav_action=(val) prop_set('mlav-action', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def decoder maybe_register_subclass('decoder', Decoder.new(parent_instance: self, client: @client, create_children: @create_children)) end class Application < XML::ConfigClass def has_multiple_values?; true; end def _section :application end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'content-dependent'=>'yes', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'default', 'enum'=>[{'value'=>'default'}, {'value'=>'allow'}, {'value'=>'alert'}, {'value'=>'drop'}, {'value'=>'reset-client'}, {'value'=>'reset-server'}, {'value'=>'reset-both'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def action prop_get('action') end def action=(val) prop_set('action', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def application maybe_register_subclass('application', Application.new(parent_instance: self, client: @client, create_children: @create_children)) end class ThreatException < XML::ConfigClass def has_multiple_values?; true; end def _section :'threat-exception' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'^[0-9]+$', 'help-string'=>'threat id'}} # threat id def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def threat_exception maybe_register_subclass('threat-exception', ThreatException.new(parent_instance: self, client: @client, create_children: @create_children)) end class MlavException < XML::ConfigClass def has_multiple_values?; true; end def _section :'mlav-exception' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'mlav exception feature vector'}, 'filename'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}} # mlav exception feature vector def name prop_get('@name') end def filename prop_get('filename') end def filename=(val) prop_set('filename', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def mlav_exception maybe_register_subclass('mlav-exception', MlavException.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'no'}]}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'packet-capture'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'wfrt-hold-mode'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end def packet_capture prop_get('packet-capture') end def packet_capture=(val) prop_set('packet-capture', val) end def wfrt_hold_mode prop_get('wfrt-hold-mode') end def wfrt_hold_mode=(val) prop_set('wfrt-hold-mode', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def virus maybe_register_subclass('virus', Virus.new(parent_instance: self, client: @client, create_children: @create_children)) end class Spyware < XML::ConfigClass def has_multiple_values?; true; end def _section :spyware end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class BotnetDomains < ConfigClass def has_multiple_values?; false; end def _section :'botnet-domains' end class Lists < XML::ConfigClass def has_multiple_values?; true; end def _section :lists end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Action < XML::ConfigClass def has_multiple_values?; true; end def _section :action end class Alert < ConfigClass def has_multiple_values?; false; end def _section :alert end @props = {} end def alert @subclasses['alert'] ||= Alert.new(parent_instance: self, client: @client, create_children: @create_children) end class Allow < ConfigClass def has_multiple_values?; false; end def _section :allow end @props = {} end def allow @subclasses['allow'] ||= Allow.new(parent_instance: self, client: @client, create_children: @create_children) end class Block < ConfigClass def has_multiple_values?; false; end def _section :block end @props = {} end def block @subclasses['block'] ||= Block.new(parent_instance: self, client: @client, create_children: @create_children) end class Sinkhole < ConfigClass def has_multiple_values?; false; end def _section :sinkhole end @props = {} end def sinkhole @subclasses['sinkhole'] ||= Sinkhole.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def action maybe_register_subclass('action', Action.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'List name, alphanumeric string [ 0-9a-zA-Z._-]'}, 'packet-capture'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'disable', 'enum'=>[{'value'=>'disable'}, {'value'=>'single-packet'}, {'value'=>'extended-capture'}]}} # List name, alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def packet_capture prop_get('packet-capture') end def packet_capture=(val) prop_set('packet-capture', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def lists maybe_register_subclass('lists', Lists.new(parent_instance: self, client: @client, create_children: @create_children)) end class DnsSecurityCategories < XML::ConfigClass def has_multiple_values?; true; end def _section :'dns-security-categories' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'default', 'enum'=>[{'value'=>'default'}, {'value'=>'allow'}, {'value'=>'block'}, {'value'=>'sinkhole'}]}, 'log-level'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'default', 'enum'=>[{'value'=>'default'}, {'value'=>'none'}, {'value'=>'low'}, {'value'=>'informational'}, {'value'=>'medium'}, {'value'=>'high'}, {'value'=>'critical'}]}, 'packet-capture'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'disable', 'enum'=>[{'value'=>'disable'}, {'value'=>'single-packet'}, {'value'=>'extended-capture'}]}} def name prop_get('@name') end def action prop_get('action') end def action=(val) prop_set('action', val) end def log_level prop_get('log-level') end def log_level=(val) prop_set('log-level', val) end def packet_capture prop_get('packet-capture') end def packet_capture=(val) prop_set('packet-capture', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def dns_security_categories maybe_register_subclass('dns-security-categories', DnsSecurityCategories.new(parent_instance: self, client: @client, create_children: @create_children)) end class Whitelist < XML::ConfigClass def has_multiple_values?; true; end def _section :whitelist end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'256', 'regex'=>'^(\*\.)?([a-zA-Z0-9_-]+\.)*([a-zA-Z0-9_-]+)$'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}} def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def whitelist maybe_register_subclass('whitelist', Whitelist.new(parent_instance: self, client: @client, create_children: @create_children)) end class Sinkhole < ConfigClass def has_multiple_values?; false; end def _section :sinkhole end @props = {'ipv4-address'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'pan-sinkhole-default-ip', 'multi-types'=>{'string'=>{}, 'enum'=>[{'value'=>'127.0.0.1', 'help-string'=>'IPv4 Loopback IP'}, {'value'=>'pan-sinkhole-default-ip', 'help-string'=>'Palo Alto Networks Sinkhole IP'}]}}, 'ipv6-address'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'::1', 'multi-types'=>{'ipspec'=>{}, 'enum'=>[{'value'=>'::1', 'help-string'=>'IPv6 Loopback IP'}]}}} def ipv4_address prop_get('ipv4-address') end def ipv4_address=(val) prop_set('ipv4-address', val) end def ipv6_address prop_get('ipv6-address') end def ipv6_address=(val) prop_set('ipv6-address', val) end end def sinkhole @subclasses['sinkhole'] ||= Sinkhole.new(parent_instance: self, client: @client, create_children: @create_children) end class RtypeAction < ConfigClass def has_multiple_values?; false; end def _section :'rtype-action' end @props = {'svcb'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'allow', 'help-string'=>'SVCB(64)', 'enum'=>[{'value'=>'allow'}, {'value'=>'block'}]}, 'https'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'allow', 'help-string'=>'HTTPS(65)', 'enum'=>[{'value'=>'allow'}, {'value'=>'block'}]}, 'any'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'allow', 'help-string'=>'ANY(255)', 'enum'=>[{'value'=>'allow'}, {'value'=>'block'}]}} # SVCB(64) def svcb prop_get('svcb') end # SVCB(64) def svcb=(val) prop_set('svcb', val) end # HTTPS(65) def https prop_get('https') end # HTTPS(65) def https=(val) prop_set('https', val) end # ANY(255) def any prop_get('any') end # ANY(255) def any=(val) prop_set('any', val) end end def rtype_action @subclasses['rtype-action'] ||= RtypeAction.new(parent_instance: self, client: @client, create_children: @create_children) end class ThreatException < XML::ConfigClass def has_multiple_values?; true; end def _section :'threat-exception' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'threat id'}} # threat id def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def threat_exception maybe_register_subclass('threat-exception', ThreatException.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def botnet_domains @subclasses['botnet-domains'] ||= BotnetDomains.new(parent_instance: self, client: @client, create_children: @create_children) end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Severity < XML::ConfigClass def has_multiple_values?; true; end def _section :severity end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'content-dependent'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'All severities'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def severity maybe_register_subclass('severity', Severity.new(parent_instance: self, client: @client, create_children: @create_children)) end class Action < XML::ConfigClass def has_multiple_values?; true; end def _section :action end class Default < ConfigClass def has_multiple_values?; false; end def _section :default end @props = {} end def default @subclasses['default'] ||= Default.new(parent_instance: self, client: @client, create_children: @create_children) end class Allow < ConfigClass def has_multiple_values?; false; end def _section :allow end @props = {} end def allow @subclasses['allow'] ||= Allow.new(parent_instance: self, client: @client, create_children: @create_children) end class Alert < ConfigClass def has_multiple_values?; false; end def _section :alert end @props = {} end def alert @subclasses['alert'] ||= Alert.new(parent_instance: self, client: @client, create_children: @create_children) end class Drop < ConfigClass def has_multiple_values?; false; end def _section :drop end @props = {} end def drop @subclasses['drop'] ||= Drop.new(parent_instance: self, client: @client, create_children: @create_children) end class ResetClient < ConfigClass def has_multiple_values?; false; end def _section :'reset-client' end @props = {} end def reset_client @subclasses['reset-client'] ||= ResetClient.new(parent_instance: self, client: @client, create_children: @create_children) end class ResetServer < ConfigClass def has_multiple_values?; false; end def _section :'reset-server' end @props = {} end def reset_server @subclasses['reset-server'] ||= ResetServer.new(parent_instance: self, client: @client, create_children: @create_children) end class ResetBoth < ConfigClass def has_multiple_values?; false; end def _section :'reset-both' end @props = {} end def reset_both @subclasses['reset-both'] ||= ResetBoth.new(parent_instance: self, client: @client, create_children: @create_children) end class BlockIp < ConfigClass def has_multiple_values?; false; end def _section :'block-ip' end @props = {'track-by'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'source'}, {'value'=>'source-and-destination'}]}, 'duration'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'help-string'=>'Duration for block ip'}} def track_by prop_get('track-by') end def track_by=(val) prop_set('track-by', val) end # Duration for block ip def duration prop_get('duration') end # Duration for block ip def duration=(val) prop_set('duration', val) end end def block_ip @subclasses['block-ip'] ||= BlockIp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def action maybe_register_subclass('action', Action.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'threat-name'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'optional'=>'yes', 'help-string'=>'Threat name', 'multi-types'=>{'string'=>{}, 'enum'=>[{'value'=>'any'}]}}, 'category'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'content-dependent'=>'yes'}, 'enum'=>[{'value'=>'any'}]}}, 'packet-capture'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'disable', 'enum'=>[{'value'=>'disable'}, {'value'=>'single-packet'}, {'value'=>'extended-capture'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # Threat name def threat_name prop_get('threat-name') end # Threat name def threat_name=(val) prop_set('threat-name', val) end def category prop_get('category') end def category=(val) prop_set('category', val) end def packet_capture prop_get('packet-capture') end def packet_capture=(val) prop_set('packet-capture', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end class ThreatException < XML::ConfigClass def has_multiple_values?; true; end def _section :'threat-exception' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Action < XML::ConfigClass def has_multiple_values?; true; end def _section :action end class Default < ConfigClass def has_multiple_values?; false; end def _section :default end @props = {} end def default @subclasses['default'] ||= Default.new(parent_instance: self, client: @client, create_children: @create_children) end class Allow < ConfigClass def has_multiple_values?; false; end def _section :allow end @props = {} end def allow @subclasses['allow'] ||= Allow.new(parent_instance: self, client: @client, create_children: @create_children) end class Alert < ConfigClass def has_multiple_values?; false; end def _section :alert end @props = {} end def alert @subclasses['alert'] ||= Alert.new(parent_instance: self, client: @client, create_children: @create_children) end class Drop < ConfigClass def has_multiple_values?; false; end def _section :drop end @props = {} end def drop @subclasses['drop'] ||= Drop.new(parent_instance: self, client: @client, create_children: @create_children) end class ResetBoth < ConfigClass def has_multiple_values?; false; end def _section :'reset-both' end @props = {} end def reset_both @subclasses['reset-both'] ||= ResetBoth.new(parent_instance: self, client: @client, create_children: @create_children) end class ResetClient < ConfigClass def has_multiple_values?; false; end def _section :'reset-client' end @props = {} end def reset_client @subclasses['reset-client'] ||= ResetClient.new(parent_instance: self, client: @client, create_children: @create_children) end class ResetServer < ConfigClass def has_multiple_values?; false; end def _section :'reset-server' end @props = {} end def reset_server @subclasses['reset-server'] ||= ResetServer.new(parent_instance: self, client: @client, create_children: @create_children) end class BlockIp < ConfigClass def has_multiple_values?; false; end def _section :'block-ip' end @props = {'track-by'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'source'}, {'value'=>'source-and-destination'}]}, 'duration'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'help-string'=>'Duration for block ip'}} def track_by prop_get('track-by') end def track_by=(val) prop_set('track-by', val) end # Duration for block ip def duration prop_get('duration') end # Duration for block ip def duration=(val) prop_set('duration', val) end end def block_ip @subclasses['block-ip'] ||= BlockIp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def action maybe_register_subclass('action', Action.new(parent_instance: self, client: @client, create_children: @create_children)) end class ExemptIp < XML::ConfigClass def has_multiple_values?; true; end def _section :'exempt-ip' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'optional'=>'no', 'type'=>'ipspec', 'unicast-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes', 'help-string'=>'Exempt IP address'}} # Exempt IP address def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def exempt_ip maybe_register_subclass('exempt-ip', ExemptIp.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'10', 'regex'=>'^[0-9]+$', 'help-string'=>'threat id'}, 'packet-capture'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'disable', 'enum'=>[{'value'=>'disable'}, {'value'=>'single-packet'}, {'value'=>'extended-capture'}]}} # threat id def name prop_get('@name') end def packet_capture prop_get('packet-capture') end def packet_capture=(val) prop_set('packet-capture', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def threat_exception maybe_register_subclass('threat-exception', ThreatException.new(parent_instance: self, client: @client, create_children: @create_children)) end class MicaEngineSpywareEnabled < XML::ConfigClass def has_multiple_values?; true; end def _section :'mica-engine-spyware-enabled' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'128'}, 'inline-policy-action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'alert', 'enum'=>[{'value'=>'drop'}, {'value'=>'alert'}, {'value'=>'allow'}, {'value'=>'reset-both'}, {'value'=>'reset-client'}, {'value'=>'reset-server'}]}} def name prop_get('@name') end def inline_policy_action prop_get('inline-policy-action') end def inline_policy_action=(val) prop_set('inline-policy-action', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def mica_engine_spyware_enabled maybe_register_subclass('mica-engine-spyware-enabled', MicaEngineSpywareEnabled.new(parent_instance: self, client: @client, create_children: @create_children)) end class InlineExceptionEdlUrl < XML::ConfigClass def has_multiple_values?; true; end def _section :'inline-exception-edl-url' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def inline_exception_edl_url maybe_register_subclass('inline-exception-edl-url', InlineExceptionEdlUrl.new(parent_instance: self, client: @client, create_children: @create_children)) end class InlineExceptionIpAddress < XML::ConfigClass def has_multiple_values?; true; end def _section :'inline-exception-ip-address' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'MICA inline exception IP objects', 'maxlen'=>'63'}} # MICA inline exception IP objects def member prop_get('member') end # MICA inline exception IP objects def member=(val) prop_set('member', val) end end def inline_exception_ip_address maybe_register_subclass('inline-exception-ip-address', InlineExceptionIpAddress.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'no'}]}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'cloud-inline-analysis'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable cloud inline analysis'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end # Enable cloud inline analysis def cloud_inline_analysis prop_get('cloud-inline-analysis') end # Enable cloud inline analysis def cloud_inline_analysis=(val) prop_set('cloud-inline-analysis', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def spyware maybe_register_subclass('spyware', Spyware.new(parent_instance: self, client: @client, create_children: @create_children)) end class Vulnerability < XML::ConfigClass def has_multiple_values?; true; end def _section :vulnerability end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Cve < XML::ConfigClass def has_multiple_values?; true; end def _section :cve end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'maxlen'=>'63', 'optional'=>'yes', 'default'=>'any', 'help-string'=>'CVE #, CVE-1999-0001 etc', 'multi-types'=>{'string'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'All CVE'}]}}} # CVE #, CVE-1999-0001 etc def member prop_get('member') end # CVE #, CVE-1999-0001 etc def member=(val) prop_set('member', val) end end def cve maybe_register_subclass('cve', Cve.new(parent_instance: self, client: @client, create_children: @create_children)) end class VendorId < XML::ConfigClass def has_multiple_values?; true; end def _section :'vendor-id' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'maxlen'=>'63', 'optional'=>'yes', 'default'=>'any', 'help-string'=>'Vendor ID', 'multi-types'=>{'string'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'All vendors'}]}}} # Vendor ID def member prop_get('member') end # Vendor ID def member=(val) prop_set('member', val) end end def vendor_id maybe_register_subclass('vendor-id', VendorId.new(parent_instance: self, client: @client, create_children: @create_children)) end class Severity < XML::ConfigClass def has_multiple_values?; true; end def _section :severity end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'content-dependent'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'All severities'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def severity maybe_register_subclass('severity', Severity.new(parent_instance: self, client: @client, create_children: @create_children)) end class Action < XML::ConfigClass def has_multiple_values?; true; end def _section :action end class Default < ConfigClass def has_multiple_values?; false; end def _section :default end @props = {} end def default @subclasses['default'] ||= Default.new(parent_instance: self, client: @client, create_children: @create_children) end class Allow < ConfigClass def has_multiple_values?; false; end def _section :allow end @props = {} end def allow @subclasses['allow'] ||= Allow.new(parent_instance: self, client: @client, create_children: @create_children) end class Alert < ConfigClass def has_multiple_values?; false; end def _section :alert end @props = {} end def alert @subclasses['alert'] ||= Alert.new(parent_instance: self, client: @client, create_children: @create_children) end class Drop < ConfigClass def has_multiple_values?; false; end def _section :drop end @props = {} end def drop @subclasses['drop'] ||= Drop.new(parent_instance: self, client: @client, create_children: @create_children) end class ResetClient < ConfigClass def has_multiple_values?; false; end def _section :'reset-client' end @props = {} end def reset_client @subclasses['reset-client'] ||= ResetClient.new(parent_instance: self, client: @client, create_children: @create_children) end class ResetServer < ConfigClass def has_multiple_values?; false; end def _section :'reset-server' end @props = {} end def reset_server @subclasses['reset-server'] ||= ResetServer.new(parent_instance: self, client: @client, create_children: @create_children) end class ResetBoth < ConfigClass def has_multiple_values?; false; end def _section :'reset-both' end @props = {} end def reset_both @subclasses['reset-both'] ||= ResetBoth.new(parent_instance: self, client: @client, create_children: @create_children) end class BlockIp < ConfigClass def has_multiple_values?; false; end def _section :'block-ip' end @props = {'track-by'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'source'}, {'value'=>'source-and-destination'}]}, 'duration'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'help-string'=>'Duration for block ip'}} def track_by prop_get('track-by') end def track_by=(val) prop_set('track-by', val) end # Duration for block ip def duration prop_get('duration') end # Duration for block ip def duration=(val) prop_set('duration', val) end end def block_ip @subclasses['block-ip'] ||= BlockIp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def action maybe_register_subclass('action', Action.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'threat-name'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'optional'=>'yes', 'help-string'=>'Threat name', 'multi-types'=>{'string'=>{}, 'enum'=>[{'value'=>'any'}]}}, 'host'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'any', 'enum'=>[{'value'=>'any'}, {'value'=>'client'}, {'value'=>'server'}]}, 'category'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'content-dependent'=>'yes'}, 'enum'=>[{'value'=>'any'}]}}, 'packet-capture'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'disable', 'enum'=>[{'value'=>'disable'}, {'value'=>'single-packet'}, {'value'=>'extended-capture'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # Threat name def threat_name prop_get('threat-name') end # Threat name def threat_name=(val) prop_set('threat-name', val) end def host prop_get('host') end def host=(val) prop_set('host', val) end def category prop_get('category') end def category=(val) prop_set('category', val) end def packet_capture prop_get('packet-capture') end def packet_capture=(val) prop_set('packet-capture', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end class ThreatException < XML::ConfigClass def has_multiple_values?; true; end def _section :'threat-exception' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Action < XML::ConfigClass def has_multiple_values?; true; end def _section :action end class Default < ConfigClass def has_multiple_values?; false; end def _section :default end @props = {} end def default @subclasses['default'] ||= Default.new(parent_instance: self, client: @client, create_children: @create_children) end class Allow < ConfigClass def has_multiple_values?; false; end def _section :allow end @props = {} end def allow @subclasses['allow'] ||= Allow.new(parent_instance: self, client: @client, create_children: @create_children) end class Alert < ConfigClass def has_multiple_values?; false; end def _section :alert end @props = {} end def alert @subclasses['alert'] ||= Alert.new(parent_instance: self, client: @client, create_children: @create_children) end class Drop < ConfigClass def has_multiple_values?; false; end def _section :drop end @props = {} end def drop @subclasses['drop'] ||= Drop.new(parent_instance: self, client: @client, create_children: @create_children) end class ResetClient < ConfigClass def has_multiple_values?; false; end def _section :'reset-client' end @props = {} end def reset_client @subclasses['reset-client'] ||= ResetClient.new(parent_instance: self, client: @client, create_children: @create_children) end class ResetServer < ConfigClass def has_multiple_values?; false; end def _section :'reset-server' end @props = {} end def reset_server @subclasses['reset-server'] ||= ResetServer.new(parent_instance: self, client: @client, create_children: @create_children) end class ResetBoth < ConfigClass def has_multiple_values?; false; end def _section :'reset-both' end @props = {} end def reset_both @subclasses['reset-both'] ||= ResetBoth.new(parent_instance: self, client: @client, create_children: @create_children) end class BlockIp < ConfigClass def has_multiple_values?; false; end def _section :'block-ip' end @props = {'track-by'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'source'}, {'value'=>'source-and-destination'}]}, 'duration'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'help-string'=>'Duration for block ip'}} def track_by prop_get('track-by') end def track_by=(val) prop_set('track-by', val) end # Duration for block ip def duration prop_get('duration') end # Duration for block ip def duration=(val) prop_set('duration', val) end end def block_ip @subclasses['block-ip'] ||= BlockIp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def action maybe_register_subclass('action', Action.new(parent_instance: self, client: @client, create_children: @create_children)) end class TimeAttribute < ConfigClass def has_multiple_values?; false; end def _section :'time-attribute' end @props = {'interval'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600'}, 'threshold'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535'}, 'track-by'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'source'}, {'value'=>'destination'}, {'value'=>'source-and-destination'}]}} def interval prop_get('interval') end def interval=(val) prop_set('interval', val) end def threshold prop_get('threshold') end def threshold=(val) prop_set('threshold', val) end def track_by prop_get('track-by') end def track_by=(val) prop_set('track-by', val) end end def time_attribute @subclasses['time-attribute'] ||= TimeAttribute.new(parent_instance: self, client: @client, create_children: @create_children) end class ExemptIp < XML::ConfigClass def has_multiple_values?; true; end def _section :'exempt-ip' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'optional'=>'no', 'type'=>'ipspec', 'unicast-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes', 'help-string'=>'Exempt IP address'}} # Exempt IP address def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def exempt_ip maybe_register_subclass('exempt-ip', ExemptIp.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'10', 'regex'=>'^[0-9]+$', 'help-string'=>'threat id'}, 'packet-capture'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'disable', 'enum'=>[{'value'=>'disable'}, {'value'=>'single-packet'}, {'value'=>'extended-capture'}]}} # threat id def name prop_get('@name') end def packet_capture prop_get('packet-capture') end def packet_capture=(val) prop_set('packet-capture', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def threat_exception maybe_register_subclass('threat-exception', ThreatException.new(parent_instance: self, client: @client, create_children: @create_children)) end class MicaEngineVulnerabilityEnabled < XML::ConfigClass def has_multiple_values?; true; end def _section :'mica-engine-vulnerability-enabled' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'128'}, 'inline-policy-action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'alert', 'enum'=>[{'value'=>'alert'}, {'value'=>'allow'}, {'value'=>'reset-both'}, {'value'=>'reset-client'}, {'value'=>'reset-server'}]}} def name prop_get('@name') end def inline_policy_action prop_get('inline-policy-action') end def inline_policy_action=(val) prop_set('inline-policy-action', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def mica_engine_vulnerability_enabled maybe_register_subclass('mica-engine-vulnerability-enabled', MicaEngineVulnerabilityEnabled.new(parent_instance: self, client: @client, create_children: @create_children)) end class InlineExceptionEdlUrl < XML::ConfigClass def has_multiple_values?; true; end def _section :'inline-exception-edl-url' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def inline_exception_edl_url maybe_register_subclass('inline-exception-edl-url', InlineExceptionEdlUrl.new(parent_instance: self, client: @client, create_children: @create_children)) end class InlineExceptionIpAddress < XML::ConfigClass def has_multiple_values?; true; end def _section :'inline-exception-ip-address' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'MICA inline exception IP objects', 'maxlen'=>'63'}} # MICA inline exception IP objects def member prop_get('member') end # MICA inline exception IP objects def member=(val) prop_set('member', val) end end def inline_exception_ip_address maybe_register_subclass('inline-exception-ip-address', InlineExceptionIpAddress.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'no'}]}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'cloud-inline-analysis'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable cloud inline analysis'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end # Enable cloud inline analysis def cloud_inline_analysis prop_get('cloud-inline-analysis') end # Enable cloud inline analysis def cloud_inline_analysis=(val) prop_set('cloud-inline-analysis', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vulnerability maybe_register_subclass('vulnerability', Vulnerability.new(parent_instance: self, client: @client, create_children: @create_children)) end class UrlFiltering < XML::ConfigClass def has_multiple_values?; true; end def _section :'url-filtering' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Allow < XML::ConfigClass def has_multiple_values?; true; end def _section :allow end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def allow maybe_register_subclass('allow', Allow.new(parent_instance: self, client: @client, create_children: @create_children)) end class Alert < XML::ConfigClass def has_multiple_values?; true; end def _section :alert end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def alert maybe_register_subclass('alert', Alert.new(parent_instance: self, client: @client, create_children: @create_children)) end class Block < XML::ConfigClass def has_multiple_values?; true; end def _section :block end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def block maybe_register_subclass('block', Block.new(parent_instance: self, client: @client, create_children: @create_children)) end class Continue < XML::ConfigClass def has_multiple_values?; true; end def _section :continue end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def continue maybe_register_subclass('continue', Continue.new(parent_instance: self, client: @client, create_children: @create_children)) end class Override < XML::ConfigClass def has_multiple_values?; true; end def _section :override end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def override maybe_register_subclass('override', Override.new(parent_instance: self, client: @client, create_children: @create_children)) end class CredentialEnforcement < ConfigClass def has_multiple_values?; false; end def _section :'credential-enforcement' end class Mode < XML::ConfigClass def has_multiple_values?; true; end def _section :mode end class Disabled < ConfigClass def has_multiple_values?; false; end def _section :disabled end @props = {} end def disabled @subclasses['disabled'] ||= Disabled.new(parent_instance: self, client: @client, create_children: @create_children) end class IpUser < ConfigClass def has_multiple_values?; false; end def _section :'ip-user' end @props = {} end def ip_user @subclasses['ip-user'] ||= IpUser.new(parent_instance: self, client: @client, create_children: @create_children) end class DomainCredentials < ConfigClass def has_multiple_values?; false; end def _section :'domain-credentials' end @props = {} end def domain_credentials @subclasses['domain-credentials'] ||= DomainCredentials.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'group-mapping'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'default'=>'any', 'help-string'=>'Use Group Mapping'}} # Use Group Mapping def group_mapping prop_get('group-mapping') end # Use Group Mapping def group_mapping=(val) prop_set('group-mapping', val) end end def mode maybe_register_subclass('mode', Mode.new(parent_instance: self, client: @client, create_children: @create_children)) end class Allow < XML::ConfigClass def has_multiple_values?; true; end def _section :allow end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def allow maybe_register_subclass('allow', Allow.new(parent_instance: self, client: @client, create_children: @create_children)) end class Alert < XML::ConfigClass def has_multiple_values?; true; end def _section :alert end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def alert maybe_register_subclass('alert', Alert.new(parent_instance: self, client: @client, create_children: @create_children)) end class Block < XML::ConfigClass def has_multiple_values?; true; end def _section :block end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def block maybe_register_subclass('block', Block.new(parent_instance: self, client: @client, create_children: @create_children)) end class Continue < XML::ConfigClass def has_multiple_values?; true; end def _section :continue end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def continue maybe_register_subclass('continue', Continue.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'log-severity'=>{'node-type'=>'element', 'type'=>'string', 'default'=>'medium', 'help-string'=>'Log severity when credential matched'}} # Log severity when credential matched def log_severity prop_get('log-severity') end # Log severity when credential matched def log_severity=(val) prop_set('log-severity', val) end end def credential_enforcement @subclasses['credential-enforcement'] ||= CredentialEnforcement.new(parent_instance: self, client: @client, create_children: @create_children) end class HttpHeaderInsertion < XML::ConfigClass def has_multiple_values?; true; end def _section :'http-header-insertion' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'100', 'help-string'=>'Header name'}, 'header'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'100', 'complete-handler'=>'http-header-insertion-hdr-name-completer'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'16384', 'regex'=>'[^\s].*', 'complete-handler'=>'http-header-insertion-hdr-val-completer'}, 'log'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} # Header name def name prop_get('@name') end def header prop_get('header') end def header=(val) prop_set('header', val) end def value prop_get('value') end def value=(val) prop_set('value', val) end def log prop_get('log') end def log=(val) prop_set('log', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Domains < XML::ConfigClass def has_multiple_values?; true; end def _section :domains end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'254', 'max-count'=>'50', 'complete-handler'=>'http-header-insertion-host-completer'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def domains maybe_register_subclass('domains', Domains.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'128', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string begin with non-digit: [ 0-9a-zA-Z._-]', 'regex'=>'^[a-zA-Z._-]{1}[ 0-9a-zA-Z._-]*$', 'complete-handler'=>'http-header-insertion-type-completer'}} # alphanumeric string begin with non-digit: [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'256', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string begin with non-digit: [ 0-9a-zA-Z._-]', 'regex'=>'^[a-zA-Z._-]{1}[ 0-9a-zA-Z._-]*$'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'no'}]}} # alphanumeric string begin with non-digit: [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def http_header_insertion maybe_register_subclass('http-header-insertion', HttpHeaderInsertion.new(parent_instance: self, client: @client, create_children: @create_children)) end class MlavCategoryException < XML::ConfigClass def has_multiple_values?; true; end def _section :'mlav-category-exception' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def mlav_category_exception maybe_register_subclass('mlav-category-exception', MlavCategoryException.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'no'}]}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'enable-container-page'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Track container page'}, 'log-container-page-only'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Log container page only'}, 'safe-search-enforcement'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Safe-Search will be enforced if it is set '}, 'log-http-hdr-xff'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Log HTTP Header X-Forwarded-For field'}, 'log-http-hdr-user-agent'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Log HTTP Header User-Agent field'}, 'log-http-hdr-referer'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Log HTTP Header Referer field'}, 'local-inline-cat'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable local inline categorization'}, 'cloud-inline-cat'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable cloud inline categorization'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end # Track container page def enable_container_page prop_get('enable-container-page') end # Track container page def enable_container_page=(val) prop_set('enable-container-page', val) end # Log container page only def log_container_page_only prop_get('log-container-page-only') end # Log container page only def log_container_page_only=(val) prop_set('log-container-page-only', val) end # Safe-Search will be enforced if it is set def safe_search_enforcement prop_get('safe-search-enforcement') end # Safe-Search will be enforced if it is set def safe_search_enforcement=(val) prop_set('safe-search-enforcement', val) end # Log HTTP Header X-Forwarded-For field def log_http_hdr_xff prop_get('log-http-hdr-xff') end # Log HTTP Header X-Forwarded-For field def log_http_hdr_xff=(val) prop_set('log-http-hdr-xff', val) end # Log HTTP Header User-Agent field def log_http_hdr_user_agent prop_get('log-http-hdr-user-agent') end # Log HTTP Header User-Agent field def log_http_hdr_user_agent=(val) prop_set('log-http-hdr-user-agent', val) end # Log HTTP Header Referer field def log_http_hdr_referer prop_get('log-http-hdr-referer') end # Log HTTP Header Referer field def log_http_hdr_referer=(val) prop_set('log-http-hdr-referer', val) end # Enable local inline categorization def local_inline_cat prop_get('local-inline-cat') end # Enable local inline categorization def local_inline_cat=(val) prop_set('local-inline-cat', val) end # Enable cloud inline categorization def cloud_inline_cat prop_get('cloud-inline-cat') end # Enable cloud inline categorization def cloud_inline_cat=(val) prop_set('cloud-inline-cat', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def url_filtering maybe_register_subclass('url-filtering', UrlFiltering.new(parent_instance: self, client: @client, create_children: @create_children)) end class FileBlocking < XML::ConfigClass def has_multiple_values?; true; end def _section :'file-blocking' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Application < XML::ConfigClass def has_multiple_values?; true; end def _section :application end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'content-dependent'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'All applications'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def application maybe_register_subclass('application', Application.new(parent_instance: self, client: @client, create_children: @create_children)) end class FileType < XML::ConfigClass def has_multiple_values?; true; end def _section :'file-type' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'content-dependent'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'All file types'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def file_type maybe_register_subclass('file-type', FileType.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'direction'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'upload'}, {'value'=>'download'}, {'value'=>'both'}]}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'alert', 'enum'=>[{'value'=>'alert'}, {'value'=>'block'}, {'value'=>'continue'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def direction prop_get('direction') end def direction=(val) prop_set('direction', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'no'}]}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def file_blocking maybe_register_subclass('file-blocking', FileBlocking.new(parent_instance: self, client: @client, create_children: @create_children)) end class WildfireAnalysis < XML::ConfigClass def has_multiple_values?; true; end def _section :'wildfire-analysis' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Application < XML::ConfigClass def has_multiple_values?; true; end def _section :application end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'content-dependent'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'All applications'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def application maybe_register_subclass('application', Application.new(parent_instance: self, client: @client, create_children: @create_children)) end class FileType < XML::ConfigClass def has_multiple_values?; true; end def _section :'file-type' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'content-dependent'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'All types'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def file_type maybe_register_subclass('file-type', FileType.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'direction'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'upload'}, {'value'=>'download'}, {'value'=>'both'}]}, 'analysis'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'public-cloud', 'enum'=>[{'value'=>'public-cloud'}, {'value'=>'private-cloud'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def direction prop_get('direction') end def direction=(val) prop_set('direction', val) end def analysis prop_get('analysis') end def analysis=(val) prop_set('analysis', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'47', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'no'}]}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def wildfire_analysis maybe_register_subclass('wildfire-analysis', WildfireAnalysis.new(parent_instance: self, client: @client, create_children: @create_children)) end class CustomUrlCategory < XML::ConfigClass def has_multiple_values?; true; end def _section :'custom-url-category' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class List < XML::ConfigClass def has_multiple_values?; true; end def _section :list end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'complete-handler'=>'custom-url-category-member-completer'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def list maybe_register_subclass('list', List.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string begin with non-digit: [ 0-9a-zA-Z._-]', 'regex'=>'^[a-zA-Z._-]{1}[ 0-9a-zA-Z._-]*$'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'no'}]}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'type'=>{'node-type'=>'element', 'type'=>'string', 'default'=>'URL List'}} # alphanumeric string begin with non-digit: [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end def type prop_get('type') end def type=(val) prop_set('type', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def custom_url_category maybe_register_subclass('custom-url-category', CustomUrlCategory.new(parent_instance: self, client: @client, create_children: @create_children)) end class MlavCategoryExceptionQuickset < XML::ConfigClass def has_multiple_values?; true; end def _section :'mlav-category-exception-quickset' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def mlav_category_exception_quickset maybe_register_subclass('mlav-category-exception-quickset', MlavCategoryExceptionQuickset.new(parent_instance: self, client: @client, create_children: @create_children)) end class DataObjects < XML::ConfigClass def has_multiple_values?; true; end def _section :'data-objects' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class PatternType < XML::ConfigClass def has_multiple_values?; true; end def _section :'pattern-type' end class Predefined < ConfigClass def has_multiple_values?; false; end def _section :predefined end class Pattern < XML::ConfigClass def has_multiple_values?; true; end def _section :pattern end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class FileType < XML::ConfigClass def has_multiple_values?; true; end def _section :'file-type' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'any', 'multi-types'=>{'string'=>{'content-dependent'=>'yes'}, 'enum'=>[{'value'=>'any'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def file_type maybe_register_subclass('file-type', FileType.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'1024', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def pattern maybe_register_subclass('pattern', Pattern.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def predefined @subclasses['predefined'] ||= Predefined.new(parent_instance: self, client: @client, create_children: @create_children) end class Regex < ConfigClass def has_multiple_values?; false; end def _section :regex end class Pattern < XML::ConfigClass def has_multiple_values?; true; end def _section :pattern end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class FileType < XML::ConfigClass def has_multiple_values?; true; end def _section :'file-type' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'any', 'multi-types'=>{'string'=>{'content-dependent'=>'yes'}, 'enum'=>[{'value'=>'any'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def file_type maybe_register_subclass('file-type', FileType.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'regex'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1024'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def regex prop_get('regex') end def regex=(val) prop_set('regex', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def pattern maybe_register_subclass('pattern', Pattern.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def regex @subclasses['regex'] ||= Regex.new(parent_instance: self, client: @client, create_children: @create_children) end class FileProperties < ConfigClass def has_multiple_values?; false; end def _section :'file-properties' end class Pattern < XML::ConfigClass def has_multiple_values?; true; end def _section :pattern end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'file-type'=>{'node-type'=>'element', 'type'=>'string'}, 'file-property'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}, 'property-value'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'256'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def file_type prop_get('file-type') end def file_type=(val) prop_set('file-type', val) end def file_property prop_get('file-property') end def file_property=(val) prop_set('file-property', val) end def property_value prop_get('property-value') end def property_value=(val) prop_set('property-value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def pattern maybe_register_subclass('pattern', Pattern.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def file_properties @subclasses['file-properties'] ||= FileProperties.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def pattern_type maybe_register_subclass('pattern-type', PatternType.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'no'}]}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def data_objects maybe_register_subclass('data-objects', DataObjects.new(parent_instance: self, client: @client, create_children: @create_children)) end class DataFiltering < XML::ConfigClass def has_multiple_values?; true; end def _section :'data-filtering' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Application < XML::ConfigClass def has_multiple_values?; true; end def _section :application end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'content-dependent'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'All applications'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def application maybe_register_subclass('application', Application.new(parent_instance: self, client: @client, create_children: @create_children)) end class FileType < XML::ConfigClass def has_multiple_values?; true; end def _section :'file-type' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'multi-types'=>{'string'=>{'content-dependent'=>'yes'}, 'enum'=>[{'value'=>'any'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def file_type maybe_register_subclass('file-type', FileType.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'data-object'=>{'node-type'=>'element', 'type'=>'string'}, 'direction'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'upload'}, {'value'=>'download'}, {'value'=>'both'}]}, 'alert-threshold'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535', 'default'=>'1', 'optional'=>'yes'}, 'block-threshold'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535', 'default'=>'1', 'optional'=>'yes'}, 'log-severity'=>{'node-type'=>'element', 'type'=>'string', 'default'=>'informational', 'optional'=>'yes'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def data_object prop_get('data-object') end def data_object=(val) prop_set('data-object', val) end def direction prop_get('direction') end def direction=(val) prop_set('direction', val) end def alert_threshold prop_get('alert-threshold') end def alert_threshold=(val) prop_set('alert-threshold', val) end def block_threshold prop_get('block-threshold') end def block_threshold=(val) prop_set('block-threshold', val) end def log_severity prop_get('log-severity') end def log_severity=(val) prop_set('log-severity', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'64', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'no'}]}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'data-capture'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end def data_capture prop_get('data-capture') end def data_capture=(val) prop_set('data-capture', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def data_filtering maybe_register_subclass('data-filtering', DataFiltering.new(parent_instance: self, client: @client, create_children: @create_children)) end class HipProfiles < XML::ConfigClass def has_multiple_values?; true; end def _section :'hip-profiles' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'no'}]}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'match'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end def match prop_get('match') end def match=(val) prop_set('match', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def hip_profiles maybe_register_subclass('hip-profiles', HipProfiles.new(parent_instance: self, client: @client, create_children: @create_children)) end class Gtp < XML::ConfigClass def has_multiple_values?; true; end def _section :gtp end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class GtpInspection < ConfigClass def has_multiple_values?; false; end def _section :'gtp-inspection' end class GtpC < ConfigClass def has_multiple_values?; false; end def _section :'gtp-c' end class Gtpv1C < ConfigClass def has_multiple_values?; false; end def _section :'gtpv1-c' end class ValidityChecks < ConfigClass def has_multiple_values?; false; end def _section :'validity-checks' end @props = {'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'alert', 'enum'=>[{'value'=>'block'}, {'value'=>'alert'}]}, 'reserved-ie'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'order-of-ie'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'length-of-ie'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'reserved-hdr-field'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'spare flag'}, 'unknown-message'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} def action prop_get('action') end def action=(val) prop_set('action', val) end def reserved_ie prop_get('reserved-ie') end def reserved_ie=(val) prop_set('reserved-ie', val) end def order_of_ie prop_get('order-of-ie') end def order_of_ie=(val) prop_set('order-of-ie', val) end def length_of_ie prop_get('length-of-ie') end def length_of_ie=(val) prop_set('length-of-ie', val) end # spare flag def reserved_hdr_field prop_get('reserved-hdr-field') end # spare flag def reserved_hdr_field=(val) prop_set('reserved-hdr-field', val) end def unknown_message prop_get('unknown-message') end def unknown_message=(val) prop_set('unknown-message', val) end end def validity_checks @subclasses['validity-checks'] ||= ValidityChecks.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'stateful-inspection'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} def stateful_inspection prop_get('stateful-inspection') end def stateful_inspection=(val) prop_set('stateful-inspection', val) end end def gtpv1_c @subclasses['gtpv1-c'] ||= Gtpv1C.new(parent_instance: self, client: @client, create_children: @create_children) end class Gtpv2C < ConfigClass def has_multiple_values?; false; end def _section :'gtpv2-c' end class ValidityChecks < ConfigClass def has_multiple_values?; false; end def _section :'validity-checks' end @props = {'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'alert', 'enum'=>[{'value'=>'block'}, {'value'=>'alert'}]}, 'reserved-ie'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'length-of-ie'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'reserved-hdr-field'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'spare flags OR spare field'}, 'unknown-message'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} def action prop_get('action') end def action=(val) prop_set('action', val) end def reserved_ie prop_get('reserved-ie') end def reserved_ie=(val) prop_set('reserved-ie', val) end def length_of_ie prop_get('length-of-ie') end def length_of_ie=(val) prop_set('length-of-ie', val) end # spare flags OR spare field def reserved_hdr_field prop_get('reserved-hdr-field') end # spare flags OR spare field def reserved_hdr_field=(val) prop_set('reserved-hdr-field', val) end def unknown_message prop_get('unknown-message') end def unknown_message=(val) prop_set('unknown-message', val) end end def validity_checks @subclasses['validity-checks'] ||= ValidityChecks.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'stateful-inspection'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} def stateful_inspection prop_get('stateful-inspection') end def stateful_inspection=(val) prop_set('stateful-inspection', val) end end def gtpv2_c @subclasses['gtpv2-c'] ||= Gtpv2C.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def gtp_c @subclasses['gtp-c'] ||= GtpC.new(parent_instance: self, client: @client, create_children: @create_children) end class GtpU < ConfigClass def has_multiple_values?; false; end def _section :'gtp-u' end class ValidityChecks < ConfigClass def has_multiple_values?; false; end def _section :'validity-checks' end @props = {'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'alert', 'enum'=>[{'value'=>'block'}, {'value'=>'alert'}]}, 'reserved-ie'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'order-of-ie'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'length-of-ie'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'reserved-hdr-field'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'spare flag'}, 'unknown-message'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} def action prop_get('action') end def action=(val) prop_set('action', val) end def reserved_ie prop_get('reserved-ie') end def reserved_ie=(val) prop_set('reserved-ie', val) end def order_of_ie prop_get('order-of-ie') end def order_of_ie=(val) prop_set('order-of-ie', val) end def length_of_ie prop_get('length-of-ie') end def length_of_ie=(val) prop_set('length-of-ie', val) end # spare flag def reserved_hdr_field prop_get('reserved-hdr-field') end # spare flag def reserved_hdr_field=(val) prop_set('reserved-hdr-field', val) end def unknown_message prop_get('unknown-message') end def unknown_message=(val) prop_set('unknown-message', val) end end def validity_checks @subclasses['validity-checks'] ||= ValidityChecks.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'gtp-in-gtp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'block', 'enum'=>[{'value'=>'allow'}, {'value'=>'block'}, {'value'=>'alert'}]}, 'user-ip-spoofing'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'block', 'enum'=>[{'value'=>'allow'}, {'value'=>'block'}, {'value'=>'alert'}]}, 'log-at-session-start'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'log-at-session-end'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'gtpu-content-inspection'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'GTPv1-C, GTPv2-C and/or 5G-C Stateful Inspection with GTP-U Content Inspection provides IMSI and IMEI correlation with IP traffic encapsulated in GTP-U packets'}} def gtp_in_gtp prop_get('gtp-in-gtp') end def gtp_in_gtp=(val) prop_set('gtp-in-gtp', val) end def user_ip_spoofing prop_get('user-ip-spoofing') end def user_ip_spoofing=(val) prop_set('user-ip-spoofing', val) end def log_at_session_start prop_get('log-at-session-start') end def log_at_session_start=(val) prop_set('log-at-session-start', val) end def log_at_session_end prop_get('log-at-session-end') end def log_at_session_end=(val) prop_set('log-at-session-end', val) end # GTPv1-C, GTPv2-C and/or 5G-C Stateful Inspection with GTP-U Content Inspection provides IMSI and IMEI correlation with IP traffic encapsulated in GTP-U packets def gtpu_content_inspection prop_get('gtpu-content-inspection') end # GTPv1-C, GTPv2-C and/or 5G-C Stateful Inspection with GTP-U Content Inspection provides IMSI and IMEI correlation with IP traffic encapsulated in GTP-U packets def gtpu_content_inspection=(val) prop_set('gtpu-content-inspection', val) end end def gtp_u @subclasses['gtp-u'] ||= GtpU.new(parent_instance: self, client: @client, create_children: @create_children) end class Gtp5gC < ConfigClass def has_multiple_values?; false; end def _section :'gtp-5g-c' end @props = {'gtp-5g-http2'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'5g http2 inspection'}} # 5g http2 inspection def gtp_5g_http2 prop_get('gtp-5g-http2') end # 5g http2 inspection def gtp_5g_http2=(val) prop_set('gtp-5g-http2', val) end end def gtp_5g_c @subclasses['gtp-5g-c'] ||= Gtp5gC.new(parent_instance: self, client: @client, create_children: @create_children) end class Pfcp < ConfigClass def has_multiple_values?; false; end def _section :pfcp end @props = {'stateful-inspection'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'pfcp inspection'}, 'check-association-msg'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'allow', 'enum'=>[{'value'=>'allow'}, {'value'=>'block'}, {'value'=>'alert'}]}, 'check-session-msg'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'allow', 'enum'=>[{'value'=>'allow'}, {'value'=>'block'}, {'value'=>'alert'}]}, 'check-seq-num'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'allow', 'enum'=>[{'value'=>'allow'}, {'value'=>'block'}, {'value'=>'alert'}]}, 'log-at-association-start'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'log-at-association-end'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'log-at-session-start'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'log-at-session-end'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} # pfcp inspection def stateful_inspection prop_get('stateful-inspection') end # pfcp inspection def stateful_inspection=(val) prop_set('stateful-inspection', val) end def check_association_msg prop_get('check-association-msg') end def check_association_msg=(val) prop_set('check-association-msg', val) end def check_session_msg prop_get('check-session-msg') end def check_session_msg=(val) prop_set('check-session-msg', val) end def check_seq_num prop_get('check-seq-num') end def check_seq_num=(val) prop_set('check-seq-num', val) end def log_at_association_start prop_get('log-at-association-start') end def log_at_association_start=(val) prop_set('log-at-association-start', val) end def log_at_association_end prop_get('log-at-association-end') end def log_at_association_end=(val) prop_set('log-at-association-end', val) end def log_at_session_start prop_get('log-at-session-start') end def log_at_session_start=(val) prop_set('log-at-session-start', val) end def log_at_session_end prop_get('log-at-session-end') end def log_at_session_end=(val) prop_set('log-at-session-end', val) end end def pfcp @subclasses['pfcp'] ||= Pfcp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def gtp_inspection @subclasses['gtp-inspection'] ||= GtpInspection.new(parent_instance: self, client: @client, create_children: @create_children) end class Correlation < ConfigClass def has_multiple_values?; false; end def _section :correlation end @props = {'ueip-correlation'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'UEIP correlation'}, 'mode'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'loose', 'enum'=>[{'value'=>'loose'}, {'value'=>'strict'}]}, 'source'=>{'node-type'=>'element', 'optional'=>'no', 'type'=>'enum', 'default'=>'pfcp', 'enum'=>[{'value'=>'pfcp'}, {'value'=>'radius'}]}, 'log-at-ueip-start'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'log-at-ueip-end'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} # UEIP correlation def ueip_correlation prop_get('ueip-correlation') end # UEIP correlation def ueip_correlation=(val) prop_set('ueip-correlation', val) end def mode prop_get('mode') end def mode=(val) prop_set('mode', val) end def source prop_get('source') end def source=(val) prop_set('source', val) end def log_at_ueip_start prop_get('log-at-ueip-start') end def log_at_ueip_start=(val) prop_set('log-at-ueip-start', val) end def log_at_ueip_end prop_get('log-at-ueip-end') end def log_at_ueip_end=(val) prop_set('log-at-ueip-end', val) end end def correlation @subclasses['correlation'] ||= Correlation.new(parent_instance: self, client: @client, create_children: @create_children) end class Filtering < ConfigClass def has_multiple_values?; false; end def _section :filtering end class ImsiPrefix < XML::ConfigClass def has_multiple_values?; true; end def _section :'imsi-prefix' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'15', 'help-string'=>'digit string followed by an optional *', 'regex'=>'^([*]|[0-9][0-9]+[* 0-9])$'}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'0', 'maxlen'=>'36'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'allow', 'enum'=>[{'value'=>'allow'}, {'value'=>'block'}, {'value'=>'alert'}]}} # digit string followed by an optional * def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def imsi_prefix maybe_register_subclass('imsi-prefix', ImsiPrefix.new(parent_instance: self, client: @client, create_children: @create_children)) end class Apn < XML::ConfigClass def has_multiple_values?; true; end def _section :apn end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'100', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]', 'regex'=>'^([*]|[ -)+-~]+)$'}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'0', 'maxlen'=>'36'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'allow', 'enum'=>[{'value'=>'allow'}, {'value'=>'block'}, {'value'=>'alert'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def apn maybe_register_subclass('apn', Apn.new(parent_instance: self, client: @client, create_children: @create_children)) end class Rat < ConfigClass def has_multiple_values?; false; end def _section :rat end @props = {'utran'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'allow', 'enum'=>[{'value'=>'allow'}, {'value'=>'block'}, {'value'=>'alert'}]}, 'geran'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'allow', 'enum'=>[{'value'=>'allow'}, {'value'=>'block'}, {'value'=>'alert'}]}, 'wlan'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'allow', 'enum'=>[{'value'=>'allow'}, {'value'=>'block'}, {'value'=>'alert'}]}, 'gan'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'allow', 'enum'=>[{'value'=>'allow'}, {'value'=>'block'}, {'value'=>'alert'}]}, 'hspa-evolution'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'allow', 'enum'=>[{'value'=>'allow'}, {'value'=>'block'}, {'value'=>'alert'}]}, 'eutran'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'allow', 'enum'=>[{'value'=>'allow'}, {'value'=>'block'}, {'value'=>'alert'}]}, 'virtual'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'allow', 'enum'=>[{'value'=>'allow'}, {'value'=>'block'}, {'value'=>'alert'}]}, 'eutran-nb-iot'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'allow', 'enum'=>[{'value'=>'allow'}, {'value'=>'block'}, {'value'=>'alert'}]}, 'lte-m'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'allow', 'enum'=>[{'value'=>'allow'}, {'value'=>'block'}, {'value'=>'alert'}]}, 'nr'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'allow', 'enum'=>[{'value'=>'allow'}, {'value'=>'block'}, {'value'=>'alert'}]}} def utran prop_get('utran') end def utran=(val) prop_set('utran', val) end def geran prop_get('geran') end def geran=(val) prop_set('geran', val) end def wlan prop_get('wlan') end def wlan=(val) prop_set('wlan', val) end def gan prop_get('gan') end def gan=(val) prop_set('gan', val) end def hspa_evolution prop_get('hspa-evolution') end def hspa_evolution=(val) prop_set('hspa-evolution', val) end def eutran prop_get('eutran') end def eutran=(val) prop_set('eutran', val) end def virtual prop_get('virtual') end def virtual=(val) prop_set('virtual', val) end def eutran_nb_iot prop_get('eutran-nb-iot') end def eutran_nb_iot=(val) prop_set('eutran-nb-iot', val) end def lte_m prop_get('lte-m') end def lte_m=(val) prop_set('lte-m', val) end def nr prop_get('nr') end def nr=(val) prop_set('nr', val) end end def rat @subclasses['rat'] ||= Rat.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def filtering @subclasses['filtering'] ||= Filtering.new(parent_instance: self, client: @client, create_children: @create_children) end class TunnelLimit < ConfigClass def has_multiple_values?; false; end def _section :'tunnel-limit' end class GtpU < ConfigClass def has_multiple_values?; false; end def _section :'gtp-u' end @props = {'max-tunnel-limit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'100000000', 'default'=>'0'}, 'alert-tunnel-limit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'100000000', 'default'=>'0'}} def max_tunnel_limit prop_get('max-tunnel-limit') end def max_tunnel_limit=(val) prop_set('max-tunnel-limit', val) end def alert_tunnel_limit prop_get('alert-tunnel-limit') end def alert_tunnel_limit=(val) prop_set('alert-tunnel-limit', val) end end def gtp_u @subclasses['gtp-u'] ||= GtpU.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'log-frequency'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'10000000', 'default'=>'100'}} def log_frequency prop_get('log-frequency') end def log_frequency=(val) prop_set('log-frequency', val) end end def tunnel_limit @subclasses['tunnel-limit'] ||= TunnelLimit.new(parent_instance: self, client: @client, create_children: @create_children) end class Overbilling < ConfigClass def has_multiple_values?; false; end def _section :overbilling end @props = {'vsys'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'no-default'=>'yes', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def vsys prop_get('vsys') end # alphanumeric string [ 0-9a-zA-Z._-] def vsys=(val) prop_set('vsys', val) end end def overbilling @subclasses['overbilling'] ||= Overbilling.new(parent_instance: self, client: @client, create_children: @create_children) end class GtpLog < ConfigClass def has_multiple_values?; false; end def _section :'gtp-log' end class Gtpv1cAllowedMessages < ConfigClass def has_multiple_values?; false; end def _section :'gtpv1c-allowed-messages' end @props = {'tunnel-management'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool'}, 'path-management'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool'}, 'others'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool'}} def tunnel_management prop_get('tunnel-management') end def tunnel_management=(val) prop_set('tunnel-management', val) end def path_management prop_get('path-management') end def path_management=(val) prop_set('path-management', val) end def others prop_get('others') end def others=(val) prop_set('others', val) end end def gtpv1c_allowed_messages @subclasses['gtpv1c-allowed-messages'] ||= Gtpv1cAllowedMessages.new(parent_instance: self, client: @client, create_children: @create_children) end class Gtpv2cAllowedMessages < ConfigClass def has_multiple_values?; false; end def _section :'gtpv2c-allowed-messages' end @props = {'tunnel-management'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool'}, 'path-management'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool'}, 'others'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool'}} def tunnel_management prop_get('tunnel-management') end def tunnel_management=(val) prop_set('tunnel-management', val) end def path_management prop_get('path-management') end def path_management=(val) prop_set('path-management', val) end def others prop_get('others') end def others=(val) prop_set('others', val) end end def gtpv2c_allowed_messages @subclasses['gtpv2c-allowed-messages'] ||= Gtpv2cAllowedMessages.new(parent_instance: self, client: @client, create_children: @create_children) end class GtpuAllowedMessages < ConfigClass def has_multiple_values?; false; end def _section :'gtpu-allowed-messages' end @props = {'tunnel-management'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool'}, 'path-management'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool'}, 'g-pdu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool'}, 'packets-per-tunnel'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'10', 'default'=>'1'}} def tunnel_management prop_get('tunnel-management') end def tunnel_management=(val) prop_set('tunnel-management', val) end def path_management prop_get('path-management') end def path_management=(val) prop_set('path-management', val) end def g_pdu prop_get('g-pdu') end def g_pdu=(val) prop_set('g-pdu', val) end def packets_per_tunnel prop_get('packets-per-tunnel') end def packets_per_tunnel=(val) prop_set('packets-per-tunnel', val) end end def gtpu_allowed_messages @subclasses['gtpu-allowed-messages'] ||= GtpuAllowedMessages.new(parent_instance: self, client: @client, create_children: @create_children) end class Gtp5gAllowedMessages < ConfigClass def has_multiple_values?; false; end def _section :'gtp-5g-allowed-messages' end @props = {'N11'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool'}} def N11 prop_get('N11') end def N11=(val) prop_set('N11', val) end end def gtp_5g_allowed_messages @subclasses['gtp-5g-allowed-messages'] ||= Gtp5gAllowedMessages.new(parent_instance: self, client: @client, create_children: @create_children) end class PfcpAllowedMessages < ConfigClass def has_multiple_values?; false; end def _section :'pfcp-allowed-messages' end @props = {'session-establishment'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool'}, 'session-modification'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool'}, 'session-deletion'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool'}} def session_establishment prop_get('session-establishment') end def session_establishment=(val) prop_set('session-establishment', val) end def session_modification prop_get('session-modification') end def session_modification=(val) prop_set('session-modification', val) end def session_deletion prop_get('session-deletion') end def session_deletion=(val) prop_set('session-deletion', val) end end def pfcp_allowed_messages @subclasses['pfcp-allowed-messages'] ||= PfcpAllowedMessages.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'user-location'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'packet-capture'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} def user_location prop_get('user-location') end def user_location=(val) prop_set('user-location', val) end def packet_capture prop_get('packet-capture') end def packet_capture=(val) prop_set('packet-capture', val) end end def gtp_log @subclasses['gtp-log'] ||= GtpLog.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'128'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def gtp maybe_register_subclass('gtp', Gtp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Sctp < XML::ConfigClass def has_multiple_values?; true; end def _section :sctp end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SctpInspection < ConfigClass def has_multiple_values?; false; end def _section :'sctp-inspection' end class ValidityChecks < ConfigClass def has_multiple_values?; false; end def _section :'validity-checks' end @props = {'unknown-chunk'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'allow', 'enum'=>[{'value'=>'allow'}, {'value'=>'alert'}, {'value'=>'block'}]}, 'chunk-flags'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'allow', 'enum'=>[{'value'=>'allow'}, {'value'=>'alert'}, {'value'=>'block'}]}, 'invalid-length'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'allow', 'enum'=>[{'value'=>'allow'}, {'value'=>'block'}]}} def unknown_chunk prop_get('unknown-chunk') end def unknown_chunk=(val) prop_set('unknown-chunk', val) end def chunk_flags prop_get('chunk-flags') end def chunk_flags=(val) prop_set('chunk-flags', val) end def invalid_length prop_get('invalid-length') end def invalid_length=(val) prop_set('invalid-length', val) end end def validity_checks @subclasses['validity-checks'] ||= ValidityChecks.new(parent_instance: self, client: @client, create_children: @create_children) end class LogSetting < ConfigClass def has_multiple_values?; false; end def _section :'log-setting' end @props = {'sctp-start'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Log at Association Start'}, 'sctp-end'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Log at Association End'}, 'init-chunks'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Log Allowed Association Initialization Chunks'}, 'heartbeat-chunks'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Log Allowed Heartbeat Chunks'}, 'termination-chunks'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Log Allowed Association Termination Chunks'}, 'all-control-chunks'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Log All Control Chunks'}, 'state-failure-events'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Log State Failure Events'}} # Log at Association Start def sctp_start prop_get('sctp-start') end # Log at Association Start def sctp_start=(val) prop_set('sctp-start', val) end # Log at Association End def sctp_end prop_get('sctp-end') end # Log at Association End def sctp_end=(val) prop_set('sctp-end', val) end # Log Allowed Association Initialization Chunks def init_chunks prop_get('init-chunks') end # Log Allowed Association Initialization Chunks def init_chunks=(val) prop_set('init-chunks', val) end # Log Allowed Heartbeat Chunks def heartbeat_chunks prop_get('heartbeat-chunks') end # Log Allowed Heartbeat Chunks def heartbeat_chunks=(val) prop_set('heartbeat-chunks', val) end # Log Allowed Association Termination Chunks def termination_chunks prop_get('termination-chunks') end # Log Allowed Association Termination Chunks def termination_chunks=(val) prop_set('termination-chunks', val) end # Log All Control Chunks def all_control_chunks prop_get('all-control-chunks') end # Log All Control Chunks def all_control_chunks=(val) prop_set('all-control-chunks', val) end # Log State Failure Events def state_failure_events prop_get('state-failure-events') end # Log State Failure Events def state_failure_events=(val) prop_set('state-failure-events', val) end end def log_setting @subclasses['log-setting'] ||= LogSetting.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'multihoming'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'8', 'default'=>'4'}} def multihoming prop_get('multihoming') end def multihoming=(val) prop_set('multihoming', val) end end def sctp_inspection @subclasses['sctp-inspection'] ||= SctpInspection.new(parent_instance: self, client: @client, create_children: @create_children) end class SctpFiltering < ConfigClass def has_multiple_values?; false; end def _section :'sctp-filtering' end class SctpPpid < XML::ConfigClass def has_multiple_values?; true; end def _section :'sctp-ppid' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'20', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'ppid'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'default'=>'any'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'allow', 'enum'=>[{'value'=>'allow'}, {'value'=>'alert'}, {'value'=>'block'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def ppid prop_get('ppid') end def ppid=(val) prop_set('ppid', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def sctp_ppid maybe_register_subclass('sctp-ppid', SctpPpid.new(parent_instance: self, client: @client, create_children: @create_children)) end class SctpSs7 < XML::ConfigClass def has_multiple_values?; true; end def _section :'sctp-ss7' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Ss7CpSsn < XML::ConfigClass def has_multiple_values?; true; end def _section :'ss7-cp-ssn' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Ss7OpCode < XML::ConfigClass def has_multiple_values?; true; end def _section :'ss7-op-code' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'max-count'=>'256', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def ss7_op_code maybe_register_subclass('ss7-op-code', Ss7OpCode.new(parent_instance: self, client: @client, create_children: @create_children)) end class Ss7CpGt < XML::ConfigClass def has_multiple_values?; true; end def _section :'ss7-cp-gt' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'max-count'=>'512', 'multi-types'=>{'string'=>{'minlen'=>'1', 'maxlen'=>'15', 'help-string'=>'digit string followed by an optional *', 'regex'=>'^([0-9])*[* 0-9]$'}, 'enum'=>[{'value'=>'any'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def ss7_cp_gt maybe_register_subclass('ss7-cp-gt', Ss7CpGt.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'20', 'help-string'=>'SCCP SSN name'}} # SCCP SSN name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ss7_cp_ssn maybe_register_subclass('ss7-cp-ssn', Ss7CpSsn.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'20', 'sub-type'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'allow', 'enum'=>[{'value'=>'allow'}, {'value'=>'alert'}, {'value'=>'block'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def action prop_get('action') end def action=(val) prop_set('action', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def sctp_ss7 maybe_register_subclass('sctp-ss7', SctpSs7.new(parent_instance: self, client: @client, create_children: @create_children)) end class SctpDiameter < XML::ConfigClass def has_multiple_values?; true; end def _section :'sctp-diameter' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class DiameterApplicationId < XML::ConfigClass def has_multiple_values?; true; end def _section :'diameter-application-id' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class DiameterCmdCode < XML::ConfigClass def has_multiple_values?; true; end def _section :'diameter-cmd-code' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'max-count'=>'128', 'multi-types'=>{'string'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def diameter_cmd_code maybe_register_subclass('diameter-cmd-code', DiameterCmdCode.new(parent_instance: self, client: @client, create_children: @create_children)) end class DiameterAvp < XML::ConfigClass def has_multiple_values?; true; end def _section :'diameter-avp' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'max-count'=>'512', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'16777215'}, 'enum'=>[{'value'=>'any'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def diameter_avp maybe_register_subclass('diameter-avp', DiameterAvp.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'64', 'help-string'=>'appid name'}} # appid name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def diameter_application_id maybe_register_subclass('diameter-application-id', DiameterApplicationId.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'20', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'allow', 'enum'=>[{'value'=>'allow'}, {'value'=>'alert'}, {'value'=>'block'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def action prop_get('action') end def action=(val) prop_set('action', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def sctp_diameter maybe_register_subclass('sctp-diameter', SctpDiameter.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def sctp_filtering @subclasses['sctp-filtering'] ||= SctpFiltering.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'20', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def sctp maybe_register_subclass('sctp', Sctp.new(parent_instance: self, client: @client, create_children: @create_children)) end class DosProtection < XML::ConfigClass def has_multiple_values?; true; end def _section :'dos-protection' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Flood < ConfigClass def has_multiple_values?; false; end def _section :flood end class TcpSyn < ConfigClass def has_multiple_values?; false; end def _section :'tcp-syn' end class Red < ConfigClass def has_multiple_values?; false; end def _section :red end class Block < ConfigClass def has_multiple_values?; false; end def _section :block end @props = {'duration'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'1', 'max'=>'21600', 'default'=>'300'}} def duration prop_get('duration') end def duration=(val) prop_set('duration', val) end end def block @subclasses['block'] ||= Block.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'alarm-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'2000000', 'default'=>'10000', 'help-string'=>'Connection rate (cps) to generate alarm'}, 'activate-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000000', 'default'=>'10000', 'help-string'=>'Connection rate (cps) to start RED'}, 'maximal-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000000', 'default'=>'40000', 'help-string'=>'Maximal connection rate (cps) allowed'}} # Connection rate (cps) to generate alarm def alarm_rate prop_get('alarm-rate') end # Connection rate (cps) to generate alarm def alarm_rate=(val) prop_set('alarm-rate', val) end # Connection rate (cps) to start RED def activate_rate prop_get('activate-rate') end # Connection rate (cps) to start RED def activate_rate=(val) prop_set('activate-rate', val) end # Maximal connection rate (cps) allowed def maximal_rate prop_get('maximal-rate') end # Maximal connection rate (cps) allowed def maximal_rate=(val) prop_set('maximal-rate', val) end end def red @subclasses['red'] ||= Red.new(parent_instance: self, client: @client, create_children: @create_children) end class SynCookies < ConfigClass def has_multiple_values?; false; end def _section :'syn-cookies' end class Block < ConfigClass def has_multiple_values?; false; end def _section :block end @props = {'duration'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'1', 'max'=>'21600', 'default'=>'300'}} def duration prop_get('duration') end def duration=(val) prop_set('duration', val) end end def block @subclasses['block'] ||= Block.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'alarm-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'2000000', 'default'=>'10000', 'help-string'=>'Connection rate (cps) to generate alarm'}, 'activate-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'2000000', 'default'=>'0', 'help-string'=>'Connection rate (cps) to activate SYN cookies proxy'}, 'maximal-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000000', 'default'=>'1000000', 'help-string'=>'Maximal connection rate (cps) allowed'}} # Connection rate (cps) to generate alarm def alarm_rate prop_get('alarm-rate') end # Connection rate (cps) to generate alarm def alarm_rate=(val) prop_set('alarm-rate', val) end # Connection rate (cps) to activate SYN cookies proxy def activate_rate prop_get('activate-rate') end # Connection rate (cps) to activate SYN cookies proxy def activate_rate=(val) prop_set('activate-rate', val) end # Maximal connection rate (cps) allowed def maximal_rate prop_get('maximal-rate') end # Maximal connection rate (cps) allowed def maximal_rate=(val) prop_set('maximal-rate', val) end end def syn_cookies @subclasses['syn-cookies'] ||= SynCookies.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def tcp_syn @subclasses['tcp-syn'] ||= TcpSyn.new(parent_instance: self, client: @client, create_children: @create_children) end class Udp < ConfigClass def has_multiple_values?; false; end def _section :udp end class Red < ConfigClass def has_multiple_values?; false; end def _section :red end class Block < ConfigClass def has_multiple_values?; false; end def _section :block end @props = {'duration'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'1', 'max'=>'21600', 'default'=>'300'}} def duration prop_get('duration') end def duration=(val) prop_set('duration', val) end end def block @subclasses['block'] ||= Block.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'alarm-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'2000000', 'default'=>'10000', 'help-string'=>'Connection rate (cps) to generate alarm'}, 'activate-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000000', 'default'=>'10000', 'help-string'=>'Connection rate (cps) to start RED'}, 'maximal-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000000', 'default'=>'40000', 'help-string'=>'Maximal connection rate (cps) allowed'}} # Connection rate (cps) to generate alarm def alarm_rate prop_get('alarm-rate') end # Connection rate (cps) to generate alarm def alarm_rate=(val) prop_set('alarm-rate', val) end # Connection rate (cps) to start RED def activate_rate prop_get('activate-rate') end # Connection rate (cps) to start RED def activate_rate=(val) prop_set('activate-rate', val) end # Maximal connection rate (cps) allowed def maximal_rate prop_get('maximal-rate') end # Maximal connection rate (cps) allowed def maximal_rate=(val) prop_set('maximal-rate', val) end end def red @subclasses['red'] ||= Red.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def udp @subclasses['udp'] ||= Udp.new(parent_instance: self, client: @client, create_children: @create_children) end class Icmp < ConfigClass def has_multiple_values?; false; end def _section :icmp end class Red < ConfigClass def has_multiple_values?; false; end def _section :red end class Block < ConfigClass def has_multiple_values?; false; end def _section :block end @props = {'duration'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'1', 'max'=>'21600', 'default'=>'300'}} def duration prop_get('duration') end def duration=(val) prop_set('duration', val) end end def block @subclasses['block'] ||= Block.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'alarm-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'2000000', 'default'=>'10000', 'help-string'=>'Connection rate (cps) to generate alarm'}, 'activate-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000000', 'default'=>'10000', 'help-string'=>'Connection rate (cps) to start RED'}, 'maximal-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000000', 'default'=>'40000', 'help-string'=>'Maximal connection rate (cps) allowed'}} # Connection rate (cps) to generate alarm def alarm_rate prop_get('alarm-rate') end # Connection rate (cps) to generate alarm def alarm_rate=(val) prop_set('alarm-rate', val) end # Connection rate (cps) to start RED def activate_rate prop_get('activate-rate') end # Connection rate (cps) to start RED def activate_rate=(val) prop_set('activate-rate', val) end # Maximal connection rate (cps) allowed def maximal_rate prop_get('maximal-rate') end # Maximal connection rate (cps) allowed def maximal_rate=(val) prop_set('maximal-rate', val) end end def red @subclasses['red'] ||= Red.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def icmp @subclasses['icmp'] ||= Icmp.new(parent_instance: self, client: @client, create_children: @create_children) end class Icmpv6 < ConfigClass def has_multiple_values?; false; end def _section :icmpv6 end class Red < ConfigClass def has_multiple_values?; false; end def _section :red end class Block < ConfigClass def has_multiple_values?; false; end def _section :block end @props = {'duration'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'1', 'max'=>'21600', 'default'=>'300'}} def duration prop_get('duration') end def duration=(val) prop_set('duration', val) end end def block @subclasses['block'] ||= Block.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'alarm-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'2000000', 'default'=>'10000', 'help-string'=>'Connection rate (cps) to generate alarm'}, 'activate-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000000', 'default'=>'10000', 'help-string'=>'Connection rate (cps) to start RED'}, 'maximal-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000000', 'default'=>'40000', 'help-string'=>'Maximal connection rate (cps) allowed'}} # Connection rate (cps) to generate alarm def alarm_rate prop_get('alarm-rate') end # Connection rate (cps) to generate alarm def alarm_rate=(val) prop_set('alarm-rate', val) end # Connection rate (cps) to start RED def activate_rate prop_get('activate-rate') end # Connection rate (cps) to start RED def activate_rate=(val) prop_set('activate-rate', val) end # Maximal connection rate (cps) allowed def maximal_rate prop_get('maximal-rate') end # Maximal connection rate (cps) allowed def maximal_rate=(val) prop_set('maximal-rate', val) end end def red @subclasses['red'] ||= Red.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def icmpv6 @subclasses['icmpv6'] ||= Icmpv6.new(parent_instance: self, client: @client, create_children: @create_children) end class OtherIp < ConfigClass def has_multiple_values?; false; end def _section :'other-ip' end class Red < ConfigClass def has_multiple_values?; false; end def _section :red end class Block < ConfigClass def has_multiple_values?; false; end def _section :block end @props = {'duration'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'1', 'max'=>'21600', 'default'=>'300'}} def duration prop_get('duration') end def duration=(val) prop_set('duration', val) end end def block @subclasses['block'] ||= Block.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'alarm-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'2000000', 'default'=>'10000', 'help-string'=>'Connection rate (cps) to generate alarm'}, 'activate-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000000', 'default'=>'10000', 'help-string'=>'Connection rate (cps) to start RED'}, 'maximal-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000000', 'default'=>'40000', 'help-string'=>'Maximal connection rate (cps) allowed'}} # Connection rate (cps) to generate alarm def alarm_rate prop_get('alarm-rate') end # Connection rate (cps) to generate alarm def alarm_rate=(val) prop_set('alarm-rate', val) end # Connection rate (cps) to start RED def activate_rate prop_get('activate-rate') end # Connection rate (cps) to start RED def activate_rate=(val) prop_set('activate-rate', val) end # Maximal connection rate (cps) allowed def maximal_rate prop_get('maximal-rate') end # Maximal connection rate (cps) allowed def maximal_rate=(val) prop_set('maximal-rate', val) end end def red @subclasses['red'] ||= Red.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def other_ip @subclasses['other-ip'] ||= OtherIp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def flood @subclasses['flood'] ||= Flood.new(parent_instance: self, client: @client, create_children: @create_children) end class Resource < ConfigClass def has_multiple_values?; false; end def _section :resource end class Sessions < ConfigClass def has_multiple_values?; false; end def _section :sessions end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'max-concurrent-limit'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'1', 'max'=>'4194304', 'platform-max'=>'cfg.general.max-session', 'default'=>'32768'}} def enabled prop_get('enabled') end def enabled=(val) prop_set('enabled', val) end def max_concurrent_limit prop_get('max-concurrent-limit') end def max_concurrent_limit=(val) prop_set('max-concurrent-limit', val) end end def sessions @subclasses['sessions'] ||= Sessions.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def resource @subclasses['resource'] ||= Resource.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'no'}]}, 'type'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'aggregate'}, {'value'=>'classified'}]}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end def type prop_get('type') end def type=(val) prop_set('type', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def dos_protection maybe_register_subclass('dos-protection', DosProtection.new(parent_instance: self, client: @client, create_children: @create_children)) end class SdwanPathQuality < XML::ConfigClass def has_multiple_values?; true; end def _section :'sdwan-path-quality' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Metric < ConfigClass def has_multiple_values?; false; end def _section :metric end class Latency < ConfigClass def has_multiple_values?; false; end def _section :latency end @props = {'threshold'=>{'node-type'=>'element', 'help-string'=>'latency threshold in ms', 'type'=>'rangedint', 'max'=>'3000', 'min'=>'10', 'default'=>'100'}, 'sensitivity'=>{'node-type'=>'element', 'help-string'=>'latency sensitivity', 'type'=>'enum', 'default'=>'medium', 'enum'=>[{'value'=>'low', 'help-string'=>'low latency sensitivity'}, {'value'=>'medium', 'help-string'=>'medium latency sensitivity'}, {'value'=>'high', 'help-string'=>'high latency sensitivity'}]}} # latency threshold in ms def threshold prop_get('threshold') end # latency threshold in ms def threshold=(val) prop_set('threshold', val) end # latency sensitivity def sensitivity prop_get('sensitivity') end # latency sensitivity def sensitivity=(val) prop_set('sensitivity', val) end end def latency @subclasses['latency'] ||= Latency.new(parent_instance: self, client: @client, create_children: @create_children) end class PktLoss < ConfigClass def has_multiple_values?; false; end def _section :'pkt-loss' end @props = {'threshold'=>{'node-type'=>'element', 'help-string'=>'percentage pkt-loss', 'type'=>'rangedint', 'max'=>'100', 'min'=>'1', 'default'=>'1'}, 'sensitivity'=>{'node-type'=>'element', 'help-string'=>'pkt-loss sensitivity', 'type'=>'enum', 'default'=>'medium', 'enum'=>[{'value'=>'low', 'help-string'=>'low pkt-loss sensitivity'}, {'value'=>'medium', 'help-string'=>'medium pkt-loss sensitivity'}, {'value'=>'high', 'help-string'=>'high pkt-loss sensitivity'}]}} # percentage pkt-loss def threshold prop_get('threshold') end # percentage pkt-loss def threshold=(val) prop_set('threshold', val) end # pkt-loss sensitivity def sensitivity prop_get('sensitivity') end # pkt-loss sensitivity def sensitivity=(val) prop_set('sensitivity', val) end end def pkt_loss @subclasses['pkt-loss'] ||= PktLoss.new(parent_instance: self, client: @client, create_children: @create_children) end class Jitter < ConfigClass def has_multiple_values?; false; end def _section :jitter end @props = {'threshold'=>{'node-type'=>'element', 'help-string'=>'jitter threshold in ms', 'type'=>'rangedint', 'max'=>'2000', 'min'=>'10', 'default'=>'100'}, 'sensitivity'=>{'node-type'=>'element', 'help-string'=>'jitter sensitivity', 'type'=>'enum', 'default'=>'medium', 'enum'=>[{'value'=>'low', 'help-string'=>'low jitter sensitivity'}, {'value'=>'medium', 'help-string'=>'medium jitter sensitivity'}, {'value'=>'high', 'help-string'=>'high jitter sensitivity'}]}} # jitter threshold in ms def threshold prop_get('threshold') end # jitter threshold in ms def threshold=(val) prop_set('threshold', val) end # jitter sensitivity def sensitivity prop_get('sensitivity') end # jitter sensitivity def sensitivity=(val) prop_set('sensitivity', val) end end def jitter @subclasses['jitter'] ||= Jitter.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def metric @subclasses['metric'] ||= Metric.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'no'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def sdwan_path_quality maybe_register_subclass('sdwan-path-quality', SdwanPathQuality.new(parent_instance: self, client: @client, create_children: @create_children)) end class SdwanTrafficDistribution < XML::ConfigClass def has_multiple_values?; true; end def _section :'sdwan-traffic-distribution' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class LinkTags < XML::ConfigClass def has_multiple_values?; true; end def _section :'link-tags' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'255', 'help-string'=>'Link-Group identifying set of interfaces'}, 'weight'=>{'node-type'=>'element', 'optional'=>'yes', 'help-string'=>'grade weight in percentage', 'type'=>'rangedint', 'min'=>'0', 'max'=>'100'}} # Link-Group identifying set of interfaces def name prop_get('@name') end # grade weight in percentage def weight prop_get('weight') end # grade weight in percentage def weight=(val) prop_set('weight', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def link_tags maybe_register_subclass('link-tags', LinkTags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'no'}]}, 'traffic-distribution'=>{'node-type'=>'element', 'help-string'=>'Enable Session Distribution across Links', 'type'=>'enum', 'default'=>'Best Available Path', 'enum'=>[{'value'=>'Best Available Path', 'help-string'=>'Best Available Path'}, {'value'=>'Top Down Priority', 'help-string'=>'Top Down Priority'}, {'value'=>'Weighted Session Distribution', 'help-string'=>'Weighted Session Distribution'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end # Enable Session Distribution across Links def traffic_distribution prop_get('traffic-distribution') end # Enable Session Distribution across Links def traffic_distribution=(val) prop_set('traffic-distribution', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def sdwan_traffic_distribution maybe_register_subclass('sdwan-traffic-distribution', SdwanTrafficDistribution.new(parent_instance: self, client: @client, create_children: @create_children)) end class SdwanSaasQuality < XML::ConfigClass def has_multiple_values?; true; end def _section :'sdwan-saas-quality' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class MonitorMode < ConfigClass def has_multiple_values?; false; end def _section :'monitor-mode' end class Adaptive < ConfigClass def has_multiple_values?; false; end def _section :adaptive end @props = {} end def adaptive @subclasses['adaptive'] ||= Adaptive.new(parent_instance: self, client: @client, create_children: @create_children) end class StaticIp < ConfigClass def has_multiple_values?; false; end def _section :'static-ip' end class IpAddress < XML::ConfigClass def has_multiple_values?; true; end def _section :'ip-address' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'multiple', 'help-string'=>'Monitor IP address', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'ipspec'=>{'unicast-only'=>'yes', 'ipv4-only'=>'yes'}}}, 'probe-interval'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'60', 'default'=>'3', 'help-string'=>'Interval in seconds between two probes'}} # Monitor IP address def name prop_get('@name') end # Interval in seconds between two probes def probe_interval prop_get('probe-interval') end # Interval in seconds between two probes def probe_interval=(val) prop_set('probe-interval', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ip_address maybe_register_subclass('ip-address', IpAddress.new(parent_instance: self, client: @client, create_children: @create_children)) end class Fqdn < ConfigClass def has_multiple_values?; false; end def _section :fqdn end @props = {'fqdn-name'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'regex'=>'^([a-zA-Z0-9._-])+$', 'help-string'=>'FQDN to be monitored'}, 'probe-interval'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'60', 'default'=>'3', 'help-string'=>'Interval in seconds between two probes'}} # FQDN to be monitored def fqdn_name prop_get('fqdn-name') end # FQDN to be monitored def fqdn_name=(val) prop_set('fqdn-name', val) end # Interval in seconds between two probes def probe_interval prop_get('probe-interval') end # Interval in seconds between two probes def probe_interval=(val) prop_set('probe-interval', val) end end def fqdn @subclasses['fqdn'] ||= Fqdn.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def static_ip @subclasses['static-ip'] ||= StaticIp.new(parent_instance: self, client: @client, create_children: @create_children) end class HttpHttps < ConfigClass def has_multiple_values?; false; end def _section :'http-https' end @props = {'monitored-url'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'255', 'regex'=>'^http(s)?://.+$', 'help-string'=>'http or https URL : Ex : https://www.paloaltonetworks.com'}, 'probe-interval'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'3', 'max'=>'60', 'default'=>'3', 'help-string'=>'Interval in seconds between two probes'}} # http or https URL : Ex : https://www.paloaltonetworks.com def monitored_url prop_get('monitored-url') end # http or https URL : Ex : https://www.paloaltonetworks.com def monitored_url=(val) prop_set('monitored-url', val) end # Interval in seconds between two probes def probe_interval prop_get('probe-interval') end # Interval in seconds between two probes def probe_interval=(val) prop_set('probe-interval', val) end end def http_https @subclasses['http-https'] ||= HttpHttps.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def monitor_mode @subclasses['monitor-mode'] ||= MonitorMode.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'no'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def sdwan_saas_quality maybe_register_subclass('sdwan-saas-quality', SdwanSaasQuality.new(parent_instance: self, client: @client, create_children: @create_children)) end class SdwanErrorCorrection < XML::ConfigClass def has_multiple_values?; true; end def _section :'sdwan-error-correction' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Mode < ConfigClass def has_multiple_values?; false; end def _section :mode end class ForwardErrorCorrection < ConfigClass def has_multiple_values?; false; end def _section :'forward-error-correction' end @props = {'ratio'=>{'node-type'=>'element', 'help-string'=>'Packet Loss Correction Ratio', 'type'=>'enum', 'default'=>'10% (20:2)', 'enum'=>[{'value'=>'10% (20:2)', 'help-string'=>'2 parity pkts for every 20 data packets'}, {'value'=>'20% (20:4)', 'help-string'=>'4 parity pkts for every 20 data packets'}, {'value'=>'30% (20:6)', 'help-string'=>'6 parity pkts for every 20 data packets'}, {'value'=>'40% (20:8)', 'help-string'=>'8 parity pkts for every 20 data packets'}, {'value'=>'50% (20:10)', 'help-string'=>'10 parity pkts for every 20 data packets'}]}, 'recovery-duration'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'5000', 'default'=>'1000', 'help-string'=>'Time in ms for which FEC packets can remain in the firewall'}} # Packet Loss Correction Ratio def ratio prop_get('ratio') end # Packet Loss Correction Ratio def ratio=(val) prop_set('ratio', val) end # Time in ms for which FEC packets can remain in the firewall def recovery_duration prop_get('recovery-duration') end # Time in ms for which FEC packets can remain in the firewall def recovery_duration=(val) prop_set('recovery-duration', val) end end def forward_error_correction @subclasses['forward-error-correction'] ||= ForwardErrorCorrection.new(parent_instance: self, client: @client, create_children: @create_children) end class PacketDuplication < ConfigClass def has_multiple_values?; false; end def _section :'packet-duplication' end @props = {'recovery-duration-pd'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'5000', 'default'=>'1000', 'help-string'=>'Time in ms for which PD packets can remain in the firewall'}} # Time in ms for which PD packets can remain in the firewall def recovery_duration_pd prop_get('recovery-duration-pd') end # Time in ms for which PD packets can remain in the firewall def recovery_duration_pd=(val) prop_set('recovery-duration-pd', val) end end def packet_duplication @subclasses['packet-duplication'] ||= PacketDuplication.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def mode @subclasses['mode'] ||= Mode.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'no'}]}, 'activation-threshold'=>{'node-type'=>'element', 'help-string'=>'Activate when pkt loss exceeds this threshold percentage', 'type'=>'rangedint', 'min'=>'1', 'max'=>'99', 'default'=>'2'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end # Activate when pkt loss exceeds this threshold percentage def activation_threshold prop_get('activation-threshold') end # Activate when pkt loss exceeds this threshold percentage def activation_threshold=(val) prop_set('activation-threshold', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def sdwan_error_correction maybe_register_subclass('sdwan-error-correction', SdwanErrorCorrection.new(parent_instance: self, client: @client, create_children: @create_children)) end class Decryption < XML::ConfigClass def has_multiple_values?; true; end def _section :decryption end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SslForwardProxy < ConfigClass def has_multiple_values?; false; end def _section :'ssl-forward-proxy' end @props = {'block-expired-certificate'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'whether to block sessions if server\'s certificate is expired'}, 'block-untrusted-issuer'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'whether to block sessions if server\'s certificate is issued by untrusted CA'}, 'block-tls13-downgrade-no-resource'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'whether to downgrade from tls1.3 if device has not enough resources'}, 'restrict-cert-exts'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'whether to restrict certificates\' extensions'}, 'block-unsupported-version'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'whether to block sessions if ssl version is not supported'}, 'block-unsupported-cipher'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'whether to block sessions if ssl cipher suite is not supported'}, 'block-client-cert'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'whether to block sessions if client certificate authentication is used'}, 'block-if-no-resource'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'whether to block sessions if device has no enough resources'}, 'block-if-hsm-unavailable'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'whether to block sessions if HSM is unavailable'}, 'block-unknown-cert'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'whether to block a session if cert. status is unknown'}, 'block-if-sni-mismatch'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'whether to block a session when certificate\'s subject name or SAN doesn\'t match SNI'}, 'block-timeout-cert'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'whether to block a session if cert. status can\'t be retrieved within timeout'}, 'auto-include-altname'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'whether to automatically append SAN to impersonating certificate if server certificate is missing SAN'}, 'strip-alpn'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Strip ALPN extension in client hello'}} # whether to block sessions if server's certificate is expired def block_expired_certificate prop_get('block-expired-certificate') end # whether to block sessions if server's certificate is expired def block_expired_certificate=(val) prop_set('block-expired-certificate', val) end # whether to block sessions if server's certificate is issued by untrusted CA def block_untrusted_issuer prop_get('block-untrusted-issuer') end # whether to block sessions if server's certificate is issued by untrusted CA def block_untrusted_issuer=(val) prop_set('block-untrusted-issuer', val) end # whether to downgrade from tls1.3 if device has not enough resources def block_tls13_downgrade_no_resource prop_get('block-tls13-downgrade-no-resource') end # whether to downgrade from tls1.3 if device has not enough resources def block_tls13_downgrade_no_resource=(val) prop_set('block-tls13-downgrade-no-resource', val) end # whether to restrict certificates' extensions def restrict_cert_exts prop_get('restrict-cert-exts') end # whether to restrict certificates' extensions def restrict_cert_exts=(val) prop_set('restrict-cert-exts', val) end # whether to block sessions if ssl version is not supported def block_unsupported_version prop_get('block-unsupported-version') end # whether to block sessions if ssl version is not supported def block_unsupported_version=(val) prop_set('block-unsupported-version', val) end # whether to block sessions if ssl cipher suite is not supported def block_unsupported_cipher prop_get('block-unsupported-cipher') end # whether to block sessions if ssl cipher suite is not supported def block_unsupported_cipher=(val) prop_set('block-unsupported-cipher', val) end # whether to block sessions if client certificate authentication is used def block_client_cert prop_get('block-client-cert') end # whether to block sessions if client certificate authentication is used def block_client_cert=(val) prop_set('block-client-cert', val) end # whether to block sessions if device has no enough resources def block_if_no_resource prop_get('block-if-no-resource') end # whether to block sessions if device has no enough resources def block_if_no_resource=(val) prop_set('block-if-no-resource', val) end # whether to block sessions if HSM is unavailable def block_if_hsm_unavailable prop_get('block-if-hsm-unavailable') end # whether to block sessions if HSM is unavailable def block_if_hsm_unavailable=(val) prop_set('block-if-hsm-unavailable', val) end # whether to block a session if cert. status is unknown def block_unknown_cert prop_get('block-unknown-cert') end # whether to block a session if cert. status is unknown def block_unknown_cert=(val) prop_set('block-unknown-cert', val) end # whether to block a session when certificate's subject name or SAN doesn't match SNI def block_if_sni_mismatch prop_get('block-if-sni-mismatch') end # whether to block a session when certificate's subject name or SAN doesn't match SNI def block_if_sni_mismatch=(val) prop_set('block-if-sni-mismatch', val) end # whether to block a session if cert. status can't be retrieved within timeout def block_timeout_cert prop_get('block-timeout-cert') end # whether to block a session if cert. status can't be retrieved within timeout def block_timeout_cert=(val) prop_set('block-timeout-cert', val) end # whether to automatically append SAN to impersonating certificate if server certificate is missing SAN def auto_include_altname prop_get('auto-include-altname') end # whether to automatically append SAN to impersonating certificate if server certificate is missing SAN def auto_include_altname=(val) prop_set('auto-include-altname', val) end # Strip ALPN extension in client hello def strip_alpn prop_get('strip-alpn') end # Strip ALPN extension in client hello def strip_alpn=(val) prop_set('strip-alpn', val) end end def ssl_forward_proxy @subclasses['ssl-forward-proxy'] ||= SslForwardProxy.new(parent_instance: self, client: @client, create_children: @create_children) end class SslInboundProxy < ConfigClass def has_multiple_values?; false; end def _section :'ssl-inbound-proxy' end @props = {'block-unsupported-version'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'whether to block sessions if ssl version is not supported'}, 'block-unsupported-cipher'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'whether to block sessions if ssl cipher suite is not supported'}, 'block-if-no-resource'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'whether to block sessions if device has no enough resources'}, 'block-tls13-downgrade-no-resource'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'whether to downgrade from tls1.3 if device has not enough resources'}, 'block-if-hsm-unavailable'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'whether to block sessions if HSM is unavailable'}} # whether to block sessions if ssl version is not supported def block_unsupported_version prop_get('block-unsupported-version') end # whether to block sessions if ssl version is not supported def block_unsupported_version=(val) prop_set('block-unsupported-version', val) end # whether to block sessions if ssl cipher suite is not supported def block_unsupported_cipher prop_get('block-unsupported-cipher') end # whether to block sessions if ssl cipher suite is not supported def block_unsupported_cipher=(val) prop_set('block-unsupported-cipher', val) end # whether to block sessions if device has no enough resources def block_if_no_resource prop_get('block-if-no-resource') end # whether to block sessions if device has no enough resources def block_if_no_resource=(val) prop_set('block-if-no-resource', val) end # whether to downgrade from tls1.3 if device has not enough resources def block_tls13_downgrade_no_resource prop_get('block-tls13-downgrade-no-resource') end # whether to downgrade from tls1.3 if device has not enough resources def block_tls13_downgrade_no_resource=(val) prop_set('block-tls13-downgrade-no-resource', val) end # whether to block sessions if HSM is unavailable def block_if_hsm_unavailable prop_get('block-if-hsm-unavailable') end # whether to block sessions if HSM is unavailable def block_if_hsm_unavailable=(val) prop_set('block-if-hsm-unavailable', val) end end def ssl_inbound_proxy @subclasses['ssl-inbound-proxy'] ||= SslInboundProxy.new(parent_instance: self, client: @client, create_children: @create_children) end class SslProtocolSettings < ConfigClass def has_multiple_values?; false; end def _section :'ssl-protocol-settings' end @props = {'min-version'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'tls1-0', 'enum'=>[{'value'=>'sslv3', 'prune-on'=>'fips-mode', 'help-string'=>'SSLv3.0'}, {'value'=>'tls1-0', 'help-string'=>'TLSv1.0'}, {'value'=>'tls1-1', 'help-string'=>'TLSv1.1'}, {'value'=>'tls1-2', 'help-string'=>'TLSv1.2'}, {'value'=>'tls1-3', 'help-string'=>'TLSv1.3'}]}, 'max-version'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'tls1-2', 'enum'=>[{'value'=>'sslv3', 'prune-on'=>'fips-mode', 'help-string'=>'SSLv3.0'}, {'value'=>'tls1-0', 'help-string'=>'TLSv1.0'}, {'value'=>'tls1-1', 'help-string'=>'TLSv1.1'}, {'value'=>'tls1-2', 'help-string'=>'TLSv1.2'}, {'value'=>'tls1-3', 'help-string'=>'TLSv1.3'}, {'value'=>'max', 'help-string'=>'Max'}]}, 'keyxchg-algo-rsa'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm RSA'}, 'keyxchg-algo-dhe'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm DHE'}, 'keyxchg-algo-ecdhe'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm ECDHE'}, 'enc-algo-3des'=>{'node-type'=>'element', 'prune-on'=>'fips-mode', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm 3DES'}, 'enc-algo-rc4'=>{'node-type'=>'element', 'prune-on'=>'fips-mode', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm RC4'}, 'enc-algo-aes-128-cbc'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm AES-128-CBC'}, 'enc-algo-aes-256-cbc'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm AES-256-CBC'}, 'enc-algo-aes-128-gcm'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm AES-128-GCM'}, 'enc-algo-aes-256-gcm'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm AES-256-GCM'}, 'enc-algo-chacha20-poly1305'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm chacha20-poly1305'}, 'auth-algo-md5'=>{'node-type'=>'element', 'prune-on'=>'fips-mode', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Allow authentication MD5'}, 'auth-algo-sha1'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow authentication SHA1'}, 'auth-algo-sha256'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow authentication SHA256'}, 'auth-algo-sha384'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow authentication SHA384'}} def min_version prop_get('min-version') end def min_version=(val) prop_set('min-version', val) end def max_version prop_get('max-version') end def max_version=(val) prop_set('max-version', val) end # Allow algorithm RSA def keyxchg_algo_rsa prop_get('keyxchg-algo-rsa') end # Allow algorithm RSA def keyxchg_algo_rsa=(val) prop_set('keyxchg-algo-rsa', val) end # Allow algorithm DHE def keyxchg_algo_dhe prop_get('keyxchg-algo-dhe') end # Allow algorithm DHE def keyxchg_algo_dhe=(val) prop_set('keyxchg-algo-dhe', val) end # Allow algorithm ECDHE def keyxchg_algo_ecdhe prop_get('keyxchg-algo-ecdhe') end # Allow algorithm ECDHE def keyxchg_algo_ecdhe=(val) prop_set('keyxchg-algo-ecdhe', val) end # Allow algorithm 3DES def enc_algo_3des prop_get('enc-algo-3des') end # Allow algorithm 3DES def enc_algo_3des=(val) prop_set('enc-algo-3des', val) end # Allow algorithm RC4 def enc_algo_rc4 prop_get('enc-algo-rc4') end # Allow algorithm RC4 def enc_algo_rc4=(val) prop_set('enc-algo-rc4', val) end # Allow algorithm AES-128-CBC def enc_algo_aes_128_cbc prop_get('enc-algo-aes-128-cbc') end # Allow algorithm AES-128-CBC def enc_algo_aes_128_cbc=(val) prop_set('enc-algo-aes-128-cbc', val) end # Allow algorithm AES-256-CBC def enc_algo_aes_256_cbc prop_get('enc-algo-aes-256-cbc') end # Allow algorithm AES-256-CBC def enc_algo_aes_256_cbc=(val) prop_set('enc-algo-aes-256-cbc', val) end # Allow algorithm AES-128-GCM def enc_algo_aes_128_gcm prop_get('enc-algo-aes-128-gcm') end # Allow algorithm AES-128-GCM def enc_algo_aes_128_gcm=(val) prop_set('enc-algo-aes-128-gcm', val) end # Allow algorithm AES-256-GCM def enc_algo_aes_256_gcm prop_get('enc-algo-aes-256-gcm') end # Allow algorithm AES-256-GCM def enc_algo_aes_256_gcm=(val) prop_set('enc-algo-aes-256-gcm', val) end # Allow algorithm chacha20-poly1305 def enc_algo_chacha20_poly1305 prop_get('enc-algo-chacha20-poly1305') end # Allow algorithm chacha20-poly1305 def enc_algo_chacha20_poly1305=(val) prop_set('enc-algo-chacha20-poly1305', val) end # Allow authentication MD5 def auth_algo_md5 prop_get('auth-algo-md5') end # Allow authentication MD5 def auth_algo_md5=(val) prop_set('auth-algo-md5', val) end # Allow authentication SHA1 def auth_algo_sha1 prop_get('auth-algo-sha1') end # Allow authentication SHA1 def auth_algo_sha1=(val) prop_set('auth-algo-sha1', val) end # Allow authentication SHA256 def auth_algo_sha256 prop_get('auth-algo-sha256') end # Allow authentication SHA256 def auth_algo_sha256=(val) prop_set('auth-algo-sha256', val) end # Allow authentication SHA384 def auth_algo_sha384 prop_get('auth-algo-sha384') end # Allow authentication SHA384 def auth_algo_sha384=(val) prop_set('auth-algo-sha384', val) end end def ssl_protocol_settings @subclasses['ssl-protocol-settings'] ||= SslProtocolSettings.new(parent_instance: self, client: @client, create_children: @create_children) end class SslNoProxy < ConfigClass def has_multiple_values?; false; end def _section :'ssl-no-proxy' end @props = {'block-expired-certificate'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'whether to block sessions if server\'s certificate is expired'}, 'block-untrusted-issuer'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'whether to block sessions if server\'s certificate is issued by untrusted CA'}} # whether to block sessions if server's certificate is expired def block_expired_certificate prop_get('block-expired-certificate') end # whether to block sessions if server's certificate is expired def block_expired_certificate=(val) prop_set('block-expired-certificate', val) end # whether to block sessions if server's certificate is issued by untrusted CA def block_untrusted_issuer prop_get('block-untrusted-issuer') end # whether to block sessions if server's certificate is issued by untrusted CA def block_untrusted_issuer=(val) prop_set('block-untrusted-issuer', val) end end def ssl_no_proxy @subclasses['ssl-no-proxy'] ||= SslNoProxy.new(parent_instance: self, client: @client, create_children: @create_children) end class SshProxy < ConfigClass def has_multiple_values?; false; end def _section :'ssh-proxy' end @props = {'block-unsupported-version'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'whether to block sessions if ssh version is not supported'}, 'block-unsupported-alg'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'whether to block sessions if ssh algorithm is not supported'}, 'block-ssh-errors'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'whether to block sessions if ssh errors are encountered'}, 'block-if-no-resource'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'whether to block sessions if device has no enough resources'}} # whether to block sessions if ssh version is not supported def block_unsupported_version prop_get('block-unsupported-version') end # whether to block sessions if ssh version is not supported def block_unsupported_version=(val) prop_set('block-unsupported-version', val) end # whether to block sessions if ssh algorithm is not supported def block_unsupported_alg prop_get('block-unsupported-alg') end # whether to block sessions if ssh algorithm is not supported def block_unsupported_alg=(val) prop_set('block-unsupported-alg', val) end # whether to block sessions if ssh errors are encountered def block_ssh_errors prop_get('block-ssh-errors') end # whether to block sessions if ssh errors are encountered def block_ssh_errors=(val) prop_set('block-ssh-errors', val) end # whether to block sessions if device has no enough resources def block_if_no_resource prop_get('block-if-no-resource') end # whether to block sessions if device has no enough resources def block_if_no_resource=(val) prop_set('block-if-no-resource', val) end end def ssh_proxy @subclasses['ssh-proxy'] ||= SshProxy.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'no'}]}, 'interface'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'decrypt mirror port'}, 'forwarded-only'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'mirror after security policy allow'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end # decrypt mirror port def interface prop_get('interface') end # decrypt mirror port def interface=(val) prop_set('interface', val) end # mirror after security policy allow def forwarded_only prop_get('forwarded-only') end # mirror after security policy allow def forwarded_only=(val) prop_set('forwarded-only', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def decryption maybe_register_subclass('decryption', Decryption.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def profiles @subclasses['profiles'] ||= Profiles.new(parent_instance: self, client: @client, create_children: @create_children) end class ProfileGroup < XML::ConfigClass def has_multiple_values?; true; end def _section :'profile-group' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Virus < XML::ConfigClass def has_multiple_values?; true; end def _section :virus end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def virus maybe_register_subclass('virus', Virus.new(parent_instance: self, client: @client, create_children: @create_children)) end class Spyware < XML::ConfigClass def has_multiple_values?; true; end def _section :spyware end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def spyware maybe_register_subclass('spyware', Spyware.new(parent_instance: self, client: @client, create_children: @create_children)) end class Vulnerability < XML::ConfigClass def has_multiple_values?; true; end def _section :vulnerability end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def vulnerability maybe_register_subclass('vulnerability', Vulnerability.new(parent_instance: self, client: @client, create_children: @create_children)) end class Gtp < XML::ConfigClass def has_multiple_values?; true; end def _section :gtp end @props = {'member'=>{'node-type'=>'element', 'hidden'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def gtp maybe_register_subclass('gtp', Gtp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Sctp < XML::ConfigClass def has_multiple_values?; true; end def _section :sctp end @props = {'member'=>{'node-type'=>'element', 'hidden'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def sctp maybe_register_subclass('sctp', Sctp.new(parent_instance: self, client: @client, create_children: @create_children)) end class UrlFiltering < XML::ConfigClass def has_multiple_values?; true; end def _section :'url-filtering' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def url_filtering maybe_register_subclass('url-filtering', UrlFiltering.new(parent_instance: self, client: @client, create_children: @create_children)) end class FileBlocking < XML::ConfigClass def has_multiple_values?; true; end def _section :'file-blocking' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def file_blocking maybe_register_subclass('file-blocking', FileBlocking.new(parent_instance: self, client: @client, create_children: @create_children)) end class WildfireAnalysis < XML::ConfigClass def has_multiple_values?; true; end def _section :'wildfire-analysis' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def wildfire_analysis maybe_register_subclass('wildfire-analysis', WildfireAnalysis.new(parent_instance: self, client: @client, create_children: @create_children)) end class DataFiltering < XML::ConfigClass def has_multiple_values?; true; end def _section :'data-filtering' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def data_filtering maybe_register_subclass('data-filtering', DataFiltering.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'no'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def profile_group maybe_register_subclass('profile-group', ProfileGroup.new(parent_instance: self, client: @client, create_children: @create_children)) end class Service < XML::ConfigClass def has_multiple_values?; true; end def _section :service end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Protocol < XML::ConfigClass def has_multiple_values?; true; end def _section :protocol end class Tcp < ConfigClass def has_multiple_values?; false; end def _section :tcp end class Override < XML::ConfigClass def has_multiple_values?; true; end def _section :override end class No < ConfigClass def has_multiple_values?; false; end def _section :no end @props = {} end def no @subclasses['no'] ||= No.new(parent_instance: self, client: @client, create_children: @create_children) end class Yes < ConfigClass def has_multiple_values?; false; end def _section :yes end @props = {'timeout'=>{'node-type'=>'element', 'help-string'=>'tcp session timeout value (in second)', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'604800'}, 'halfclose-timeout'=>{'node-type'=>'element', 'help-string'=>'tcp session half-close timeout value (in second)', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'604800'}, 'timewait-timeout'=>{'node-type'=>'element', 'help-string'=>'tcp session time-wait timeout value (in second)', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'600'}} # tcp session timeout value (in second) def timeout prop_get('timeout') end # tcp session timeout value (in second) def timeout=(val) prop_set('timeout', val) end # tcp session half-close timeout value (in second) def halfclose_timeout prop_get('halfclose-timeout') end # tcp session half-close timeout value (in second) def halfclose_timeout=(val) prop_set('halfclose-timeout', val) end # tcp session time-wait timeout value (in second) def timewait_timeout prop_get('timewait-timeout') end # tcp session time-wait timeout value (in second) def timewait_timeout=(val) prop_set('timewait-timeout', val) end end def yes @subclasses['yes'] ||= Yes.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def override maybe_register_subclass('override', Override.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'port'=>{'node-type'=>'element', 'type'=>'rangelistspec', 'min'=>'0', 'maxlen'=>'1023'}, 'source-port'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangelistspec', 'min'=>'0', 'maxlen'=>'1023'}} def port prop_get('port') end def port=(val) prop_set('port', val) end def source_port prop_get('source-port') end def source_port=(val) prop_set('source-port', val) end end def tcp @subclasses['tcp'] ||= Tcp.new(parent_instance: self, client: @client, create_children: @create_children) end class Udp < ConfigClass def has_multiple_values?; false; end def _section :udp end class Override < XML::ConfigClass def has_multiple_values?; true; end def _section :override end class No < ConfigClass def has_multiple_values?; false; end def _section :no end @props = {} end def no @subclasses['no'] ||= No.new(parent_instance: self, client: @client, create_children: @create_children) end class Yes < ConfigClass def has_multiple_values?; false; end def _section :yes end @props = {'timeout'=>{'node-type'=>'element', 'help-string'=>'udp session timeout value (in second)', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'604800', 'default'=>'30'}} # udp session timeout value (in second) def timeout prop_get('timeout') end # udp session timeout value (in second) def timeout=(val) prop_set('timeout', val) end end def yes @subclasses['yes'] ||= Yes.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def override maybe_register_subclass('override', Override.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'port'=>{'node-type'=>'element', 'type'=>'rangelistspec', 'min'=>'0', 'maxlen'=>'1023'}, 'source-port'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangelistspec', 'min'=>'0', 'maxlen'=>'1023'}} def port prop_get('port') end def port=(val) prop_set('port', val) end def source_port prop_get('source-port') end def source_port=(val) prop_set('source-port', val) end end def udp @subclasses['udp'] ||= Udp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def protocol maybe_register_subclass('protocol', Protocol.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'no'}]}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def service maybe_register_subclass('service', Service.new(parent_instance: self, client: @client, create_children: @create_children)) end class ServiceGroup < XML::ConfigClass def has_multiple_values?; true; end def _section :'service-group' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Members < XML::ConfigClass def has_multiple_values?; true; end def _section :members end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def members maybe_register_subclass('members', Members.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'no'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def service_group maybe_register_subclass('service-group', ServiceGroup.new(parent_instance: self, client: @client, create_children: @create_children)) end class Reports < XML::ConfigClass def has_multiple_values?; true; end def _section :reports end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Appstat < ConfigClass def has_multiple_values?; false; end def _section :appstat end class AggregateBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'vsys'}, {'value'=>'name'}, {'value'=>'risk'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'subcategory-of-name'}, {'value'=>'category-of-name'}, {'value'=>'risk-of-name'}, {'value'=>'container-of-name'}, {'value'=>'technology-of-name'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def aggregate_by maybe_register_subclass('aggregate-by', AggregateBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Values < XML::ConfigClass def has_multiple_values?; true; end def _section :values end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'nbytes'}, {'value'=>'nsess'}, {'value'=>'npkts'}, {'value'=>'nthreats'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def values maybe_register_subclass('values', Values.new(parent_instance: self, client: @client, create_children: @create_children)) end class Labels < XML::ConfigClass def has_multiple_values?; true; end def _section :labels end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def labels maybe_register_subclass('labels', Labels.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'group-by'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'vsys'}, {'value'=>'name'}, {'value'=>'risk'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'subcategory-of-name'}, {'value'=>'category-of-name'}, {'value'=>'risk-of-name'}, {'value'=>'container-of-name'}, {'value'=>'technology-of-name'}]}, 'sortby'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'nbytes'}, {'value'=>'nsess'}, {'value'=>'npkts'}, {'value'=>'nthreats'}]}} def group_by prop_get('group-by') end def group_by=(val) prop_set('group-by', val) end def sortby prop_get('sortby') end def sortby=(val) prop_set('sortby', val) end end def appstat @subclasses['appstat'] ||= Appstat.new(parent_instance: self, client: @client, create_children: @create_children) end class Decryption < ConfigClass def has_multiple_values?; false; end def _section :decryption end class AggregateBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'src'}, {'value'=>'dst'}, {'value'=>'natsrc'}, {'value'=>'natdst'}, {'value'=>'rule'}, {'value'=>'srcuser'}, {'value'=>'dstuser'}, {'value'=>'srcloc'}, {'value'=>'dstloc'}, {'value'=>'app'}, {'value'=>'vsys'}, {'value'=>'from'}, {'value'=>'to'}, {'value'=>'inbound_if'}, {'value'=>'outbound_if'}, {'value'=>'sport'}, {'value'=>'dport'}, {'value'=>'natsport'}, {'value'=>'natdport'}, {'value'=>'proto'}, {'value'=>'action'}, {'value'=>'tunnel'}, {'value'=>'src_uuid'}, {'value'=>'dst_uuid'}, {'value'=>'rule_uuid'}, {'value'=>'s_encrypted'}, {'value'=>'category-of-app'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'risk-of-app'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'tls_version'}, {'value'=>'tls_keyxchg'}, {'value'=>'tls_enc'}, {'value'=>'tls_auth'}, {'value'=>'ec_curve'}, {'value'=>'err_index'}, {'value'=>'root_status'}, {'value'=>'proxy_type'}, {'value'=>'policy_name'}, {'value'=>'cn'}, {'value'=>'issuer_cn'}, {'value'=>'root_cn'}, {'value'=>'sni'}, {'value'=>'error'}, {'value'=>'cluster_name'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'src_category'}, {'value'=>'src_profile'}, {'value'=>'src_model'}, {'value'=>'src_vendor'}, {'value'=>'src_osfamily'}, {'value'=>'src_osversion'}, {'value'=>'src_host'}, {'value'=>'src_mac'}, {'value'=>'dst_category'}, {'value'=>'dst_profile'}, {'value'=>'dst_model'}, {'value'=>'dst_vendor'}, {'value'=>'dst_osfamily'}, {'value'=>'dst_osversion'}, {'value'=>'dst_host'}, {'value'=>'dst_mac'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def aggregate_by maybe_register_subclass('aggregate-by', AggregateBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Values < XML::ConfigClass def has_multiple_values?; true; end def _section :values end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'nunique-of-src_profile'}, {'value'=>'nunique-of-dst_profile'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def values maybe_register_subclass('values', Values.new(parent_instance: self, client: @client, create_children: @create_children)) end class Labels < XML::ConfigClass def has_multiple_values?; true; end def _section :labels end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def labels maybe_register_subclass('labels', Labels.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'group-by'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'src'}, {'value'=>'dst'}, {'value'=>'natsrc'}, {'value'=>'natdst'}, {'value'=>'rule'}, {'value'=>'srcuser'}, {'value'=>'dstuser'}, {'value'=>'srcloc'}, {'value'=>'dstloc'}, {'value'=>'app'}, {'value'=>'vsys'}, {'value'=>'from'}, {'value'=>'to'}, {'value'=>'inbound_if'}, {'value'=>'outbound_if'}, {'value'=>'sport'}, {'value'=>'dport'}, {'value'=>'natsport'}, {'value'=>'natdport'}, {'value'=>'proto'}, {'value'=>'action'}, {'value'=>'tunnel'}, {'value'=>'src_uuid'}, {'value'=>'dst_uuid'}, {'value'=>'rule_uuid'}, {'value'=>'s_encrypted'}, {'value'=>'category-of-app'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'risk-of-app'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'tls_version'}, {'value'=>'tls_keyxchg'}, {'value'=>'tls_enc'}, {'value'=>'tls_auth'}, {'value'=>'ec_curve'}, {'value'=>'err_index'}, {'value'=>'root_status'}, {'value'=>'proxy_type'}, {'value'=>'policy_name'}, {'value'=>'cn'}, {'value'=>'issuer_cn'}, {'value'=>'root_cn'}, {'value'=>'sni'}, {'value'=>'error'}, {'value'=>'cluster_name'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'src_category'}, {'value'=>'src_profile'}, {'value'=>'src_model'}, {'value'=>'src_vendor'}, {'value'=>'src_osfamily'}, {'value'=>'src_osversion'}, {'value'=>'src_host'}, {'value'=>'src_mac'}, {'value'=>'dst_category'}, {'value'=>'dst_profile'}, {'value'=>'dst_model'}, {'value'=>'dst_vendor'}, {'value'=>'dst_osfamily'}, {'value'=>'dst_osversion'}, {'value'=>'dst_host'}, {'value'=>'dst_mac'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}]}, 'sortby'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'nunique-of-src_profile'}, {'value'=>'nunique-of-dst_profile'}]}} def group_by prop_get('group-by') end def group_by=(val) prop_set('group-by', val) end def sortby prop_get('sortby') end def sortby=(val) prop_set('sortby', val) end end def decryption @subclasses['decryption'] ||= Decryption.new(parent_instance: self, client: @client, create_children: @create_children) end class Desum < ConfigClass def has_multiple_values?; false; end def _section :desum end class AggregateBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'category-of-app'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'risk-of-app'}, {'value'=>'app'}, {'value'=>'src'}, {'value'=>'dst'}, {'value'=>'srcuser'}, {'value'=>'dstuser'}, {'value'=>'vsys'}, {'value'=>'tls_version'}, {'value'=>'tls_keyxchg'}, {'value'=>'tls_enc'}, {'value'=>'tls_auth'}, {'value'=>'sni'}, {'value'=>'error'}, {'value'=>'err_index'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'cluster_name'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'src_category'}, {'value'=>'src_profile'}, {'value'=>'src_model'}, {'value'=>'src_vendor'}, {'value'=>'src_osfamily'}, {'value'=>'src_osversion'}, {'value'=>'src_host'}, {'value'=>'src_mac'}, {'value'=>'dst_category'}, {'value'=>'dst_profile'}, {'value'=>'dst_model'}, {'value'=>'dst_vendor'}, {'value'=>'dst_osfamily'}, {'value'=>'dst_osversion'}, {'value'=>'dst_host'}, {'value'=>'dst_mac'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def aggregate_by maybe_register_subclass('aggregate-by', AggregateBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Values < XML::ConfigClass def has_multiple_values?; true; end def _section :values end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'nunique-of-src_profile'}, {'value'=>'nunique-of-dst_profile'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def values maybe_register_subclass('values', Values.new(parent_instance: self, client: @client, create_children: @create_children)) end class Labels < XML::ConfigClass def has_multiple_values?; true; end def _section :labels end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def labels maybe_register_subclass('labels', Labels.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'group-by'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'category-of-app'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'risk-of-app'}, {'value'=>'app'}, {'value'=>'src'}, {'value'=>'dst'}, {'value'=>'srcuser'}, {'value'=>'dstuser'}, {'value'=>'vsys'}, {'value'=>'tls_version'}, {'value'=>'tls_keyxchg'}, {'value'=>'tls_enc'}, {'value'=>'tls_auth'}, {'value'=>'sni'}, {'value'=>'error'}, {'value'=>'err_index'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'cluster_name'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'src_category'}, {'value'=>'src_profile'}, {'value'=>'src_model'}, {'value'=>'src_vendor'}, {'value'=>'src_osfamily'}, {'value'=>'src_osversion'}, {'value'=>'src_host'}, {'value'=>'src_mac'}, {'value'=>'dst_category'}, {'value'=>'dst_profile'}, {'value'=>'dst_model'}, {'value'=>'dst_vendor'}, {'value'=>'dst_osfamily'}, {'value'=>'dst_osversion'}, {'value'=>'dst_host'}, {'value'=>'dst_mac'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}]}, 'sortby'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'nunique-of-src_profile'}, {'value'=>'nunique-of-dst_profile'}]}} def group_by prop_get('group-by') end def group_by=(val) prop_set('group-by', val) end def sortby prop_get('sortby') end def sortby=(val) prop_set('sortby', val) end end def desum @subclasses['desum'] ||= Desum.new(parent_instance: self, client: @client, create_children: @create_children) end class Threat < ConfigClass def has_multiple_values?; false; end def _section :threat end class AggregateBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'src'}, {'value'=>'dst'}, {'value'=>'natsrc'}, {'value'=>'natdst'}, {'value'=>'rule'}, {'value'=>'srcuser'}, {'value'=>'dstuser'}, {'value'=>'srcloc'}, {'value'=>'dstloc'}, {'value'=>'app'}, {'value'=>'vsys'}, {'value'=>'from'}, {'value'=>'to'}, {'value'=>'inbound_if'}, {'value'=>'outbound_if'}, {'value'=>'sport'}, {'value'=>'dport'}, {'value'=>'natsport'}, {'value'=>'natdport'}, {'value'=>'proto'}, {'value'=>'action'}, {'value'=>'tunnel'}, {'value'=>'src_uuid'}, {'value'=>'dst_uuid'}, {'value'=>'rule_uuid'}, {'value'=>'s_encrypted'}, {'value'=>'category-of-app'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'risk-of-app'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'threatid'}, {'value'=>'category'}, {'value'=>'severity'}, {'value'=>'direction'}, {'value'=>'http_method'}, {'value'=>'nssai_sst'}, {'value'=>'filedigest'}, {'value'=>'filetype'}, {'value'=>'http2_connection'}, {'value'=>'xff_ip'}, {'value'=>'threat_name'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'dynusergroup_name'}, {'value'=>'hostid'}, {'value'=>'partial_hash'}, {'value'=>'cloud_reportid'}, {'value'=>'cluster_name'}, {'value'=>'flow_type'}, {'value'=>'src_category'}, {'value'=>'src_profile'}, {'value'=>'src_model'}, {'value'=>'src_vendor'}, {'value'=>'src_osfamily'}, {'value'=>'src_osversion'}, {'value'=>'src_host'}, {'value'=>'src_mac'}, {'value'=>'dst_category'}, {'value'=>'dst_profile'}, {'value'=>'dst_model'}, {'value'=>'dst_vendor'}, {'value'=>'dst_osfamily'}, {'value'=>'dst_osversion'}, {'value'=>'dst_host'}, {'value'=>'dst_mac'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'misc'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'pbf-s2c'}, {'value'=>'pbf-c2s'}, {'value'=>'flag-nat'}, {'value'=>'flag-pcap'}, {'value'=>'subtype'}, {'value'=>'transaction'}, {'value'=>'captive-portal'}, {'value'=>'flag-proxy'}, {'value'=>'non-std-dport'}, {'value'=>'tunnelid'}, {'value'=>'imsi'}, {'value'=>'monitortag'}, {'value'=>'imei'}, {'value'=>'users'}, {'value'=>'category-of-threatid'}, {'value'=>'threat-type'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def aggregate_by maybe_register_subclass('aggregate-by', AggregateBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Values < XML::ConfigClass def has_multiple_values?; true; end def _section :values end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'nunique-of-users'}, {'value'=>'nunique-of-src_profile'}, {'value'=>'nunique-of-dst_profile'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def values maybe_register_subclass('values', Values.new(parent_instance: self, client: @client, create_children: @create_children)) end class Labels < XML::ConfigClass def has_multiple_values?; true; end def _section :labels end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def labels maybe_register_subclass('labels', Labels.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'group-by'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'src'}, {'value'=>'dst'}, {'value'=>'natsrc'}, {'value'=>'natdst'}, {'value'=>'rule'}, {'value'=>'srcuser'}, {'value'=>'dstuser'}, {'value'=>'srcloc'}, {'value'=>'dstloc'}, {'value'=>'app'}, {'value'=>'vsys'}, {'value'=>'from'}, {'value'=>'to'}, {'value'=>'inbound_if'}, {'value'=>'outbound_if'}, {'value'=>'sport'}, {'value'=>'dport'}, {'value'=>'natsport'}, {'value'=>'natdport'}, {'value'=>'proto'}, {'value'=>'action'}, {'value'=>'tunnel'}, {'value'=>'src_uuid'}, {'value'=>'dst_uuid'}, {'value'=>'rule_uuid'}, {'value'=>'s_encrypted'}, {'value'=>'category-of-app'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'risk-of-app'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'threatid'}, {'value'=>'category'}, {'value'=>'severity'}, {'value'=>'direction'}, {'value'=>'http_method'}, {'value'=>'nssai_sst'}, {'value'=>'filedigest'}, {'value'=>'filetype'}, {'value'=>'http2_connection'}, {'value'=>'xff_ip'}, {'value'=>'threat_name'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'dynusergroup_name'}, {'value'=>'hostid'}, {'value'=>'partial_hash'}, {'value'=>'cloud_reportid'}, {'value'=>'cluster_name'}, {'value'=>'flow_type'}, {'value'=>'src_category'}, {'value'=>'src_profile'}, {'value'=>'src_model'}, {'value'=>'src_vendor'}, {'value'=>'src_osfamily'}, {'value'=>'src_osversion'}, {'value'=>'src_host'}, {'value'=>'src_mac'}, {'value'=>'dst_category'}, {'value'=>'dst_profile'}, {'value'=>'dst_model'}, {'value'=>'dst_vendor'}, {'value'=>'dst_osfamily'}, {'value'=>'dst_osversion'}, {'value'=>'dst_host'}, {'value'=>'dst_mac'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'misc'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'pbf-s2c'}, {'value'=>'pbf-c2s'}, {'value'=>'flag-nat'}, {'value'=>'flag-pcap'}, {'value'=>'subtype'}, {'value'=>'transaction'}, {'value'=>'captive-portal'}, {'value'=>'flag-proxy'}, {'value'=>'non-std-dport'}, {'value'=>'tunnelid'}, {'value'=>'imsi'}, {'value'=>'monitortag'}, {'value'=>'imei'}, {'value'=>'users'}, {'value'=>'category-of-threatid'}, {'value'=>'threat-type'}]}, 'sortby'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'nunique-of-users'}, {'value'=>'nunique-of-src_profile'}, {'value'=>'nunique-of-dst_profile'}]}} def group_by prop_get('group-by') end def group_by=(val) prop_set('group-by', val) end def sortby prop_get('sortby') end def sortby=(val) prop_set('sortby', val) end end def threat @subclasses['threat'] ||= Threat.new(parent_instance: self, client: @client, create_children: @create_children) end class Url < ConfigClass def has_multiple_values?; false; end def _section :url end class AggregateBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'action'}, {'value'=>'app'}, {'value'=>'category'}, {'value'=>'category-of-app'}, {'value'=>'direction'}, {'value'=>'dport'}, {'value'=>'dst'}, {'value'=>'dstuser'}, {'value'=>'flag-pcap'}, {'value'=>'flag-proxy'}, {'value'=>'flag-nat'}, {'value'=>'captive-portal'}, {'value'=>'non-std-dport'}, {'value'=>'transaction'}, {'value'=>'pbf-c2s'}, {'value'=>'pbf-s2c'}, {'value'=>'from'}, {'value'=>'inbound_if'}, {'value'=>'misc'}, {'value'=>'http_headers'}, {'value'=>'natdport'}, {'value'=>'natdst'}, {'value'=>'natsport'}, {'value'=>'natsrc'}, {'value'=>'outbound_if'}, {'value'=>'proto'}, {'value'=>'risk-of-app'}, {'value'=>'rule'}, {'value'=>'rule_uuid'}, {'value'=>'severity'}, {'value'=>'sport'}, {'value'=>'src'}, {'value'=>'srcuser'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'to'}, {'value'=>'dstloc'}, {'value'=>'srcloc'}, {'value'=>'vsys'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'day-of-receive_time'}, {'value'=>'contenttype'}, {'value'=>'user_agent'}, {'value'=>'xff'}, {'value'=>'referer'}, {'value'=>'device_name'}, {'value'=>'vsys_name'}, {'value'=>'url', 'internal'=>'yes'}, {'value'=>'tunnelid'}, {'value'=>'monitortag'}, {'value'=>'imsi'}, {'value'=>'imei'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'http2_connection'}, {'value'=>'tunnel'}, {'value'=>'http_method'}, {'value'=>'url_category_list'}, {'value'=>'xff_ip'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'src_category'}, {'value'=>'src_profile'}, {'value'=>'src_model'}, {'value'=>'src_vendor'}, {'value'=>'src_osfamily'}, {'value'=>'src_osversion'}, {'value'=>'src_host'}, {'value'=>'src_mac'}, {'value'=>'dst_category'}, {'value'=>'dst_profile'}, {'value'=>'dst_model'}, {'value'=>'dst_vendor'}, {'value'=>'dst_osfamily'}, {'value'=>'dst_osversion'}, {'value'=>'dst_host'}, {'value'=>'dst_mac'}, {'value'=>'cloud_reportid'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def aggregate_by maybe_register_subclass('aggregate-by', AggregateBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Values < XML::ConfigClass def has_multiple_values?; true; end def _section :values end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'nunique-of-users'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def values maybe_register_subclass('values', Values.new(parent_instance: self, client: @client, create_children: @create_children)) end class Labels < XML::ConfigClass def has_multiple_values?; true; end def _section :labels end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def labels maybe_register_subclass('labels', Labels.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'group-by'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'action'}, {'value'=>'app'}, {'value'=>'category'}, {'value'=>'category-of-app'}, {'value'=>'direction'}, {'value'=>'dport'}, {'value'=>'dst'}, {'value'=>'dstuser'}, {'value'=>'from'}, {'value'=>'inbound_if'}, {'value'=>'misc'}, {'value'=>'http_headers'}, {'value'=>'natdport'}, {'value'=>'natdst'}, {'value'=>'natsport'}, {'value'=>'natsrc'}, {'value'=>'outbound_if'}, {'value'=>'proto'}, {'value'=>'risk-of-app'}, {'value'=>'rule'}, {'value'=>'rule_uuid'}, {'value'=>'severity'}, {'value'=>'sport'}, {'value'=>'src'}, {'value'=>'srcuser'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'to'}, {'value'=>'dstloc'}, {'value'=>'srcloc'}, {'value'=>'vsys'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'day-of-receive_time'}, {'value'=>'contenttype'}, {'value'=>'user_agent'}, {'value'=>'device_name'}, {'value'=>'vsys_name'}, {'value'=>'url', 'internal'=>'yes'}, {'value'=>'tunnelid'}, {'value'=>'monitortag'}, {'value'=>'imsi'}, {'value'=>'imei'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'http2_connection'}, {'value'=>'tunnel'}, {'value'=>'http_method'}, {'value'=>'url_category_list'}, {'value'=>'xff_ip'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'src_category'}, {'value'=>'src_profile'}, {'value'=>'src_model'}, {'value'=>'src_vendor'}, {'value'=>'src_osfamily'}, {'value'=>'src_osversion'}, {'value'=>'src_host'}, {'value'=>'src_mac'}, {'value'=>'dst_category'}, {'value'=>'dst_profile'}, {'value'=>'dst_model'}, {'value'=>'dst_vendor'}, {'value'=>'dst_osfamily'}, {'value'=>'dst_osversion'}, {'value'=>'dst_host'}, {'value'=>'dst_mac'}, {'value'=>'cloud_reportid'}]}, 'sortby'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'nunique-of-users'}]}} def group_by prop_get('group-by') end def group_by=(val) prop_set('group-by', val) end def sortby prop_get('sortby') end def sortby=(val) prop_set('sortby', val) end end def url @subclasses['url'] ||= Url.new(parent_instance: self, client: @client, create_children: @create_children) end class Wildfire < ConfigClass def has_multiple_values?; false; end def _section :wildfire end class AggregateBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'app'}, {'value'=>'category'}, {'value'=>'category-of-app'}, {'value'=>'dport'}, {'value'=>'dst'}, {'value'=>'dstuser'}, {'value'=>'flag-pcap'}, {'value'=>'flag-proxy'}, {'value'=>'flag-nat'}, {'value'=>'non-std-dport'}, {'value'=>'pbf-c2s'}, {'value'=>'pbf-s2c'}, {'value'=>'from'}, {'value'=>'inbound_if'}, {'value'=>'misc'}, {'value'=>'natdport'}, {'value'=>'natdst'}, {'value'=>'natsport'}, {'value'=>'natsrc'}, {'value'=>'outbound_if'}, {'value'=>'proto'}, {'value'=>'risk-of-app'}, {'value'=>'rule'}, {'value'=>'rule_uuid'}, {'value'=>'sport'}, {'value'=>'src'}, {'value'=>'srcuser'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'dstloc'}, {'value'=>'srcloc'}, {'value'=>'to'}, {'value'=>'vsys'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'day-of-receive_time'}, {'value'=>'filetype'}, {'value'=>'sender'}, {'value'=>'subject'}, {'value'=>'recipient'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'filename', 'internal'=>'yes'}, {'value'=>'filedigest'}, {'value'=>'tunnelid'}, {'value'=>'monitortag'}, {'value'=>'imsi'}, {'value'=>'imei'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'http2_connection'}, {'value'=>'tunnel'}, {'value'=>'xff_ip'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def aggregate_by maybe_register_subclass('aggregate-by', AggregateBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Values < XML::ConfigClass def has_multiple_values?; true; end def _section :values end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'nunique-of-users'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def values maybe_register_subclass('values', Values.new(parent_instance: self, client: @client, create_children: @create_children)) end class Labels < XML::ConfigClass def has_multiple_values?; true; end def _section :labels end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def labels maybe_register_subclass('labels', Labels.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'group-by'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'app'}, {'value'=>'category'}, {'value'=>'category-of-app'}, {'value'=>'dport'}, {'value'=>'dst'}, {'value'=>'dstuser'}, {'value'=>'from'}, {'value'=>'inbound_if'}, {'value'=>'misc'}, {'value'=>'natdport'}, {'value'=>'natdst'}, {'value'=>'natsport'}, {'value'=>'natsrc'}, {'value'=>'outbound_if'}, {'value'=>'proto'}, {'value'=>'risk-of-app'}, {'value'=>'rule'}, {'value'=>'rule_uuid'}, {'value'=>'sport'}, {'value'=>'src'}, {'value'=>'srcuser'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'to'}, {'value'=>'dstloc'}, {'value'=>'srcloc'}, {'value'=>'vsys'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'day-of-receive_time'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'filetype'}, {'value'=>'filename', 'internal'=>'yes'}, {'value'=>'filedigest'}, {'value'=>'tunnelid'}, {'value'=>'monitortag'}, {'value'=>'imsi'}, {'value'=>'imei'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'http2_connection'}, {'value'=>'tunnel'}, {'value'=>'xff_ip'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}]}, 'sortby'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'nunique-of-users'}]}} def group_by prop_get('group-by') end def group_by=(val) prop_set('group-by', val) end def sortby prop_get('sortby') end def sortby=(val) prop_set('sortby', val) end end def wildfire @subclasses['wildfire'] ||= Wildfire.new(parent_instance: self, client: @client, create_children: @create_children) end class Data < ConfigClass def has_multiple_values?; false; end def _section :data end class AggregateBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'action'}, {'value'=>'app'}, {'value'=>'category-of-app'}, {'value'=>'direction'}, {'value'=>'dport'}, {'value'=>'dst'}, {'value'=>'dstuser'}, {'value'=>'flag-pcap'}, {'value'=>'flag-proxy'}, {'value'=>'flag-nat'}, {'value'=>'captive-portal'}, {'value'=>'non-std-dport'}, {'value'=>'transaction'}, {'value'=>'pbf-c2s'}, {'value'=>'pbf-s2c'}, {'value'=>'from'}, {'value'=>'inbound_if'}, {'value'=>'misc'}, {'value'=>'natdport'}, {'value'=>'natdst'}, {'value'=>'natsport'}, {'value'=>'natsrc'}, {'value'=>'outbound_if'}, {'value'=>'proto'}, {'value'=>'risk-of-app'}, {'value'=>'rule'}, {'value'=>'rule_uuid'}, {'value'=>'severity'}, {'value'=>'sport'}, {'value'=>'src'}, {'value'=>'srcuser'}, {'value'=>'subcategory-of-app'}, {'value'=>'subtype'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'dstloc'}, {'value'=>'srcloc'}, {'value'=>'threatid'}, {'value'=>'to'}, {'value'=>'vsys'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'day-of-receive_time'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'data-type', 'internal'=>'yes'}, {'value'=>'filename', 'internal'=>'yes'}, {'value'=>'tunnelid'}, {'value'=>'monitortag'}, {'value'=>'imsi'}, {'value'=>'imei'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'http2_connection'}, {'value'=>'tunnel'}, {'value'=>'xff_ip'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'filedigest'}, {'value'=>'filetype'}, {'value'=>'reason'}, {'value'=>'src_category'}, {'value'=>'src_profile'}, {'value'=>'src_model'}, {'value'=>'src_vendor'}, {'value'=>'src_osfamily'}, {'value'=>'src_osversion'}, {'value'=>'src_host'}, {'value'=>'src_mac'}, {'value'=>'dst_category'}, {'value'=>'dst_profile'}, {'value'=>'dst_model'}, {'value'=>'dst_vendor'}, {'value'=>'dst_osfamily'}, {'value'=>'dst_osversion'}, {'value'=>'dst_host'}, {'value'=>'dst_mac'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def aggregate_by maybe_register_subclass('aggregate-by', AggregateBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Values < XML::ConfigClass def has_multiple_values?; true; end def _section :values end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'nunique-of-users'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def values maybe_register_subclass('values', Values.new(parent_instance: self, client: @client, create_children: @create_children)) end class Labels < XML::ConfigClass def has_multiple_values?; true; end def _section :labels end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def labels maybe_register_subclass('labels', Labels.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'group-by'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'action'}, {'value'=>'app'}, {'value'=>'category-of-app'}, {'value'=>'direction'}, {'value'=>'dport'}, {'value'=>'dst'}, {'value'=>'dstuser'}, {'value'=>'from'}, {'value'=>'inbound_if'}, {'value'=>'misc'}, {'value'=>'natdport'}, {'value'=>'natdst'}, {'value'=>'natsport'}, {'value'=>'natsrc'}, {'value'=>'outbound_if'}, {'value'=>'proto'}, {'value'=>'risk-of-app'}, {'value'=>'rule'}, {'value'=>'rule_uuid'}, {'value'=>'severity'}, {'value'=>'sport'}, {'value'=>'src'}, {'value'=>'srcuser'}, {'value'=>'subcategory-of-app'}, {'value'=>'subtype'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'threatid'}, {'value'=>'to'}, {'value'=>'dstloc'}, {'value'=>'srcloc'}, {'value'=>'vsys'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'day-of-receive_time'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'data-type', 'internal'=>'yes'}, {'value'=>'filename', 'internal'=>'yes'}, {'value'=>'tunnelid'}, {'value'=>'monitortag'}, {'value'=>'imsi'}, {'value'=>'imei'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'http2_connection'}, {'value'=>'tunnel'}, {'value'=>'xff_ip'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'src_category'}, {'value'=>'src_profile'}, {'value'=>'src_model'}, {'value'=>'src_vendor'}, {'value'=>'src_osfamily'}, {'value'=>'src_osversion'}, {'value'=>'src_host'}, {'value'=>'src_mac'}, {'value'=>'dst_category'}, {'value'=>'dst_profile'}, {'value'=>'dst_model'}, {'value'=>'dst_vendor'}, {'value'=>'dst_osfamily'}, {'value'=>'dst_osversion'}, {'value'=>'dst_host'}, {'value'=>'dst_mac'}]}, 'sortby'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'nunique-of-users'}]}} def group_by prop_get('group-by') end def group_by=(val) prop_set('group-by', val) end def sortby prop_get('sortby') end def sortby=(val) prop_set('sortby', val) end end def data @subclasses['data'] ||= Data.new(parent_instance: self, client: @client, create_children: @create_children) end class Thsum < ConfigClass def has_multiple_values?; false; end def _section :thsum end class AggregateBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'app'}, {'value'=>'src'}, {'value'=>'dst'}, {'value'=>'rule'}, {'value'=>'threatid'}, {'value'=>'srcuser'}, {'value'=>'dstuser'}, {'value'=>'srcloc'}, {'value'=>'dstloc'}, {'value'=>'xff_ip'}, {'value'=>'vsys'}, {'value'=>'from'}, {'value'=>'to'}, {'value'=>'dev_serial'}, {'value'=>'dport'}, {'value'=>'action'}, {'value'=>'severity'}, {'value'=>'inbound_if'}, {'value'=>'outbound_if'}, {'value'=>'category'}, {'value'=>'category-of-app'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'risk-of-app'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'tunnel'}, {'value'=>'direction'}, {'value'=>'assoc_id'}, {'value'=>'ppid'}, {'value'=>'http2_connection'}, {'value'=>'rule_uuid'}, {'value'=>'threat_name'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'hostid'}, {'value'=>'dynusergroup_name'}, {'value'=>'nssai_sst'}, {'value'=>'cluster_name'}, {'value'=>'src_category'}, {'value'=>'src_profile'}, {'value'=>'src_model'}, {'value'=>'src_vendor'}, {'value'=>'src_osfamily'}, {'value'=>'src_osversion'}, {'value'=>'src_host'}, {'value'=>'src_mac'}, {'value'=>'dst_category'}, {'value'=>'dst_profile'}, {'value'=>'dst_model'}, {'value'=>'dst_vendor'}, {'value'=>'dst_osfamily'}, {'value'=>'dst_osversion'}, {'value'=>'dst_host'}, {'value'=>'dst_mac'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'subtype'}, {'value'=>'tunnelid'}, {'value'=>'imsi'}, {'value'=>'monitortag'}, {'value'=>'imei'}, {'value'=>'category-of-threatid'}, {'value'=>'threat-type'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def aggregate_by maybe_register_subclass('aggregate-by', AggregateBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Values < XML::ConfigClass def has_multiple_values?; true; end def _section :values end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'sessions'}, {'value'=>'count'}, {'value'=>'nunique-of-apps'}, {'value'=>'nunique-of-users'}, {'value'=>'nunique-of-src_profile'}, {'value'=>'nunique-of-dst_profile'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def values maybe_register_subclass('values', Values.new(parent_instance: self, client: @client, create_children: @create_children)) end class Labels < XML::ConfigClass def has_multiple_values?; true; end def _section :labels end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def labels maybe_register_subclass('labels', Labels.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'group-by'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'app'}, {'value'=>'src'}, {'value'=>'dst'}, {'value'=>'rule'}, {'value'=>'threatid'}, {'value'=>'srcuser'}, {'value'=>'dstuser'}, {'value'=>'srcloc'}, {'value'=>'dstloc'}, {'value'=>'xff_ip'}, {'value'=>'vsys'}, {'value'=>'from'}, {'value'=>'to'}, {'value'=>'dev_serial'}, {'value'=>'dport'}, {'value'=>'action'}, {'value'=>'severity'}, {'value'=>'inbound_if'}, {'value'=>'outbound_if'}, {'value'=>'category'}, {'value'=>'category-of-app'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'risk-of-app'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'tunnel'}, {'value'=>'direction'}, {'value'=>'assoc_id'}, {'value'=>'ppid'}, {'value'=>'http2_connection'}, {'value'=>'rule_uuid'}, {'value'=>'threat_name'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'hostid'}, {'value'=>'dynusergroup_name'}, {'value'=>'nssai_sst'}, {'value'=>'cluster_name'}, {'value'=>'src_category'}, {'value'=>'src_profile'}, {'value'=>'src_model'}, {'value'=>'src_vendor'}, {'value'=>'src_osfamily'}, {'value'=>'src_osversion'}, {'value'=>'src_host'}, {'value'=>'src_mac'}, {'value'=>'dst_category'}, {'value'=>'dst_profile'}, {'value'=>'dst_model'}, {'value'=>'dst_vendor'}, {'value'=>'dst_osfamily'}, {'value'=>'dst_osversion'}, {'value'=>'dst_host'}, {'value'=>'dst_mac'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'subtype'}, {'value'=>'tunnelid'}, {'value'=>'imsi'}, {'value'=>'monitortag'}, {'value'=>'imei'}, {'value'=>'category-of-threatid'}, {'value'=>'threat-type'}]}, 'sortby'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'sessions'}, {'value'=>'count'}, {'value'=>'nunique-of-apps'}, {'value'=>'nunique-of-users'}, {'value'=>'nunique-of-src_profile'}, {'value'=>'nunique-of-dst_profile'}]}} def group_by prop_get('group-by') end def group_by=(val) prop_set('group-by', val) end def sortby prop_get('sortby') end def sortby=(val) prop_set('sortby', val) end end def thsum @subclasses['thsum'] ||= Thsum.new(parent_instance: self, client: @client, create_children: @create_children) end class Traffic < ConfigClass def has_multiple_values?; false; end def _section :traffic end class AggregateBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'src'}, {'value'=>'dst'}, {'value'=>'natsrc'}, {'value'=>'natdst'}, {'value'=>'rule'}, {'value'=>'srcuser'}, {'value'=>'dstuser'}, {'value'=>'srcloc'}, {'value'=>'dstloc'}, {'value'=>'app'}, {'value'=>'vsys'}, {'value'=>'from'}, {'value'=>'to'}, {'value'=>'inbound_if'}, {'value'=>'outbound_if'}, {'value'=>'sport'}, {'value'=>'dport'}, {'value'=>'natsport'}, {'value'=>'natdport'}, {'value'=>'proto'}, {'value'=>'action'}, {'value'=>'tunnel'}, {'value'=>'src_uuid'}, {'value'=>'dst_uuid'}, {'value'=>'rule_uuid'}, {'value'=>'s_encrypted'}, {'value'=>'category-of-app'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'risk-of-app'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'category'}, {'value'=>'session_end_reason'}, {'value'=>'action_source'}, {'value'=>'nssai_sst'}, {'value'=>'nssai_sd'}, {'value'=>'http2_connection'}, {'value'=>'xff_ip'}, {'value'=>'dynusergroup_name'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'hostid'}, {'value'=>'session_owner'}, {'value'=>'policy_id'}, {'value'=>'offloaded'}, {'value'=>'flow_type'}, {'value'=>'cluster_name'}, {'value'=>'src_category'}, {'value'=>'src_profile'}, {'value'=>'src_model'}, {'value'=>'src_vendor'}, {'value'=>'src_osfamily'}, {'value'=>'src_osversion'}, {'value'=>'src_host'}, {'value'=>'src_mac'}, {'value'=>'dst_category'}, {'value'=>'dst_profile'}, {'value'=>'dst_model'}, {'value'=>'dst_vendor'}, {'value'=>'dst_osfamily'}, {'value'=>'dst_osversion'}, {'value'=>'dst_host'}, {'value'=>'dst_mac'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'pbf-s2c'}, {'value'=>'pbf-c2s'}, {'value'=>'decrypt-mirror'}, {'value'=>'threat-type'}, {'value'=>'flag-nat'}, {'value'=>'flag-pcap'}, {'value'=>'captive-portal'}, {'value'=>'flag-proxy'}, {'value'=>'non-std-dport'}, {'value'=>'transaction'}, {'value'=>'sym-return'}, {'value'=>'sessionid'}, {'value'=>'flag-decrypt-fwd'}, {'value'=>'tunnelid'}, {'value'=>'imsi'}, {'value'=>'monitortag'}, {'value'=>'imei'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def aggregate_by maybe_register_subclass('aggregate-by', AggregateBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Values < XML::ConfigClass def has_multiple_values?; true; end def _section :values end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'bytes'}, {'value'=>'bytes_sent'}, {'value'=>'bytes_received'}, {'value'=>'packets'}, {'value'=>'pkts_sent'}, {'value'=>'pkts_received'}, {'value'=>'chunks'}, {'value'=>'chunks_sent'}, {'value'=>'chunks_received'}, {'value'=>'nunique-of-users'}, {'value'=>'elapsed'}, {'value'=>'nunique-of-src_profile'}, {'value'=>'nunique-of-dst_profile'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def values maybe_register_subclass('values', Values.new(parent_instance: self, client: @client, create_children: @create_children)) end class Labels < XML::ConfigClass def has_multiple_values?; true; end def _section :labels end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def labels maybe_register_subclass('labels', Labels.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'group-by'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'src'}, {'value'=>'dst'}, {'value'=>'natsrc'}, {'value'=>'natdst'}, {'value'=>'rule'}, {'value'=>'srcuser'}, {'value'=>'dstuser'}, {'value'=>'srcloc'}, {'value'=>'dstloc'}, {'value'=>'app'}, {'value'=>'vsys'}, {'value'=>'from'}, {'value'=>'to'}, {'value'=>'inbound_if'}, {'value'=>'outbound_if'}, {'value'=>'sport'}, {'value'=>'dport'}, {'value'=>'natsport'}, {'value'=>'natdport'}, {'value'=>'proto'}, {'value'=>'action'}, {'value'=>'tunnel'}, {'value'=>'src_uuid'}, {'value'=>'dst_uuid'}, {'value'=>'rule_uuid'}, {'value'=>'s_encrypted'}, {'value'=>'category-of-app'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'risk-of-app'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'category'}, {'value'=>'session_end_reason'}, {'value'=>'action_source'}, {'value'=>'nssai_sst'}, {'value'=>'nssai_sd'}, {'value'=>'http2_connection'}, {'value'=>'xff_ip'}, {'value'=>'dynusergroup_name'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'hostid'}, {'value'=>'session_owner'}, {'value'=>'policy_id'}, {'value'=>'offloaded'}, {'value'=>'flow_type'}, {'value'=>'cluster_name'}, {'value'=>'src_category'}, {'value'=>'src_profile'}, {'value'=>'src_model'}, {'value'=>'src_vendor'}, {'value'=>'src_osfamily'}, {'value'=>'src_osversion'}, {'value'=>'src_host'}, {'value'=>'src_mac'}, {'value'=>'dst_category'}, {'value'=>'dst_profile'}, {'value'=>'dst_model'}, {'value'=>'dst_vendor'}, {'value'=>'dst_osfamily'}, {'value'=>'dst_osversion'}, {'value'=>'dst_host'}, {'value'=>'dst_mac'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'pbf-s2c'}, {'value'=>'pbf-c2s'}, {'value'=>'decrypt-mirror'}, {'value'=>'threat-type'}, {'value'=>'flag-nat'}, {'value'=>'flag-pcap'}, {'value'=>'captive-portal'}, {'value'=>'flag-proxy'}, {'value'=>'non-std-dport'}, {'value'=>'transaction'}, {'value'=>'sym-return'}, {'value'=>'sessionid'}, {'value'=>'flag-decrypt-fwd'}, {'value'=>'tunnelid'}, {'value'=>'imsi'}, {'value'=>'monitortag'}, {'value'=>'imei'}]}, 'sortby'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'bytes'}, {'value'=>'bytes_sent'}, {'value'=>'bytes_received'}, {'value'=>'packets'}, {'value'=>'pkts_sent'}, {'value'=>'pkts_received'}, {'value'=>'chunks'}, {'value'=>'chunks_sent'}, {'value'=>'chunks_received'}, {'value'=>'nunique-of-users'}, {'value'=>'elapsed'}, {'value'=>'nunique-of-src_profile'}, {'value'=>'nunique-of-dst_profile'}]}} def group_by prop_get('group-by') end def group_by=(val) prop_set('group-by', val) end def sortby prop_get('sortby') end def sortby=(val) prop_set('sortby', val) end end def traffic @subclasses['traffic'] ||= Traffic.new(parent_instance: self, client: @client, create_children: @create_children) end class Urlsum < ConfigClass def has_multiple_values?; false; end def _section :urlsum end class AggregateBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'app'}, {'value'=>'category'}, {'value'=>'src'}, {'value'=>'dst'}, {'value'=>'rule'}, {'value'=>'srcuser'}, {'value'=>'dstuser'}, {'value'=>'srcloc'}, {'value'=>'dstloc'}, {'value'=>'vsys'}, {'value'=>'from'}, {'value'=>'to'}, {'value'=>'dev_serial'}, {'value'=>'inbound_if'}, {'value'=>'outbound_if'}, {'value'=>'dport'}, {'value'=>'action'}, {'value'=>'tunnel'}, {'value'=>'url_domain'}, {'value'=>'user_agent'}, {'value'=>'http_method'}, {'value'=>'http2_connection'}, {'value'=>'category-of-app'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'risk-of-app'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'rule_uuid'}, {'value'=>'xff_ip'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'hostid'}, {'value'=>'dynusergroup_name'}, {'value'=>'nssai_sst'}, {'value'=>'cluster_name'}, {'value'=>'src_category'}, {'value'=>'src_profile'}, {'value'=>'src_model'}, {'value'=>'src_vendor'}, {'value'=>'src_osfamily'}, {'value'=>'src_osversion'}, {'value'=>'src_host'}, {'value'=>'src_mac'}, {'value'=>'dst_category'}, {'value'=>'dst_profile'}, {'value'=>'dst_model'}, {'value'=>'dst_vendor'}, {'value'=>'dst_osfamily'}, {'value'=>'dst_osversion'}, {'value'=>'dst_host'}, {'value'=>'dst_mac'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'url_category_list'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'tunnelid'}, {'value'=>'imsi'}, {'value'=>'monitortag'}, {'value'=>'imei'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def aggregate_by maybe_register_subclass('aggregate-by', AggregateBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Values < XML::ConfigClass def has_multiple_values?; true; end def _section :values end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'nunique-of-users'}, {'value'=>'nunique-of-src_profile'}, {'value'=>'nunique-of-dst_profile'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def values maybe_register_subclass('values', Values.new(parent_instance: self, client: @client, create_children: @create_children)) end class Labels < XML::ConfigClass def has_multiple_values?; true; end def _section :labels end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def labels maybe_register_subclass('labels', Labels.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'group-by'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'app'}, {'value'=>'category'}, {'value'=>'src'}, {'value'=>'dst'}, {'value'=>'rule'}, {'value'=>'srcuser'}, {'value'=>'dstuser'}, {'value'=>'srcloc'}, {'value'=>'dstloc'}, {'value'=>'vsys'}, {'value'=>'from'}, {'value'=>'to'}, {'value'=>'dev_serial'}, {'value'=>'inbound_if'}, {'value'=>'outbound_if'}, {'value'=>'dport'}, {'value'=>'action'}, {'value'=>'tunnel'}, {'value'=>'url_domain'}, {'value'=>'user_agent'}, {'value'=>'http_method'}, {'value'=>'http2_connection'}, {'value'=>'category-of-app'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'risk-of-app'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'rule_uuid'}, {'value'=>'xff_ip'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'hostid'}, {'value'=>'dynusergroup_name'}, {'value'=>'nssai_sst'}, {'value'=>'cluster_name'}, {'value'=>'src_category'}, {'value'=>'src_profile'}, {'value'=>'src_model'}, {'value'=>'src_vendor'}, {'value'=>'src_osfamily'}, {'value'=>'src_osversion'}, {'value'=>'src_host'}, {'value'=>'src_mac'}, {'value'=>'dst_category'}, {'value'=>'dst_profile'}, {'value'=>'dst_model'}, {'value'=>'dst_vendor'}, {'value'=>'dst_osfamily'}, {'value'=>'dst_osversion'}, {'value'=>'dst_host'}, {'value'=>'dst_mac'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'url_category_list'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'tunnelid'}, {'value'=>'imsi'}, {'value'=>'monitortag'}, {'value'=>'imei'}]}, 'sortby'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'nunique-of-users'}, {'value'=>'nunique-of-src_profile'}, {'value'=>'nunique-of-dst_profile'}]}} def group_by prop_get('group-by') end def group_by=(val) prop_set('group-by', val) end def sortby prop_get('sortby') end def sortby=(val) prop_set('sortby', val) end end def urlsum @subclasses['urlsum'] ||= Urlsum.new(parent_instance: self, client: @client, create_children: @create_children) end class Trsum < ConfigClass def has_multiple_values?; false; end def _section :trsum end class AggregateBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'app'}, {'value'=>'src'}, {'value'=>'dst'}, {'value'=>'xff_ip'}, {'value'=>'rule'}, {'value'=>'srcuser'}, {'value'=>'dstuser'}, {'value'=>'srcloc'}, {'value'=>'dstloc'}, {'value'=>'category'}, {'value'=>'vsys'}, {'value'=>'from'}, {'value'=>'to'}, {'value'=>'dev_serial'}, {'value'=>'dport'}, {'value'=>'action'}, {'value'=>'tunnel'}, {'value'=>'inbound_if'}, {'value'=>'outbound_if'}, {'value'=>'category-of-app'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'risk-of-app'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'assoc_id'}, {'value'=>'http2_connection'}, {'value'=>'rule_uuid'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'dynusergroup_name'}, {'value'=>'s_decrypted'}, {'value'=>'s_encrypted'}, {'value'=>'hostid'}, {'value'=>'nssai_sst'}, {'value'=>'cluster_name'}, {'value'=>'flow_type'}, {'value'=>'src_category'}, {'value'=>'src_profile'}, {'value'=>'src_model'}, {'value'=>'src_vendor'}, {'value'=>'src_osfamily'}, {'value'=>'src_osversion'}, {'value'=>'src_host'}, {'value'=>'src_mac'}, {'value'=>'dst_category'}, {'value'=>'dst_profile'}, {'value'=>'dst_model'}, {'value'=>'dst_vendor'}, {'value'=>'dst_osfamily'}, {'value'=>'dst_osversion'}, {'value'=>'dst_host'}, {'value'=>'dst_mac'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'tunnelid'}, {'value'=>'imsi'}, {'value'=>'monitortag'}, {'value'=>'imei'}, {'value'=>'standard-ports-of-app'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def aggregate_by maybe_register_subclass('aggregate-by', AggregateBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Values < XML::ConfigClass def has_multiple_values?; true; end def _section :values end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'bytes'}, {'value'=>'sessions'}, {'value'=>'bytes_sent'}, {'value'=>'bytes_received'}, {'value'=>'nthreats'}, {'value'=>'nftrans'}, {'value'=>'ndpmatches'}, {'value'=>'nurlcount'}, {'value'=>'chunks'}, {'value'=>'chunks_sent'}, {'value'=>'chunks_received'}, {'value'=>'ncontent'}, {'value'=>'nunique-of-apps'}, {'value'=>'nunique-of-users'}, {'value'=>'nunique-of-src_profile'}, {'value'=>'nunique-of-dst_profile'}, {'value'=>'s_decrypted'}, {'value'=>'s_encrypted'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def values maybe_register_subclass('values', Values.new(parent_instance: self, client: @client, create_children: @create_children)) end class Labels < XML::ConfigClass def has_multiple_values?; true; end def _section :labels end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def labels maybe_register_subclass('labels', Labels.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'group-by'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'app'}, {'value'=>'src'}, {'value'=>'dst'}, {'value'=>'xff_ip'}, {'value'=>'rule'}, {'value'=>'srcuser'}, {'value'=>'dstuser'}, {'value'=>'srcloc'}, {'value'=>'dstloc'}, {'value'=>'category'}, {'value'=>'vsys'}, {'value'=>'from'}, {'value'=>'to'}, {'value'=>'dev_serial'}, {'value'=>'dport'}, {'value'=>'action'}, {'value'=>'tunnel'}, {'value'=>'inbound_if'}, {'value'=>'outbound_if'}, {'value'=>'category-of-app'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'risk-of-app'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'assoc_id'}, {'value'=>'http2_connection'}, {'value'=>'rule_uuid'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'dynusergroup_name'}, {'value'=>'s_decrypted'}, {'value'=>'s_encrypted'}, {'value'=>'hostid'}, {'value'=>'nssai_sst'}, {'value'=>'cluster_name'}, {'value'=>'flow_type'}, {'value'=>'src_category'}, {'value'=>'src_profile'}, {'value'=>'src_model'}, {'value'=>'src_vendor'}, {'value'=>'src_osfamily'}, {'value'=>'src_osversion'}, {'value'=>'src_host'}, {'value'=>'src_mac'}, {'value'=>'dst_category'}, {'value'=>'dst_profile'}, {'value'=>'dst_model'}, {'value'=>'dst_vendor'}, {'value'=>'dst_osfamily'}, {'value'=>'dst_osversion'}, {'value'=>'dst_host'}, {'value'=>'dst_mac'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'tunnelid'}, {'value'=>'imsi'}, {'value'=>'monitortag'}, {'value'=>'imei'}, {'value'=>'standard-ports-of-app'}]}, 'sortby'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'bytes'}, {'value'=>'sessions'}, {'value'=>'bytes_sent'}, {'value'=>'bytes_received'}, {'value'=>'nthreats'}, {'value'=>'nftrans'}, {'value'=>'ndpmatches'}, {'value'=>'nurlcount'}, {'value'=>'chunks'}, {'value'=>'chunks_sent'}, {'value'=>'chunks_received'}, {'value'=>'ncontent'}, {'value'=>'nunique-of-apps'}, {'value'=>'nunique-of-users'}, {'value'=>'nunique-of-src_profile'}, {'value'=>'nunique-of-dst_profile'}]}} def group_by prop_get('group-by') end def group_by=(val) prop_set('group-by', val) end def sortby prop_get('sortby') end def sortby=(val) prop_set('sortby', val) end end def trsum @subclasses['trsum'] ||= Trsum.new(parent_instance: self, client: @client, create_children: @create_children) end class Gtp < ConfigClass def has_multiple_values?; false; end def _section :gtp end class AggregateBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'src'}, {'value'=>'dst'}, {'value'=>'natsrc'}, {'value'=>'natdst'}, {'value'=>'rule'}, {'value'=>'srcuser'}, {'value'=>'dstuser'}, {'value'=>'srcloc'}, {'value'=>'dstloc'}, {'value'=>'app'}, {'value'=>'vsys'}, {'value'=>'from'}, {'value'=>'to'}, {'value'=>'inbound_if'}, {'value'=>'outbound_if'}, {'value'=>'sport'}, {'value'=>'dport'}, {'value'=>'natsport'}, {'value'=>'natdport'}, {'value'=>'proto'}, {'value'=>'action'}, {'value'=>'tunnel'}, {'value'=>'src_uuid'}, {'value'=>'dst_uuid'}, {'value'=>'rule_uuid'}, {'value'=>'s_encrypted'}, {'value'=>'category-of-app'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'risk-of-app'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'end_ip_addr'}, {'value'=>'msisdn'}, {'value'=>'nssai_sd'}, {'value'=>'nssai_sst'}, {'value'=>'pdu_session_id'}, {'value'=>'apn'}, {'value'=>'cause_code'}, {'value'=>'mcc'}, {'value'=>'mnc'}, {'value'=>'cell_id'}, {'value'=>'event_code'}, {'value'=>'msg_type'}, {'value'=>'area_code'}, {'value'=>'session_end_reason'}, {'value'=>'action_source'}, {'value'=>'event_type'}, {'value'=>'severity'}, {'value'=>'rat'}, {'value'=>'gtp_interface'}, {'value'=>'remote_user_ip'}, {'value'=>'remote_user_id'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'dynusergroup_name'}, {'value'=>'cluster_name'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'imei'}, {'value'=>'imsi'}, {'value'=>'sessionid'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def aggregate_by maybe_register_subclass('aggregate-by', AggregateBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Values < XML::ConfigClass def has_multiple_values?; true; end def _section :values end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'nunique-of-users'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def values maybe_register_subclass('values', Values.new(parent_instance: self, client: @client, create_children: @create_children)) end class Labels < XML::ConfigClass def has_multiple_values?; true; end def _section :labels end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def labels maybe_register_subclass('labels', Labels.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'group-by'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'src'}, {'value'=>'dst'}, {'value'=>'natsrc'}, {'value'=>'natdst'}, {'value'=>'rule'}, {'value'=>'srcuser'}, {'value'=>'dstuser'}, {'value'=>'srcloc'}, {'value'=>'dstloc'}, {'value'=>'app'}, {'value'=>'vsys'}, {'value'=>'from'}, {'value'=>'to'}, {'value'=>'inbound_if'}, {'value'=>'outbound_if'}, {'value'=>'sport'}, {'value'=>'dport'}, {'value'=>'natsport'}, {'value'=>'natdport'}, {'value'=>'proto'}, {'value'=>'action'}, {'value'=>'tunnel'}, {'value'=>'src_uuid'}, {'value'=>'dst_uuid'}, {'value'=>'rule_uuid'}, {'value'=>'s_encrypted'}, {'value'=>'category-of-app'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'risk-of-app'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'end_ip_addr'}, {'value'=>'msisdn'}, {'value'=>'nssai_sd'}, {'value'=>'nssai_sst'}, {'value'=>'pdu_session_id'}, {'value'=>'apn'}, {'value'=>'cause_code'}, {'value'=>'mcc'}, {'value'=>'mnc'}, {'value'=>'cell_id'}, {'value'=>'event_code'}, {'value'=>'msg_type'}, {'value'=>'area_code'}, {'value'=>'session_end_reason'}, {'value'=>'action_source'}, {'value'=>'event_type'}, {'value'=>'severity'}, {'value'=>'rat'}, {'value'=>'gtp_interface'}, {'value'=>'remote_user_ip'}, {'value'=>'remote_user_id'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'dynusergroup_name'}, {'value'=>'cluster_name'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'imei'}, {'value'=>'imsi'}, {'value'=>'sessionid'}]}, 'sortby'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'nunique-of-users'}, {'value'=>'severity'}]}} def group_by prop_get('group-by') end def group_by=(val) prop_set('group-by', val) end def sortby prop_get('sortby') end def sortby=(val) prop_set('sortby', val) end end def gtp @subclasses['gtp'] ||= Gtp.new(parent_instance: self, client: @client, create_children: @create_children) end class Gtpsum < ConfigClass def has_multiple_values?; false; end def _section :gtpsum end class AggregateBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'app'}, {'value'=>'src'}, {'value'=>'dst'}, {'value'=>'rule'}, {'value'=>'srcloc'}, {'value'=>'dstloc'}, {'value'=>'vsys'}, {'value'=>'dev_serial'}, {'value'=>'msisdn'}, {'value'=>'nssai_sd'}, {'value'=>'nssai_sst'}, {'value'=>'pdu_session_id'}, {'value'=>'apn'}, {'value'=>'cause_code'}, {'value'=>'mcc'}, {'value'=>'mnc'}, {'value'=>'action'}, {'value'=>'event_type'}, {'value'=>'severity'}, {'value'=>'rat'}, {'value'=>'msg_type'}, {'value'=>'tunnel'}, {'value'=>'tunnel_insp_rule'}, {'value'=>'remote_user_ip'}, {'value'=>'remote_user_id'}, {'value'=>'rule_uuid'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'cluster_name'}, {'value'=>'category-of-app'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'risk-of-app'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'imei'}, {'value'=>'imsi'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def aggregate_by maybe_register_subclass('aggregate-by', AggregateBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Values < XML::ConfigClass def has_multiple_values?; true; end def _section :values end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'repeatcnt'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def values maybe_register_subclass('values', Values.new(parent_instance: self, client: @client, create_children: @create_children)) end class Labels < XML::ConfigClass def has_multiple_values?; true; end def _section :labels end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def labels maybe_register_subclass('labels', Labels.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'group-by'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'app'}, {'value'=>'src'}, {'value'=>'dst'}, {'value'=>'rule'}, {'value'=>'srcloc'}, {'value'=>'dstloc'}, {'value'=>'vsys'}, {'value'=>'dev_serial'}, {'value'=>'msisdn'}, {'value'=>'nssai_sd'}, {'value'=>'nssai_sst'}, {'value'=>'pdu_session_id'}, {'value'=>'apn'}, {'value'=>'cause_code'}, {'value'=>'mcc'}, {'value'=>'mnc'}, {'value'=>'action'}, {'value'=>'event_type'}, {'value'=>'severity'}, {'value'=>'rat'}, {'value'=>'msg_type'}, {'value'=>'tunnel'}, {'value'=>'tunnel_insp_rule'}, {'value'=>'remote_user_ip'}, {'value'=>'remote_user_id'}, {'value'=>'rule_uuid'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'cluster_name'}, {'value'=>'category-of-app'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'risk-of-app'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'imei'}, {'value'=>'imsi'}]}, 'sortby'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'severity'}]}} def group_by prop_get('group-by') end def group_by=(val) prop_set('group-by', val) end def sortby prop_get('sortby') end def sortby=(val) prop_set('sortby', val) end end def gtpsum @subclasses['gtpsum'] ||= Gtpsum.new(parent_instance: self, client: @client, create_children: @create_children) end class Sctp < ConfigClass def has_multiple_values?; false; end def _section :sctp end class AggregateBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'src'}, {'value'=>'dst'}, {'value'=>'natsrc'}, {'value'=>'natdst'}, {'value'=>'rule'}, {'value'=>'srcuser'}, {'value'=>'dstuser'}, {'value'=>'srcloc'}, {'value'=>'dstloc'}, {'value'=>'app'}, {'value'=>'vsys'}, {'value'=>'from'}, {'value'=>'to'}, {'value'=>'inbound_if'}, {'value'=>'outbound_if'}, {'value'=>'sport'}, {'value'=>'dport'}, {'value'=>'natsport'}, {'value'=>'natdport'}, {'value'=>'proto'}, {'value'=>'action'}, {'value'=>'tunnel'}, {'value'=>'src_uuid'}, {'value'=>'dst_uuid'}, {'value'=>'rule_uuid'}, {'value'=>'s_encrypted'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'ppid'}, {'value'=>'severity'}, {'value'=>'sctp_chunk_type'}, {'value'=>'sctp_event_type'}, {'value'=>'sctp_event_code'}, {'value'=>'verif_tag_1'}, {'value'=>'verif_tag_2'}, {'value'=>'sctp_cause_code'}, {'value'=>'diam_app_id'}, {'value'=>'diam_cmd_code'}, {'value'=>'diam_avp_code'}, {'value'=>'stream_id'}, {'value'=>'op_code'}, {'value'=>'sccp_calling_ssn'}, {'value'=>'sccp_calling_gt'}, {'value'=>'sctp_filter'}, {'value'=>'assoc_end_reason'}, {'value'=>'cluster_name'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'sessionid'}, {'value'=>'assoc_id'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def aggregate_by maybe_register_subclass('aggregate-by', AggregateBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Values < XML::ConfigClass def has_multiple_values?; true; end def _section :values end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'chunks'}, {'value'=>'chunks_sent'}, {'value'=>'chunks_received'}, {'value'=>'packets'}, {'value'=>'pkts_sent'}, {'value'=>'pkts_received'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def values maybe_register_subclass('values', Values.new(parent_instance: self, client: @client, create_children: @create_children)) end class Labels < XML::ConfigClass def has_multiple_values?; true; end def _section :labels end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def labels maybe_register_subclass('labels', Labels.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'group-by'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'src'}, {'value'=>'dst'}, {'value'=>'natsrc'}, {'value'=>'natdst'}, {'value'=>'rule'}, {'value'=>'srcuser'}, {'value'=>'dstuser'}, {'value'=>'srcloc'}, {'value'=>'dstloc'}, {'value'=>'app'}, {'value'=>'vsys'}, {'value'=>'from'}, {'value'=>'to'}, {'value'=>'inbound_if'}, {'value'=>'outbound_if'}, {'value'=>'sport'}, {'value'=>'dport'}, {'value'=>'natsport'}, {'value'=>'natdport'}, {'value'=>'proto'}, {'value'=>'action'}, {'value'=>'tunnel'}, {'value'=>'src_uuid'}, {'value'=>'dst_uuid'}, {'value'=>'rule_uuid'}, {'value'=>'s_encrypted'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'ppid'}, {'value'=>'severity'}, {'value'=>'sctp_chunk_type'}, {'value'=>'sctp_event_type'}, {'value'=>'sctp_event_code'}, {'value'=>'verif_tag_1'}, {'value'=>'verif_tag_2'}, {'value'=>'sctp_cause_code'}, {'value'=>'diam_app_id'}, {'value'=>'diam_cmd_code'}, {'value'=>'diam_avp_code'}, {'value'=>'stream_id'}, {'value'=>'op_code'}, {'value'=>'sccp_calling_ssn'}, {'value'=>'sccp_calling_gt'}, {'value'=>'sctp_filter'}, {'value'=>'assoc_end_reason'}, {'value'=>'cluster_name'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'sessionid'}, {'value'=>'assoc_id'}]}, 'sortby'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'chunks'}, {'value'=>'chunks_sent'}, {'value'=>'chunks_received'}, {'value'=>'packets'}, {'value'=>'pkts_sent'}, {'value'=>'pkts_received'}, {'value'=>'severity'}]}} def group_by prop_get('group-by') end def group_by=(val) prop_set('group-by', val) end def sortby prop_get('sortby') end def sortby=(val) prop_set('sortby', val) end end def sctp @subclasses['sctp'] ||= Sctp.new(parent_instance: self, client: @client, create_children: @create_children) end class Sctpsum < ConfigClass def has_multiple_values?; false; end def _section :sctpsum end class AggregateBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'src'}, {'value'=>'dst'}, {'value'=>'rule'}, {'value'=>'srcloc'}, {'value'=>'dstloc'}, {'value'=>'action'}, {'value'=>'vsys'}, {'value'=>'dev_serial'}, {'value'=>'assoc_id'}, {'value'=>'ppid'}, {'value'=>'severity'}, {'value'=>'sctp_chunk_type'}, {'value'=>'sctp_event_type'}, {'value'=>'diam_app_id'}, {'value'=>'diam_cmd_code'}, {'value'=>'op_code'}, {'value'=>'sccp_calling_ssn'}, {'value'=>'sctp_filter'}, {'value'=>'rule_uuid'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'cluster_name'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'app'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def aggregate_by maybe_register_subclass('aggregate-by', AggregateBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Values < XML::ConfigClass def has_multiple_values?; true; end def _section :values end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'chunks'}, {'value'=>'chunks_sent'}, {'value'=>'chunks_received'}, {'value'=>'packets'}, {'value'=>'pkts_sent'}, {'value'=>'pkts_received'}, {'value'=>'repeatcnt'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def values maybe_register_subclass('values', Values.new(parent_instance: self, client: @client, create_children: @create_children)) end class Labels < XML::ConfigClass def has_multiple_values?; true; end def _section :labels end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def labels maybe_register_subclass('labels', Labels.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'group-by'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'src'}, {'value'=>'dst'}, {'value'=>'rule'}, {'value'=>'srcloc'}, {'value'=>'dstloc'}, {'value'=>'action'}, {'value'=>'vsys'}, {'value'=>'dev_serial'}, {'value'=>'assoc_id'}, {'value'=>'ppid'}, {'value'=>'severity'}, {'value'=>'sctp_chunk_type'}, {'value'=>'sctp_event_type'}, {'value'=>'diam_app_id'}, {'value'=>'diam_cmd_code'}, {'value'=>'op_code'}, {'value'=>'sccp_calling_ssn'}, {'value'=>'sctp_filter'}, {'value'=>'rule_uuid'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'cluster_name'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'app'}]}, 'sortby'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'chunks'}, {'value'=>'chunks_sent'}, {'value'=>'chunks_received'}, {'value'=>'packets'}, {'value'=>'pkts_sent'}, {'value'=>'pkts_received'}, {'value'=>'repeatcnt'}, {'value'=>'severity'}]}} def group_by prop_get('group-by') end def group_by=(val) prop_set('group-by', val) end def sortby prop_get('sortby') end def sortby=(val) prop_set('sortby', val) end end def sctpsum @subclasses['sctpsum'] ||= Sctpsum.new(parent_instance: self, client: @client, create_children: @create_children) end class Tunnel < ConfigClass def has_multiple_values?; false; end def _section :tunnel end class AggregateBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'action'}, {'value'=>'app'}, {'value'=>'category-of-app'}, {'value'=>'dport'}, {'value'=>'dst'}, {'value'=>'dstuser'}, {'value'=>'flag-pcap'}, {'value'=>'flag-proxy'}, {'value'=>'flag-nat'}, {'value'=>'captive-portal'}, {'value'=>'non-std-dport'}, {'value'=>'transaction'}, {'value'=>'pbf-c2s'}, {'value'=>'pbf-s2c'}, {'value'=>'sym-return'}, {'value'=>'decrypt-mirror'}, {'value'=>'from'}, {'value'=>'inbound_if'}, {'value'=>'natdport'}, {'value'=>'natdst'}, {'value'=>'natsport'}, {'value'=>'natsrc'}, {'value'=>'outbound_if'}, {'value'=>'proto'}, {'value'=>'risk-of-app'}, {'value'=>'rule'}, {'value'=>'rule_uuid'}, {'value'=>'sessionid'}, {'value'=>'sport'}, {'value'=>'src'}, {'value'=>'srcuser'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'dstloc'}, {'value'=>'srcloc'}, {'value'=>'to'}, {'value'=>'vsys'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'day-of-receive_time'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'tunnelid'}, {'value'=>'monitortag'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'session_end_reason'}, {'value'=>'action_source'}, {'value'=>'tunnel'}, {'value'=>'tunnel_insp_rule'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def aggregate_by maybe_register_subclass('aggregate-by', AggregateBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Values < XML::ConfigClass def has_multiple_values?; true; end def _section :values end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'bytes'}, {'value'=>'bytes_sent'}, {'value'=>'bytes_received'}, {'value'=>'packets'}, {'value'=>'pkts_sent'}, {'value'=>'pkts_received'}, {'value'=>'max_encap'}, {'value'=>'unknown_proto'}, {'value'=>'strict_check'}, {'value'=>'tunnel_fragment'}, {'value'=>'sessions_created'}, {'value'=>'sessions_closed'}, {'value'=>'nunique-of-users'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def values maybe_register_subclass('values', Values.new(parent_instance: self, client: @client, create_children: @create_children)) end class Labels < XML::ConfigClass def has_multiple_values?; true; end def _section :labels end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def labels maybe_register_subclass('labels', Labels.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'group-by'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'action'}, {'value'=>'app'}, {'value'=>'category-of-app'}, {'value'=>'dport'}, {'value'=>'dst'}, {'value'=>'dstuser'}, {'value'=>'from'}, {'value'=>'inbound_if'}, {'value'=>'natdport'}, {'value'=>'natdst'}, {'value'=>'natsport'}, {'value'=>'natsrc'}, {'value'=>'outbound_if'}, {'value'=>'proto'}, {'value'=>'risk-of-app'}, {'value'=>'rule'}, {'value'=>'rule_uuid'}, {'value'=>'sessionid'}, {'value'=>'sport'}, {'value'=>'src'}, {'value'=>'srcuser'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'to'}, {'value'=>'dstloc'}, {'value'=>'srcloc'}, {'value'=>'vsys'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'day-of-receive_time'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'tunnelid'}, {'value'=>'monitortag'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'session_end_reason'}, {'value'=>'action_source'}, {'value'=>'tunnel'}, {'value'=>'tunnel_insp_rule'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}]}, 'sortby'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'bytes'}, {'value'=>'bytes_sent'}, {'value'=>'bytes_received'}, {'value'=>'packets'}, {'value'=>'pkts_sent'}, {'value'=>'pkts_received'}, {'value'=>'max_encap'}, {'value'=>'unknown_proto'}, {'value'=>'strict_check'}, {'value'=>'tunnel_fragment'}, {'value'=>'sessions_created'}, {'value'=>'sessions_closed'}, {'value'=>'nunique-of-users'}]}} def group_by prop_get('group-by') end def group_by=(val) prop_set('group-by', val) end def sortby prop_get('sortby') end def sortby=(val) prop_set('sortby', val) end end def tunnel @subclasses['tunnel'] ||= Tunnel.new(parent_instance: self, client: @client, create_children: @create_children) end class Tunnelsum < ConfigClass def has_multiple_values?; false; end def _section :tunnelsum end class AggregateBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'action'}, {'value'=>'app'}, {'value'=>'category-of-app'}, {'value'=>'standard-ports-of-app'}, {'value'=>'dst'}, {'value'=>'risk-of-app'}, {'value'=>'rule'}, {'value'=>'rule_uuid'}, {'value'=>'src'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'dstloc'}, {'value'=>'srcloc'}, {'value'=>'vsys'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'day-of-receive_time'}, {'value'=>'serial'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'tunnelid'}, {'value'=>'monitortag'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'tunnel'}, {'value'=>'tunnel_insp_rule'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def aggregate_by maybe_register_subclass('aggregate-by', AggregateBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Values < XML::ConfigClass def has_multiple_values?; true; end def _section :values end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'bytes'}, {'value'=>'bytes_sent'}, {'value'=>'bytes_received'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def values maybe_register_subclass('values', Values.new(parent_instance: self, client: @client, create_children: @create_children)) end class Labels < XML::ConfigClass def has_multiple_values?; true; end def _section :labels end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def labels maybe_register_subclass('labels', Labels.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'group-by'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'action'}, {'value'=>'app'}, {'value'=>'category-of-app'}, {'value'=>'dst'}, {'value'=>'risk-of-app'}, {'value'=>'rule'}, {'value'=>'rule_uuid'}, {'value'=>'src'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'dstloc'}, {'value'=>'srcloc'}, {'value'=>'vsys'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'day-of-receive_time'}, {'value'=>'serial'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'tunnelid'}, {'value'=>'monitortag'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'tunnel'}, {'value'=>'tunnel_insp_rule'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}]}, 'sortby'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'bytes'}, {'value'=>'bytes_sent'}, {'value'=>'bytes_received'}]}} def group_by prop_get('group-by') end def group_by=(val) prop_set('group-by', val) end def sortby prop_get('sortby') end def sortby=(val) prop_set('sortby', val) end end def tunnelsum @subclasses['tunnelsum'] ||= Tunnelsum.new(parent_instance: self, client: @client, create_children: @create_children) end class Userid < ConfigClass def has_multiple_values?; false; end def _section :userid end class AggregateBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'vsys'}, {'value'=>'ip'}, {'value'=>'user'}, {'value'=>'datasourcename'}, {'value'=>'beginport'}, {'value'=>'endport'}, {'value'=>'datasource'}, {'value'=>'datasourcetype'}, {'value'=>'factortype'}, {'value'=>'factorcompletiontime'}, {'value'=>'factorno'}, {'value'=>'tag_name'}, {'value'=>'origindatasource'}, {'value'=>'direction'}, {'value'=>'cluster_name'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'subtype'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def aggregate_by maybe_register_subclass('aggregate-by', AggregateBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Values < XML::ConfigClass def has_multiple_values?; true; end def _section :values end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'repeatcnt'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def values maybe_register_subclass('values', Values.new(parent_instance: self, client: @client, create_children: @create_children)) end class Labels < XML::ConfigClass def has_multiple_values?; true; end def _section :labels end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def labels maybe_register_subclass('labels', Labels.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'group-by'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'vsys'}, {'value'=>'ip'}, {'value'=>'user'}, {'value'=>'datasourcename'}, {'value'=>'beginport'}, {'value'=>'endport'}, {'value'=>'datasource'}, {'value'=>'datasourcetype'}, {'value'=>'factortype'}, {'value'=>'factorcompletiontime'}, {'value'=>'factorno'}, {'value'=>'tag_name'}, {'value'=>'origindatasource'}, {'value'=>'direction'}, {'value'=>'cluster_name'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'subtype'}]}, 'sortby'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'factortype'}, {'value'=>'factorcompletiontime'}]}} def group_by prop_get('group-by') end def group_by=(val) prop_set('group-by', val) end def sortby prop_get('sortby') end def sortby=(val) prop_set('sortby', val) end end def userid @subclasses['userid'] ||= Userid.new(parent_instance: self, client: @client, create_children: @create_children) end class Auth < ConfigClass def has_multiple_values?; false; end def _section :auth end class AggregateBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'vsys'}, {'value'=>'ip'}, {'value'=>'user'}, {'value'=>'normalize_user'}, {'value'=>'object'}, {'value'=>'authpolicy'}, {'value'=>'authid'}, {'value'=>'vendor'}, {'value'=>'clienttype'}, {'value'=>'event'}, {'value'=>'factorno'}, {'value'=>'authproto'}, {'value'=>'rule_uuid'}, {'value'=>'cluster_name'}, {'value'=>'src_category'}, {'value'=>'src_profile'}, {'value'=>'src_model'}, {'value'=>'src_vendor'}, {'value'=>'src_osfamily'}, {'value'=>'src_osversion'}, {'value'=>'src_host'}, {'value'=>'src_mac'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'subtype'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def aggregate_by maybe_register_subclass('aggregate-by', AggregateBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Values < XML::ConfigClass def has_multiple_values?; true; end def _section :values end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'repeatcnt'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def values maybe_register_subclass('values', Values.new(parent_instance: self, client: @client, create_children: @create_children)) end class Labels < XML::ConfigClass def has_multiple_values?; true; end def _section :labels end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def labels maybe_register_subclass('labels', Labels.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'group-by'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'vsys'}, {'value'=>'ip'}, {'value'=>'user'}, {'value'=>'normalize_user'}, {'value'=>'object'}, {'value'=>'authpolicy'}, {'value'=>'authid'}, {'value'=>'vendor'}, {'value'=>'clienttype'}, {'value'=>'event'}, {'value'=>'factorno'}, {'value'=>'authproto'}, {'value'=>'rule_uuid'}, {'value'=>'cluster_name'}, {'value'=>'src_category'}, {'value'=>'src_profile'}, {'value'=>'src_model'}, {'value'=>'src_vendor'}, {'value'=>'src_osfamily'}, {'value'=>'src_osversion'}, {'value'=>'src_host'}, {'value'=>'src_mac'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'serverprofile'}, {'value'=>'desc'}, {'value'=>'subtype'}]}, 'sortby'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'time_generated'}, {'value'=>'vendor'}]}} def group_by prop_get('group-by') end def group_by=(val) prop_set('group-by', val) end def sortby prop_get('sortby') end def sortby=(val) prop_set('sortby', val) end end def auth @subclasses['auth'] ||= Auth.new(parent_instance: self, client: @client, create_children: @create_children) end class Iptag < ConfigClass def has_multiple_values?; false; end def _section :iptag end class AggregateBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'vsys'}, {'value'=>'ip'}, {'value'=>'tag_name'}, {'value'=>'event_id'}, {'value'=>'datasourcename'}, {'value'=>'datasource_type'}, {'value'=>'datasource_subtype'}, {'value'=>'cluster_name'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def aggregate_by maybe_register_subclass('aggregate-by', AggregateBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Values < XML::ConfigClass def has_multiple_values?; true; end def _section :values end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'repeatcnt'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def values maybe_register_subclass('values', Values.new(parent_instance: self, client: @client, create_children: @create_children)) end class Labels < XML::ConfigClass def has_multiple_values?; true; end def _section :labels end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def labels maybe_register_subclass('labels', Labels.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'group-by'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'vsys'}, {'value'=>'ip'}, {'value'=>'tag_name'}, {'value'=>'event_id'}, {'value'=>'datasourcename'}, {'value'=>'datasource_type'}, {'value'=>'datasource_subtype'}, {'value'=>'cluster_name'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}]}, 'sortby'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'time_generated'}]}} def group_by prop_get('group-by') end def group_by=(val) prop_set('group-by', val) end def sortby prop_get('sortby') end def sortby=(val) prop_set('sortby', val) end end def iptag @subclasses['iptag'] ||= Iptag.new(parent_instance: self, client: @client, create_children: @create_children) end class Hipmatch < ConfigClass def has_multiple_values?; false; end def _section :hipmatch end class AggregateBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'srcuser'}, {'value'=>'vsys'}, {'value'=>'machinename'}, {'value'=>'src'}, {'value'=>'matchname'}, {'value'=>'os'}, {'value'=>'matchtype'}, {'value'=>'srcipv6'}, {'value'=>'hostid'}, {'value'=>'mac'}, {'value'=>'cluster_name'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def aggregate_by maybe_register_subclass('aggregate-by', AggregateBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Values < XML::ConfigClass def has_multiple_values?; true; end def _section :values end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'repeatcnt'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def values maybe_register_subclass('values', Values.new(parent_instance: self, client: @client, create_children: @create_children)) end class Labels < XML::ConfigClass def has_multiple_values?; true; end def _section :labels end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def labels maybe_register_subclass('labels', Labels.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'group-by'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'srcuser'}, {'value'=>'vsys'}, {'value'=>'machinename'}, {'value'=>'src'}, {'value'=>'matchname'}, {'value'=>'os'}, {'value'=>'matchtype'}, {'value'=>'srcipv6'}, {'value'=>'hostid'}, {'value'=>'mac'}, {'value'=>'cluster_name'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}]}, 'sortby'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'repeatcnt'}]}, 'last-match-by'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes'}} def group_by prop_get('group-by') end def group_by=(val) prop_set('group-by', val) end def sortby prop_get('sortby') end def sortby=(val) prop_set('sortby', val) end def last_match_by prop_get('last-match-by') end def last_match_by=(val) prop_set('last-match-by', val) end end def hipmatch @subclasses['hipmatch'] ||= Hipmatch.new(parent_instance: self, client: @client, create_children: @create_children) end class Globalprotect < ConfigClass def has_multiple_values?; false; end def _section :globalprotect end class AggregateBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'vsys'}, {'value'=>'eventid'}, {'value'=>'status'}, {'value'=>'stage'}, {'value'=>'auth_method'}, {'value'=>'tunnel_type'}, {'value'=>'portal'}, {'value'=>'srcuser'}, {'value'=>'srcregion'}, {'value'=>'machinename'}, {'value'=>'public_ip'}, {'value'=>'public_ipv6'}, {'value'=>'private_ip'}, {'value'=>'private_ipv6'}, {'value'=>'hostid'}, {'value'=>'serialnumber'}, {'value'=>'client_ver'}, {'value'=>'client_os'}, {'value'=>'client_os_ver'}, {'value'=>'login_duration'}, {'value'=>'connect_method'}, {'value'=>'reason'}, {'value'=>'error_code'}, {'value'=>'error'}, {'value'=>'opaque'}, {'value'=>'gateway'}, {'value'=>'selection_type'}, {'value'=>'response_time'}, {'value'=>'priority'}, {'value'=>'cluster_name'}, {'value'=>'attempted_gateways'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def aggregate_by maybe_register_subclass('aggregate-by', AggregateBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Values < XML::ConfigClass def has_multiple_values?; true; end def _section :values end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'nunique-of-ips'}, {'value'=>'nunique-of-gateways'}, {'value'=>'nunique-of-users'}, {'value'=>'nunique-of-hostid'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def values maybe_register_subclass('values', Values.new(parent_instance: self, client: @client, create_children: @create_children)) end class Labels < XML::ConfigClass def has_multiple_values?; true; end def _section :labels end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def labels maybe_register_subclass('labels', Labels.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'group-by'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'vsys'}, {'value'=>'eventid'}, {'value'=>'status'}, {'value'=>'stage'}, {'value'=>'auth_method'}, {'value'=>'tunnel_type'}, {'value'=>'portal'}, {'value'=>'srcuser'}, {'value'=>'srcregion'}, {'value'=>'machinename'}, {'value'=>'public_ip'}, {'value'=>'public_ipv6'}, {'value'=>'private_ip'}, {'value'=>'private_ipv6'}, {'value'=>'hostid'}, {'value'=>'serialnumber'}, {'value'=>'client_ver'}, {'value'=>'client_os'}, {'value'=>'client_os_ver'}, {'value'=>'login_duration'}, {'value'=>'connect_method'}, {'value'=>'reason'}, {'value'=>'error_code'}, {'value'=>'error'}, {'value'=>'opaque'}, {'value'=>'gateway'}, {'value'=>'selection_type'}, {'value'=>'response_time'}, {'value'=>'priority'}, {'value'=>'cluster_name'}, {'value'=>'attempted_gateways'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}]}, 'sortby'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'nunique-of-ips'}, {'value'=>'nunique-of-gateways'}, {'value'=>'nunique-of-users'}, {'value'=>'nunique-of-hostid'}]}} def group_by prop_get('group-by') end def group_by=(val) prop_set('group-by', val) end def sortby prop_get('sortby') end def sortby=(val) prop_set('sortby', val) end end def globalprotect @subclasses['globalprotect'] ||= Globalprotect.new(parent_instance: self, client: @client, create_children: @create_children) end class PanoramaDecryption < ConfigClass def has_multiple_values?; false; end def _section :'panorama-decryption' end class AggregateBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'src'}, {'value'=>'dst'}, {'value'=>'natsrc'}, {'value'=>'natdst'}, {'value'=>'rule'}, {'value'=>'srcuser'}, {'value'=>'dstuser'}, {'value'=>'srcloc'}, {'value'=>'dstloc'}, {'value'=>'app'}, {'value'=>'vsys'}, {'value'=>'from'}, {'value'=>'to'}, {'value'=>'inbound_if'}, {'value'=>'outbound_if'}, {'value'=>'sport'}, {'value'=>'dport'}, {'value'=>'natsport'}, {'value'=>'natdport'}, {'value'=>'proto'}, {'value'=>'action'}, {'value'=>'tunnel'}, {'value'=>'src_uuid'}, {'value'=>'dst_uuid'}, {'value'=>'rule_uuid'}, {'value'=>'s_encrypted'}, {'value'=>'category-of-app'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'risk-of-app'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'tls_version'}, {'value'=>'tls_keyxchg'}, {'value'=>'tls_enc'}, {'value'=>'tls_auth'}, {'value'=>'ec_curve'}, {'value'=>'err_index'}, {'value'=>'root_status'}, {'value'=>'proxy_type'}, {'value'=>'policy_name'}, {'value'=>'cn'}, {'value'=>'issuer_cn'}, {'value'=>'root_cn'}, {'value'=>'sni'}, {'value'=>'error'}, {'value'=>'cluster_name'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'src_category'}, {'value'=>'src_profile'}, {'value'=>'src_model'}, {'value'=>'src_vendor'}, {'value'=>'src_osfamily'}, {'value'=>'src_osversion'}, {'value'=>'src_host'}, {'value'=>'src_mac'}, {'value'=>'dst_category'}, {'value'=>'dst_profile'}, {'value'=>'dst_model'}, {'value'=>'dst_vendor'}, {'value'=>'dst_osfamily'}, {'value'=>'dst_osversion'}, {'value'=>'dst_host'}, {'value'=>'dst_mac'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def aggregate_by maybe_register_subclass('aggregate-by', AggregateBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Values < XML::ConfigClass def has_multiple_values?; true; end def _section :values end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'nunique-of-src_profile'}, {'value'=>'nunique-of-dst_profile'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def values maybe_register_subclass('values', Values.new(parent_instance: self, client: @client, create_children: @create_children)) end class Labels < XML::ConfigClass def has_multiple_values?; true; end def _section :labels end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def labels maybe_register_subclass('labels', Labels.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'group-by'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'src'}, {'value'=>'dst'}, {'value'=>'natsrc'}, {'value'=>'natdst'}, {'value'=>'rule'}, {'value'=>'srcuser'}, {'value'=>'dstuser'}, {'value'=>'srcloc'}, {'value'=>'dstloc'}, {'value'=>'app'}, {'value'=>'vsys'}, {'value'=>'from'}, {'value'=>'to'}, {'value'=>'inbound_if'}, {'value'=>'outbound_if'}, {'value'=>'sport'}, {'value'=>'dport'}, {'value'=>'natsport'}, {'value'=>'natdport'}, {'value'=>'proto'}, {'value'=>'action'}, {'value'=>'tunnel'}, {'value'=>'src_uuid'}, {'value'=>'dst_uuid'}, {'value'=>'rule_uuid'}, {'value'=>'s_encrypted'}, {'value'=>'category-of-app'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'risk-of-app'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'tls_version'}, {'value'=>'tls_keyxchg'}, {'value'=>'tls_enc'}, {'value'=>'tls_auth'}, {'value'=>'ec_curve'}, {'value'=>'err_index'}, {'value'=>'root_status'}, {'value'=>'proxy_type'}, {'value'=>'policy_name'}, {'value'=>'cn'}, {'value'=>'issuer_cn'}, {'value'=>'root_cn'}, {'value'=>'sni'}, {'value'=>'error'}, {'value'=>'cluster_name'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'src_category'}, {'value'=>'src_profile'}, {'value'=>'src_model'}, {'value'=>'src_vendor'}, {'value'=>'src_osfamily'}, {'value'=>'src_osversion'}, {'value'=>'src_host'}, {'value'=>'src_mac'}, {'value'=>'dst_category'}, {'value'=>'dst_profile'}, {'value'=>'dst_model'}, {'value'=>'dst_vendor'}, {'value'=>'dst_osfamily'}, {'value'=>'dst_osversion'}, {'value'=>'dst_host'}, {'value'=>'dst_mac'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}]}, 'sortby'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'nunique-of-src_profile'}, {'value'=>'nunique-of-dst_profile'}]}} def group_by prop_get('group-by') end def group_by=(val) prop_set('group-by', val) end def sortby prop_get('sortby') end def sortby=(val) prop_set('sortby', val) end end def panorama_decryption @subclasses['panorama-decryption'] ||= PanoramaDecryption.new(parent_instance: self, client: @client, create_children: @create_children) end class PanoramaDesum < ConfigClass def has_multiple_values?; false; end def _section :'panorama-desum' end class AggregateBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'category-of-app'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'risk-of-app'}, {'value'=>'app'}, {'value'=>'src'}, {'value'=>'dst'}, {'value'=>'srcuser'}, {'value'=>'dstuser'}, {'value'=>'vsys'}, {'value'=>'tls_version'}, {'value'=>'tls_keyxchg'}, {'value'=>'tls_enc'}, {'value'=>'tls_auth'}, {'value'=>'sni'}, {'value'=>'error'}, {'value'=>'err_index'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'cluster_name'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'src_category'}, {'value'=>'src_profile'}, {'value'=>'src_model'}, {'value'=>'src_vendor'}, {'value'=>'src_osfamily'}, {'value'=>'src_osversion'}, {'value'=>'src_host'}, {'value'=>'src_mac'}, {'value'=>'dst_category'}, {'value'=>'dst_profile'}, {'value'=>'dst_model'}, {'value'=>'dst_vendor'}, {'value'=>'dst_osfamily'}, {'value'=>'dst_osversion'}, {'value'=>'dst_host'}, {'value'=>'dst_mac'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def aggregate_by maybe_register_subclass('aggregate-by', AggregateBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Values < XML::ConfigClass def has_multiple_values?; true; end def _section :values end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'nunique-of-src_profile'}, {'value'=>'nunique-of-dst_profile'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def values maybe_register_subclass('values', Values.new(parent_instance: self, client: @client, create_children: @create_children)) end class Labels < XML::ConfigClass def has_multiple_values?; true; end def _section :labels end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def labels maybe_register_subclass('labels', Labels.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'group-by'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'category-of-app'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'risk-of-app'}, {'value'=>'app'}, {'value'=>'src'}, {'value'=>'dst'}, {'value'=>'srcuser'}, {'value'=>'dstuser'}, {'value'=>'vsys'}, {'value'=>'tls_version'}, {'value'=>'tls_keyxchg'}, {'value'=>'tls_enc'}, {'value'=>'tls_auth'}, {'value'=>'sni'}, {'value'=>'error'}, {'value'=>'err_index'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'cluster_name'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'src_category'}, {'value'=>'src_profile'}, {'value'=>'src_model'}, {'value'=>'src_vendor'}, {'value'=>'src_osfamily'}, {'value'=>'src_osversion'}, {'value'=>'src_host'}, {'value'=>'src_mac'}, {'value'=>'dst_category'}, {'value'=>'dst_profile'}, {'value'=>'dst_model'}, {'value'=>'dst_vendor'}, {'value'=>'dst_osfamily'}, {'value'=>'dst_osversion'}, {'value'=>'dst_host'}, {'value'=>'dst_mac'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}]}, 'sortby'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'nunique-of-src_profile'}, {'value'=>'nunique-of-dst_profile'}]}} def group_by prop_get('group-by') end def group_by=(val) prop_set('group-by', val) end def sortby prop_get('sortby') end def sortby=(val) prop_set('sortby', val) end end def panorama_desum @subclasses['panorama-desum'] ||= PanoramaDesum.new(parent_instance: self, client: @client, create_children: @create_children) end class PanoramaThreat < ConfigClass def has_multiple_values?; false; end def _section :'panorama-threat' end class AggregateBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'src'}, {'value'=>'dst'}, {'value'=>'natsrc'}, {'value'=>'natdst'}, {'value'=>'rule'}, {'value'=>'srcuser'}, {'value'=>'dstuser'}, {'value'=>'srcloc'}, {'value'=>'dstloc'}, {'value'=>'app'}, {'value'=>'vsys'}, {'value'=>'from'}, {'value'=>'to'}, {'value'=>'inbound_if'}, {'value'=>'outbound_if'}, {'value'=>'sport'}, {'value'=>'dport'}, {'value'=>'natsport'}, {'value'=>'natdport'}, {'value'=>'proto'}, {'value'=>'action'}, {'value'=>'tunnel'}, {'value'=>'src_uuid'}, {'value'=>'dst_uuid'}, {'value'=>'rule_uuid'}, {'value'=>'s_encrypted'}, {'value'=>'category-of-app'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'risk-of-app'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'threatid'}, {'value'=>'category'}, {'value'=>'severity'}, {'value'=>'direction'}, {'value'=>'http_method'}, {'value'=>'nssai_sst'}, {'value'=>'filedigest'}, {'value'=>'filetype'}, {'value'=>'http2_connection'}, {'value'=>'xff_ip'}, {'value'=>'threat_name'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'dynusergroup_name'}, {'value'=>'hostid'}, {'value'=>'partial_hash'}, {'value'=>'cloud_reportid'}, {'value'=>'cluster_name'}, {'value'=>'flow_type'}, {'value'=>'src_category'}, {'value'=>'src_profile'}, {'value'=>'src_model'}, {'value'=>'src_vendor'}, {'value'=>'src_osfamily'}, {'value'=>'src_osversion'}, {'value'=>'src_host'}, {'value'=>'src_mac'}, {'value'=>'dst_category'}, {'value'=>'dst_profile'}, {'value'=>'dst_model'}, {'value'=>'dst_vendor'}, {'value'=>'dst_osfamily'}, {'value'=>'dst_osversion'}, {'value'=>'dst_host'}, {'value'=>'dst_mac'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'misc'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'pbf-s2c'}, {'value'=>'pbf-c2s'}, {'value'=>'flag-nat'}, {'value'=>'flag-pcap'}, {'value'=>'subtype'}, {'value'=>'transaction'}, {'value'=>'captive-portal'}, {'value'=>'flag-proxy'}, {'value'=>'non-std-dport'}, {'value'=>'tunnelid'}, {'value'=>'imsi'}, {'value'=>'monitortag'}, {'value'=>'imei'}, {'value'=>'users'}, {'value'=>'category-of-threatid'}, {'value'=>'threat-type'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def aggregate_by maybe_register_subclass('aggregate-by', AggregateBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Values < XML::ConfigClass def has_multiple_values?; true; end def _section :values end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'nunique-of-users'}, {'value'=>'nunique-of-src_profile'}, {'value'=>'nunique-of-dst_profile'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def values maybe_register_subclass('values', Values.new(parent_instance: self, client: @client, create_children: @create_children)) end class Labels < XML::ConfigClass def has_multiple_values?; true; end def _section :labels end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def labels maybe_register_subclass('labels', Labels.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'group-by'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'src'}, {'value'=>'dst'}, {'value'=>'natsrc'}, {'value'=>'natdst'}, {'value'=>'rule'}, {'value'=>'srcuser'}, {'value'=>'dstuser'}, {'value'=>'srcloc'}, {'value'=>'dstloc'}, {'value'=>'app'}, {'value'=>'vsys'}, {'value'=>'from'}, {'value'=>'to'}, {'value'=>'inbound_if'}, {'value'=>'outbound_if'}, {'value'=>'sport'}, {'value'=>'dport'}, {'value'=>'natsport'}, {'value'=>'natdport'}, {'value'=>'proto'}, {'value'=>'action'}, {'value'=>'tunnel'}, {'value'=>'src_uuid'}, {'value'=>'dst_uuid'}, {'value'=>'rule_uuid'}, {'value'=>'s_encrypted'}, {'value'=>'category-of-app'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'risk-of-app'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'threatid'}, {'value'=>'category'}, {'value'=>'severity'}, {'value'=>'direction'}, {'value'=>'http_method'}, {'value'=>'nssai_sst'}, {'value'=>'filedigest'}, {'value'=>'filetype'}, {'value'=>'http2_connection'}, {'value'=>'xff_ip'}, {'value'=>'threat_name'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'dynusergroup_name'}, {'value'=>'hostid'}, {'value'=>'partial_hash'}, {'value'=>'cloud_reportid'}, {'value'=>'cluster_name'}, {'value'=>'flow_type'}, {'value'=>'src_category'}, {'value'=>'src_profile'}, {'value'=>'src_model'}, {'value'=>'src_vendor'}, {'value'=>'src_osfamily'}, {'value'=>'src_osversion'}, {'value'=>'src_host'}, {'value'=>'src_mac'}, {'value'=>'dst_category'}, {'value'=>'dst_profile'}, {'value'=>'dst_model'}, {'value'=>'dst_vendor'}, {'value'=>'dst_osfamily'}, {'value'=>'dst_osversion'}, {'value'=>'dst_host'}, {'value'=>'dst_mac'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'misc'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'pbf-s2c'}, {'value'=>'pbf-c2s'}, {'value'=>'flag-nat'}, {'value'=>'flag-pcap'}, {'value'=>'subtype'}, {'value'=>'transaction'}, {'value'=>'captive-portal'}, {'value'=>'flag-proxy'}, {'value'=>'non-std-dport'}, {'value'=>'tunnelid'}, {'value'=>'imsi'}, {'value'=>'monitortag'}, {'value'=>'imei'}, {'value'=>'users'}, {'value'=>'category-of-threatid'}, {'value'=>'threat-type'}]}, 'sortby'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'nunique-of-users'}, {'value'=>'nunique-of-src_profile'}, {'value'=>'nunique-of-dst_profile'}]}} def group_by prop_get('group-by') end def group_by=(val) prop_set('group-by', val) end def sortby prop_get('sortby') end def sortby=(val) prop_set('sortby', val) end end def panorama_threat @subclasses['panorama-threat'] ||= PanoramaThreat.new(parent_instance: self, client: @client, create_children: @create_children) end class PanoramaUrl < ConfigClass def has_multiple_values?; false; end def _section :'panorama-url' end class AggregateBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'action'}, {'value'=>'app'}, {'value'=>'category'}, {'value'=>'category-of-app'}, {'value'=>'direction'}, {'value'=>'dport'}, {'value'=>'dst'}, {'value'=>'dstuser'}, {'value'=>'flag-pcap'}, {'value'=>'flag-proxy'}, {'value'=>'flag-nat'}, {'value'=>'captive-portal'}, {'value'=>'non-std-dport'}, {'value'=>'transaction'}, {'value'=>'pbf-c2s'}, {'value'=>'pbf-s2c'}, {'value'=>'from'}, {'value'=>'inbound_if'}, {'value'=>'misc'}, {'value'=>'http_headers'}, {'value'=>'natdport'}, {'value'=>'natdst'}, {'value'=>'natsport'}, {'value'=>'natsrc'}, {'value'=>'outbound_if'}, {'value'=>'proto'}, {'value'=>'risk-of-app'}, {'value'=>'rule'}, {'value'=>'rule_uuid'}, {'value'=>'severity'}, {'value'=>'sport'}, {'value'=>'src'}, {'value'=>'srcuser'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'to'}, {'value'=>'dstloc'}, {'value'=>'srcloc'}, {'value'=>'vsys'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'day-of-receive_time'}, {'value'=>'contenttype'}, {'value'=>'user_agent'}, {'value'=>'xff'}, {'value'=>'referer'}, {'value'=>'device_name'}, {'value'=>'vsys_name'}, {'value'=>'url', 'internal'=>'yes'}, {'value'=>'tunnelid'}, {'value'=>'monitortag'}, {'value'=>'imsi'}, {'value'=>'imei'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'http2_connection'}, {'value'=>'tunnel'}, {'value'=>'http_method'}, {'value'=>'url_category_list'}, {'value'=>'xff_ip'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'src_category'}, {'value'=>'src_profile'}, {'value'=>'src_model'}, {'value'=>'src_vendor'}, {'value'=>'src_osfamily'}, {'value'=>'src_osversion'}, {'value'=>'src_host'}, {'value'=>'src_mac'}, {'value'=>'dst_category'}, {'value'=>'dst_profile'}, {'value'=>'dst_model'}, {'value'=>'dst_vendor'}, {'value'=>'dst_osfamily'}, {'value'=>'dst_osversion'}, {'value'=>'dst_host'}, {'value'=>'dst_mac'}, {'value'=>'cloud_reportid'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def aggregate_by maybe_register_subclass('aggregate-by', AggregateBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Values < XML::ConfigClass def has_multiple_values?; true; end def _section :values end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'nunique-of-users'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def values maybe_register_subclass('values', Values.new(parent_instance: self, client: @client, create_children: @create_children)) end class Labels < XML::ConfigClass def has_multiple_values?; true; end def _section :labels end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def labels maybe_register_subclass('labels', Labels.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'group-by'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'action'}, {'value'=>'app'}, {'value'=>'category'}, {'value'=>'category-of-app'}, {'value'=>'direction'}, {'value'=>'dport'}, {'value'=>'dst'}, {'value'=>'dstuser'}, {'value'=>'from'}, {'value'=>'inbound_if'}, {'value'=>'misc'}, {'value'=>'http_headers'}, {'value'=>'natdport'}, {'value'=>'natdst'}, {'value'=>'natsport'}, {'value'=>'natsrc'}, {'value'=>'outbound_if'}, {'value'=>'proto'}, {'value'=>'risk-of-app'}, {'value'=>'rule'}, {'value'=>'rule_uuid'}, {'value'=>'severity'}, {'value'=>'sport'}, {'value'=>'src'}, {'value'=>'srcuser'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'to'}, {'value'=>'dstloc'}, {'value'=>'srcloc'}, {'value'=>'vsys'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'day-of-receive_time'}, {'value'=>'contenttype'}, {'value'=>'serial'}, {'value'=>'user_agent'}, {'value'=>'device_name'}, {'value'=>'vsys_name'}, {'value'=>'url', 'internal'=>'yes'}, {'value'=>'tunnelid'}, {'value'=>'monitortag'}, {'value'=>'imsi'}, {'value'=>'imei'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'http2_connection'}, {'value'=>'tunnel'}, {'value'=>'http_method'}, {'value'=>'url_category_list'}, {'value'=>'xff_ip'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'src_category'}, {'value'=>'src_profile'}, {'value'=>'src_model'}, {'value'=>'src_vendor'}, {'value'=>'src_osfamily'}, {'value'=>'src_osversion'}, {'value'=>'src_host'}, {'value'=>'src_mac'}, {'value'=>'dst_category'}, {'value'=>'dst_profile'}, {'value'=>'dst_model'}, {'value'=>'dst_vendor'}, {'value'=>'dst_osfamily'}, {'value'=>'dst_osversion'}, {'value'=>'dst_host'}, {'value'=>'dst_mac'}, {'value'=>'cloud_reportid'}]}, 'sortby'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'nunique-of-users'}]}} def group_by prop_get('group-by') end def group_by=(val) prop_set('group-by', val) end def sortby prop_get('sortby') end def sortby=(val) prop_set('sortby', val) end end def panorama_url @subclasses['panorama-url'] ||= PanoramaUrl.new(parent_instance: self, client: @client, create_children: @create_children) end class PanoramaWildfire < ConfigClass def has_multiple_values?; false; end def _section :'panorama-wildfire' end class AggregateBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'app'}, {'value'=>'category'}, {'value'=>'category-of-app'}, {'value'=>'dport'}, {'value'=>'dst'}, {'value'=>'dstuser'}, {'value'=>'flag-pcap'}, {'value'=>'flag-proxy'}, {'value'=>'flag-nat'}, {'value'=>'non-std-dport'}, {'value'=>'pbf-c2s'}, {'value'=>'pbf-s2c'}, {'value'=>'from'}, {'value'=>'inbound_if'}, {'value'=>'misc'}, {'value'=>'natdport'}, {'value'=>'natdst'}, {'value'=>'natsport'}, {'value'=>'natsrc'}, {'value'=>'outbound_if'}, {'value'=>'proto'}, {'value'=>'risk-of-app'}, {'value'=>'rule'}, {'value'=>'rule_uuid'}, {'value'=>'sport'}, {'value'=>'src'}, {'value'=>'srcuser'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'dstloc'}, {'value'=>'srcloc'}, {'value'=>'to'}, {'value'=>'vsys'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'day-of-receive_time'}, {'value'=>'filetype'}, {'value'=>'sender'}, {'value'=>'subject'}, {'value'=>'recipient'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'filename', 'internal'=>'yes'}, {'value'=>'filedigest'}, {'value'=>'tunnelid'}, {'value'=>'monitortag'}, {'value'=>'imsi'}, {'value'=>'imei'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'http2_connection'}, {'value'=>'tunnel'}, {'value'=>'xff_ip'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def aggregate_by maybe_register_subclass('aggregate-by', AggregateBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Values < XML::ConfigClass def has_multiple_values?; true; end def _section :values end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'nunique-of-users'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def values maybe_register_subclass('values', Values.new(parent_instance: self, client: @client, create_children: @create_children)) end class Labels < XML::ConfigClass def has_multiple_values?; true; end def _section :labels end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def labels maybe_register_subclass('labels', Labels.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'group-by'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'app'}, {'value'=>'category'}, {'value'=>'category-of-app'}, {'value'=>'dport'}, {'value'=>'dst'}, {'value'=>'dstuser'}, {'value'=>'from'}, {'value'=>'inbound_if'}, {'value'=>'misc'}, {'value'=>'natdport'}, {'value'=>'natdst'}, {'value'=>'natsport'}, {'value'=>'natsrc'}, {'value'=>'outbound_if'}, {'value'=>'proto'}, {'value'=>'risk-of-app'}, {'value'=>'rule'}, {'value'=>'rule_uuid'}, {'value'=>'sport'}, {'value'=>'src'}, {'value'=>'srcuser'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'to'}, {'value'=>'dstloc'}, {'value'=>'srcloc'}, {'value'=>'vsys'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'day-of-receive_time'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'filetype'}, {'value'=>'filename', 'internal'=>'yes'}, {'value'=>'filedigest'}, {'value'=>'tunnelid'}, {'value'=>'monitortag'}, {'value'=>'imsi'}, {'value'=>'imei'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'http2_connection'}, {'value'=>'tunnel'}, {'value'=>'xff_ip'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}]}, 'sortby'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'nunique-of-users'}]}} def group_by prop_get('group-by') end def group_by=(val) prop_set('group-by', val) end def sortby prop_get('sortby') end def sortby=(val) prop_set('sortby', val) end end def panorama_wildfire @subclasses['panorama-wildfire'] ||= PanoramaWildfire.new(parent_instance: self, client: @client, create_children: @create_children) end class PanoramaData < ConfigClass def has_multiple_values?; false; end def _section :'panorama-data' end class AggregateBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'action'}, {'value'=>'app'}, {'value'=>'category-of-app'}, {'value'=>'direction'}, {'value'=>'dport'}, {'value'=>'dst'}, {'value'=>'dstuser'}, {'value'=>'flag-pcap'}, {'value'=>'flag-proxy'}, {'value'=>'flag-nat'}, {'value'=>'captive-portal'}, {'value'=>'non-std-dport'}, {'value'=>'transaction'}, {'value'=>'pbf-c2s'}, {'value'=>'pbf-s2c'}, {'value'=>'from'}, {'value'=>'inbound_if'}, {'value'=>'misc'}, {'value'=>'natdport'}, {'value'=>'natdst'}, {'value'=>'natsport'}, {'value'=>'natsrc'}, {'value'=>'outbound_if'}, {'value'=>'proto'}, {'value'=>'risk-of-app'}, {'value'=>'rule'}, {'value'=>'rule_uuid'}, {'value'=>'severity'}, {'value'=>'sport'}, {'value'=>'src'}, {'value'=>'srcuser'}, {'value'=>'subcategory-of-app'}, {'value'=>'subtype'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'threatid'}, {'value'=>'to'}, {'value'=>'dstloc'}, {'value'=>'srcloc'}, {'value'=>'vsys'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'day-of-receive_time'}, {'value'=>'device_name'}, {'value'=>'vsys_name'}, {'value'=>'data-type', 'internal'=>'yes'}, {'value'=>'filename', 'internal'=>'yes'}, {'value'=>'tunnelid'}, {'value'=>'monitortag'}, {'value'=>'imsi'}, {'value'=>'imei'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'http2_connection'}, {'value'=>'tunnel'}, {'value'=>'xff_ip'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'filedigest'}, {'value'=>'filetype'}, {'value'=>'reason'}, {'value'=>'src_category'}, {'value'=>'src_profile'}, {'value'=>'src_model'}, {'value'=>'src_vendor'}, {'value'=>'src_osfamily'}, {'value'=>'src_osversion'}, {'value'=>'src_host'}, {'value'=>'src_mac'}, {'value'=>'dst_category'}, {'value'=>'dst_profile'}, {'value'=>'dst_model'}, {'value'=>'dst_vendor'}, {'value'=>'dst_osfamily'}, {'value'=>'dst_osversion'}, {'value'=>'dst_host'}, {'value'=>'dst_mac'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def aggregate_by maybe_register_subclass('aggregate-by', AggregateBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Values < XML::ConfigClass def has_multiple_values?; true; end def _section :values end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'nunique-of-users'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def values maybe_register_subclass('values', Values.new(parent_instance: self, client: @client, create_children: @create_children)) end class Labels < XML::ConfigClass def has_multiple_values?; true; end def _section :labels end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def labels maybe_register_subclass('labels', Labels.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'group-by'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'action'}, {'value'=>'app'}, {'value'=>'category-of-app'}, {'value'=>'direction'}, {'value'=>'dport'}, {'value'=>'dst'}, {'value'=>'dstuser'}, {'value'=>'from'}, {'value'=>'inbound_if'}, {'value'=>'misc'}, {'value'=>'natdport'}, {'value'=>'natdst'}, {'value'=>'natsport'}, {'value'=>'natsrc'}, {'value'=>'outbound_if'}, {'value'=>'proto'}, {'value'=>'risk-of-app'}, {'value'=>'rule'}, {'value'=>'rule_uuid'}, {'value'=>'severity'}, {'value'=>'sport'}, {'value'=>'src'}, {'value'=>'srcuser'}, {'value'=>'subcategory-of-app'}, {'value'=>'subtype'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'threatid'}, {'value'=>'to'}, {'value'=>'dstloc'}, {'value'=>'srcloc'}, {'value'=>'vsys'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'day-of-receive_time'}, {'value'=>'serial'}, {'value'=>'device_name'}, {'value'=>'vsys_name'}, {'value'=>'data-type', 'internal'=>'yes'}, {'value'=>'filename', 'internal'=>'yes'}, {'value'=>'tunnelid'}, {'value'=>'monitortag'}, {'value'=>'imsi'}, {'value'=>'imei'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'http2_connection'}, {'value'=>'tunnel'}, {'value'=>'xff_ip'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'src_category'}, {'value'=>'src_profile'}, {'value'=>'src_model'}, {'value'=>'src_vendor'}, {'value'=>'src_osfamily'}, {'value'=>'src_osversion'}, {'value'=>'src_host'}, {'value'=>'src_mac'}, {'value'=>'dst_category'}, {'value'=>'dst_profile'}, {'value'=>'dst_model'}, {'value'=>'dst_vendor'}, {'value'=>'dst_osfamily'}, {'value'=>'dst_osversion'}, {'value'=>'dst_host'}, {'value'=>'dst_mac'}]}, 'sortby'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'nunique-of-users'}]}} def group_by prop_get('group-by') end def group_by=(val) prop_set('group-by', val) end def sortby prop_get('sortby') end def sortby=(val) prop_set('sortby', val) end end def panorama_data @subclasses['panorama-data'] ||= PanoramaData.new(parent_instance: self, client: @client, create_children: @create_children) end class PanoramaThsum < ConfigClass def has_multiple_values?; false; end def _section :'panorama-thsum' end class AggregateBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'app'}, {'value'=>'src'}, {'value'=>'dst'}, {'value'=>'rule'}, {'value'=>'threatid'}, {'value'=>'srcuser'}, {'value'=>'dstuser'}, {'value'=>'srcloc'}, {'value'=>'dstloc'}, {'value'=>'xff_ip'}, {'value'=>'vsys'}, {'value'=>'from'}, {'value'=>'to'}, {'value'=>'dev_serial'}, {'value'=>'dport'}, {'value'=>'action'}, {'value'=>'severity'}, {'value'=>'inbound_if'}, {'value'=>'outbound_if'}, {'value'=>'category'}, {'value'=>'category-of-app'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'risk-of-app'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'tunnel'}, {'value'=>'direction'}, {'value'=>'assoc_id'}, {'value'=>'ppid'}, {'value'=>'http2_connection'}, {'value'=>'rule_uuid'}, {'value'=>'threat_name'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'hostid'}, {'value'=>'dynusergroup_name'}, {'value'=>'nssai_sst'}, {'value'=>'cluster_name'}, {'value'=>'src_category'}, {'value'=>'src_profile'}, {'value'=>'src_model'}, {'value'=>'src_vendor'}, {'value'=>'src_osfamily'}, {'value'=>'src_osversion'}, {'value'=>'src_host'}, {'value'=>'src_mac'}, {'value'=>'dst_category'}, {'value'=>'dst_profile'}, {'value'=>'dst_model'}, {'value'=>'dst_vendor'}, {'value'=>'dst_osfamily'}, {'value'=>'dst_osversion'}, {'value'=>'dst_host'}, {'value'=>'dst_mac'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'subtype'}, {'value'=>'tunnelid'}, {'value'=>'imsi'}, {'value'=>'monitortag'}, {'value'=>'imei'}, {'value'=>'category-of-threatid'}, {'value'=>'threat-type'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def aggregate_by maybe_register_subclass('aggregate-by', AggregateBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Values < XML::ConfigClass def has_multiple_values?; true; end def _section :values end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'sessions'}, {'value'=>'count'}, {'value'=>'nunique-of-apps'}, {'value'=>'nunique-of-users'}, {'value'=>'nunique-of-src_profile'}, {'value'=>'nunique-of-dst_profile'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def values maybe_register_subclass('values', Values.new(parent_instance: self, client: @client, create_children: @create_children)) end class Labels < XML::ConfigClass def has_multiple_values?; true; end def _section :labels end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def labels maybe_register_subclass('labels', Labels.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'group-by'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'app'}, {'value'=>'src'}, {'value'=>'dst'}, {'value'=>'rule'}, {'value'=>'threatid'}, {'value'=>'srcuser'}, {'value'=>'dstuser'}, {'value'=>'srcloc'}, {'value'=>'dstloc'}, {'value'=>'xff_ip'}, {'value'=>'vsys'}, {'value'=>'from'}, {'value'=>'to'}, {'value'=>'dev_serial'}, {'value'=>'dport'}, {'value'=>'action'}, {'value'=>'severity'}, {'value'=>'inbound_if'}, {'value'=>'outbound_if'}, {'value'=>'category'}, {'value'=>'category-of-app'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'risk-of-app'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'tunnel'}, {'value'=>'direction'}, {'value'=>'assoc_id'}, {'value'=>'ppid'}, {'value'=>'http2_connection'}, {'value'=>'rule_uuid'}, {'value'=>'threat_name'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'hostid'}, {'value'=>'dynusergroup_name'}, {'value'=>'nssai_sst'}, {'value'=>'cluster_name'}, {'value'=>'src_category'}, {'value'=>'src_profile'}, {'value'=>'src_model'}, {'value'=>'src_vendor'}, {'value'=>'src_osfamily'}, {'value'=>'src_osversion'}, {'value'=>'src_host'}, {'value'=>'src_mac'}, {'value'=>'dst_category'}, {'value'=>'dst_profile'}, {'value'=>'dst_model'}, {'value'=>'dst_vendor'}, {'value'=>'dst_osfamily'}, {'value'=>'dst_osversion'}, {'value'=>'dst_host'}, {'value'=>'dst_mac'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'subtype'}, {'value'=>'tunnelid'}, {'value'=>'imsi'}, {'value'=>'monitortag'}, {'value'=>'imei'}, {'value'=>'category-of-threatid'}, {'value'=>'threat-type'}]}, 'sortby'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'sessions'}, {'value'=>'count'}, {'value'=>'nunique-of-apps'}, {'value'=>'nunique-of-users'}, {'value'=>'nunique-of-src_profile'}, {'value'=>'nunique-of-dst_profile'}]}} def group_by prop_get('group-by') end def group_by=(val) prop_set('group-by', val) end def sortby prop_get('sortby') end def sortby=(val) prop_set('sortby', val) end end def panorama_thsum @subclasses['panorama-thsum'] ||= PanoramaThsum.new(parent_instance: self, client: @client, create_children: @create_children) end class PanoramaTraffic < ConfigClass def has_multiple_values?; false; end def _section :'panorama-traffic' end class AggregateBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'src'}, {'value'=>'dst'}, {'value'=>'natsrc'}, {'value'=>'natdst'}, {'value'=>'rule'}, {'value'=>'srcuser'}, {'value'=>'dstuser'}, {'value'=>'srcloc'}, {'value'=>'dstloc'}, {'value'=>'app'}, {'value'=>'vsys'}, {'value'=>'from'}, {'value'=>'to'}, {'value'=>'inbound_if'}, {'value'=>'outbound_if'}, {'value'=>'sport'}, {'value'=>'dport'}, {'value'=>'natsport'}, {'value'=>'natdport'}, {'value'=>'proto'}, {'value'=>'action'}, {'value'=>'tunnel'}, {'value'=>'src_uuid'}, {'value'=>'dst_uuid'}, {'value'=>'rule_uuid'}, {'value'=>'s_encrypted'}, {'value'=>'category-of-app'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'risk-of-app'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'category'}, {'value'=>'session_end_reason'}, {'value'=>'action_source'}, {'value'=>'nssai_sst'}, {'value'=>'nssai_sd'}, {'value'=>'http2_connection'}, {'value'=>'xff_ip'}, {'value'=>'dynusergroup_name'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'hostid'}, {'value'=>'session_owner'}, {'value'=>'policy_id'}, {'value'=>'offloaded'}, {'value'=>'flow_type'}, {'value'=>'cluster_name'}, {'value'=>'src_category'}, {'value'=>'src_profile'}, {'value'=>'src_model'}, {'value'=>'src_vendor'}, {'value'=>'src_osfamily'}, {'value'=>'src_osversion'}, {'value'=>'src_host'}, {'value'=>'src_mac'}, {'value'=>'dst_category'}, {'value'=>'dst_profile'}, {'value'=>'dst_model'}, {'value'=>'dst_vendor'}, {'value'=>'dst_osfamily'}, {'value'=>'dst_osversion'}, {'value'=>'dst_host'}, {'value'=>'dst_mac'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'pbf-s2c'}, {'value'=>'pbf-c2s'}, {'value'=>'decrypt-mirror'}, {'value'=>'threat-type'}, {'value'=>'flag-nat'}, {'value'=>'flag-pcap'}, {'value'=>'captive-portal'}, {'value'=>'flag-proxy'}, {'value'=>'non-std-dport'}, {'value'=>'transaction'}, {'value'=>'sym-return'}, {'value'=>'sessionid'}, {'value'=>'flag-decrypt-fwd'}, {'value'=>'tunnelid'}, {'value'=>'imsi'}, {'value'=>'monitortag'}, {'value'=>'imei'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def aggregate_by maybe_register_subclass('aggregate-by', AggregateBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Values < XML::ConfigClass def has_multiple_values?; true; end def _section :values end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'bytes'}, {'value'=>'bytes_sent'}, {'value'=>'bytes_received'}, {'value'=>'packets'}, {'value'=>'pkts_sent'}, {'value'=>'pkts_received'}, {'value'=>'chunks'}, {'value'=>'chunks_sent'}, {'value'=>'chunks_received'}, {'value'=>'nunique-of-users'}, {'value'=>'elapsed'}, {'value'=>'nunique-of-src_profile'}, {'value'=>'nunique-of-dst_profile'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def values maybe_register_subclass('values', Values.new(parent_instance: self, client: @client, create_children: @create_children)) end class Labels < XML::ConfigClass def has_multiple_values?; true; end def _section :labels end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def labels maybe_register_subclass('labels', Labels.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'group-by'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'src'}, {'value'=>'dst'}, {'value'=>'natsrc'}, {'value'=>'natdst'}, {'value'=>'rule'}, {'value'=>'srcuser'}, {'value'=>'dstuser'}, {'value'=>'srcloc'}, {'value'=>'dstloc'}, {'value'=>'app'}, {'value'=>'vsys'}, {'value'=>'from'}, {'value'=>'to'}, {'value'=>'inbound_if'}, {'value'=>'outbound_if'}, {'value'=>'sport'}, {'value'=>'dport'}, {'value'=>'natsport'}, {'value'=>'natdport'}, {'value'=>'proto'}, {'value'=>'action'}, {'value'=>'tunnel'}, {'value'=>'src_uuid'}, {'value'=>'dst_uuid'}, {'value'=>'rule_uuid'}, {'value'=>'s_encrypted'}, {'value'=>'category-of-app'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'risk-of-app'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'category'}, {'value'=>'session_end_reason'}, {'value'=>'action_source'}, {'value'=>'nssai_sst'}, {'value'=>'nssai_sd'}, {'value'=>'http2_connection'}, {'value'=>'xff_ip'}, {'value'=>'dynusergroup_name'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'hostid'}, {'value'=>'session_owner'}, {'value'=>'policy_id'}, {'value'=>'offloaded'}, {'value'=>'flow_type'}, {'value'=>'cluster_name'}, {'value'=>'src_category'}, {'value'=>'src_profile'}, {'value'=>'src_model'}, {'value'=>'src_vendor'}, {'value'=>'src_osfamily'}, {'value'=>'src_osversion'}, {'value'=>'src_host'}, {'value'=>'src_mac'}, {'value'=>'dst_category'}, {'value'=>'dst_profile'}, {'value'=>'dst_model'}, {'value'=>'dst_vendor'}, {'value'=>'dst_osfamily'}, {'value'=>'dst_osversion'}, {'value'=>'dst_host'}, {'value'=>'dst_mac'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'pbf-s2c'}, {'value'=>'pbf-c2s'}, {'value'=>'decrypt-mirror'}, {'value'=>'threat-type'}, {'value'=>'flag-nat'}, {'value'=>'flag-pcap'}, {'value'=>'captive-portal'}, {'value'=>'flag-proxy'}, {'value'=>'non-std-dport'}, {'value'=>'transaction'}, {'value'=>'sym-return'}, {'value'=>'sessionid'}, {'value'=>'flag-decrypt-fwd'}, {'value'=>'tunnelid'}, {'value'=>'imsi'}, {'value'=>'monitortag'}, {'value'=>'imei'}]}, 'sortby'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'bytes'}, {'value'=>'bytes_sent'}, {'value'=>'bytes_received'}, {'value'=>'packets'}, {'value'=>'pkts_sent'}, {'value'=>'pkts_received'}, {'value'=>'chunks'}, {'value'=>'chunks_sent'}, {'value'=>'chunks_received'}, {'value'=>'nunique-of-users'}, {'value'=>'elapsed'}, {'value'=>'nunique-of-src_profile'}, {'value'=>'nunique-of-dst_profile'}]}} def group_by prop_get('group-by') end def group_by=(val) prop_set('group-by', val) end def sortby prop_get('sortby') end def sortby=(val) prop_set('sortby', val) end end def panorama_traffic @subclasses['panorama-traffic'] ||= PanoramaTraffic.new(parent_instance: self, client: @client, create_children: @create_children) end class PanoramaUrlsum < ConfigClass def has_multiple_values?; false; end def _section :'panorama-urlsum' end class AggregateBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'app'}, {'value'=>'category'}, {'value'=>'src'}, {'value'=>'dst'}, {'value'=>'rule'}, {'value'=>'srcuser'}, {'value'=>'dstuser'}, {'value'=>'srcloc'}, {'value'=>'dstloc'}, {'value'=>'vsys'}, {'value'=>'from'}, {'value'=>'to'}, {'value'=>'dev_serial'}, {'value'=>'inbound_if'}, {'value'=>'outbound_if'}, {'value'=>'dport'}, {'value'=>'action'}, {'value'=>'tunnel'}, {'value'=>'url_domain'}, {'value'=>'user_agent'}, {'value'=>'http_method'}, {'value'=>'http2_connection'}, {'value'=>'category-of-app'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'risk-of-app'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'rule_uuid'}, {'value'=>'xff_ip'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'hostid'}, {'value'=>'dynusergroup_name'}, {'value'=>'nssai_sst'}, {'value'=>'cluster_name'}, {'value'=>'src_category'}, {'value'=>'src_profile'}, {'value'=>'src_model'}, {'value'=>'src_vendor'}, {'value'=>'src_osfamily'}, {'value'=>'src_osversion'}, {'value'=>'src_host'}, {'value'=>'src_mac'}, {'value'=>'dst_category'}, {'value'=>'dst_profile'}, {'value'=>'dst_model'}, {'value'=>'dst_vendor'}, {'value'=>'dst_osfamily'}, {'value'=>'dst_osversion'}, {'value'=>'dst_host'}, {'value'=>'dst_mac'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'url_category_list'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'tunnelid'}, {'value'=>'imsi'}, {'value'=>'monitortag'}, {'value'=>'imei'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def aggregate_by maybe_register_subclass('aggregate-by', AggregateBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Values < XML::ConfigClass def has_multiple_values?; true; end def _section :values end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'nunique-of-users'}, {'value'=>'nunique-of-src_profile'}, {'value'=>'nunique-of-dst_profile'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def values maybe_register_subclass('values', Values.new(parent_instance: self, client: @client, create_children: @create_children)) end class Labels < XML::ConfigClass def has_multiple_values?; true; end def _section :labels end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def labels maybe_register_subclass('labels', Labels.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'group-by'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'app'}, {'value'=>'category'}, {'value'=>'src'}, {'value'=>'dst'}, {'value'=>'rule'}, {'value'=>'srcuser'}, {'value'=>'dstuser'}, {'value'=>'srcloc'}, {'value'=>'dstloc'}, {'value'=>'vsys'}, {'value'=>'from'}, {'value'=>'to'}, {'value'=>'dev_serial'}, {'value'=>'inbound_if'}, {'value'=>'outbound_if'}, {'value'=>'dport'}, {'value'=>'action'}, {'value'=>'tunnel'}, {'value'=>'url_domain'}, {'value'=>'user_agent'}, {'value'=>'http_method'}, {'value'=>'http2_connection'}, {'value'=>'category-of-app'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'risk-of-app'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'rule_uuid'}, {'value'=>'xff_ip'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'hostid'}, {'value'=>'dynusergroup_name'}, {'value'=>'nssai_sst'}, {'value'=>'cluster_name'}, {'value'=>'src_category'}, {'value'=>'src_profile'}, {'value'=>'src_model'}, {'value'=>'src_vendor'}, {'value'=>'src_osfamily'}, {'value'=>'src_osversion'}, {'value'=>'src_host'}, {'value'=>'src_mac'}, {'value'=>'dst_category'}, {'value'=>'dst_profile'}, {'value'=>'dst_model'}, {'value'=>'dst_vendor'}, {'value'=>'dst_osfamily'}, {'value'=>'dst_osversion'}, {'value'=>'dst_host'}, {'value'=>'dst_mac'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'url_category_list'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'tunnelid'}, {'value'=>'imsi'}, {'value'=>'monitortag'}, {'value'=>'imei'}]}, 'sortby'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'nunique-of-users'}, {'value'=>'nunique-of-src_profile'}, {'value'=>'nunique-of-dst_profile'}]}} def group_by prop_get('group-by') end def group_by=(val) prop_set('group-by', val) end def sortby prop_get('sortby') end def sortby=(val) prop_set('sortby', val) end end def panorama_urlsum @subclasses['panorama-urlsum'] ||= PanoramaUrlsum.new(parent_instance: self, client: @client, create_children: @create_children) end class PanoramaTrsum < ConfigClass def has_multiple_values?; false; end def _section :'panorama-trsum' end class AggregateBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'app'}, {'value'=>'src'}, {'value'=>'dst'}, {'value'=>'xff_ip'}, {'value'=>'rule'}, {'value'=>'srcuser'}, {'value'=>'dstuser'}, {'value'=>'srcloc'}, {'value'=>'dstloc'}, {'value'=>'category'}, {'value'=>'vsys'}, {'value'=>'from'}, {'value'=>'to'}, {'value'=>'dev_serial'}, {'value'=>'dport'}, {'value'=>'action'}, {'value'=>'tunnel'}, {'value'=>'inbound_if'}, {'value'=>'outbound_if'}, {'value'=>'category-of-app'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'risk-of-app'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'assoc_id'}, {'value'=>'http2_connection'}, {'value'=>'rule_uuid'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'dynusergroup_name'}, {'value'=>'s_decrypted'}, {'value'=>'s_encrypted'}, {'value'=>'hostid'}, {'value'=>'nssai_sst'}, {'value'=>'cluster_name'}, {'value'=>'flow_type'}, {'value'=>'src_category'}, {'value'=>'src_profile'}, {'value'=>'src_model'}, {'value'=>'src_vendor'}, {'value'=>'src_osfamily'}, {'value'=>'src_osversion'}, {'value'=>'src_host'}, {'value'=>'src_mac'}, {'value'=>'dst_category'}, {'value'=>'dst_profile'}, {'value'=>'dst_model'}, {'value'=>'dst_vendor'}, {'value'=>'dst_osfamily'}, {'value'=>'dst_osversion'}, {'value'=>'dst_host'}, {'value'=>'dst_mac'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'tunnelid'}, {'value'=>'imsi'}, {'value'=>'monitortag'}, {'value'=>'imei'}, {'value'=>'standard-ports-of-app'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def aggregate_by maybe_register_subclass('aggregate-by', AggregateBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Values < XML::ConfigClass def has_multiple_values?; true; end def _section :values end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'bytes'}, {'value'=>'sessions'}, {'value'=>'bytes_sent'}, {'value'=>'bytes_received'}, {'value'=>'nthreats'}, {'value'=>'nftrans'}, {'value'=>'ndpmatches'}, {'value'=>'nurlcount'}, {'value'=>'chunks'}, {'value'=>'chunks_sent'}, {'value'=>'chunks_received'}, {'value'=>'ncontent'}, {'value'=>'nunique-of-apps'}, {'value'=>'nunique-of-users'}, {'value'=>'nunique-of-src_profile'}, {'value'=>'nunique-of-dst_profile'}, {'value'=>'s_decrypted'}, {'value'=>'s_encrypted'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def values maybe_register_subclass('values', Values.new(parent_instance: self, client: @client, create_children: @create_children)) end class Labels < XML::ConfigClass def has_multiple_values?; true; end def _section :labels end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def labels maybe_register_subclass('labels', Labels.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'group-by'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'app'}, {'value'=>'src'}, {'value'=>'dst'}, {'value'=>'xff_ip'}, {'value'=>'rule'}, {'value'=>'srcuser'}, {'value'=>'dstuser'}, {'value'=>'srcloc'}, {'value'=>'dstloc'}, {'value'=>'category'}, {'value'=>'vsys'}, {'value'=>'from'}, {'value'=>'to'}, {'value'=>'dev_serial'}, {'value'=>'dport'}, {'value'=>'action'}, {'value'=>'tunnel'}, {'value'=>'inbound_if'}, {'value'=>'outbound_if'}, {'value'=>'category-of-app'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'risk-of-app'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'assoc_id'}, {'value'=>'http2_connection'}, {'value'=>'rule_uuid'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'dynusergroup_name'}, {'value'=>'s_decrypted'}, {'value'=>'s_encrypted'}, {'value'=>'hostid'}, {'value'=>'nssai_sst'}, {'value'=>'cluster_name'}, {'value'=>'flow_type'}, {'value'=>'src_category'}, {'value'=>'src_profile'}, {'value'=>'src_model'}, {'value'=>'src_vendor'}, {'value'=>'src_osfamily'}, {'value'=>'src_osversion'}, {'value'=>'src_host'}, {'value'=>'src_mac'}, {'value'=>'dst_category'}, {'value'=>'dst_profile'}, {'value'=>'dst_model'}, {'value'=>'dst_vendor'}, {'value'=>'dst_osfamily'}, {'value'=>'dst_osversion'}, {'value'=>'dst_host'}, {'value'=>'dst_mac'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'tunnelid'}, {'value'=>'imsi'}, {'value'=>'monitortag'}, {'value'=>'imei'}, {'value'=>'standard-ports-of-app'}]}, 'sortby'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'bytes'}, {'value'=>'sessions'}, {'value'=>'bytes_sent'}, {'value'=>'bytes_received'}, {'value'=>'nthreats'}, {'value'=>'nftrans'}, {'value'=>'ndpmatches'}, {'value'=>'nurlcount'}, {'value'=>'chunks'}, {'value'=>'chunks_sent'}, {'value'=>'chunks_received'}, {'value'=>'ncontent'}, {'value'=>'nunique-of-apps'}, {'value'=>'nunique-of-users'}, {'value'=>'nunique-of-src_profile'}, {'value'=>'nunique-of-dst_profile'}]}} def group_by prop_get('group-by') end def group_by=(val) prop_set('group-by', val) end def sortby prop_get('sortby') end def sortby=(val) prop_set('sortby', val) end end def panorama_trsum @subclasses['panorama-trsum'] ||= PanoramaTrsum.new(parent_instance: self, client: @client, create_children: @create_children) end class PanoramaGtp < ConfigClass def has_multiple_values?; false; end def _section :'panorama-gtp' end class AggregateBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'src'}, {'value'=>'dst'}, {'value'=>'natsrc'}, {'value'=>'natdst'}, {'value'=>'rule'}, {'value'=>'srcuser'}, {'value'=>'dstuser'}, {'value'=>'srcloc'}, {'value'=>'dstloc'}, {'value'=>'app'}, {'value'=>'vsys'}, {'value'=>'from'}, {'value'=>'to'}, {'value'=>'inbound_if'}, {'value'=>'outbound_if'}, {'value'=>'sport'}, {'value'=>'dport'}, {'value'=>'natsport'}, {'value'=>'natdport'}, {'value'=>'proto'}, {'value'=>'action'}, {'value'=>'tunnel'}, {'value'=>'src_uuid'}, {'value'=>'dst_uuid'}, {'value'=>'rule_uuid'}, {'value'=>'s_encrypted'}, {'value'=>'category-of-app'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'risk-of-app'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'end_ip_addr'}, {'value'=>'msisdn'}, {'value'=>'nssai_sd'}, {'value'=>'nssai_sst'}, {'value'=>'pdu_session_id'}, {'value'=>'apn'}, {'value'=>'cause_code'}, {'value'=>'mcc'}, {'value'=>'mnc'}, {'value'=>'cell_id'}, {'value'=>'event_code'}, {'value'=>'msg_type'}, {'value'=>'area_code'}, {'value'=>'session_end_reason'}, {'value'=>'action_source'}, {'value'=>'event_type'}, {'value'=>'severity'}, {'value'=>'rat'}, {'value'=>'gtp_interface'}, {'value'=>'remote_user_ip'}, {'value'=>'remote_user_id'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'dynusergroup_name'}, {'value'=>'cluster_name'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'imei'}, {'value'=>'imsi'}, {'value'=>'sessionid'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def aggregate_by maybe_register_subclass('aggregate-by', AggregateBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Values < XML::ConfigClass def has_multiple_values?; true; end def _section :values end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'nunique-of-users'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def values maybe_register_subclass('values', Values.new(parent_instance: self, client: @client, create_children: @create_children)) end class Labels < XML::ConfigClass def has_multiple_values?; true; end def _section :labels end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def labels maybe_register_subclass('labels', Labels.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'group-by'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'src'}, {'value'=>'dst'}, {'value'=>'natsrc'}, {'value'=>'natdst'}, {'value'=>'rule'}, {'value'=>'srcuser'}, {'value'=>'dstuser'}, {'value'=>'srcloc'}, {'value'=>'dstloc'}, {'value'=>'app'}, {'value'=>'vsys'}, {'value'=>'from'}, {'value'=>'to'}, {'value'=>'inbound_if'}, {'value'=>'outbound_if'}, {'value'=>'sport'}, {'value'=>'dport'}, {'value'=>'natsport'}, {'value'=>'natdport'}, {'value'=>'proto'}, {'value'=>'action'}, {'value'=>'tunnel'}, {'value'=>'src_uuid'}, {'value'=>'dst_uuid'}, {'value'=>'rule_uuid'}, {'value'=>'s_encrypted'}, {'value'=>'category-of-app'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'risk-of-app'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'end_ip_addr'}, {'value'=>'msisdn'}, {'value'=>'nssai_sd'}, {'value'=>'nssai_sst'}, {'value'=>'pdu_session_id'}, {'value'=>'apn'}, {'value'=>'cause_code'}, {'value'=>'mcc'}, {'value'=>'mnc'}, {'value'=>'cell_id'}, {'value'=>'event_code'}, {'value'=>'msg_type'}, {'value'=>'area_code'}, {'value'=>'session_end_reason'}, {'value'=>'action_source'}, {'value'=>'event_type'}, {'value'=>'severity'}, {'value'=>'rat'}, {'value'=>'gtp_interface'}, {'value'=>'remote_user_ip'}, {'value'=>'remote_user_id'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'dynusergroup_name'}, {'value'=>'cluster_name'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'imei'}, {'value'=>'imsi'}, {'value'=>'sessionid'}]}, 'sortby'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'nunique-of-users'}, {'value'=>'severity'}]}} def group_by prop_get('group-by') end def group_by=(val) prop_set('group-by', val) end def sortby prop_get('sortby') end def sortby=(val) prop_set('sortby', val) end end def panorama_gtp @subclasses['panorama-gtp'] ||= PanoramaGtp.new(parent_instance: self, client: @client, create_children: @create_children) end class PanoramaGtpsum < ConfigClass def has_multiple_values?; false; end def _section :'panorama-gtpsum' end class AggregateBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'app'}, {'value'=>'src'}, {'value'=>'dst'}, {'value'=>'rule'}, {'value'=>'srcloc'}, {'value'=>'dstloc'}, {'value'=>'vsys'}, {'value'=>'dev_serial'}, {'value'=>'msisdn'}, {'value'=>'nssai_sd'}, {'value'=>'nssai_sst'}, {'value'=>'pdu_session_id'}, {'value'=>'apn'}, {'value'=>'cause_code'}, {'value'=>'mcc'}, {'value'=>'mnc'}, {'value'=>'action'}, {'value'=>'event_type'}, {'value'=>'severity'}, {'value'=>'rat'}, {'value'=>'msg_type'}, {'value'=>'tunnel'}, {'value'=>'tunnel_insp_rule'}, {'value'=>'remote_user_ip'}, {'value'=>'remote_user_id'}, {'value'=>'rule_uuid'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'cluster_name'}, {'value'=>'category-of-app'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'risk-of-app'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'imei'}, {'value'=>'imsi'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def aggregate_by maybe_register_subclass('aggregate-by', AggregateBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Values < XML::ConfigClass def has_multiple_values?; true; end def _section :values end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'repeatcnt'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def values maybe_register_subclass('values', Values.new(parent_instance: self, client: @client, create_children: @create_children)) end class Labels < XML::ConfigClass def has_multiple_values?; true; end def _section :labels end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def labels maybe_register_subclass('labels', Labels.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'group-by'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'app'}, {'value'=>'src'}, {'value'=>'dst'}, {'value'=>'rule'}, {'value'=>'srcloc'}, {'value'=>'dstloc'}, {'value'=>'vsys'}, {'value'=>'dev_serial'}, {'value'=>'msisdn'}, {'value'=>'nssai_sd'}, {'value'=>'nssai_sst'}, {'value'=>'pdu_session_id'}, {'value'=>'apn'}, {'value'=>'cause_code'}, {'value'=>'mcc'}, {'value'=>'mnc'}, {'value'=>'action'}, {'value'=>'event_type'}, {'value'=>'severity'}, {'value'=>'rat'}, {'value'=>'msg_type'}, {'value'=>'tunnel'}, {'value'=>'tunnel_insp_rule'}, {'value'=>'remote_user_ip'}, {'value'=>'remote_user_id'}, {'value'=>'rule_uuid'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'cluster_name'}, {'value'=>'category-of-app'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'risk-of-app'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'imei'}, {'value'=>'imsi'}]}, 'sortby'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'severity'}]}} def group_by prop_get('group-by') end def group_by=(val) prop_set('group-by', val) end def sortby prop_get('sortby') end def sortby=(val) prop_set('sortby', val) end end def panorama_gtpsum @subclasses['panorama-gtpsum'] ||= PanoramaGtpsum.new(parent_instance: self, client: @client, create_children: @create_children) end class PanoramaSctp < ConfigClass def has_multiple_values?; false; end def _section :'panorama-sctp' end class AggregateBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'src'}, {'value'=>'dst'}, {'value'=>'natsrc'}, {'value'=>'natdst'}, {'value'=>'rule'}, {'value'=>'srcuser'}, {'value'=>'dstuser'}, {'value'=>'srcloc'}, {'value'=>'dstloc'}, {'value'=>'app'}, {'value'=>'vsys'}, {'value'=>'from'}, {'value'=>'to'}, {'value'=>'inbound_if'}, {'value'=>'outbound_if'}, {'value'=>'sport'}, {'value'=>'dport'}, {'value'=>'natsport'}, {'value'=>'natdport'}, {'value'=>'proto'}, {'value'=>'action'}, {'value'=>'tunnel'}, {'value'=>'src_uuid'}, {'value'=>'dst_uuid'}, {'value'=>'rule_uuid'}, {'value'=>'s_encrypted'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'ppid'}, {'value'=>'severity'}, {'value'=>'sctp_chunk_type'}, {'value'=>'sctp_event_type'}, {'value'=>'sctp_event_code'}, {'value'=>'verif_tag_1'}, {'value'=>'verif_tag_2'}, {'value'=>'sctp_cause_code'}, {'value'=>'diam_app_id'}, {'value'=>'diam_cmd_code'}, {'value'=>'diam_avp_code'}, {'value'=>'stream_id'}, {'value'=>'op_code'}, {'value'=>'sccp_calling_ssn'}, {'value'=>'sccp_calling_gt'}, {'value'=>'sctp_filter'}, {'value'=>'assoc_end_reason'}, {'value'=>'cluster_name'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'sessionid'}, {'value'=>'assoc_id'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def aggregate_by maybe_register_subclass('aggregate-by', AggregateBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Values < XML::ConfigClass def has_multiple_values?; true; end def _section :values end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'chunks'}, {'value'=>'chunks_sent'}, {'value'=>'chunks_received'}, {'value'=>'packets'}, {'value'=>'pkts_sent'}, {'value'=>'pkts_received'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def values maybe_register_subclass('values', Values.new(parent_instance: self, client: @client, create_children: @create_children)) end class Labels < XML::ConfigClass def has_multiple_values?; true; end def _section :labels end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def labels maybe_register_subclass('labels', Labels.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'group-by'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'src'}, {'value'=>'dst'}, {'value'=>'natsrc'}, {'value'=>'natdst'}, {'value'=>'rule'}, {'value'=>'srcuser'}, {'value'=>'dstuser'}, {'value'=>'srcloc'}, {'value'=>'dstloc'}, {'value'=>'app'}, {'value'=>'vsys'}, {'value'=>'from'}, {'value'=>'to'}, {'value'=>'inbound_if'}, {'value'=>'outbound_if'}, {'value'=>'sport'}, {'value'=>'dport'}, {'value'=>'natsport'}, {'value'=>'natdport'}, {'value'=>'proto'}, {'value'=>'action'}, {'value'=>'tunnel'}, {'value'=>'src_uuid'}, {'value'=>'dst_uuid'}, {'value'=>'rule_uuid'}, {'value'=>'s_encrypted'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'ppid'}, {'value'=>'severity'}, {'value'=>'sctp_chunk_type'}, {'value'=>'sctp_event_type'}, {'value'=>'sctp_event_code'}, {'value'=>'verif_tag_1'}, {'value'=>'verif_tag_2'}, {'value'=>'sctp_cause_code'}, {'value'=>'diam_app_id'}, {'value'=>'diam_cmd_code'}, {'value'=>'diam_avp_code'}, {'value'=>'stream_id'}, {'value'=>'op_code'}, {'value'=>'sccp_calling_ssn'}, {'value'=>'sccp_calling_gt'}, {'value'=>'sctp_filter'}, {'value'=>'assoc_end_reason'}, {'value'=>'cluster_name'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'sessionid'}, {'value'=>'assoc_id'}]}, 'sortby'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'chunks'}, {'value'=>'chunks_sent'}, {'value'=>'chunks_received'}, {'value'=>'packets'}, {'value'=>'pkts_sent'}, {'value'=>'pkts_received'}, {'value'=>'severity'}]}} def group_by prop_get('group-by') end def group_by=(val) prop_set('group-by', val) end def sortby prop_get('sortby') end def sortby=(val) prop_set('sortby', val) end end def panorama_sctp @subclasses['panorama-sctp'] ||= PanoramaSctp.new(parent_instance: self, client: @client, create_children: @create_children) end class PanoramaSctpsum < ConfigClass def has_multiple_values?; false; end def _section :'panorama-sctpsum' end class AggregateBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'src'}, {'value'=>'dst'}, {'value'=>'rule'}, {'value'=>'srcloc'}, {'value'=>'dstloc'}, {'value'=>'action'}, {'value'=>'vsys'}, {'value'=>'dev_serial'}, {'value'=>'assoc_id'}, {'value'=>'ppid'}, {'value'=>'severity'}, {'value'=>'sctp_chunk_type'}, {'value'=>'sctp_event_type'}, {'value'=>'diam_app_id'}, {'value'=>'diam_cmd_code'}, {'value'=>'op_code'}, {'value'=>'sccp_calling_ssn'}, {'value'=>'sctp_filter'}, {'value'=>'rule_uuid'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'cluster_name'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'app'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def aggregate_by maybe_register_subclass('aggregate-by', AggregateBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Values < XML::ConfigClass def has_multiple_values?; true; end def _section :values end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'chunks'}, {'value'=>'chunks_sent'}, {'value'=>'chunks_received'}, {'value'=>'packets'}, {'value'=>'pkts_sent'}, {'value'=>'pkts_received'}, {'value'=>'repeatcnt'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def values maybe_register_subclass('values', Values.new(parent_instance: self, client: @client, create_children: @create_children)) end class Labels < XML::ConfigClass def has_multiple_values?; true; end def _section :labels end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def labels maybe_register_subclass('labels', Labels.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'group-by'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'src'}, {'value'=>'dst'}, {'value'=>'rule'}, {'value'=>'srcloc'}, {'value'=>'dstloc'}, {'value'=>'action'}, {'value'=>'vsys'}, {'value'=>'dev_serial'}, {'value'=>'assoc_id'}, {'value'=>'ppid'}, {'value'=>'severity'}, {'value'=>'sctp_chunk_type'}, {'value'=>'sctp_event_type'}, {'value'=>'diam_app_id'}, {'value'=>'diam_cmd_code'}, {'value'=>'op_code'}, {'value'=>'sccp_calling_ssn'}, {'value'=>'sctp_filter'}, {'value'=>'rule_uuid'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'cluster_name'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'app'}]}, 'sortby'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'chunks'}, {'value'=>'chunks_sent'}, {'value'=>'chunks_received'}, {'value'=>'packets'}, {'value'=>'pkts_sent'}, {'value'=>'pkts_received'}, {'value'=>'repeatcnt'}, {'value'=>'severity'}]}} def group_by prop_get('group-by') end def group_by=(val) prop_set('group-by', val) end def sortby prop_get('sortby') end def sortby=(val) prop_set('sortby', val) end end def panorama_sctpsum @subclasses['panorama-sctpsum'] ||= PanoramaSctpsum.new(parent_instance: self, client: @client, create_children: @create_children) end class PanoramaTunnel < ConfigClass def has_multiple_values?; false; end def _section :'panorama-tunnel' end class AggregateBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'action'}, {'value'=>'app'}, {'value'=>'category-of-app'}, {'value'=>'dport'}, {'value'=>'dst'}, {'value'=>'dstuser'}, {'value'=>'flag-pcap'}, {'value'=>'flag-proxy'}, {'value'=>'flag-nat'}, {'value'=>'captive-portal'}, {'value'=>'non-std-dport'}, {'value'=>'transaction'}, {'value'=>'pbf-c2s'}, {'value'=>'pbf-s2c'}, {'value'=>'sym-return'}, {'value'=>'decrypt-mirror'}, {'value'=>'from'}, {'value'=>'inbound_if'}, {'value'=>'natdport'}, {'value'=>'natdst'}, {'value'=>'natsport'}, {'value'=>'natsrc'}, {'value'=>'outbound_if'}, {'value'=>'proto'}, {'value'=>'risk-of-app'}, {'value'=>'rule'}, {'value'=>'rule_uuid'}, {'value'=>'sessionid'}, {'value'=>'sport'}, {'value'=>'src'}, {'value'=>'srcuser'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'dstloc'}, {'value'=>'srcloc'}, {'value'=>'to'}, {'value'=>'vsys'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'day-of-receive_time'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'tunnelid'}, {'value'=>'monitortag'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'tunnel'}, {'value'=>'tunnel_insp_rule'}, {'value'=>'session_end_reason'}, {'value'=>'action_source'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def aggregate_by maybe_register_subclass('aggregate-by', AggregateBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Values < XML::ConfigClass def has_multiple_values?; true; end def _section :values end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'bytes'}, {'value'=>'bytes_sent'}, {'value'=>'bytes_received'}, {'value'=>'packets'}, {'value'=>'pkts_sent'}, {'value'=>'pkts_received'}, {'value'=>'max_encap'}, {'value'=>'unknown_proto'}, {'value'=>'strict_check'}, {'value'=>'tunnel_fragment'}, {'value'=>'sessions_created'}, {'value'=>'sessions_closed'}, {'value'=>'nunique-of-users'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def values maybe_register_subclass('values', Values.new(parent_instance: self, client: @client, create_children: @create_children)) end class Labels < XML::ConfigClass def has_multiple_values?; true; end def _section :labels end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def labels maybe_register_subclass('labels', Labels.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'group-by'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'action'}, {'value'=>'app'}, {'value'=>'category-of-app'}, {'value'=>'dport'}, {'value'=>'dst'}, {'value'=>'dstuser'}, {'value'=>'from'}, {'value'=>'inbound_if'}, {'value'=>'natdport'}, {'value'=>'natdst'}, {'value'=>'natsport'}, {'value'=>'natsrc'}, {'value'=>'outbound_if'}, {'value'=>'proto'}, {'value'=>'risk-of-app'}, {'value'=>'rule'}, {'value'=>'rule_uuid'}, {'value'=>'sessionid'}, {'value'=>'sport'}, {'value'=>'src'}, {'value'=>'srcuser'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'to'}, {'value'=>'dstloc'}, {'value'=>'srcloc'}, {'value'=>'vsys'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'day-of-receive_time'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'tunnelid'}, {'value'=>'monitortag'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'tunnel'}, {'value'=>'tunnel_insp_rule'}, {'value'=>'session_end_reason'}, {'value'=>'action_source'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}]}, 'sortby'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'bytes'}, {'value'=>'bytes_sent'}, {'value'=>'bytes_received'}, {'value'=>'packets'}, {'value'=>'pkts_sent'}, {'value'=>'pkts_received'}, {'value'=>'max_encap'}, {'value'=>'unknown_proto'}, {'value'=>'strict_check'}, {'value'=>'tunnel_fragment'}, {'value'=>'sessions_created'}, {'value'=>'sessions_closed'}, {'value'=>'nunique-of-users'}]}} def group_by prop_get('group-by') end def group_by=(val) prop_set('group-by', val) end def sortby prop_get('sortby') end def sortby=(val) prop_set('sortby', val) end end def panorama_tunnel @subclasses['panorama-tunnel'] ||= PanoramaTunnel.new(parent_instance: self, client: @client, create_children: @create_children) end class PanoramaTunnelsum < ConfigClass def has_multiple_values?; false; end def _section :'panorama-tunnelsum' end class AggregateBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'action'}, {'value'=>'app'}, {'value'=>'category-of-app'}, {'value'=>'standard-ports-of-app'}, {'value'=>'dst'}, {'value'=>'risk-of-app'}, {'value'=>'rule'}, {'value'=>'rule_uuid'}, {'value'=>'src'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'dstloc'}, {'value'=>'srcloc'}, {'value'=>'vsys'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'day-of-receive_time'}, {'value'=>'serial'}, {'value'=>'device_name'}, {'value'=>'vsys_name'}, {'value'=>'tunnelid'}, {'value'=>'monitortag'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'tunnel'}, {'value'=>'tunnel_insp_rule'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def aggregate_by maybe_register_subclass('aggregate-by', AggregateBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Values < XML::ConfigClass def has_multiple_values?; true; end def _section :values end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'bytes'}, {'value'=>'bytes_sent'}, {'value'=>'bytes_received'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def values maybe_register_subclass('values', Values.new(parent_instance: self, client: @client, create_children: @create_children)) end class Labels < XML::ConfigClass def has_multiple_values?; true; end def _section :labels end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def labels maybe_register_subclass('labels', Labels.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'group-by'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'action'}, {'value'=>'app'}, {'value'=>'category-of-app'}, {'value'=>'dst'}, {'value'=>'risk-of-app'}, {'value'=>'rule'}, {'value'=>'rule_uuid'}, {'value'=>'src'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'dstloc'}, {'value'=>'srcloc'}, {'value'=>'vsys'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'day-of-receive_time'}, {'value'=>'serial'}, {'value'=>'device_name'}, {'value'=>'vsys_name'}, {'value'=>'tunnelid'}, {'value'=>'monitortag'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'tunnel'}, {'value'=>'tunnel_insp_rule'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}]}, 'sortby'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'bytes'}, {'value'=>'bytes_sent'}, {'value'=>'bytes_received'}]}} def group_by prop_get('group-by') end def group_by=(val) prop_set('group-by', val) end def sortby prop_get('sortby') end def sortby=(val) prop_set('sortby', val) end end def panorama_tunnelsum @subclasses['panorama-tunnelsum'] ||= PanoramaTunnelsum.new(parent_instance: self, client: @client, create_children: @create_children) end class PanoramaUserid < ConfigClass def has_multiple_values?; false; end def _section :'panorama-userid' end class AggregateBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'vsys'}, {'value'=>'ip'}, {'value'=>'user'}, {'value'=>'datasourcename'}, {'value'=>'beginport'}, {'value'=>'endport'}, {'value'=>'datasource'}, {'value'=>'datasourcetype'}, {'value'=>'factortype'}, {'value'=>'factorcompletiontime'}, {'value'=>'factorno'}, {'value'=>'tag_name'}, {'value'=>'origindatasource'}, {'value'=>'direction'}, {'value'=>'cluster_name'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'subtype'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def aggregate_by maybe_register_subclass('aggregate-by', AggregateBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Values < XML::ConfigClass def has_multiple_values?; true; end def _section :values end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'repeatcnt'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def values maybe_register_subclass('values', Values.new(parent_instance: self, client: @client, create_children: @create_children)) end class Labels < XML::ConfigClass def has_multiple_values?; true; end def _section :labels end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def labels maybe_register_subclass('labels', Labels.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'group-by'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'vsys'}, {'value'=>'ip'}, {'value'=>'user'}, {'value'=>'datasourcename'}, {'value'=>'beginport'}, {'value'=>'endport'}, {'value'=>'datasource'}, {'value'=>'datasourcetype'}, {'value'=>'factortype'}, {'value'=>'factorcompletiontime'}, {'value'=>'factorno'}, {'value'=>'tag_name'}, {'value'=>'origindatasource'}, {'value'=>'direction'}, {'value'=>'cluster_name'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'subtype'}]}, 'sortby'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'factortype'}, {'value'=>'factorcompletiontime'}]}} def group_by prop_get('group-by') end def group_by=(val) prop_set('group-by', val) end def sortby prop_get('sortby') end def sortby=(val) prop_set('sortby', val) end end def panorama_userid @subclasses['panorama-userid'] ||= PanoramaUserid.new(parent_instance: self, client: @client, create_children: @create_children) end class PanoramaAuth < ConfigClass def has_multiple_values?; false; end def _section :'panorama-auth' end class AggregateBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'vsys'}, {'value'=>'ip'}, {'value'=>'user'}, {'value'=>'normalize_user'}, {'value'=>'object'}, {'value'=>'authpolicy'}, {'value'=>'authid'}, {'value'=>'vendor'}, {'value'=>'clienttype'}, {'value'=>'event'}, {'value'=>'factorno'}, {'value'=>'authproto'}, {'value'=>'rule_uuid'}, {'value'=>'cluster_name'}, {'value'=>'src_category'}, {'value'=>'src_profile'}, {'value'=>'src_model'}, {'value'=>'src_vendor'}, {'value'=>'src_osfamily'}, {'value'=>'src_osversion'}, {'value'=>'src_host'}, {'value'=>'src_mac'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'subtype'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def aggregate_by maybe_register_subclass('aggregate-by', AggregateBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Values < XML::ConfigClass def has_multiple_values?; true; end def _section :values end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'repeatcnt'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def values maybe_register_subclass('values', Values.new(parent_instance: self, client: @client, create_children: @create_children)) end class Labels < XML::ConfigClass def has_multiple_values?; true; end def _section :labels end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def labels maybe_register_subclass('labels', Labels.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'group-by'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'vsys'}, {'value'=>'ip'}, {'value'=>'user'}, {'value'=>'normalize_user'}, {'value'=>'object'}, {'value'=>'authpolicy'}, {'value'=>'authid'}, {'value'=>'vendor'}, {'value'=>'clienttype'}, {'value'=>'event'}, {'value'=>'factorno'}, {'value'=>'authproto'}, {'value'=>'rule_uuid'}, {'value'=>'cluster_name'}, {'value'=>'src_category'}, {'value'=>'src_profile'}, {'value'=>'src_model'}, {'value'=>'src_vendor'}, {'value'=>'src_osfamily'}, {'value'=>'src_osversion'}, {'value'=>'src_host'}, {'value'=>'src_mac'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'serverprofile'}, {'value'=>'desc'}, {'value'=>'subtype'}]}, 'sortby'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'time_generated'}, {'value'=>'vendor'}]}} def group_by prop_get('group-by') end def group_by=(val) prop_set('group-by', val) end def sortby prop_get('sortby') end def sortby=(val) prop_set('sortby', val) end end def panorama_auth @subclasses['panorama-auth'] ||= PanoramaAuth.new(parent_instance: self, client: @client, create_children: @create_children) end class PanoramaIptag < ConfigClass def has_multiple_values?; false; end def _section :'panorama-iptag' end class AggregateBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'vsys'}, {'value'=>'ip'}, {'value'=>'tag_name'}, {'value'=>'event_id'}, {'value'=>'datasourcename'}, {'value'=>'datasource_type'}, {'value'=>'datasource_subtype'}, {'value'=>'cluster_name'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def aggregate_by maybe_register_subclass('aggregate-by', AggregateBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Values < XML::ConfigClass def has_multiple_values?; true; end def _section :values end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'repeatcnt'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def values maybe_register_subclass('values', Values.new(parent_instance: self, client: @client, create_children: @create_children)) end class Labels < XML::ConfigClass def has_multiple_values?; true; end def _section :labels end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def labels maybe_register_subclass('labels', Labels.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'group-by'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'vsys'}, {'value'=>'ip'}, {'value'=>'tag_name'}, {'value'=>'event_id'}, {'value'=>'datasourcename'}, {'value'=>'datasource_type'}, {'value'=>'datasource_subtype'}, {'value'=>'cluster_name'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}]}, 'sortby'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'time_generated'}]}} def group_by prop_get('group-by') end def group_by=(val) prop_set('group-by', val) end def sortby prop_get('sortby') end def sortby=(val) prop_set('sortby', val) end end def panorama_iptag @subclasses['panorama-iptag'] ||= PanoramaIptag.new(parent_instance: self, client: @client, create_children: @create_children) end class PanoramaHipmatch < ConfigClass def has_multiple_values?; false; end def _section :'panorama-hipmatch' end class AggregateBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'srcuser'}, {'value'=>'vsys'}, {'value'=>'machinename'}, {'value'=>'src'}, {'value'=>'matchname'}, {'value'=>'os'}, {'value'=>'matchtype'}, {'value'=>'srcipv6'}, {'value'=>'hostid'}, {'value'=>'mac'}, {'value'=>'cluster_name'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def aggregate_by maybe_register_subclass('aggregate-by', AggregateBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Values < XML::ConfigClass def has_multiple_values?; true; end def _section :values end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'repeatcnt'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def values maybe_register_subclass('values', Values.new(parent_instance: self, client: @client, create_children: @create_children)) end class Labels < XML::ConfigClass def has_multiple_values?; true; end def _section :labels end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def labels maybe_register_subclass('labels', Labels.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'group-by'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'srcuser'}, {'value'=>'vsys'}, {'value'=>'machinename'}, {'value'=>'src'}, {'value'=>'matchname'}, {'value'=>'os'}, {'value'=>'matchtype'}, {'value'=>'srcipv6'}, {'value'=>'hostid'}, {'value'=>'mac'}, {'value'=>'cluster_name'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}]}, 'sortby'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'repeatcnt'}]}, 'last-match-by'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes'}} def group_by prop_get('group-by') end def group_by=(val) prop_set('group-by', val) end def sortby prop_get('sortby') end def sortby=(val) prop_set('sortby', val) end def last_match_by prop_get('last-match-by') end def last_match_by=(val) prop_set('last-match-by', val) end end def panorama_hipmatch @subclasses['panorama-hipmatch'] ||= PanoramaHipmatch.new(parent_instance: self, client: @client, create_children: @create_children) end class PanoramaGlobalprotect < ConfigClass def has_multiple_values?; false; end def _section :'panorama-globalprotect' end class AggregateBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'vsys'}, {'value'=>'eventid'}, {'value'=>'status'}, {'value'=>'stage'}, {'value'=>'auth_method'}, {'value'=>'tunnel_type'}, {'value'=>'portal'}, {'value'=>'srcuser'}, {'value'=>'srcregion'}, {'value'=>'machinename'}, {'value'=>'public_ip'}, {'value'=>'public_ipv6'}, {'value'=>'private_ip'}, {'value'=>'private_ipv6'}, {'value'=>'hostid'}, {'value'=>'serialnumber'}, {'value'=>'client_ver'}, {'value'=>'client_os'}, {'value'=>'client_os_ver'}, {'value'=>'login_duration'}, {'value'=>'connect_method'}, {'value'=>'reason'}, {'value'=>'error_code'}, {'value'=>'error'}, {'value'=>'opaque'}, {'value'=>'gateway'}, {'value'=>'selection_type'}, {'value'=>'response_time'}, {'value'=>'priority'}, {'value'=>'cluster_name'}, {'value'=>'attempted_gateways'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def aggregate_by maybe_register_subclass('aggregate-by', AggregateBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Values < XML::ConfigClass def has_multiple_values?; true; end def _section :values end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'nunique-of-ips'}, {'value'=>'nunique-of-gateways'}, {'value'=>'nunique-of-users'}, {'value'=>'nunique-of-hostid'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def values maybe_register_subclass('values', Values.new(parent_instance: self, client: @client, create_children: @create_children)) end class Labels < XML::ConfigClass def has_multiple_values?; true; end def _section :labels end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def labels maybe_register_subclass('labels', Labels.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'group-by'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'vsys'}, {'value'=>'eventid'}, {'value'=>'status'}, {'value'=>'stage'}, {'value'=>'auth_method'}, {'value'=>'tunnel_type'}, {'value'=>'portal'}, {'value'=>'srcuser'}, {'value'=>'srcregion'}, {'value'=>'machinename'}, {'value'=>'public_ip'}, {'value'=>'public_ipv6'}, {'value'=>'private_ip'}, {'value'=>'private_ipv6'}, {'value'=>'hostid'}, {'value'=>'serialnumber'}, {'value'=>'client_ver'}, {'value'=>'client_os'}, {'value'=>'client_os_ver'}, {'value'=>'login_duration'}, {'value'=>'connect_method'}, {'value'=>'reason'}, {'value'=>'error_code'}, {'value'=>'error'}, {'value'=>'opaque'}, {'value'=>'gateway'}, {'value'=>'selection_type'}, {'value'=>'response_time'}, {'value'=>'priority'}, {'value'=>'cluster_name'}, {'value'=>'attempted_gateways'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}]}, 'sortby'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'nunique-of-ips'}, {'value'=>'nunique-of-gateways'}, {'value'=>'nunique-of-users'}, {'value'=>'nunique-of-hostid'}]}} def group_by prop_get('group-by') end def group_by=(val) prop_set('group-by', val) end def sortby prop_get('sortby') end def sortby=(val) prop_set('sortby', val) end end def panorama_globalprotect @subclasses['panorama-globalprotect'] ||= PanoramaGlobalprotect.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'query'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'2048'}, 'caption'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'255'}, 'frequency'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'daily'}]}, 'start-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'[0-9][0-9][0-9][0-9]/([0][1-9]|[1][0-2])/([0-2][0-9]|[3][0-1]) ([01][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9])', 'help-string'=>'Start Time e.g. 2008/01/01 09:00:00'}, 'end-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'[0-9][0-9][0-9][0-9]/([0][1-9]|[1][0-2])/([0-2][0-9]|[3][0-1]) ([01][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9])', 'help-string'=>'End Time e.g. 2008/12/31 11:59:59'}, 'period'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'last-15-minutes'}, {'value'=>'last-hour'}, {'value'=>'last-6-hrs'}, {'value'=>'last-12-hrs'}, {'value'=>'last-24-hrs'}, {'value'=>'last-calendar-day'}, {'value'=>'last-7-days'}, {'value'=>'last-7-calendar-days'}, {'value'=>'last-calendar-week'}, {'value'=>'last-30-days'}, {'value'=>'last-30-calendar-days'}, {'value'=>'last-60-days'}, {'value'=>'last-60-calendar-days'}, {'value'=>'last-90-days'}, {'value'=>'last-90-calendar-days'}, {'value'=>'last-calendar-month'}]}, 'topn'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'10000', 'default'=>'10'}, 'topm'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'1', 'max'=>'2500', 'default'=>'10'}, 'include-others'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'internal'=>'yes'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def disabled prop_get('disabled') end def disabled=(val) prop_set('disabled', val) end def query prop_get('query') end def query=(val) prop_set('query', val) end def caption prop_get('caption') end def caption=(val) prop_set('caption', val) end def frequency prop_get('frequency') end def frequency=(val) prop_set('frequency', val) end # Start Time e.g. 2008/01/01 09:00:00 def start_time prop_get('start-time') end # Start Time e.g. 2008/01/01 09:00:00 def start_time=(val) prop_set('start-time', val) end # End Time e.g. 2008/12/31 11:59:59 def end_time prop_get('end-time') end # End Time e.g. 2008/12/31 11:59:59 def end_time=(val) prop_set('end-time', val) end def period prop_get('period') end def period=(val) prop_set('period', val) end def topn prop_get('topn') end def topn=(val) prop_set('topn', val) end def topm prop_get('topm') end def topm=(val) prop_set('topm', val) end def include_others prop_get('include-others') end def include_others=(val) prop_set('include-others', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def reports maybe_register_subclass('reports', Reports.new(parent_instance: self, client: @client, create_children: @create_children)) end class ReportGroup < XML::ConfigClass def has_multiple_values?; true; end def _section :'report-group' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class CustomWidget < XML::ConfigClass def has_multiple_values?; true; end def _section :'custom-widget' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'positive number', 'regex'=>'[1-9][0-9]*'}, 'predefined-report'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63'}, 'custom-report'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63'}, 'pdf-summary-report'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63'}, 'log-view'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63'}, 'csv'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63'}} # positive number def name prop_get('@name') end def predefined_report prop_get('predefined-report') end def predefined_report=(val) prop_set('predefined-report', val) end def custom_report prop_get('custom-report') end def custom_report=(val) prop_set('custom-report', val) end def pdf_summary_report prop_get('pdf-summary-report') end def pdf_summary_report=(val) prop_set('pdf-summary-report', val) end def log_view prop_get('log-view') end def log_view=(val) prop_set('log-view', val) end def csv prop_get('csv') end def csv=(val) prop_set('csv', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def custom_widget maybe_register_subclass('custom-widget', CustomWidget.new(parent_instance: self, client: @client, create_children: @create_children)) end class All < XML::ConfigClass def has_multiple_values?; true; end def _section :all end class Entry < ConfigClass def has_multiple_values?; false; end def _section :entry end class UserGroups < XML::ConfigClass def has_multiple_values?; true; end def _section :'user-groups' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'max-count'=>'25'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def user_groups maybe_register_subclass('user-groups', UserGroups.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'include-user-groups-info'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}} def include_user_groups_info prop_get('include-user-groups-info') end def include_user_groups_info=(val) prop_set('include-user-groups-info', val) end end def entry @subclasses['entry'] ||= Entry.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def all maybe_register_subclass('all', All.new(parent_instance: self, client: @client, create_children: @create_children)) end class SelectedZone < XML::ConfigClass def has_multiple_values?; true; end def _section :'selected-zone' end class Entry < ConfigClass def has_multiple_values?; false; end def _section :entry end class UserGroups < XML::ConfigClass def has_multiple_values?; true; end def _section :'user-groups' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'max-count'=>'25'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def user_groups maybe_register_subclass('user-groups', UserGroups.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'include-user-groups-info'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}, 'zone'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31'}} def include_user_groups_info prop_get('include-user-groups-info') end def include_user_groups_info=(val) prop_set('include-user-groups-info', val) end def zone prop_get('zone') end def zone=(val) prop_set('zone', val) end end def entry @subclasses['entry'] ||= Entry.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def selected_zone maybe_register_subclass('selected-zone', SelectedZone.new(parent_instance: self, client: @client, create_children: @create_children)) end class SelectedUserGroup < XML::ConfigClass def has_multiple_values?; true; end def _section :'selected-user-group' end class Entry < ConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'user-group'=>{'node-type'=>'element', 'help-string'=>'user-group', 'type'=>'string', 'maxlen'=>'63'}} # user-group def user_group prop_get('user-group') end # user-group def user_group=(val) prop_set('user-group', val) end end def entry @subclasses['entry'] ||= Entry.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def selected_user_group maybe_register_subclass('selected-user-group', SelectedUserGroup.new(parent_instance: self, client: @client, create_children: @create_children)) end class Variable < XML::ConfigClass def has_multiple_values?; true; end def _section :variable end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'128', 'complete-handler'=>'pan-rpt-grp-saas-completer'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def variable maybe_register_subclass('variable', Variable.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'title-page'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'predefined'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'user-activity-report'}, {'value'=>'saas-application-usage-report'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def title_page prop_get('title-page') end def title_page=(val) prop_set('title-page', val) end def predefined prop_get('predefined') end def predefined=(val) prop_set('predefined', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def report_group maybe_register_subclass('report-group', ReportGroup.new(parent_instance: self, client: @client, create_children: @create_children)) end class PdfSummaryReport < XML::ConfigClass def has_multiple_values?; true; end def _section :'pdf-summary-report' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Header < ConfigClass def has_multiple_values?; false; end def _section :header end @props = {'caption'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127', 'help-string'=>'Caption for the layout'}} # Caption for the layout def caption prop_get('caption') end # Caption for the layout def caption=(val) prop_set('caption', val) end end def header @subclasses['header'] ||= Header.new(parent_instance: self, client: @client, create_children: @create_children) end class Footer < ConfigClass def has_multiple_values?; false; end def _section :footer end @props = {'note'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127', 'help-string'=>'static string to be printed as a note'}} # static string to be printed as a note def note prop_get('note') end # static string to be printed as a note def note=(val) prop_set('note', val) end end def footer @subclasses['footer'] ||= Footer.new(parent_instance: self, client: @client, create_children: @create_children) end class PredefinedWidget < XML::ConfigClass def has_multiple_values?; true; end def _section :'predefined-widget' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'chart-type'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'table', 'enum'=>[{'value'=>'pie'}, {'value'=>'line'}, {'value'=>'bar'}, {'value'=>'table'}]}, 'row'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'6'}, 'column'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def chart_type prop_get('chart-type') end def chart_type=(val) prop_set('chart-type', val) end def row prop_get('row') end def row=(val) prop_set('row', val) end def column prop_get('column') end def column=(val) prop_set('column', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def predefined_widget maybe_register_subclass('predefined-widget', PredefinedWidget.new(parent_instance: self, client: @client, create_children: @create_children)) end class CustomWidget < XML::ConfigClass def has_multiple_values?; true; end def _section :'custom-widget' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'chart-type'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'table', 'enum'=>[{'value'=>'pie'}, {'value'=>'line'}, {'value'=>'bar'}, {'value'=>'table'}]}, 'row'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'6'}, 'column'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def chart_type prop_get('chart-type') end def chart_type=(val) prop_set('chart-type', val) end def row prop_get('row') end def row=(val) prop_set('row', val) end def column prop_get('column') end def column=(val) prop_set('column', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def custom_widget maybe_register_subclass('custom-widget', CustomWidget.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def pdf_summary_report maybe_register_subclass('pdf-summary-report', PdfSummaryReport.new(parent_instance: self, client: @client, create_children: @create_children)) end class EmailScheduler < XML::ConfigClass def has_multiple_values?; true; end def _section :'email-scheduler' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Recurring < XML::ConfigClass def has_multiple_values?; true; end def _section :recurring end class Disabled < ConfigClass def has_multiple_values?; false; end def _section :disabled end @props = {} end def disabled @subclasses['disabled'] ||= Disabled.new(parent_instance: self, client: @client, create_children: @create_children) end class Daily < ConfigClass def has_multiple_values?; false; end def _section :daily end @props = {} end def daily @subclasses['daily'] ||= Daily.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'weekly'=>{'node-type'=>'element', 'type'=>'enum', 'help-string'=>'Once a week', 'enum'=>[{'value'=>'sunday'}, {'value'=>'monday'}, {'value'=>'tuesday'}, {'value'=>'wednesday'}, {'value'=>'thursday'}, {'value'=>'friday'}, {'value'=>'saturday'}]}, 'monthly'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'31', 'help-string'=>'Once a month'}} # Once a week def weekly prop_get('weekly') end # Once a week def weekly=(val) prop_set('weekly', val) end # Once a month def monthly prop_get('monthly') end # Once a month def monthly=(val) prop_set('monthly', val) end end def recurring maybe_register_subclass('recurring', Recurring.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'report-group'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63'}, 'email-profile'=>{'node-type'=>'element', 'type'=>'string'}, 'recipient-emails'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'512', 'optional'=>'yes'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def report_group prop_get('report-group') end def report_group=(val) prop_set('report-group', val) end def email_profile prop_get('email-profile') end def email_profile=(val) prop_set('email-profile', val) end def recipient_emails prop_get('recipient-emails') end def recipient_emails=(val) prop_set('recipient-emails', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def email_scheduler maybe_register_subclass('email-scheduler', EmailScheduler.new(parent_instance: self, client: @client, create_children: @create_children)) end class Schedule < XML::ConfigClass def has_multiple_values?; true; end def _section :schedule end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class ScheduleType < XML::ConfigClass def has_multiple_values?; true; end def _section :'schedule-type' end class Recurring < XML::ConfigClass def has_multiple_values?; true; end def _section :recurring end class Weekly < ConfigClass def has_multiple_values?; false; end def _section :weekly end class Sunday < XML::ConfigClass def has_multiple_values?; true; end def _section :sunday end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3]):([0-5][0-9])-([01][0-9]|[2][0-3]):([0-5][0-9])', 'minlen'=>'11', 'maxlen'=>'11', 'help-string'=>'Time range specification hh:mm-hh:mm (e.g. 10:00-23:59)'}} # Time range specification hh:mm-hh:mm (e.g. 10:00-23:59) def member prop_get('member') end # Time range specification hh:mm-hh:mm (e.g. 10:00-23:59) def member=(val) prop_set('member', val) end end def sunday maybe_register_subclass('sunday', Sunday.new(parent_instance: self, client: @client, create_children: @create_children)) end class Monday < XML::ConfigClass def has_multiple_values?; true; end def _section :monday end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3]):([0-5][0-9])-([01][0-9]|[2][0-3]):([0-5][0-9])', 'minlen'=>'11', 'maxlen'=>'11', 'help-string'=>'Time range specification hh:mm-hh:mm (e.g. 10:00-23:59)'}} # Time range specification hh:mm-hh:mm (e.g. 10:00-23:59) def member prop_get('member') end # Time range specification hh:mm-hh:mm (e.g. 10:00-23:59) def member=(val) prop_set('member', val) end end def monday maybe_register_subclass('monday', Monday.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tuesday < XML::ConfigClass def has_multiple_values?; true; end def _section :tuesday end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3]):([0-5][0-9])-([01][0-9]|[2][0-3]):([0-5][0-9])', 'minlen'=>'11', 'maxlen'=>'11', 'help-string'=>'Time range specification hh:mm-hh:mm (e.g. 10:00-23:59)'}} # Time range specification hh:mm-hh:mm (e.g. 10:00-23:59) def member prop_get('member') end # Time range specification hh:mm-hh:mm (e.g. 10:00-23:59) def member=(val) prop_set('member', val) end end def tuesday maybe_register_subclass('tuesday', Tuesday.new(parent_instance: self, client: @client, create_children: @create_children)) end class Wednesday < XML::ConfigClass def has_multiple_values?; true; end def _section :wednesday end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3]):([0-5][0-9])-([01][0-9]|[2][0-3]):([0-5][0-9])', 'minlen'=>'11', 'maxlen'=>'11', 'help-string'=>'Time range specification hh:mm-hh:mm (e.g. 10:00-23:59)'}} # Time range specification hh:mm-hh:mm (e.g. 10:00-23:59) def member prop_get('member') end # Time range specification hh:mm-hh:mm (e.g. 10:00-23:59) def member=(val) prop_set('member', val) end end def wednesday maybe_register_subclass('wednesday', Wednesday.new(parent_instance: self, client: @client, create_children: @create_children)) end class Thursday < XML::ConfigClass def has_multiple_values?; true; end def _section :thursday end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3]):([0-5][0-9])-([01][0-9]|[2][0-3]):([0-5][0-9])', 'minlen'=>'11', 'maxlen'=>'11', 'help-string'=>'Time range specification hh:mm-hh:mm (e.g. 10:00-23:59)'}} # Time range specification hh:mm-hh:mm (e.g. 10:00-23:59) def member prop_get('member') end # Time range specification hh:mm-hh:mm (e.g. 10:00-23:59) def member=(val) prop_set('member', val) end end def thursday maybe_register_subclass('thursday', Thursday.new(parent_instance: self, client: @client, create_children: @create_children)) end class Friday < XML::ConfigClass def has_multiple_values?; true; end def _section :friday end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3]):([0-5][0-9])-([01][0-9]|[2][0-3]):([0-5][0-9])', 'minlen'=>'11', 'maxlen'=>'11', 'help-string'=>'Time range specification hh:mm-hh:mm (e.g. 10:00-23:59)'}} # Time range specification hh:mm-hh:mm (e.g. 10:00-23:59) def member prop_get('member') end # Time range specification hh:mm-hh:mm (e.g. 10:00-23:59) def member=(val) prop_set('member', val) end end def friday maybe_register_subclass('friday', Friday.new(parent_instance: self, client: @client, create_children: @create_children)) end class Saturday < XML::ConfigClass def has_multiple_values?; true; end def _section :saturday end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3]):([0-5][0-9])-([01][0-9]|[2][0-3]):([0-5][0-9])', 'minlen'=>'11', 'maxlen'=>'11', 'help-string'=>'Time range specification hh:mm-hh:mm (e.g. 10:00-23:59)'}} # Time range specification hh:mm-hh:mm (e.g. 10:00-23:59) def member prop_get('member') end # Time range specification hh:mm-hh:mm (e.g. 10:00-23:59) def member=(val) prop_set('member', val) end end def saturday maybe_register_subclass('saturday', Saturday.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def weekly @subclasses['weekly'] ||= Weekly.new(parent_instance: self, client: @client, create_children: @create_children) end class Daily < XML::ConfigClass def has_multiple_values?; true; end def _section :daily end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3]):([0-5][0-9])-([01][0-9]|[2][0-3]):([0-5][0-9])', 'minlen'=>'11', 'maxlen'=>'11', 'help-string'=>'Time range specification hh:mm-hh:mm (e.g. 10:00-23:59)'}} # Time range specification hh:mm-hh:mm (e.g. 10:00-23:59) def member prop_get('member') end # Time range specification hh:mm-hh:mm (e.g. 10:00-23:59) def member=(val) prop_set('member', val) end end def daily maybe_register_subclass('daily', Daily.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def recurring maybe_register_subclass('recurring', Recurring.new(parent_instance: self, client: @client, create_children: @create_children)) end class NonRecurring < XML::ConfigClass def has_multiple_values?; true; end def _section :'non-recurring' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Datetime range specification YYYY/MM/DD@hh:mm-YYYY/MM/DD@hh:mm (e.g. 2006/08/01@10:00-2007/12/31@23:59)', 'regex'=>'[0-9][0-9][0-9][0-9]/([0][1-9]|[1][0-2])/([0-2][0-9]|[3][0-1])@([01][0-9]|[2][0-3]):([0-5][0-9])-[0-9][0-9][0-9][0-9]/([0][1-9]|[1][0-2])/([0-2][0-9]|[3][0-1])@([01][0-9]|[2][0-3]):([0-5][0-9])', 'minlen'=>'33', 'maxlen'=>'33'}} # Datetime range specification YYYY/MM/DD@hh:mm-YYYY/MM/DD@hh:mm (e.g. 2006/08/01@10:00-2007/12/31@23:59) def member prop_get('member') end # Datetime range specification YYYY/MM/DD@hh:mm-YYYY/MM/DD@hh:mm (e.g. 2006/08/01@10:00-2007/12/31@23:59) def member=(val) prop_set('member', val) end end def non_recurring maybe_register_subclass('non-recurring', NonRecurring.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def schedule_type maybe_register_subclass('schedule-type', ScheduleType.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'no'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def schedule maybe_register_subclass('schedule', Schedule.new(parent_instance: self, client: @client, create_children: @create_children)) end class ApplicationStatus < XML::ConfigClass def has_multiple_values?; true; end def _section :'application-status' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, '@status'=>{'node-type'=>'attr-req', 'type'=>'enum', 'enum'=>[{'value'=>'enabled'}, {'value'=>'disabled'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def status prop_get('@status') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def application_status maybe_register_subclass('application-status', ApplicationStatus.new(parent_instance: self, client: @client, create_children: @create_children)) end class Application < XML::ConfigClass def has_multiple_values?; true; end def _section :application end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Default < XML::ConfigClass def has_multiple_values?; true; end def _section :default end class Port < XML::ConfigClass def has_multiple_values?; true; end def _section :port end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'protocol port specification : {tcp|udp}/{dynamic|port range list} (e.g. tcp/8080, tcp/80,443, tcp/0-1024,10000, udp/dynamic)'}} # protocol port specification : {tcp|udp}/{dynamic|port range list} (e.g. tcp/8080, tcp/80,443, tcp/0-1024,10000, udp/dynamic) def member prop_get('member') end # protocol port specification : {tcp|udp}/{dynamic|port range list} (e.g. tcp/8080, tcp/80,443, tcp/0-1024,10000, udp/dynamic) def member=(val) prop_set('member', val) end end def port maybe_register_subclass('port', Port.new(parent_instance: self, client: @client, create_children: @create_children)) end class IdentByIcmpType < ConfigClass def has_multiple_values?; false; end def _section :'ident-by-icmp-type' end @props = {'type'=>{'node-type'=>'element', 'type'=>'rangelistspec', 'min'=>'0', 'max'=>'255'}, 'code'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangelistspec', 'min'=>'0', 'max'=>'255'}} def type prop_get('type') end def type=(val) prop_set('type', val) end def code prop_get('code') end def code=(val) prop_set('code', val) end end def ident_by_icmp_type @subclasses['ident-by-icmp-type'] ||= IdentByIcmpType.new(parent_instance: self, client: @client, create_children: @create_children) end class IdentByIcmp6Type < ConfigClass def has_multiple_values?; false; end def _section :'ident-by-icmp6-type' end @props = {'type'=>{'node-type'=>'element', 'type'=>'rangelistspec', 'min'=>'0', 'max'=>'255'}, 'code'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangelistspec', 'min'=>'0', 'max'=>'255'}} def type prop_get('type') end def type=(val) prop_set('type', val) end def code prop_get('code') end def code=(val) prop_set('code', val) end end def ident_by_icmp6_type @subclasses['ident-by-icmp6-type'] ||= IdentByIcmp6Type.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'ident-by-ip-protocol'=>{'node-type'=>'element', 'type'=>'rangelistspec', 'min'=>'0', 'max'=>'255'}} def ident_by_ip_protocol prop_get('ident-by-ip-protocol') end def ident_by_ip_protocol=(val) prop_set('ident-by-ip-protocol', val) end end def default maybe_register_subclass('default', Default.new(parent_instance: self, client: @client, create_children: @create_children)) end class Signature < XML::ConfigClass def has_multiple_values?; true; end def _section :signature end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class AndCondition < XML::ConfigClass def has_multiple_values?; true; end def _section :'and-condition' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class OrCondition < XML::ConfigClass def has_multiple_values?; true; end def _section :'or-condition' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Operator < XML::ConfigClass def has_multiple_values?; true; end def _section :operator end class PatternMatch < ConfigClass def has_multiple_values?; false; end def _section :'pattern-match' end class Qualifier < XML::ConfigClass def has_multiple_values?; true; end def _section :qualifier end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'value'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'127'}, 'string'=>{'content-dependent'=>'yes'}}}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def qualifier maybe_register_subclass('qualifier', Qualifier.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'context'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}, 'pattern'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def context prop_get('context') end def context=(val) prop_set('context', val) end def pattern prop_get('pattern') end def pattern=(val) prop_set('pattern', val) end end def pattern_match @subclasses['pattern-match'] ||= PatternMatch.new(parent_instance: self, client: @client, create_children: @create_children) end class GreaterThan < ConfigClass def has_multiple_values?; false; end def _section :'greater-than' end class Qualifier < XML::ConfigClass def has_multiple_values?; true; end def _section :qualifier end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'value'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'127'}, 'string'=>{'content-dependent'=>'yes'}}}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def qualifier maybe_register_subclass('qualifier', Qualifier.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'context'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}, 'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} def context prop_get('context') end def context=(val) prop_set('context', val) end def value prop_get('value') end def value=(val) prop_set('value', val) end end def greater_than @subclasses['greater-than'] ||= GreaterThan.new(parent_instance: self, client: @client, create_children: @create_children) end class LessThan < ConfigClass def has_multiple_values?; false; end def _section :'less-than' end class Qualifier < XML::ConfigClass def has_multiple_values?; true; end def _section :qualifier end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'value'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'127'}, 'string'=>{'content-dependent'=>'yes'}}}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def qualifier maybe_register_subclass('qualifier', Qualifier.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'context'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}, 'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} def context prop_get('context') end def context=(val) prop_set('context', val) end def value prop_get('value') end def value=(val) prop_set('value', val) end end def less_than @subclasses['less-than'] ||= LessThan.new(parent_instance: self, client: @client, create_children: @create_children) end class EqualTo < ConfigClass def has_multiple_values?; false; end def _section :'equal-to' end @props = {'context'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'maxlen'=>'127'}, 'enum'=>[{'value'=>'unknown-req-tcp'}, {'value'=>'unknown-rsp-tcp'}, {'value'=>'unknown-req-udp'}, {'value'=>'unknown-rsp-udp'}]}}, 'position'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'127'}, 'mask'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{8}$', 'maxlen'=>'10', 'help-string'=>'4-byte hex value', 'optional'=>'yes'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'10'}} def context prop_get('context') end def context=(val) prop_set('context', val) end def position prop_get('position') end def position=(val) prop_set('position', val) end # 4-byte hex value def mask prop_get('mask') end # 4-byte hex value def mask=(val) prop_set('mask', val) end def value prop_get('value') end def value=(val) prop_set('value', val) end end def equal_to @subclasses['equal-to'] ||= EqualTo.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def operator maybe_register_subclass('operator', Operator.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def or_condition maybe_register_subclass('or-condition', OrCondition.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def and_condition maybe_register_subclass('and-condition', AndCondition.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'comment'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'256'}, 'scope'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'protocol-data-unit', 'enum'=>[{'value'=>'protocol-data-unit', 'help-string'=>'transaction'}, {'value'=>'session'}]}, 'order-free'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def comment prop_get('comment') end def comment=(val) prop_set('comment', val) end def scope prop_get('scope') end def scope=(val) prop_set('scope', val) end def order_free prop_get('order-free') end def order_free=(val) prop_set('order-free', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def signature maybe_register_subclass('signature', Signature.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'no'}]}, 'category'=>{'node-type'=>'element', 'type'=>'string'}, 'subcategory'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63'}, 'technology'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'604800', 'optional'=>'yes', 'help-string'=>'timeout in seconds'}, 'tcp-timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'604800', 'optional'=>'yes', 'help-string'=>'timeout in seconds'}, 'udp-timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'604800', 'optional'=>'yes', 'help-string'=>'timeout in seconds'}, 'tcp-half-closed-timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'604800', 'optional'=>'yes', 'help-string'=>'timeout for half-close session in seconds'}, 'tcp-time-wait-timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'600', 'optional'=>'yes', 'help-string'=>'timeout for session in time_wait state in seconds'}, 'risk'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'5'}, 'evasive-behavior'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'consume-big-bandwidth'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'used-by-malware'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'able-to-transfer-file'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'has-known-vulnerability'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'tunnel-other-application'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'tunnel-applications'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'prone-to-misuse'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'pervasive-use'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'file-type-ident'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'virus-ident'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'data-ident'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'no-appid-caching'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'alg-disable-capability'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127', 'optional'=>'yes'}, 'parent-app'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127', 'optional'=>'yes'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end def category prop_get('category') end def category=(val) prop_set('category', val) end def subcategory prop_get('subcategory') end def subcategory=(val) prop_set('subcategory', val) end def technology prop_get('technology') end def technology=(val) prop_set('technology', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end # timeout in seconds def timeout prop_get('timeout') end # timeout in seconds def timeout=(val) prop_set('timeout', val) end # timeout in seconds def tcp_timeout prop_get('tcp-timeout') end # timeout in seconds def tcp_timeout=(val) prop_set('tcp-timeout', val) end # timeout in seconds def udp_timeout prop_get('udp-timeout') end # timeout in seconds def udp_timeout=(val) prop_set('udp-timeout', val) end # timeout for half-close session in seconds def tcp_half_closed_timeout prop_get('tcp-half-closed-timeout') end # timeout for half-close session in seconds def tcp_half_closed_timeout=(val) prop_set('tcp-half-closed-timeout', val) end # timeout for session in time_wait state in seconds def tcp_time_wait_timeout prop_get('tcp-time-wait-timeout') end # timeout for session in time_wait state in seconds def tcp_time_wait_timeout=(val) prop_set('tcp-time-wait-timeout', val) end def risk prop_get('risk') end def risk=(val) prop_set('risk', val) end def evasive_behavior prop_get('evasive-behavior') end def evasive_behavior=(val) prop_set('evasive-behavior', val) end def consume_big_bandwidth prop_get('consume-big-bandwidth') end def consume_big_bandwidth=(val) prop_set('consume-big-bandwidth', val) end def used_by_malware prop_get('used-by-malware') end def used_by_malware=(val) prop_set('used-by-malware', val) end def able_to_transfer_file prop_get('able-to-transfer-file') end def able_to_transfer_file=(val) prop_set('able-to-transfer-file', val) end def has_known_vulnerability prop_get('has-known-vulnerability') end def has_known_vulnerability=(val) prop_set('has-known-vulnerability', val) end def tunnel_other_application prop_get('tunnel-other-application') end def tunnel_other_application=(val) prop_set('tunnel-other-application', val) end def tunnel_applications prop_get('tunnel-applications') end def tunnel_applications=(val) prop_set('tunnel-applications', val) end def prone_to_misuse prop_get('prone-to-misuse') end def prone_to_misuse=(val) prop_set('prone-to-misuse', val) end def pervasive_use prop_get('pervasive-use') end def pervasive_use=(val) prop_set('pervasive-use', val) end def file_type_ident prop_get('file-type-ident') end def file_type_ident=(val) prop_set('file-type-ident', val) end def virus_ident prop_get('virus-ident') end def virus_ident=(val) prop_set('virus-ident', val) end def data_ident prop_get('data-ident') end def data_ident=(val) prop_set('data-ident', val) end def no_appid_caching prop_get('no-appid-caching') end def no_appid_caching=(val) prop_set('no-appid-caching', val) end def alg_disable_capability prop_get('alg-disable-capability') end def alg_disable_capability=(val) prop_set('alg-disable-capability', val) end def parent_app prop_get('parent-app') end def parent_app=(val) prop_set('parent-app', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def application maybe_register_subclass('application', Application.new(parent_instance: self, client: @client, create_children: @create_children)) end class ApplicationFilter < XML::ConfigClass def has_multiple_values?; true; end def _section :'application-filter' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Category < XML::ConfigClass def has_multiple_values?; true; end def _section :category end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'128'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def category maybe_register_subclass('category', Category.new(parent_instance: self, client: @client, create_children: @create_children)) end class Subcategory < XML::ConfigClass def has_multiple_values?; true; end def _section :subcategory end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'128'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def subcategory maybe_register_subclass('subcategory', Subcategory.new(parent_instance: self, client: @client, create_children: @create_children)) end class Technology < XML::ConfigClass def has_multiple_values?; true; end def _section :technology end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'128'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def technology maybe_register_subclass('technology', Technology.new(parent_instance: self, client: @client, create_children: @create_children)) end class Risk < XML::ConfigClass def has_multiple_values?; true; end def _section :risk end @props = {'member'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'5'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def risk maybe_register_subclass('risk', Risk.new(parent_instance: self, client: @client, create_children: @create_children)) end class SaasCertifications < XML::ConfigClass def has_multiple_values?; true; end def _section :'saas-certifications' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'32'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def saas_certifications maybe_register_subclass('saas-certifications', SaasCertifications.new(parent_instance: self, client: @client, create_children: @create_children)) end class SaasRisk < XML::ConfigClass def has_multiple_values?; true; end def _section :'saas-risk' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'32'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def saas_risk maybe_register_subclass('saas-risk', SaasRisk.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tagging < XML::ConfigClass def has_multiple_values?; true; end def _section :tagging end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'no-tag'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'yes'}]}} def no_tag prop_get('no-tag') end def no_tag=(val) prop_set('no-tag', val) end end def tagging maybe_register_subclass('tagging', Tagging.new(parent_instance: self, client: @client, create_children: @create_children)) end class Exclude < XML::ConfigClass def has_multiple_values?; true; end def _section :exclude end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'63'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def exclude maybe_register_subclass('exclude', Exclude.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'no'}]}, 'evasive'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'yes'}]}, 'excessive-bandwidth-use'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'yes'}]}, 'used-by-malware'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'yes'}]}, 'transfers-files'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'yes'}]}, 'has-known-vulnerabilities'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'yes'}]}, 'tunnels-other-apps'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'yes'}]}, 'prone-to-misuse'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'yes'}]}, 'pervasive'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'yes'}]}, 'is-saas'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'yes'}]}, 'new-appid'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'yes'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end def evasive prop_get('evasive') end def evasive=(val) prop_set('evasive', val) end def excessive_bandwidth_use prop_get('excessive-bandwidth-use') end def excessive_bandwidth_use=(val) prop_set('excessive-bandwidth-use', val) end def used_by_malware prop_get('used-by-malware') end def used_by_malware=(val) prop_set('used-by-malware', val) end def transfers_files prop_get('transfers-files') end def transfers_files=(val) prop_set('transfers-files', val) end def has_known_vulnerabilities prop_get('has-known-vulnerabilities') end def has_known_vulnerabilities=(val) prop_set('has-known-vulnerabilities', val) end def tunnels_other_apps prop_get('tunnels-other-apps') end def tunnels_other_apps=(val) prop_set('tunnels-other-apps', val) end def prone_to_misuse prop_get('prone-to-misuse') end def prone_to_misuse=(val) prop_set('prone-to-misuse', val) end def pervasive prop_get('pervasive') end def pervasive=(val) prop_set('pervasive', val) end def is_saas prop_get('is-saas') end def is_saas=(val) prop_set('is-saas', val) end def new_appid prop_get('new-appid') end def new_appid=(val) prop_set('new-appid', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def application_filter maybe_register_subclass('application-filter', ApplicationFilter.new(parent_instance: self, client: @client, create_children: @create_children)) end class ApplicationGroup < XML::ConfigClass def has_multiple_values?; true; end def _section :'application-group' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Members < XML::ConfigClass def has_multiple_values?; true; end def _section :members end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def members maybe_register_subclass('members', Members.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'no'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def application_group maybe_register_subclass('application-group', ApplicationGroup.new(parent_instance: self, client: @client, create_children: @create_children)) end class Region < XML::ConfigClass def has_multiple_values?; true; end def _section :region end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class GeoLocation < ConfigClass def has_multiple_values?; false; end def _section :'geo-location' end @props = {'latitude'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'-90.0', 'max'=>'90.0', 'help-string'=>'latitude coordinate'}, 'longitude'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'-180.0', 'max'=>'180.0', 'help-string'=>'longitude coordinate'}} # latitude coordinate def latitude prop_get('latitude') end # latitude coordinate def latitude=(val) prop_set('latitude', val) end # longitude coordinate def longitude prop_get('longitude') end # longitude coordinate def longitude=(val) prop_set('longitude', val) end end def geo_location @subclasses['geo-location'] ||= GeoLocation.new(parent_instance: self, client: @client, create_children: @create_children) end class Address < XML::ConfigClass def has_multiple_values?; true; end def _section :address end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{}, 'iprangespec'=>{}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def address maybe_register_subclass('address', Address.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'no'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def region maybe_register_subclass('region', Region.new(parent_instance: self, client: @client, create_children: @create_children)) end class AdminRole < XML::ConfigClass def has_multiple_values?; true; end def _section :'admin-role' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Role < XML::ConfigClass def has_multiple_values?; true; end def _section :role end class Panorama < ConfigClass def has_multiple_values?; false; end def _section :panorama end class Webui < ConfigClass def has_multiple_values?; false; end def _section :webui end class Monitor < ConfigClass def has_multiple_values?; false; end def _section :monitor end class Logs < ConfigClass def has_multiple_values?; false; end def _section :logs end @props = {'traffic'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'traffic_log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'threat'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'threat_log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'url'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'URL Filtering', 'help-topic'=>'url_log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'wildfire'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'WildFire Submissions', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'data-filtering'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'data_filter_log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'hipmatch'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'hip_match_log', 'menu-tree-path'=>'HIP Match', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'globalprotect'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'GlobalProtect', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'iptag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'ip_tag', 'menu-tree-path'=>'IP-Tag', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'userid'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'userid_log', 'menu-tree-path'=>'User-ID', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'decryption'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'decryption_log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'gtp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'gtp_log', 'menu-tree-path'=>'GTP', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'tunnel'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'tunnel_log', 'menu-tree-path'=>'Tunnel Inspection', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'sctp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'sctp_log', 'menu-tree-path'=>'SCTP', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'configuration'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'config_log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'system'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'system_log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'alarm'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Alarms', 'help-topic'=>'alarm_log', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'authentication'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'authentication_log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}} def traffic prop_get('traffic') end def traffic=(val) prop_set('traffic', val) end def threat prop_get('threat') end def threat=(val) prop_set('threat', val) end def url prop_get('url') end def url=(val) prop_set('url', val) end def wildfire prop_get('wildfire') end def wildfire=(val) prop_set('wildfire', val) end def data_filtering prop_get('data-filtering') end def data_filtering=(val) prop_set('data-filtering', val) end def hipmatch prop_get('hipmatch') end def hipmatch=(val) prop_set('hipmatch', val) end def globalprotect prop_get('globalprotect') end def globalprotect=(val) prop_set('globalprotect', val) end def iptag prop_get('iptag') end def iptag=(val) prop_set('iptag', val) end def userid prop_get('userid') end def userid=(val) prop_set('userid', val) end def decryption prop_get('decryption') end def decryption=(val) prop_set('decryption', val) end def gtp prop_get('gtp') end def gtp=(val) prop_set('gtp', val) end def tunnel prop_get('tunnel') end def tunnel=(val) prop_set('tunnel', val) end def sctp prop_get('sctp') end def sctp=(val) prop_set('sctp', val) end def configuration prop_get('configuration') end def configuration=(val) prop_set('configuration', val) end def system prop_get('system') end def system=(val) prop_set('system', val) end def alarm prop_get('alarm') end def alarm=(val) prop_set('alarm', val) end def authentication prop_get('authentication') end def authentication=(val) prop_set('authentication', val) end end def logs @subclasses['logs'] ||= Logs.new(parent_instance: self, client: @client, create_children: @create_children) end class AutomatedCorrelationEngine < ConfigClass def has_multiple_values?; false; end def _section :'automated-correlation-engine' end @props = {'correlation-objects'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'correlated-events'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}} def correlation_objects prop_get('correlation-objects') end def correlation_objects=(val) prop_set('correlation-objects', val) end def correlated_events prop_get('correlated-events') end def correlated_events=(val) prop_set('correlated-events', val) end end def automated_correlation_engine @subclasses['automated-correlation-engine'] ||= AutomatedCorrelationEngine.new(parent_instance: self, client: @client, create_children: @create_children) end class PdfReports < ConfigClass def has_multiple_values?; false; end def _section :'pdf-reports' end @props = {'manage-pdf-summary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Manage PDF Summary', 'help-topic'=>'manage_pdf_summary_report', 'node-config-ids'=>'ManagePdfSummary', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'pdf-summary-reports'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'PDF Summary Reports', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'user-activity-report'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'UserActivityReport', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'saas-application-usage-report'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SaaS Application Usage', 'node-config-ids'=>'SaasAppUsageReport', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'report-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'ReportGroup', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'email-scheduler'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'report_email', 'node-config-ids'=>'EmailScheduler', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def manage_pdf_summary prop_get('manage-pdf-summary') end def manage_pdf_summary=(val) prop_set('manage-pdf-summary', val) end def pdf_summary_reports prop_get('pdf-summary-reports') end def pdf_summary_reports=(val) prop_set('pdf-summary-reports', val) end def user_activity_report prop_get('user-activity-report') end def user_activity_report=(val) prop_set('user-activity-report', val) end def saas_application_usage_report prop_get('saas-application-usage-report') end def saas_application_usage_report=(val) prop_set('saas-application-usage-report', val) end def report_groups prop_get('report-groups') end def report_groups=(val) prop_set('report-groups', val) end def email_scheduler prop_get('email-scheduler') end def email_scheduler=(val) prop_set('email-scheduler', val) end end def pdf_reports @subclasses['pdf-reports'] ||= PdfReports.new(parent_instance: self, client: @client, create_children: @create_children) end class CustomReports < ConfigClass def has_multiple_values?; false; end def _section :'custom-reports' end @props = {'application-statistics'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'data-filtering-log'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'threat-log'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'threat-summary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'traffic-log'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'traffic-summary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'url-log'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'menu-tree-path'=>'URL Log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'url-summary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'menu-tree-path'=>'URL Summary', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'hipmatch'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'prune-on'=>'vpn-disable-mode', 'menu-tree-path'=>'HIP Match', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'globalprotect'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'menu-tree-path'=>'GlobalProtect', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'wildfire-log'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'menu-tree-path'=>'WildFire Log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'gtp-log'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'menu-tree-path'=>'GTP Log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'gtp-summary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'menu-tree-path'=>'GTP Summary', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'tunnel-log'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'tunnel-summary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'sctp-log'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'menu-tree-path'=>'SCTP Log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'sctp-summary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'menu-tree-path'=>'SCTP Summary', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'iptag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'menu-tree-path'=>'IP-Tag', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'userid'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'menu-tree-path'=>'User-ID', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'decryption-log'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'decryption-summary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'auth'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'menu-tree-path'=>'Authentication', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}} def application_statistics prop_get('application-statistics') end def application_statistics=(val) prop_set('application-statistics', val) end def data_filtering_log prop_get('data-filtering-log') end def data_filtering_log=(val) prop_set('data-filtering-log', val) end def threat_log prop_get('threat-log') end def threat_log=(val) prop_set('threat-log', val) end def threat_summary prop_get('threat-summary') end def threat_summary=(val) prop_set('threat-summary', val) end def traffic_log prop_get('traffic-log') end def traffic_log=(val) prop_set('traffic-log', val) end def traffic_summary prop_get('traffic-summary') end def traffic_summary=(val) prop_set('traffic-summary', val) end def url_log prop_get('url-log') end def url_log=(val) prop_set('url-log', val) end def url_summary prop_get('url-summary') end def url_summary=(val) prop_set('url-summary', val) end def hipmatch prop_get('hipmatch') end def hipmatch=(val) prop_set('hipmatch', val) end def globalprotect prop_get('globalprotect') end def globalprotect=(val) prop_set('globalprotect', val) end def wildfire_log prop_get('wildfire-log') end def wildfire_log=(val) prop_set('wildfire-log', val) end def gtp_log prop_get('gtp-log') end def gtp_log=(val) prop_set('gtp-log', val) end def gtp_summary prop_get('gtp-summary') end def gtp_summary=(val) prop_set('gtp-summary', val) end def tunnel_log prop_get('tunnel-log') end def tunnel_log=(val) prop_set('tunnel-log', val) end def tunnel_summary prop_get('tunnel-summary') end def tunnel_summary=(val) prop_set('tunnel-summary', val) end def sctp_log prop_get('sctp-log') end def sctp_log=(val) prop_set('sctp-log', val) end def sctp_summary prop_get('sctp-summary') end def sctp_summary=(val) prop_set('sctp-summary', val) end def iptag prop_get('iptag') end def iptag=(val) prop_set('iptag', val) end def userid prop_get('userid') end def userid=(val) prop_set('userid', val) end def decryption_log prop_get('decryption-log') end def decryption_log=(val) prop_set('decryption-log', val) end def decryption_summary prop_get('decryption-summary') end def decryption_summary=(val) prop_set('decryption-summary', val) end def auth prop_get('auth') end def auth=(val) prop_set('auth', val) end end def custom_reports @subclasses['custom-reports'] ||= CustomReports.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'external-logs'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'External Logs', 'help-topic'=>'external_logs', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'app-scope'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'view-custom-reports'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'View Scheduled Custom Reports', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'application-reports'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'View Predefined Application Reports', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'threat-reports'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'View Predefined Threat Reports', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'url-filtering-reports'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'View Predefined URL Filtering Reports', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'traffic-reports'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'View Predefined Traffic Reports', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'gtp-reports'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'View Predefined GTP Reports', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'sctp-reports'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'View Predefined SCTP Reports', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}} def external_logs prop_get('external-logs') end def external_logs=(val) prop_set('external-logs', val) end def app_scope prop_get('app-scope') end def app_scope=(val) prop_set('app-scope', val) end def view_custom_reports prop_get('view-custom-reports') end def view_custom_reports=(val) prop_set('view-custom-reports', val) end def application_reports prop_get('application-reports') end def application_reports=(val) prop_set('application-reports', val) end def threat_reports prop_get('threat-reports') end def threat_reports=(val) prop_set('threat-reports', val) end def url_filtering_reports prop_get('url-filtering-reports') end def url_filtering_reports=(val) prop_set('url-filtering-reports', val) end def traffic_reports prop_get('traffic-reports') end def traffic_reports=(val) prop_set('traffic-reports', val) end def gtp_reports prop_get('gtp-reports') end def gtp_reports=(val) prop_set('gtp-reports', val) end def sctp_reports prop_get('sctp-reports') end def sctp_reports=(val) prop_set('sctp-reports', val) end end def monitor @subclasses['monitor'] ||= Monitor.new(parent_instance: self, client: @client, create_children: @create_children) end class Policies < ConfigClass def has_multiple_values?; false; end def _section :policies end @props = {'security-rulebase'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Security', 'help-topic'=>'policies_security', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'DeviceSecurityRules1,DeviceSecurityRules2,DeviceSecurityRules3,DeviceSecurityRules4,DeviceSecurityRules5,DeviceSecurityRules6', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'nat-rulebase'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.policies.nat-rulebase-disable=True', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'NAT', 'help-topic'=>'nat_rules', 'node-config-ids'=>'DeviceNATRules1,DeviceNATRules2,DeviceNATRules3', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'qos-rulebase'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'QoS', 'help-topic'=>'qos_policies', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'DeviceQOSRules1,DeviceQOSRules2,DeviceQOSRules3', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'pbf-rulebase'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.policies.pbf-rulebase-disable=True', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Policy Based Forwarding', 'node-config-ids'=>'DevicePBFRules1,DevicePBFRules2,DevicePBFRules3', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ssl-decryption-rulebase'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Decryption', 'skip-display'=>'shared-gateway', 'help-topic'=>'decryption_rules', 'node-config-ids'=>'DeviceDecryptionRules1,DeviceDecryptionRules2,DeviceDecryptionRules3', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'network-packet-broker-rulebase'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.prune-on-decrypt-brk=True', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Network Packet Broker', 'skip-display'=>'shared-gateway', 'help-topic'=>'network_packet_broker_rules', 'node-config-ids'=>'DeviceNPBRules1,DeviceNPBRules2,DeviceNPBRules3', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'tunnel-inspect-rulebase'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Tunnel Inspection', 'skip-display'=>'shared-gateway', 'help-topic'=>'tunnel_inspection_rules', 'node-config-ids'=>'DeviceTunnelInspectRules1,DeviceTunnelInspectRules2,DeviceTunnelInspectRules3', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'application-override-rulebase'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Application Override', 'skip-display'=>'shared-gateway', 'help-topic'=>'application_override_rules', 'node-config-ids'=>'DeviceAppOverrideRules1,DeviceAppOverrideRules2,DeviceAppOverrideRules3', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'authentication-rulebase'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Authentication', 'skip-display'=>'shared-gateway', 'help-topic'=>'authentication_rules', 'node-config-ids'=>'DeviceAuthenticationRules1,DeviceAuthenticationRules2,DeviceAuthenticationRules3', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dos-rulebase'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'DoS Protection', 'skip-display'=>'shared-gateway', 'help-topic'=>'dos_rules', 'node-config-ids'=>'DeviceDOSRules1,DeviceDOSRules2,DeviceDOSRules3', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-rulebase'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SD-WAN', 'help-topic'=>'sdwan_policies', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'DeviceSDWANRules1,DeviceSDWANRules2,DeviceSDWANRules3', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'rule-hit-count-reset'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Rule Hit Count Reset', 'help-topic'=>'rule_hit_count_reset', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}} def security_rulebase prop_get('security-rulebase') end def security_rulebase=(val) prop_set('security-rulebase', val) end def nat_rulebase prop_get('nat-rulebase') end def nat_rulebase=(val) prop_set('nat-rulebase', val) end def qos_rulebase prop_get('qos-rulebase') end def qos_rulebase=(val) prop_set('qos-rulebase', val) end def pbf_rulebase prop_get('pbf-rulebase') end def pbf_rulebase=(val) prop_set('pbf-rulebase', val) end def ssl_decryption_rulebase prop_get('ssl-decryption-rulebase') end def ssl_decryption_rulebase=(val) prop_set('ssl-decryption-rulebase', val) end def network_packet_broker_rulebase prop_get('network-packet-broker-rulebase') end def network_packet_broker_rulebase=(val) prop_set('network-packet-broker-rulebase', val) end def tunnel_inspect_rulebase prop_get('tunnel-inspect-rulebase') end def tunnel_inspect_rulebase=(val) prop_set('tunnel-inspect-rulebase', val) end def application_override_rulebase prop_get('application-override-rulebase') end def application_override_rulebase=(val) prop_set('application-override-rulebase', val) end def authentication_rulebase prop_get('authentication-rulebase') end def authentication_rulebase=(val) prop_set('authentication-rulebase', val) end def dos_rulebase prop_get('dos-rulebase') end def dos_rulebase=(val) prop_set('dos-rulebase', val) end def sdwan_rulebase prop_get('sdwan-rulebase') end def sdwan_rulebase=(val) prop_set('sdwan-rulebase', val) end def rule_hit_count_reset prop_get('rule-hit-count-reset') end def rule_hit_count_reset=(val) prop_set('rule-hit-count-reset', val) end end def policies @subclasses['policies'] ||= Policies.new(parent_instance: self, client: @client, create_children: @create_children) end class Objects < ConfigClass def has_multiple_values?; false; end def _section :objects end class GlobalProtect < ConfigClass def has_multiple_values?; false; end def _section :'global-protect' end @props = {'hip-objects'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'hip_objects', 'menu-tree-path'=>'HIP Objects', 'node-config-ids'=>'HIPObjects', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'hip-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'hip_profiles', 'menu-tree-path'=>'HIP Profiles', 'node-config-ids'=>'HIPProfiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def hip_objects prop_get('hip-objects') end def hip_objects=(val) prop_set('hip-objects', val) end def hip_profiles prop_get('hip-profiles') end def hip_profiles=(val) prop_set('hip-profiles', val) end end def global_protect @subclasses['global-protect'] ||= GlobalProtect.new(parent_instance: self, client: @client, create_children: @create_children) end class CustomObjects < ConfigClass def has_multiple_values?; false; end def _section :'custom-objects' end @props = {'data-patterns'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'DataPatterns', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'spyware'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'signatures_spyware', 'node-config-ids'=>'CustomSpyware', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'vulnerability'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'signatures_vulnerability', 'node-config-ids'=>'CustomVulnerability', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'url-category'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'menu-tree-path'=>'URL Category', 'help-topic'=>'custom_url_categories', 'node-config-ids'=>'CustomURLCategory', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def data_patterns prop_get('data-patterns') end def data_patterns=(val) prop_set('data-patterns', val) end def spyware prop_get('spyware') end def spyware=(val) prop_set('spyware', val) end def vulnerability prop_get('vulnerability') end def vulnerability=(val) prop_set('vulnerability', val) end def url_category prop_get('url-category') end def url_category=(val) prop_set('url-category', val) end end def custom_objects @subclasses['custom-objects'] ||= CustomObjects.new(parent_instance: self, client: @client, create_children: @create_children) end class SecurityProfiles < ConfigClass def has_multiple_values?; false; end def _section :'security-profiles' end @props = {'antivirus'=>{'node-type'=>'element', 'menu-tree-path'=>'Antivirus', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'antivirus_profiles', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'AntiVirusProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'anti-spyware'=>{'node-type'=>'element', 'menu-tree-path'=>'Anti-Spyware', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'anti-spyware_profiles', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'AntiSpywareProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'vulnerability-protection'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'vulnerability_protection_profiles', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'VulnerabilityProtection', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'url-filtering'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'url_filtering_profiles', 'menu-tree-path'=>'URL Filtering', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'URLFiltering', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'file-blocking'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'file_blocking_profiles', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'FileBlocking', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'wildfire-analysis'=>{'node-type'=>'element', 'menu-tree-path'=>'WildFire Analysis', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'wildfire_analysis_profiles', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'WildFireAnalysis', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'data-filtering'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'data_filtering_profiles', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'DataFiltering', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dos-protection'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'dos_profiles', 'menu-tree-path'=>'DoS Protection', 'node-config-ids'=>'DoSProtection', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'gtp-protection'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'gtp_protection', 'menu-tree-path'=>'Mobile Network Protection', 'node-config-ids'=>'GTPProtection', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sctp-protection'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'sctp_protection', 'menu-tree-path'=>'SCTP Protection', 'node-config-ids'=>'SCTPProtection', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def antivirus prop_get('antivirus') end def antivirus=(val) prop_set('antivirus', val) end def anti_spyware prop_get('anti-spyware') end def anti_spyware=(val) prop_set('anti-spyware', val) end def vulnerability_protection prop_get('vulnerability-protection') end def vulnerability_protection=(val) prop_set('vulnerability-protection', val) end def url_filtering prop_get('url-filtering') end def url_filtering=(val) prop_set('url-filtering', val) end def file_blocking prop_get('file-blocking') end def file_blocking=(val) prop_set('file-blocking', val) end def wildfire_analysis prop_get('wildfire-analysis') end def wildfire_analysis=(val) prop_set('wildfire-analysis', val) end def data_filtering prop_get('data-filtering') end def data_filtering=(val) prop_set('data-filtering', val) end def dos_protection prop_get('dos-protection') end def dos_protection=(val) prop_set('dos-protection', val) end def gtp_protection prop_get('gtp-protection') end def gtp_protection=(val) prop_set('gtp-protection', val) end def sctp_protection prop_get('sctp-protection') end def sctp_protection=(val) prop_set('sctp-protection', val) end end def security_profiles @subclasses['security-profiles'] ||= SecurityProfiles.new(parent_instance: self, client: @client, create_children: @create_children) end class Decryption < ConfigClass def has_multiple_values?; false; end def _section :decryption end @props = {'decryption-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'decryption_profile', 'menu-tree-path'=>'Decryption Profile', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'DecryptionProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def decryption_profile prop_get('decryption-profile') end def decryption_profile=(val) prop_set('decryption-profile', val) end end def decryption @subclasses['decryption'] ||= Decryption.new(parent_instance: self, client: @client, create_children: @create_children) end class Sdwan < ConfigClass def has_multiple_values?; false; end def _section :sdwan end @props = {'sdwan-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Path Quality Profile', 'node-config-ids'=>'SDWANProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-saas-quality-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SaaS Quality Profile', 'node-config-ids'=>'SDWANSaaSQualityProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-dist-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Traffic Distribution Profile', 'node-config-ids'=>'SDWANDistProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-error-correction-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Error Correction Profile', 'node-config-ids'=>'SDWANErrorCorrectionProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def sdwan_profile prop_get('sdwan-profile') end def sdwan_profile=(val) prop_set('sdwan-profile', val) end def sdwan_saas_quality_profile prop_get('sdwan-saas-quality-profile') end def sdwan_saas_quality_profile=(val) prop_set('sdwan-saas-quality-profile', val) end def sdwan_dist_profile prop_get('sdwan-dist-profile') end def sdwan_dist_profile=(val) prop_set('sdwan-dist-profile', val) end def sdwan_error_correction_profile prop_get('sdwan-error-correction-profile') end def sdwan_error_correction_profile=(val) prop_set('sdwan-error-correction-profile', val) end end def sdwan @subclasses['sdwan'] ||= Sdwan.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'addresses'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'Address', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'address-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'AddressGroup', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'regions'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'Region', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dynamic-user-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'DynamicUserGroup', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'applications'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'Application', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'application-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'ApplicationGroup', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'application-filters'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'ApplicationFilter', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'services'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'Service', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'service-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'ServiceGroup', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'tags'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'Tag', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'devices'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'DeviceObject', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dynamic-block-lists'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'External Dynamic Lists', 'help-topic'=>'external_dynamic_list', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'DynamicBlockList', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'security-profile-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'SecurityProfileGroups', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'log-forwarding'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'log_forwarding', 'node-config-ids'=>'LogForwarding', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'authentication'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'authentication', 'node-config-ids'=>'AuthenticationObject', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'packet-broker-profile'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.prune-on-decrypt-brk', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'packet_broker_profile', 'menu-tree-path'=>'Packet Broker Profile', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'NetworkPacketBrokerProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'schedules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'Schedule', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def addresses prop_get('addresses') end def addresses=(val) prop_set('addresses', val) end def address_groups prop_get('address-groups') end def address_groups=(val) prop_set('address-groups', val) end def regions prop_get('regions') end def regions=(val) prop_set('regions', val) end def dynamic_user_groups prop_get('dynamic-user-groups') end def dynamic_user_groups=(val) prop_set('dynamic-user-groups', val) end def applications prop_get('applications') end def applications=(val) prop_set('applications', val) end def application_groups prop_get('application-groups') end def application_groups=(val) prop_set('application-groups', val) end def application_filters prop_get('application-filters') end def application_filters=(val) prop_set('application-filters', val) end def services prop_get('services') end def services=(val) prop_set('services', val) end def service_groups prop_get('service-groups') end def service_groups=(val) prop_set('service-groups', val) end def tags prop_get('tags') end def tags=(val) prop_set('tags', val) end def devices prop_get('devices') end def devices=(val) prop_set('devices', val) end def dynamic_block_lists prop_get('dynamic-block-lists') end def dynamic_block_lists=(val) prop_set('dynamic-block-lists', val) end def security_profile_groups prop_get('security-profile-groups') end def security_profile_groups=(val) prop_set('security-profile-groups', val) end def log_forwarding prop_get('log-forwarding') end def log_forwarding=(val) prop_set('log-forwarding', val) end def authentication prop_get('authentication') end def authentication=(val) prop_set('authentication', val) end def packet_broker_profile prop_get('packet-broker-profile') end def packet_broker_profile=(val) prop_set('packet-broker-profile', val) end def schedules prop_get('schedules') end def schedules=(val) prop_set('schedules', val) end end def objects @subclasses['objects'] ||= Objects.new(parent_instance: self, client: @client, create_children: @create_children) end class Network < ConfigClass def has_multiple_values?; false; end def _section :network end class Routing < ConfigClass def has_multiple_values?; false; end def _section :routing end class RoutingProfiles < ConfigClass def has_multiple_values?; false; end def _section :'routing-profiles' end @props = {'bgp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'routing_profiles_bgp', 'menu-tree-path'=>'BGP', 'node-config-ids'=>'RoutingProfilesBGP', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'bfd'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'routing_profiles_bfd', 'menu-tree-path'=>'BFD', 'node-config-ids'=>'RoutingProfilesBFD', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ospf'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'routing_profiles_ospf', 'menu-tree-path'=>'OSPF', 'node-config-ids'=>'RoutingProfilesOspf', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ospfv3'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'routing_profiles_ospfv3', 'menu-tree-path'=>'OSPFv3', 'node-config-ids'=>'RoutingProfilesOspfv3', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ripv2'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'routing_profiles_ripv2', 'menu-tree-path'=>'RIPv2', 'node-config-ids'=>'RoutingProfilesRIPv2', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'filters'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'routing_profiles_filters', 'menu-tree-path'=>'Filters', 'node-config-ids'=>'RoutingProfilesFilters', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'multicast'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'routing_profiles_multicast', 'menu-tree-path'=>'Multicast', 'node-config-ids'=>'RoutingProfilesMulticast', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def bgp prop_get('bgp') end def bgp=(val) prop_set('bgp', val) end def bfd prop_get('bfd') end def bfd=(val) prop_set('bfd', val) end def ospf prop_get('ospf') end def ospf=(val) prop_set('ospf', val) end def ospfv3 prop_get('ospfv3') end def ospfv3=(val) prop_set('ospfv3', val) end def ripv2 prop_get('ripv2') end def ripv2=(val) prop_set('ripv2', val) end def filters prop_get('filters') end def filters=(val) prop_set('filters', val) end def multicast prop_get('multicast') end def multicast=(val) prop_set('multicast', val) end end def routing_profiles @subclasses['routing-profiles'] ||= RoutingProfiles.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'logical-routers'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'logical_routers', 'node-config-ids'=>'LogicalRouter', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def logical_routers prop_get('logical-routers') end def logical_routers=(val) prop_set('logical-routers', val) end end def routing @subclasses['routing'] ||= Routing.new(parent_instance: self, client: @client, create_children: @create_children) end class GlobalProtect < ConfigClass def has_multiple_values?; false; end def _section :'global-protect' end @props = {'portals'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'portals_globalprotect', 'node-config-ids'=>'GlobalProtectPortal', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'gateways'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'gateways_globalprotect', 'node-config-ids'=>'GlobalProtectGatewayVSYS', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'mdm'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'MDM', 'help-topic'=>'mdm_globalprotect', 'node-config-ids'=>'GlobalProtectMDM', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'clientless-apps'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'clientless_apps', 'node-config-ids'=>'GlobalProtectClientlessApp', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'clientless-app-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'clientless_app_groups', 'node-config-ids'=>'GlobalProtectClientlessAppGroup', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def portals prop_get('portals') end def portals=(val) prop_set('portals', val) end def gateways prop_get('gateways') end def gateways=(val) prop_set('gateways', val) end def mdm prop_get('mdm') end def mdm=(val) prop_set('mdm', val) end def clientless_apps prop_get('clientless-apps') end def clientless_apps=(val) prop_set('clientless-apps', val) end def clientless_app_groups prop_get('clientless-app-groups') end def clientless_app_groups=(val) prop_set('clientless-app-groups', val) end end def global_protect @subclasses['global-protect'] ||= GlobalProtect.new(parent_instance: self, client: @client, create_children: @create_children) end class NetworkProfiles < ConfigClass def has_multiple_values?; false; end def _section :'network-profiles' end @props = {'gp-app-ipsec-crypto'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.network.network-profiles.gp-app-ipsec-crypto-disable=True', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'GlobalProtect IPSec Crypto', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'node-config-ids'=>'GpAppIPSecCrypto', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ike-gateways'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.network.network-profiles.ike-gateways-disable=True', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'IKE Gateways', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'node-config-ids'=>'IKEGateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ipsec-crypto'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.network.network-profiles.ipsec-crypto-disable=True', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'ipsec_crypto_profiles', 'menu-tree-path'=>'IPSec Crypto', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'node-config-ids'=>'IPSecCrypto', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ike-crypto'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.network.network-profiles.ike-crypto-disable=True', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'ike_crypto_profiles', 'menu-tree-path'=>'IKE Crypto', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'node-config-ids'=>'IKECrypto', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'tunnel-monitor'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.network.network-profiles.tunnel-monitor-disable=True', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Monitor', 'help-topic'=>'tunnel_monitor_profiles', 'node-config-ids'=>'MonitorProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'interface-mgmt'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.network.network-profiles.interface-mgmt-disable=True', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'interface_management_profiles', 'node-config-ids'=>'InterfaceMgmt', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'zone-protection'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'zone_protection', 'node-config-ids'=>'ZoneProtection', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'qos-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'QoS Profile', 'node-config-ids'=>'QoSProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'lldp-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'LLDP Profile', 'node-config-ids'=>'LLDPProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'bfd-profile'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.advance-routing-enabled=True', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'BFD Profile', 'node-config-ids'=>'BFDProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def gp_app_ipsec_crypto prop_get('gp-app-ipsec-crypto') end def gp_app_ipsec_crypto=(val) prop_set('gp-app-ipsec-crypto', val) end def ike_gateways prop_get('ike-gateways') end def ike_gateways=(val) prop_set('ike-gateways', val) end def ipsec_crypto prop_get('ipsec-crypto') end def ipsec_crypto=(val) prop_set('ipsec-crypto', val) end def ike_crypto prop_get('ike-crypto') end def ike_crypto=(val) prop_set('ike-crypto', val) end def tunnel_monitor prop_get('tunnel-monitor') end def tunnel_monitor=(val) prop_set('tunnel-monitor', val) end def interface_mgmt prop_get('interface-mgmt') end def interface_mgmt=(val) prop_set('interface-mgmt', val) end def zone_protection prop_get('zone-protection') end def zone_protection=(val) prop_set('zone-protection', val) end def qos_profile prop_get('qos-profile') end def qos_profile=(val) prop_set('qos-profile', val) end def lldp_profile prop_get('lldp-profile') end def lldp_profile=(val) prop_set('lldp-profile', val) end def bfd_profile prop_get('bfd-profile') end def bfd_profile=(val) prop_set('bfd-profile', val) end end def network_profiles @subclasses['network-profiles'] ||= NetworkProfiles.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'interfaces'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'network_interfaces', 'node-config-ids'=>'Interfaces', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'zones'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'Zones', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'vlans'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.network.vlans-disable=True', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'VLANs', 'node-config-ids'=>'VLAN', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'virtual-wires'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'VirtualWires', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'virtual-routers'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.network.vm.virtual-routers-disable=True', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'VirtualRouter', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ipsec-tunnels'=>{'node-type'=>'element', 'optional'=>'yes', 'prune-on-sdb'=>'cfg.platform.vm.network.ipsec-tunnels-disable=True', 'type'=>'enum', 'menu-tree-path'=>'IPSec Tunnels', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'node-config-ids'=>'IPSecTunnel', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'gre-tunnels'=>{'node-type'=>'element', 'optional'=>'yes', 'prune-on-sdb'=>'cfg.platform.vm.network.gre-tunnels-disable=True', 'type'=>'enum', 'menu-tree-path'=>'GRE Tunnels', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'node-config-ids'=>'GRETunnel', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dhcp'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.network.dhcp-disable=True', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'DHCP', 'node-config-ids'=>'DHCP', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dns-proxy'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.network.dns-proxy-disable=True', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'DNS Proxy', 'node-config-ids'=>'DNSProxy', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'secure-web-gateway'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.network.secure-web-gateway-disable=True', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Proxy', 'node-config-ids'=>'Proxy', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'qos'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'QoS', 'node-config-ids'=>'QoSInterface', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'lldp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'LLDP', 'node-config-ids'=>'LLDP', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-interface-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SD-WAN Interface Profile', 'node-config-ids'=>'SDWANInterfaceProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def interfaces prop_get('interfaces') end def interfaces=(val) prop_set('interfaces', val) end def zones prop_get('zones') end def zones=(val) prop_set('zones', val) end def vlans prop_get('vlans') end def vlans=(val) prop_set('vlans', val) end def virtual_wires prop_get('virtual-wires') end def virtual_wires=(val) prop_set('virtual-wires', val) end def virtual_routers prop_get('virtual-routers') end def virtual_routers=(val) prop_set('virtual-routers', val) end def ipsec_tunnels prop_get('ipsec-tunnels') end def ipsec_tunnels=(val) prop_set('ipsec-tunnels', val) end def gre_tunnels prop_get('gre-tunnels') end def gre_tunnels=(val) prop_set('gre-tunnels', val) end def dhcp prop_get('dhcp') end def dhcp=(val) prop_set('dhcp', val) end def dns_proxy prop_get('dns-proxy') end def dns_proxy=(val) prop_set('dns-proxy', val) end def secure_web_gateway prop_get('secure-web-gateway') end def secure_web_gateway=(val) prop_set('secure-web-gateway', val) end def qos prop_get('qos') end def qos=(val) prop_set('qos', val) end def lldp prop_get('lldp') end def lldp=(val) prop_set('lldp', val) end def sdwan_interface_profile prop_get('sdwan-interface-profile') end def sdwan_interface_profile=(val) prop_set('sdwan-interface-profile', val) end end def network @subclasses['network'] ||= Network.new(parent_instance: self, client: @client, create_children: @create_children) end class Device < ConfigClass def has_multiple_values?; false; end def _section :device end class Setup < ConfigClass def has_multiple_values?; false; end def _section :setup end @props = {'management'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_setup', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'operations'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_setup', 'menu-tree-path'=>'Operations', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'services'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_setup', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'interfaces'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_setup', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'telemetry'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_setup', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'content-id'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_setup', 'menu-tree-path'=>'Content-ID', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'wildfire'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_setup', 'menu-tree-path'=>'WildFire', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'session'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_setup', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'hsm'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_setup', 'menu-tree-path'=>'HSM', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def management prop_get('management') end def management=(val) prop_set('management', val) end def operations prop_get('operations') end def operations=(val) prop_set('operations', val) end def services prop_get('services') end def services=(val) prop_set('services', val) end def interfaces prop_get('interfaces') end def interfaces=(val) prop_set('interfaces', val) end def telemetry prop_get('telemetry') end def telemetry=(val) prop_set('telemetry', val) end def content_id prop_get('content-id') end def content_id=(val) prop_set('content-id', val) end def wildfire prop_get('wildfire') end def wildfire=(val) prop_set('wildfire', val) end def session prop_get('session') end def session=(val) prop_set('session', val) end def hsm prop_get('hsm') end def hsm=(val) prop_set('hsm', val) end end def setup @subclasses['setup'] ||= Setup.new(parent_instance: self, client: @client, create_children: @create_children) end class CertificateManagement < ConfigClass def has_multiple_values?; false; end def _section :'certificate-management' end @props = {'certificates'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'certificates', 'node-config-ids'=>'Certificate', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'certificate-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'CertificateProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ocsp-responder'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'OCSP Responder', 'node-config-ids'=>'OCSPResponder', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ssl-tls-service-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SSL/TLS Service Profile', 'help-topic'=>'ssl_tls_service_profile', 'node-config-ids'=>'SslTlsServiceProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'scep'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SCEP', 'node-config-ids'=>'SCEP', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ssl-decryption-exclusion'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SSL Decryption Exclusion', 'node-config-ids'=>'SslDecryptionExclusion', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ssh-service-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SSH Service Profile', 'help-topic'=>'ssh_service_profile', 'node-config-ids'=>'SshServiceProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def certificates prop_get('certificates') end def certificates=(val) prop_set('certificates', val) end def certificate_profile prop_get('certificate-profile') end def certificate_profile=(val) prop_set('certificate-profile', val) end def ocsp_responder prop_get('ocsp-responder') end def ocsp_responder=(val) prop_set('ocsp-responder', val) end def ssl_tls_service_profile prop_get('ssl-tls-service-profile') end def ssl_tls_service_profile=(val) prop_set('ssl-tls-service-profile', val) end def scep prop_get('scep') end def scep=(val) prop_set('scep', val) end def ssl_decryption_exclusion prop_get('ssl-decryption-exclusion') end def ssl_decryption_exclusion=(val) prop_set('ssl-decryption-exclusion', val) end def ssh_service_profile prop_get('ssh-service-profile') end def ssh_service_profile=(val) prop_set('ssh-service-profile', val) end end def certificate_management @subclasses['certificate-management'] ||= CertificateManagement.new(parent_instance: self, client: @client, create_children: @create_children) end class LogSettings < ConfigClass def has_multiple_values?; false; end def _section :'log-settings' end @props = {'system'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'system_log_settings', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'config'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'config_log_settings', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'user-id'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'User-ID', 'help-topic'=>'user_id_log_settings', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'hipmatch'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'HIP Match', 'help-topic'=>'hip_match_log_settings', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'globalprotect'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'GlobalProtect', 'help-topic'=>'globalprotect_log_settings', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'iptag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'IP-Tag', 'help-topic'=>'ip_tag_log_settings', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'correlation'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Correlation', 'help-topic'=>'correlation_log_settings', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'cc-alarm'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Alarms', 'help-topic'=>'alarm_log_settings', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'manage-log'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Manage Logs', 'skip-menu-tree-display'=>'template', 'help-topic'=>'manage_logs_log_settings', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def system prop_get('system') end def system=(val) prop_set('system', val) end def config prop_get('config') end def config=(val) prop_set('config', val) end def user_id prop_get('user-id') end def user_id=(val) prop_set('user-id', val) end def hipmatch prop_get('hipmatch') end def hipmatch=(val) prop_set('hipmatch', val) end def globalprotect prop_get('globalprotect') end def globalprotect=(val) prop_set('globalprotect', val) end def iptag prop_get('iptag') end def iptag=(val) prop_set('iptag', val) end def correlation prop_get('correlation') end def correlation=(val) prop_set('correlation', val) end def cc_alarm prop_get('cc-alarm') end def cc_alarm=(val) prop_set('cc-alarm', val) end def manage_log prop_get('manage-log') end def manage_log=(val) prop_set('manage-log', val) end end def log_settings @subclasses['log-settings'] ||= LogSettings.new(parent_instance: self, client: @client, create_children: @create_children) end class ServerProfile < ConfigClass def has_multiple_values?; false; end def _section :'server-profile' end @props = {'snmp-trap'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'snmp_trap_settings', 'node-config-ids'=>'ServerProfileSNMPTrap', 'menu-tree-path'=>'SNMP Trap', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'syslog'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'syslog_settings', 'node-config-ids'=>'ServerProfileSyslog', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'email'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'email_settings', 'node-config-ids'=>'ServerProfileEmail', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'http'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'http_settings', 'menu-tree-path'=>'HTTP', 'node-config-ids'=>'ServerProfileHTTP', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'netflow'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'netflow_settings', 'node-config-ids'=>'ServerProfileNetflow', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'radius'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'server_radius', 'node-config-ids'=>'ServerProfileRadius', 'menu-tree-path'=>'RADIUS', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'scp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'server_scp', 'node-config-ids'=>'ServerProfileSCP', 'menu-tree-path'=>'SCP', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'tacplus'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'server_tacplus', 'node-config-ids'=>'ServerProfileTacacs', 'menu-tree-path'=>'TACACS+', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ldap'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'server_ldap', 'menu-tree-path'=>'LDAP', 'node-config-ids'=>'ServerProfileLDAP', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'kerberos'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'server_kerberos', 'node-config-ids'=>'ServerProfileKerberos', 'skip-display'=>'fips-mode,cc-only-mode', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'saml_idp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'server_saml_idp', 'menu-tree-path'=>'SAML Identity Provider', 'node-config-ids'=>'ServerProfileSamlIdp', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dns'=>{'node-type'=>'element', 'optional'=>'yes', 'skip-display'=>'single-vsys-mode', 'type'=>'enum', 'help-topic'=>'server_dns', 'menu-tree-path'=>'DNS', 'node-config-ids'=>'ServerProfileDNS', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'mfa'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'server_mfa', 'menu-tree-path'=>'Multi Factor Authentication', 'node-config-ids'=>'ServerProfileMFA', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def snmp_trap prop_get('snmp-trap') end def snmp_trap=(val) prop_set('snmp-trap', val) end def syslog prop_get('syslog') end def syslog=(val) prop_set('syslog', val) end def email prop_get('email') end def email=(val) prop_set('email', val) end def http prop_get('http') end def http=(val) prop_set('http', val) end def netflow prop_get('netflow') end def netflow=(val) prop_set('netflow', val) end def radius prop_get('radius') end def radius=(val) prop_set('radius', val) end def scp prop_get('scp') end def scp=(val) prop_set('scp', val) end def tacplus prop_get('tacplus') end def tacplus=(val) prop_set('tacplus', val) end def ldap prop_get('ldap') end def ldap=(val) prop_set('ldap', val) end def kerberos prop_get('kerberos') end def kerberos=(val) prop_set('kerberos', val) end def saml_idp prop_get('saml_idp') end def saml_idp=(val) prop_set('saml_idp', val) end def dns prop_get('dns') end def dns=(val) prop_set('dns', val) end def mfa prop_get('mfa') end def mfa=(val) prop_set('mfa', val) end end def server_profile @subclasses['server-profile'] ||= ServerProfile.new(parent_instance: self, client: @client, create_children: @create_children) end class LocalUserDatabase < ConfigClass def has_multiple_values?; false; end def _section :'local-user-database' end @props = {'users'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'local_users', 'node-config-ids'=>'LocalUsers', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'user-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'local_user_groups', 'node-config-ids'=>'LocalUserGroups', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def users prop_get('users') end def users=(val) prop_set('users', val) end def user_groups prop_get('user-groups') end def user_groups=(val) prop_set('user-groups', val) end end def local_user_database @subclasses['local-user-database'] ||= LocalUserDatabase.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'high-availability'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'HASetup', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'log-fwd-card'=>{'node-type'=>'element', 'node-config-ids'=>'LFCInterface', 'menu-tree-path'=>'Log Forwarding Card', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'config-audit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'administrators'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'admin_accounts', 'node-config-ids'=>'Administrator', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'admin-roles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'AdminRoleHandler', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'access-domain'=>{'node-type'=>'element', 'optional'=>'yes', 'skip-display'=>'single-vsys-mode', 'type'=>'enum', 'node-config-ids'=>'AccessDomain', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'authentication-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'AuthenticationProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'authentication-sequence'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'AuthSeqBase', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'user-identification'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_user_id', 'node-config-ids'=>'UserIdCollector,ServerMonitor,IncludeExcludeNetwork,UserIdConnSecurity,UserIdAgent,TSAgent,GroupMapping', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dhcp-syslog-server'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'IoT', 'node-config-ids'=>'IoT', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'data-redistribution'=>{'node-type'=>'element', 'optional'=>'yes', 'menu-tree-path'=>'Data Redistribution', 'type'=>'enum', 'node-config-ids'=>'RDAgent,DataRedistributionCollector,DataRedistributionIPUserIncludeExcludeNetwork,DataRedistributionIPTagIncludeExcludeNetwork', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'vm-info-source'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'VM Information Sources', 'node-config-ids'=>'VMInformationSources', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'virtual-systems'=>{'node-type'=>'element', 'optional'=>'yes', 'skip-display'=>'single-vsys-mode', 'type'=>'enum', 'node-config-ids'=>'VirtualSystem', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'shared-gateways'=>{'node-type'=>'element', 'optional'=>'yes', 'skip-display'=>'single-vsys-mode', 'type'=>'enum', 'node-config-ids'=>'SharedGateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'block-pages'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Response Pages', 'node-config-ids'=>'ResponsePageTopLevel', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'scheduled-log-export'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'log_export', 'node-config-ids'=>'ScheduledLogExport', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'software'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'global-protect-client'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'GlobalProtect Client', 'prune-on'=>'vpn-disable-mode', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dynamic-updates'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'DynamicUpdates', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'licenses'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'license', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'support'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'master-key'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Master Key and Diagnostics', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def high_availability prop_get('high-availability') end def high_availability=(val) prop_set('high-availability', val) end def log_fwd_card prop_get('log-fwd-card') end def log_fwd_card=(val) prop_set('log-fwd-card', val) end def config_audit prop_get('config-audit') end def config_audit=(val) prop_set('config-audit', val) end def administrators prop_get('administrators') end def administrators=(val) prop_set('administrators', val) end def admin_roles prop_get('admin-roles') end def admin_roles=(val) prop_set('admin-roles', val) end def access_domain prop_get('access-domain') end def access_domain=(val) prop_set('access-domain', val) end def authentication_profile prop_get('authentication-profile') end def authentication_profile=(val) prop_set('authentication-profile', val) end def authentication_sequence prop_get('authentication-sequence') end def authentication_sequence=(val) prop_set('authentication-sequence', val) end def user_identification prop_get('user-identification') end def user_identification=(val) prop_set('user-identification', val) end def dhcp_syslog_server prop_get('dhcp-syslog-server') end def dhcp_syslog_server=(val) prop_set('dhcp-syslog-server', val) end def data_redistribution prop_get('data-redistribution') end def data_redistribution=(val) prop_set('data-redistribution', val) end def vm_info_source prop_get('vm-info-source') end def vm_info_source=(val) prop_set('vm-info-source', val) end def virtual_systems prop_get('virtual-systems') end def virtual_systems=(val) prop_set('virtual-systems', val) end def shared_gateways prop_get('shared-gateways') end def shared_gateways=(val) prop_set('shared-gateways', val) end def block_pages prop_get('block-pages') end def block_pages=(val) prop_set('block-pages', val) end def scheduled_log_export prop_get('scheduled-log-export') end def scheduled_log_export=(val) prop_set('scheduled-log-export', val) end def software prop_get('software') end def software=(val) prop_set('software', val) end def global_protect_client prop_get('global-protect-client') end def global_protect_client=(val) prop_set('global-protect-client', val) end def dynamic_updates prop_get('dynamic-updates') end def dynamic_updates=(val) prop_set('dynamic-updates', val) end def licenses prop_get('licenses') end def licenses=(val) prop_set('licenses', val) end def support prop_get('support') end def support=(val) prop_set('support', val) end def master_key prop_get('master-key') end def master_key=(val) prop_set('master-key', val) end end def device @subclasses['device'] ||= Device.new(parent_instance: self, client: @client, create_children: @create_children) end class Panorama < ConfigClass def has_multiple_values?; false; end def _section :panorama end class Setup < ConfigClass def has_multiple_values?; false; end def _section :setup end @props = {'management'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_setup', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'operations'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_setup', 'menu-tree-path'=>'Operations', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'services'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_setup', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'interfaces'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_setup', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'telemetry'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_setup', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'content-id'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_setup', 'menu-tree-path'=>'Content-ID', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'wildfire'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_setup', 'menu-tree-path'=>'WildFire', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'session'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_setup', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'hsm'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_setup', 'menu-tree-path'=>'HSM', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def management prop_get('management') end def management=(val) prop_set('management', val) end def operations prop_get('operations') end def operations=(val) prop_set('operations', val) end def services prop_get('services') end def services=(val) prop_set('services', val) end def interfaces prop_get('interfaces') end def interfaces=(val) prop_set('interfaces', val) end def telemetry prop_get('telemetry') end def telemetry=(val) prop_set('telemetry', val) end def content_id prop_get('content-id') end def content_id=(val) prop_set('content-id', val) end def wildfire prop_get('wildfire') end def wildfire=(val) prop_set('wildfire', val) end def session prop_get('session') end def session=(val) prop_set('session', val) end def hsm prop_get('hsm') end def hsm=(val) prop_set('hsm', val) end end def setup @subclasses['setup'] ||= Setup.new(parent_instance: self, client: @client, create_children: @create_children) end class ManagedDevices < ConfigClass def has_multiple_values?; false; end def _section :'managed-devices' end @props = {'summary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'panorama_manage_devices', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'health'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'panorama_devices_health', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'troubleshooting'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'troubleshooting', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def summary prop_get('summary') end def summary=(val) prop_set('summary', val) end def health prop_get('health') end def health=(val) prop_set('health', val) end def troubleshooting prop_get('troubleshooting') end def troubleshooting=(val) prop_set('troubleshooting', val) end end def managed_devices @subclasses['managed-devices'] ||= ManagedDevices.new(parent_instance: self, client: @client, create_children: @create_children) end class CertificateManagement < ConfigClass def has_multiple_values?; false; end def _section :'certificate-management' end @props = {'certificates'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'panorama_certificates', 'node-config-ids'=>'Certificate', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'certificate-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'CertificateProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ssl-tls-service-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SSL/TLS Service Profile', 'help-topic'=>'ssl_tls_service_profile', 'node-config-ids'=>'SslTlsServiceProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'scep'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SCEP', 'node-config-ids'=>'SCEP', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ssh-service-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SSH Service Profile', 'help-topic'=>'ssh_service_profile', 'node-config-ids'=>'SshServiceProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def certificates prop_get('certificates') end def certificates=(val) prop_set('certificates', val) end def certificate_profile prop_get('certificate-profile') end def certificate_profile=(val) prop_set('certificate-profile', val) end def ssl_tls_service_profile prop_get('ssl-tls-service-profile') end def ssl_tls_service_profile=(val) prop_set('ssl-tls-service-profile', val) end def scep prop_get('scep') end def scep=(val) prop_set('scep', val) end def ssh_service_profile prop_get('ssh-service-profile') end def ssh_service_profile=(val) prop_set('ssh-service-profile', val) end end def certificate_management @subclasses['certificate-management'] ||= CertificateManagement.new(parent_instance: self, client: @client, create_children: @create_children) end class LogSettings < ConfigClass def has_multiple_values?; false; end def _section :'log-settings' end @props = {'system'=>{'node-type'=>'element', 'no-tree'=>'yes', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'panorama_log_settings', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'config'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'config_log_settings', 'menu-tree-path'=>'Configuration', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'user-id'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'User-ID', 'help-topic'=>'user_id_log_settings', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'hipmatch'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'HIP Match', 'help-topic'=>'hip_match_log_settings', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'globalprotect'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'GlobalProtect', 'help-topic'=>'globalprotect_log_settings', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'correlation'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Correlation', 'help-topic'=>'correlation_log_settings', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'traffic'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Traffic', 'help-topic'=>'traffic_log_settings', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'threat'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Threat', 'help-topic'=>'threat_log_settings', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'wildfire'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'wildfire_log_settings', 'menu-tree-path'=>'WildFire Submissions', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'url'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'url_log_settings', 'menu-tree-path'=>'URL Filtering', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'data'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'data_log_settings', 'menu-tree-path'=>'Data Filtering', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'gtp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'GTP', 'help-topic'=>'gtp_log_settings', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'tunnel'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Tunnel Inspection', 'help-topic'=>'tunnel_log_settings', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'authentication'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Authentication', 'help-topic'=>'authentication_log_settings', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'cc-alarm'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Alarms', 'help-topic'=>'alarm_log_settings', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def system prop_get('system') end def system=(val) prop_set('system', val) end def config prop_get('config') end def config=(val) prop_set('config', val) end def user_id prop_get('user-id') end def user_id=(val) prop_set('user-id', val) end def hipmatch prop_get('hipmatch') end def hipmatch=(val) prop_set('hipmatch', val) end def globalprotect prop_get('globalprotect') end def globalprotect=(val) prop_set('globalprotect', val) end def correlation prop_get('correlation') end def correlation=(val) prop_set('correlation', val) end def traffic prop_get('traffic') end def traffic=(val) prop_set('traffic', val) end def threat prop_get('threat') end def threat=(val) prop_set('threat', val) end def wildfire prop_get('wildfire') end def wildfire=(val) prop_set('wildfire', val) end def url prop_get('url') end def url=(val) prop_set('url', val) end def data prop_get('data') end def data=(val) prop_set('data', val) end def gtp prop_get('gtp') end def gtp=(val) prop_set('gtp', val) end def tunnel prop_get('tunnel') end def tunnel=(val) prop_set('tunnel', val) end def authentication prop_get('authentication') end def authentication=(val) prop_set('authentication', val) end def cc_alarm prop_get('cc-alarm') end def cc_alarm=(val) prop_set('cc-alarm', val) end end def log_settings @subclasses['log-settings'] ||= LogSettings.new(parent_instance: self, client: @client, create_children: @create_children) end class ServerProfile < ConfigClass def has_multiple_values?; false; end def _section :'server-profile' end @props = {'snmp-trap'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'snmp_trap_settings', 'menu-tree-path'=>'SNMP Trap', 'node-config-ids'=>'ServerProfileSNMPTrap', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'syslog'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'syslog_settings', 'node-config-ids'=>'ServerProfileSyslog', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'email'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'email_settings', 'node-config-ids'=>'ServerProfileEmail', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'http'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'http_settings', 'menu-tree-path'=>'HTTP', 'node-config-ids'=>'ServerProfileHTTP', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'radius'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'server_radius', 'menu-tree-path'=>'RADIUS', 'node-config-ids'=>'ServerProfileRadius', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'scp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'scp_settings', 'menu-tree-path'=>'SCP', 'node-config-ids'=>'ServerProfileSCP', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'tacplus'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'server_tacplus', 'menu-tree-path'=>'TACACS+', 'node-config-ids'=>'ServerProfileTacacs', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ldap'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'server_ldap', 'menu-tree-path'=>'LDAP', 'node-config-ids'=>'ServerProfileLDAP', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'kerberos'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'server_kerberos', 'skip-display'=>'fips-mode,cc-only-mode', 'node-config-ids'=>'ServerProfileKerberos', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'saml_idp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'server_saml_idp', 'menu-tree-path'=>'SAML Identity Provider', 'node-config-ids'=>'ServerProfileSamlIdp', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def snmp_trap prop_get('snmp-trap') end def snmp_trap=(val) prop_set('snmp-trap', val) end def syslog prop_get('syslog') end def syslog=(val) prop_set('syslog', val) end def email prop_get('email') end def email=(val) prop_set('email', val) end def http prop_get('http') end def http=(val) prop_set('http', val) end def radius prop_get('radius') end def radius=(val) prop_set('radius', val) end def scp prop_get('scp') end def scp=(val) prop_set('scp', val) end def tacplus prop_get('tacplus') end def tacplus=(val) prop_set('tacplus', val) end def ldap prop_get('ldap') end def ldap=(val) prop_set('ldap', val) end def kerberos prop_get('kerberos') end def kerberos=(val) prop_set('kerberos', val) end def saml_idp prop_get('saml_idp') end def saml_idp=(val) prop_set('saml_idp', val) end end def server_profile @subclasses['server-profile'] ||= ServerProfile.new(parent_instance: self, client: @client, create_children: @create_children) end class Deployment < ConfigClass def has_multiple_values?; false; end def _section :deployment end @props = {'software'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'panorama_deployment_software', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'global-protect-client'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'GlobalProtect Client', 'help-topic'=>'panorama_deployment_software', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dynamic-updates'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'panorama_deployment_software', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'plugins'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'panorama_deployment_software', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'licenses'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'panorama_deployment_software', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def software prop_get('software') end def software=(val) prop_set('software', val) end def global_protect_client prop_get('global-protect-client') end def global_protect_client=(val) prop_set('global-protect-client', val) end def dynamic_updates prop_get('dynamic-updates') end def dynamic_updates=(val) prop_set('dynamic-updates', val) end def plugins prop_get('plugins') end def plugins=(val) prop_set('plugins', val) end def licenses prop_get('licenses') end def licenses=(val) prop_set('licenses', val) end end def deployment @subclasses['deployment'] ||= Deployment.new(parent_instance: self, client: @client, create_children: @create_children) end class PolicyRecommendations < ConfigClass def has_multiple_values?; false; end def _section :'policy-recommendations' end @props = {'iot'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'iot_policy_recommendation', 'menu-tree-path'=>'IoT', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'saas'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'saas_policy_recommendation', 'menu-tree-path'=>'SaaS', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def iot prop_get('iot') end def iot=(val) prop_set('iot', val) end def saas prop_get('saas') end def saas=(val) prop_set('saas', val) end end def policy_recommendations @subclasses['policy-recommendations'] ||= PolicyRecommendations.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'high-availability'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'panorama_ha', 'node-config-ids'=>'HASetupCMS', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'config-audit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'panorama_config_audit', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'manage-wildfire-clusters'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'panorama_wf_clusters', 'menu-tree-path'=>'Managed WildFire Clusters', 'node-config-ids'=>'WildFireClusters', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'manage-wildfire-appliances'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'panorama_wf_appliances', 'menu-tree-path'=>'Managed WildFire Appliances', 'node-config-ids'=>'WildFireAppliances', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'software-firewall-clusters'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'panorama_swfw_clusters', 'menu-tree-path'=>'Firewall Clusters', 'node-config-ids'=>'SWFWClusters', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'administrators'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'panorama_admin_accounts', 'node-config-ids'=>'Administrator', 'enum'=>[{'value'=>'read-only'}, {'value'=>'disable'}]}, 'admin-roles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'panorama_admin_roles', 'node-config-ids'=>'AdminRoleHandler', 'enum'=>[{'value'=>'read-only'}, {'value'=>'disable'}]}, 'access-domain'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'panorama_access_domain', 'node-config-ids'=>'AccessDomain', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'authentication-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'AuthenticationProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'authentication-sequence'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'AuthSeqBase', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'user-identification'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'panorama_user_id', 'node-config-ids'=>'UserIdAgent', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'data-redistribution'=>{'node-type'=>'element', 'optional'=>'yes', 'help-topic'=>'data_redistribution', 'menu-tree-path'=>'Data Redistribution', 'type'=>'enum', 'node-config-ids'=>'RDAgent,DataRedistributionIncludeExcludeNetwork', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'scheduled-config-push'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Scheduled Config Push', 'node-config-ids'=>'ScheduledConfigPush', 'help-topic'=>'panorama_scheduled_config_push', 'feature'=>'sched-policy-push', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'device-quarantine'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Device Quarantine', 'help-topic'=>'panorama_device_quarantine', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'templates'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_template', 'node-config-ids'=>'Template', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'device-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'panorama_device_groups', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'managed-collectors'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'ManagedCollectors', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'collector-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'ManagedCollectorGroups', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'log-ingestion-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'LogIngestionProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'software'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'panorama_software', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dynamic-updates'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'plugins'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'licenses'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'license', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'support'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'master-key'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Master Key and Diagnostics', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'device-registration-auth-key'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'panorama_auth_key', 'menu-tree-path'=>'Device Registration Auth Key', 'node-config-ids'=>'DeviceRegistrationAuthKey', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def high_availability prop_get('high-availability') end def high_availability=(val) prop_set('high-availability', val) end def config_audit prop_get('config-audit') end def config_audit=(val) prop_set('config-audit', val) end def manage_wildfire_clusters prop_get('manage-wildfire-clusters') end def manage_wildfire_clusters=(val) prop_set('manage-wildfire-clusters', val) end def manage_wildfire_appliances prop_get('manage-wildfire-appliances') end def manage_wildfire_appliances=(val) prop_set('manage-wildfire-appliances', val) end def software_firewall_clusters prop_get('software-firewall-clusters') end def software_firewall_clusters=(val) prop_set('software-firewall-clusters', val) end def administrators prop_get('administrators') end def administrators=(val) prop_set('administrators', val) end def admin_roles prop_get('admin-roles') end def admin_roles=(val) prop_set('admin-roles', val) end def access_domain prop_get('access-domain') end def access_domain=(val) prop_set('access-domain', val) end def authentication_profile prop_get('authentication-profile') end def authentication_profile=(val) prop_set('authentication-profile', val) end def authentication_sequence prop_get('authentication-sequence') end def authentication_sequence=(val) prop_set('authentication-sequence', val) end def user_identification prop_get('user-identification') end def user_identification=(val) prop_set('user-identification', val) end def data_redistribution prop_get('data-redistribution') end def data_redistribution=(val) prop_set('data-redistribution', val) end def scheduled_config_push prop_get('scheduled-config-push') end def scheduled_config_push=(val) prop_set('scheduled-config-push', val) end def device_quarantine prop_get('device-quarantine') end def device_quarantine=(val) prop_set('device-quarantine', val) end def templates prop_get('templates') end def templates=(val) prop_set('templates', val) end def device_groups prop_get('device-groups') end def device_groups=(val) prop_set('device-groups', val) end def managed_collectors prop_get('managed-collectors') end def managed_collectors=(val) prop_set('managed-collectors', val) end def collector_groups prop_get('collector-groups') end def collector_groups=(val) prop_set('collector-groups', val) end def log_ingestion_profile prop_get('log-ingestion-profile') end def log_ingestion_profile=(val) prop_set('log-ingestion-profile', val) end def software prop_get('software') end def software=(val) prop_set('software', val) end def dynamic_updates prop_get('dynamic-updates') end def dynamic_updates=(val) prop_set('dynamic-updates', val) end def plugins prop_get('plugins') end def plugins=(val) prop_set('plugins', val) end def licenses prop_get('licenses') end def licenses=(val) prop_set('licenses', val) end def support prop_get('support') end def support=(val) prop_set('support', val) end def master_key prop_get('master-key') end def master_key=(val) prop_set('master-key', val) end def device_registration_auth_key prop_get('device-registration-auth-key') end def device_registration_auth_key=(val) prop_set('device-registration-auth-key', val) end end def panorama @subclasses['panorama'] ||= Panorama.new(parent_instance: self, client: @client, create_children: @create_children) end class Privacy < ConfigClass def has_multiple_values?; false; end def _section :privacy end @props = {'show-full-ip-addresses'=>{'node-type'=>'element', 'menu-tree-path'=>'Show Full IP Addresses', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'show-user-names-in-logs-and-reports'=>{'node-type'=>'element', 'menu-tree-path'=>'Show Username In Logs And Reports', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'view-pcap-files'=>{'node-type'=>'element', 'menu-tree-path'=>'View PCAP Files', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}} def show_full_ip_addresses prop_get('show-full-ip-addresses') end def show_full_ip_addresses=(val) prop_set('show-full-ip-addresses', val) end def show_user_names_in_logs_and_reports prop_get('show-user-names-in-logs-and-reports') end def show_user_names_in_logs_and_reports=(val) prop_set('show-user-names-in-logs-and-reports', val) end def view_pcap_files prop_get('view-pcap-files') end def view_pcap_files=(val) prop_set('view-pcap-files', val) end end def privacy @subclasses['privacy'] ||= Privacy.new(parent_instance: self, client: @client, create_children: @create_children) end class Save < ConfigClass def has_multiple_values?; false; end def _section :save end @props = {'partial-save'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'save-for-other-admins'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'object-level-changes'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}} def partial_save prop_get('partial-save') end def partial_save=(val) prop_set('partial-save', val) end def save_for_other_admins prop_get('save-for-other-admins') end def save_for_other_admins=(val) prop_set('save-for-other-admins', val) end def object_level_changes prop_get('object-level-changes') end def object_level_changes=(val) prop_set('object-level-changes', val) end end def save @subclasses['save'] ||= Save.new(parent_instance: self, client: @client, create_children: @create_children) end class Commit < ConfigClass def has_multiple_values?; false; end def _section :commit end @props = {'panorama'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'commit-for-other-admins'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'push-all-changes'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'push-for-other-admins'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'device-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'templates'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'object-level-changes'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'force-template-values'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'collector-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'wildfire-appliance-clusters'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}} def panorama prop_get('panorama') end def panorama=(val) prop_set('panorama', val) end def commit_for_other_admins prop_get('commit-for-other-admins') end def commit_for_other_admins=(val) prop_set('commit-for-other-admins', val) end def push_all_changes prop_get('push-all-changes') end def push_all_changes=(val) prop_set('push-all-changes', val) end def push_for_other_admins prop_get('push-for-other-admins') end def push_for_other_admins=(val) prop_set('push-for-other-admins', val) end def device_groups prop_get('device-groups') end def device_groups=(val) prop_set('device-groups', val) end def templates prop_get('templates') end def templates=(val) prop_set('templates', val) end def object_level_changes prop_get('object-level-changes') end def object_level_changes=(val) prop_set('object-level-changes', val) end def force_template_values prop_get('force-template-values') end def force_template_values=(val) prop_set('force-template-values', val) end def collector_groups prop_get('collector-groups') end def collector_groups=(val) prop_set('collector-groups', val) end def wildfire_appliance_clusters prop_get('wildfire-appliance-clusters') end def wildfire_appliance_clusters=(val) prop_set('wildfire-appliance-clusters', val) end end def commit @subclasses['commit'] ||= Commit.new(parent_instance: self, client: @client, create_children: @create_children) end class Global < ConfigClass def has_multiple_values?; false; end def _section :global end @props = {'system-alarms'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'system_alarms', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}} def system_alarms prop_get('system-alarms') end def system_alarms=(val) prop_set('system-alarms', val) end end def global @subclasses['global'] ||= Global.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'validate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Validate'}, 'dashboard'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'acc'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'ACC', 'prune-on-sdb'=>'cfg.vm-license-type=vm50l,cfg.platform.model=PA-410', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'tasks'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}} # Validate def validate prop_get('validate') end # Validate def validate=(val) prop_set('validate', val) end def dashboard prop_get('dashboard') end def dashboard=(val) prop_set('dashboard', val) end def acc prop_get('acc') end def acc=(val) prop_set('acc', val) end def tasks prop_get('tasks') end def tasks=(val) prop_set('tasks', val) end end def webui @subclasses['webui'] ||= Webui.new(parent_instance: self, client: @client, create_children: @create_children) end class Xmlapi < ConfigClass def has_multiple_values?; false; end def _section :xmlapi end @props = {'report'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Report', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'log'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'config'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Configuration', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'op'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Operational Requests', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'commit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Commit', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'user-id'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'User-ID Agent', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'iot'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'IoT Agent', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'export'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Export', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'import'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Import', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}} def report prop_get('report') end def report=(val) prop_set('report', val) end def log prop_get('log') end def log=(val) prop_set('log', val) end def config prop_get('config') end def config=(val) prop_set('config', val) end def op prop_get('op') end def op=(val) prop_set('op', val) end def commit prop_get('commit') end def commit=(val) prop_set('commit', val) end def user_id prop_get('user-id') end def user_id=(val) prop_set('user-id', val) end def iot prop_get('iot') end def iot=(val) prop_set('iot', val) end def export prop_get('export') end def export=(val) prop_set('export', val) end def import prop_get('import') end def import=(val) prop_set('import', val) end end def xmlapi @subclasses['xmlapi'] ||= Xmlapi.new(parent_instance: self, client: @client, create_children: @create_children) end class Restapi < ConfigClass def has_multiple_values?; false; end def _section :restapi end class Objects < ConfigClass def has_multiple_values?; false; end def _section :objects end @props = {'addresses'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'address-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'regions'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dynamic-user-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'applications'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'application-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'application-filters'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'services'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'service-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'tags'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'devices'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'globalprotect-hip-objects'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'hip_objects', 'menu-tree-path'=>'GlobalProtect HIP Objects', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'globalprotect-hip-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'hip_profiles', 'menu-tree-path'=>'GlobalProtect HIP Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'external-dynamic-lists'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'external_dynamic_list', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'custom-data-patterns'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'custom-spyware-signatures'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'signatures_spyware', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'custom-vulnerability-signatures'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'signatures_vulnerability', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'custom-url-categories'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'help-topic'=>'custom_url_categories', 'menu-tree-path'=>'URL Category', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'antivirus-security-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'antivirus_profiles', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'anti-spyware-security-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'anti-spyware_profiles', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'vulnerability-protection-security-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'vulnerability_protection_profiles', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'url-filtering-security-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'url_filtering_profiles', 'skip-display'=>'shared-gateway', 'menu-tree-path'=>'URL Filtering Security Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'file-blocking-security-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'file_blocking_profiles', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'wildfire-analysis-security-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'wildfire_analysis_profiles', 'skip-display'=>'shared-gateway', 'menu-tree-path'=>'WildFire Analysis Security Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'data-filtering-security-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'data_filtering_profiles', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dos-protection-security-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'dos_profiles', 'menu-tree-path'=>'DoS Protection Security Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'gtp-protection-security-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'gtp_protection', 'menu-tree-path'=>'GTP Protection Security Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sctp-protection-security-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'sctp_protection', 'menu-tree-path'=>'SCTP Protection Secuirty Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'security-profile-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'log-forwarding-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'log_forwarding', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'authentication-enforcements'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'authentication', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'decryption-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'decryption_profile', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'packet-broker-profiles'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'prune-on-sdb'=>'cfg.general.prune-on-decrypt-brk', 'help-topic'=>'packet_broker_profile', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'schedules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-path-quality-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'sdwan-path-quality-profiles', 'skip-display'=>'shared-gateway', 'menu-tree-path'=>'SD-WAN Path Quality Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-saas-quality-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'sdwan-saas-quality-profiles', 'skip-display'=>'shared-gateway', 'menu-tree-path'=>'SD-WAN Saas Quality Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-traffic-distribution-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'sdwan-traffic-distribution-profiles', 'skip-display'=>'shared-gateway', 'menu-tree-path'=>'SD-WAN Traffic Distribution Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-error-correction-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'sdwan-error-correction-profiles', 'skip-display'=>'shared-gateway', 'menu-tree-path'=>'SD-WAN Error Correction Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def addresses prop_get('addresses') end def addresses=(val) prop_set('addresses', val) end def address_groups prop_get('address-groups') end def address_groups=(val) prop_set('address-groups', val) end def regions prop_get('regions') end def regions=(val) prop_set('regions', val) end def dynamic_user_groups prop_get('dynamic-user-groups') end def dynamic_user_groups=(val) prop_set('dynamic-user-groups', val) end def applications prop_get('applications') end def applications=(val) prop_set('applications', val) end def application_groups prop_get('application-groups') end def application_groups=(val) prop_set('application-groups', val) end def application_filters prop_get('application-filters') end def application_filters=(val) prop_set('application-filters', val) end def services prop_get('services') end def services=(val) prop_set('services', val) end def service_groups prop_get('service-groups') end def service_groups=(val) prop_set('service-groups', val) end def tags prop_get('tags') end def tags=(val) prop_set('tags', val) end def devices prop_get('devices') end def devices=(val) prop_set('devices', val) end def globalprotect_hip_objects prop_get('globalprotect-hip-objects') end def globalprotect_hip_objects=(val) prop_set('globalprotect-hip-objects', val) end def globalprotect_hip_profiles prop_get('globalprotect-hip-profiles') end def globalprotect_hip_profiles=(val) prop_set('globalprotect-hip-profiles', val) end def external_dynamic_lists prop_get('external-dynamic-lists') end def external_dynamic_lists=(val) prop_set('external-dynamic-lists', val) end def custom_data_patterns prop_get('custom-data-patterns') end def custom_data_patterns=(val) prop_set('custom-data-patterns', val) end def custom_spyware_signatures prop_get('custom-spyware-signatures') end def custom_spyware_signatures=(val) prop_set('custom-spyware-signatures', val) end def custom_vulnerability_signatures prop_get('custom-vulnerability-signatures') end def custom_vulnerability_signatures=(val) prop_set('custom-vulnerability-signatures', val) end def custom_url_categories prop_get('custom-url-categories') end def custom_url_categories=(val) prop_set('custom-url-categories', val) end def antivirus_security_profiles prop_get('antivirus-security-profiles') end def antivirus_security_profiles=(val) prop_set('antivirus-security-profiles', val) end def anti_spyware_security_profiles prop_get('anti-spyware-security-profiles') end def anti_spyware_security_profiles=(val) prop_set('anti-spyware-security-profiles', val) end def vulnerability_protection_security_profiles prop_get('vulnerability-protection-security-profiles') end def vulnerability_protection_security_profiles=(val) prop_set('vulnerability-protection-security-profiles', val) end def url_filtering_security_profiles prop_get('url-filtering-security-profiles') end def url_filtering_security_profiles=(val) prop_set('url-filtering-security-profiles', val) end def file_blocking_security_profiles prop_get('file-blocking-security-profiles') end def file_blocking_security_profiles=(val) prop_set('file-blocking-security-profiles', val) end def wildfire_analysis_security_profiles prop_get('wildfire-analysis-security-profiles') end def wildfire_analysis_security_profiles=(val) prop_set('wildfire-analysis-security-profiles', val) end def data_filtering_security_profiles prop_get('data-filtering-security-profiles') end def data_filtering_security_profiles=(val) prop_set('data-filtering-security-profiles', val) end def dos_protection_security_profiles prop_get('dos-protection-security-profiles') end def dos_protection_security_profiles=(val) prop_set('dos-protection-security-profiles', val) end def gtp_protection_security_profiles prop_get('gtp-protection-security-profiles') end def gtp_protection_security_profiles=(val) prop_set('gtp-protection-security-profiles', val) end def sctp_protection_security_profiles prop_get('sctp-protection-security-profiles') end def sctp_protection_security_profiles=(val) prop_set('sctp-protection-security-profiles', val) end def security_profile_groups prop_get('security-profile-groups') end def security_profile_groups=(val) prop_set('security-profile-groups', val) end def log_forwarding_profiles prop_get('log-forwarding-profiles') end def log_forwarding_profiles=(val) prop_set('log-forwarding-profiles', val) end def authentication_enforcements prop_get('authentication-enforcements') end def authentication_enforcements=(val) prop_set('authentication-enforcements', val) end def decryption_profiles prop_get('decryption-profiles') end def decryption_profiles=(val) prop_set('decryption-profiles', val) end def packet_broker_profiles prop_get('packet-broker-profiles') end def packet_broker_profiles=(val) prop_set('packet-broker-profiles', val) end def schedules prop_get('schedules') end def schedules=(val) prop_set('schedules', val) end def sdwan_path_quality_profiles prop_get('sdwan-path-quality-profiles') end def sdwan_path_quality_profiles=(val) prop_set('sdwan-path-quality-profiles', val) end def sdwan_saas_quality_profiles prop_get('sdwan-saas-quality-profiles') end def sdwan_saas_quality_profiles=(val) prop_set('sdwan-saas-quality-profiles', val) end def sdwan_traffic_distribution_profiles prop_get('sdwan-traffic-distribution-profiles') end def sdwan_traffic_distribution_profiles=(val) prop_set('sdwan-traffic-distribution-profiles', val) end def sdwan_error_correction_profiles prop_get('sdwan-error-correction-profiles') end def sdwan_error_correction_profiles=(val) prop_set('sdwan-error-correction-profiles', val) end end def objects @subclasses['objects'] ||= Objects.new(parent_instance: self, client: @client, create_children: @create_children) end class Policies < ConfigClass def has_multiple_values?; false; end def _section :policies end @props = {'security-rules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'policies_security', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'nat-rules'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.vm-mode=1', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'nat_rules', 'menu-tree-path'=>'NAT Rules', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'qos-rules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'qos_policies', 'skip-display'=>'shared-gateway', 'menu-tree-path'=>'QoS Rules', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'policy-based-forwarding-rules'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.vm-mode=1', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'decryption-rules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'help-topic'=>'decryption_rules', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'network-packet-broker-rules'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'prune-on-sdb'=>'cfg.general.prune-on-decrypt-brk', 'skip-display'=>'shared-gateway', 'help-topic'=>'network_packet_broker_rules', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'tunnel-inspection-rules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'help-topic'=>'tunnel_inspection_rules', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'application-override-rules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'help-topic'=>'application_override_rules', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'authentication-rules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'help-topic'=>'authentication_rules', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dos-rules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'help-topic'=>'dos_rules', 'menu-tree-path'=>'DoS Rules', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-rules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'help-topic'=>'sdwan-rules', 'menu-tree-path'=>'SD-WAN Rules', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def security_rules prop_get('security-rules') end def security_rules=(val) prop_set('security-rules', val) end def nat_rules prop_get('nat-rules') end def nat_rules=(val) prop_set('nat-rules', val) end def qos_rules prop_get('qos-rules') end def qos_rules=(val) prop_set('qos-rules', val) end def policy_based_forwarding_rules prop_get('policy-based-forwarding-rules') end def policy_based_forwarding_rules=(val) prop_set('policy-based-forwarding-rules', val) end def decryption_rules prop_get('decryption-rules') end def decryption_rules=(val) prop_set('decryption-rules', val) end def network_packet_broker_rules prop_get('network-packet-broker-rules') end def network_packet_broker_rules=(val) prop_set('network-packet-broker-rules', val) end def tunnel_inspection_rules prop_get('tunnel-inspection-rules') end def tunnel_inspection_rules=(val) prop_set('tunnel-inspection-rules', val) end def application_override_rules prop_get('application-override-rules') end def application_override_rules=(val) prop_set('application-override-rules', val) end def authentication_rules prop_get('authentication-rules') end def authentication_rules=(val) prop_set('authentication-rules', val) end def dos_rules prop_get('dos-rules') end def dos_rules=(val) prop_set('dos-rules', val) end def sdwan_rules prop_get('sdwan-rules') end def sdwan_rules=(val) prop_set('sdwan-rules', val) end end def policies @subclasses['policies'] ||= Policies.new(parent_instance: self, client: @client, create_children: @create_children) end class Network < ConfigClass def has_multiple_values?; false; end def _section :network end @props = {'aggregate-ethernet-interfaces'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'network_interfaces', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ethernet-interfaces'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'network_interfaces', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'vlan-interfaces'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'network_interfaces', 'menu-tree-path'=>'VLAN Interfaces', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'loopback-interfaces'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'network_interfaces', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'tunnel-interfaces'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'network_interfaces', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'zones'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'vlans'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.vm-mode=1', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'VLANs', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'virtual-wires'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'virtual-routers'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.vm-mode=1', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'logical-routers'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'bgp-routing-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'BGP Routing Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ipsec-tunnels'=>{'node-type'=>'element', 'optional'=>'yes', 'prune-on-sdb'=>'cfg.general.vm-mode=1', 'prune-on'=>'vpn-disable-mode', 'type'=>'enum', 'skip-display'=>'vpn-disable-mode', 'menu-tree-path'=>'IPSec Tunnels', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'gre-tunnels'=>{'node-type'=>'element', 'optional'=>'yes', 'prune-on-sdb'=>'cfg.general.vm-mode=1', 'prune-on'=>'vpn-disable-mode', 'type'=>'enum', 'skip-display'=>'vpn-disable-mode', 'menu-tree-path'=>'GRE Tunnels', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dhcp-servers'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.vm-mode=1', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'DHCP Servers', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dhcp-relays'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.vm-mode=1', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'DHCP Relays', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dns-proxies'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.vm-mode=1', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'DNS Proxies', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'globalprotect-portals'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'GlobalProtect Portals', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'globalprotect-gateways'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'GlobalProtect Gateways', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'globalprotect-mdm-servers'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'GlobalProtect MDM Servers', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'globalprotect-clientless-apps'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'GlobalProtect Clientless Apps', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'globalprotect-clientless-app-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'GlobalProtect Clientless App Groups', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'qos-interfaces'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'QoS Interfaces', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'lldp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'LLDP', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'globalprotect-ipsec-crypto-network-profiles'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.vm-mode=1', 'prune-on'=>'vpn-disable-mode', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'vpn-disable-mode', 'menu-tree-path'=>'GlobalProtect IPSec Crypto Network Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ike-gateway-network-profiles'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.vm-mode=1', 'prune-on'=>'vpn-disable-mode', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'vpn-disable-mode', 'menu-tree-path'=>'IKE Gateway Network Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ipsec-crypto-network-profiles'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.vm-mode=1', 'prune-on'=>'vpn-disable-mode', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'ipsec_crypto_profiles', 'skip-display'=>'vpn-disable-mode', 'menu-tree-path'=>'IPSec Crypto Network Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ike-crypto-network-profiles'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.vm-mode=1', 'prune-on'=>'vpn-disable-mode', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'ike_crypto_profiles', 'skip-display'=>'vpn-disable-mode', 'menu-tree-path'=>'IKE Crypto Network Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'tunnel-monitor-network-profiles'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.vm-mode=1', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'tunnel_monitor_profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'interface-management-network-profiles'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.vm-mode=1', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'interface_management_profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'zone-protection-network-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'zone_protection', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'qos-network-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'QoS Network Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'lldp-network-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'LLDP Network Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'bfd-network-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'BFD Network Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-interfaces'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SD-WAN Interfaces', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-interface-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SD-WAN Interface Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def aggregate_ethernet_interfaces prop_get('aggregate-ethernet-interfaces') end def aggregate_ethernet_interfaces=(val) prop_set('aggregate-ethernet-interfaces', val) end def ethernet_interfaces prop_get('ethernet-interfaces') end def ethernet_interfaces=(val) prop_set('ethernet-interfaces', val) end def vlan_interfaces prop_get('vlan-interfaces') end def vlan_interfaces=(val) prop_set('vlan-interfaces', val) end def loopback_interfaces prop_get('loopback-interfaces') end def loopback_interfaces=(val) prop_set('loopback-interfaces', val) end def tunnel_interfaces prop_get('tunnel-interfaces') end def tunnel_interfaces=(val) prop_set('tunnel-interfaces', val) end def zones prop_get('zones') end def zones=(val) prop_set('zones', val) end def vlans prop_get('vlans') end def vlans=(val) prop_set('vlans', val) end def virtual_wires prop_get('virtual-wires') end def virtual_wires=(val) prop_set('virtual-wires', val) end def virtual_routers prop_get('virtual-routers') end def virtual_routers=(val) prop_set('virtual-routers', val) end def logical_routers prop_get('logical-routers') end def logical_routers=(val) prop_set('logical-routers', val) end def bgp_routing_profiles prop_get('bgp-routing-profiles') end def bgp_routing_profiles=(val) prop_set('bgp-routing-profiles', val) end def ipsec_tunnels prop_get('ipsec-tunnels') end def ipsec_tunnels=(val) prop_set('ipsec-tunnels', val) end def gre_tunnels prop_get('gre-tunnels') end def gre_tunnels=(val) prop_set('gre-tunnels', val) end def dhcp_servers prop_get('dhcp-servers') end def dhcp_servers=(val) prop_set('dhcp-servers', val) end def dhcp_relays prop_get('dhcp-relays') end def dhcp_relays=(val) prop_set('dhcp-relays', val) end def dns_proxies prop_get('dns-proxies') end def dns_proxies=(val) prop_set('dns-proxies', val) end def globalprotect_portals prop_get('globalprotect-portals') end def globalprotect_portals=(val) prop_set('globalprotect-portals', val) end def globalprotect_gateways prop_get('globalprotect-gateways') end def globalprotect_gateways=(val) prop_set('globalprotect-gateways', val) end def globalprotect_mdm_servers prop_get('globalprotect-mdm-servers') end def globalprotect_mdm_servers=(val) prop_set('globalprotect-mdm-servers', val) end def globalprotect_clientless_apps prop_get('globalprotect-clientless-apps') end def globalprotect_clientless_apps=(val) prop_set('globalprotect-clientless-apps', val) end def globalprotect_clientless_app_groups prop_get('globalprotect-clientless-app-groups') end def globalprotect_clientless_app_groups=(val) prop_set('globalprotect-clientless-app-groups', val) end def qos_interfaces prop_get('qos-interfaces') end def qos_interfaces=(val) prop_set('qos-interfaces', val) end def lldp prop_get('lldp') end def lldp=(val) prop_set('lldp', val) end def globalprotect_ipsec_crypto_network_profiles prop_get('globalprotect-ipsec-crypto-network-profiles') end def globalprotect_ipsec_crypto_network_profiles=(val) prop_set('globalprotect-ipsec-crypto-network-profiles', val) end def ike_gateway_network_profiles prop_get('ike-gateway-network-profiles') end def ike_gateway_network_profiles=(val) prop_set('ike-gateway-network-profiles', val) end def ipsec_crypto_network_profiles prop_get('ipsec-crypto-network-profiles') end def ipsec_crypto_network_profiles=(val) prop_set('ipsec-crypto-network-profiles', val) end def ike_crypto_network_profiles prop_get('ike-crypto-network-profiles') end def ike_crypto_network_profiles=(val) prop_set('ike-crypto-network-profiles', val) end def tunnel_monitor_network_profiles prop_get('tunnel-monitor-network-profiles') end def tunnel_monitor_network_profiles=(val) prop_set('tunnel-monitor-network-profiles', val) end def interface_management_network_profiles prop_get('interface-management-network-profiles') end def interface_management_network_profiles=(val) prop_set('interface-management-network-profiles', val) end def zone_protection_network_profiles prop_get('zone-protection-network-profiles') end def zone_protection_network_profiles=(val) prop_set('zone-protection-network-profiles', val) end def qos_network_profiles prop_get('qos-network-profiles') end def qos_network_profiles=(val) prop_set('qos-network-profiles', val) end def lldp_network_profiles prop_get('lldp-network-profiles') end def lldp_network_profiles=(val) prop_set('lldp-network-profiles', val) end def bfd_network_profiles prop_get('bfd-network-profiles') end def bfd_network_profiles=(val) prop_set('bfd-network-profiles', val) end def sdwan_interfaces prop_get('sdwan-interfaces') end def sdwan_interfaces=(val) prop_set('sdwan-interfaces', val) end def sdwan_interface_profiles prop_get('sdwan-interface-profiles') end def sdwan_interface_profiles=(val) prop_set('sdwan-interface-profiles', val) end end def network @subclasses['network'] ||= Network.new(parent_instance: self, client: @client, create_children: @create_children) end class Device < ConfigClass def has_multiple_values?; false; end def _section :device end @props = {'log-interface-setting'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'snmp-trap-server-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SNMP Trap Server Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'syslog-server-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Syslog Server Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'email-server-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Email Server Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'http-server-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'HTTP Server Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ldap-server-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'LDAP Server Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'virtual-systems'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def log_interface_setting prop_get('log-interface-setting') end def log_interface_setting=(val) prop_set('log-interface-setting', val) end def snmp_trap_server_profiles prop_get('snmp-trap-server-profiles') end def snmp_trap_server_profiles=(val) prop_set('snmp-trap-server-profiles', val) end def syslog_server_profiles prop_get('syslog-server-profiles') end def syslog_server_profiles=(val) prop_set('syslog-server-profiles', val) end def email_server_profiles prop_get('email-server-profiles') end def email_server_profiles=(val) prop_set('email-server-profiles', val) end def http_server_profiles prop_get('http-server-profiles') end def http_server_profiles=(val) prop_set('http-server-profiles', val) end def ldap_server_profiles prop_get('ldap-server-profiles') end def ldap_server_profiles=(val) prop_set('ldap-server-profiles', val) end def virtual_systems prop_get('virtual-systems') end def virtual_systems=(val) prop_set('virtual-systems', val) end end def device @subclasses['device'] ||= Device.new(parent_instance: self, client: @client, create_children: @create_children) end class Panorama < ConfigClass def has_multiple_values?; false; end def _section :panorama end @props = {'setup-log-setting'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'scheduled-config-push-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'panorama_scheduled_config_push', 'feature'=>'sched-policy-push', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'templates'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_template', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'template-stacks'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_template', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'device-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'panorama_device_groups', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'device-registration-auth-keys'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'snmp-trap-server-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SNMP Trap Server Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'syslog-server-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Syslog Server Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'email-server-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Email Server Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'http-server-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'HTTP Server Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ldap-server-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'LDAP Server Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def setup_log_setting prop_get('setup-log-setting') end def setup_log_setting=(val) prop_set('setup-log-setting', val) end def scheduled_config_push_profiles prop_get('scheduled-config-push-profiles') end def scheduled_config_push_profiles=(val) prop_set('scheduled-config-push-profiles', val) end def templates prop_get('templates') end def templates=(val) prop_set('templates', val) end def template_stacks prop_get('template-stacks') end def template_stacks=(val) prop_set('template-stacks', val) end def device_groups prop_get('device-groups') end def device_groups=(val) prop_set('device-groups', val) end def device_registration_auth_keys prop_get('device-registration-auth-keys') end def device_registration_auth_keys=(val) prop_set('device-registration-auth-keys', val) end def snmp_trap_server_profiles prop_get('snmp-trap-server-profiles') end def snmp_trap_server_profiles=(val) prop_set('snmp-trap-server-profiles', val) end def syslog_server_profiles prop_get('syslog-server-profiles') end def syslog_server_profiles=(val) prop_set('syslog-server-profiles', val) end def email_server_profiles prop_get('email-server-profiles') end def email_server_profiles=(val) prop_set('email-server-profiles', val) end def http_server_profiles prop_get('http-server-profiles') end def http_server_profiles=(val) prop_set('http-server-profiles', val) end def ldap_server_profiles prop_get('ldap-server-profiles') end def ldap_server_profiles=(val) prop_set('ldap-server-profiles', val) end end def panorama @subclasses['panorama'] ||= Panorama.new(parent_instance: self, client: @client, create_children: @create_children) end class System < ConfigClass def has_multiple_values?; false; end def _section :system end @props = {'configuration'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def configuration prop_get('configuration') end def configuration=(val) prop_set('configuration', val) end end def system @subclasses['system'] ||= System.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def restapi @subclasses['restapi'] ||= Restapi.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'device-admin-role'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'Admin role to be used while context switching to the device as a device admin'}, 'cli'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'superuser'}, {'value'=>'superreader'}, {'value'=>'panorama-admin'}]}} # Admin role to be used while context switching to the device as a device admin def device_admin_role prop_get('device-admin-role') end # Admin role to be used while context switching to the device as a device admin def device_admin_role=(val) prop_set('device-admin-role', val) end def cli prop_get('cli') end def cli=(val) prop_set('cli', val) end end def panorama @subclasses['panorama'] ||= Panorama.new(parent_instance: self, client: @client, create_children: @create_children) end class DeviceGroup < ConfigClass def has_multiple_values?; false; end def _section :'device-group' end class Webui < ConfigClass def has_multiple_values?; false; end def _section :webui end class Monitor < ConfigClass def has_multiple_values?; false; end def _section :monitor end class Logs < ConfigClass def has_multiple_values?; false; end def _section :logs end @props = {'traffic'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'traffic_log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'threat'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'threat_log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'url'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'URL Filtering', 'help-topic'=>'url_log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'wildfire'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'WildFire Submissions', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'data-filtering'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'data_filter_log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'hipmatch'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'hip_match_log', 'menu-tree-path'=>'HIP Match', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'globalprotect'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'GlobalProtect', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'iptag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'ip_tag', 'menu-tree-path'=>'IP-Tag', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'userid'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'userid_log', 'menu-tree-path'=>'User-ID', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'decryption'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'decryption_log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'gtp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'gtp_log', 'menu-tree-path'=>'GTP', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'tunnel'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'tunnel_log', 'menu-tree-path'=>'Tunnel Inspection', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'sctp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'sctp_log', 'menu-tree-path'=>'SCTP', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'configuration'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'config_log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'system'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'system_log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'alarm'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Alarms', 'help-topic'=>'alarm_log', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'authentication'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'authentication_log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}} def traffic prop_get('traffic') end def traffic=(val) prop_set('traffic', val) end def threat prop_get('threat') end def threat=(val) prop_set('threat', val) end def url prop_get('url') end def url=(val) prop_set('url', val) end def wildfire prop_get('wildfire') end def wildfire=(val) prop_set('wildfire', val) end def data_filtering prop_get('data-filtering') end def data_filtering=(val) prop_set('data-filtering', val) end def hipmatch prop_get('hipmatch') end def hipmatch=(val) prop_set('hipmatch', val) end def globalprotect prop_get('globalprotect') end def globalprotect=(val) prop_set('globalprotect', val) end def iptag prop_get('iptag') end def iptag=(val) prop_set('iptag', val) end def userid prop_get('userid') end def userid=(val) prop_set('userid', val) end def decryption prop_get('decryption') end def decryption=(val) prop_set('decryption', val) end def gtp prop_get('gtp') end def gtp=(val) prop_set('gtp', val) end def tunnel prop_get('tunnel') end def tunnel=(val) prop_set('tunnel', val) end def sctp prop_get('sctp') end def sctp=(val) prop_set('sctp', val) end def configuration prop_get('configuration') end def configuration=(val) prop_set('configuration', val) end def system prop_get('system') end def system=(val) prop_set('system', val) end def alarm prop_get('alarm') end def alarm=(val) prop_set('alarm', val) end def authentication prop_get('authentication') end def authentication=(val) prop_set('authentication', val) end end def logs @subclasses['logs'] ||= Logs.new(parent_instance: self, client: @client, create_children: @create_children) end class AutomatedCorrelationEngine < ConfigClass def has_multiple_values?; false; end def _section :'automated-correlation-engine' end @props = {'correlation-objects'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'correlated-events'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}} def correlation_objects prop_get('correlation-objects') end def correlation_objects=(val) prop_set('correlation-objects', val) end def correlated_events prop_get('correlated-events') end def correlated_events=(val) prop_set('correlated-events', val) end end def automated_correlation_engine @subclasses['automated-correlation-engine'] ||= AutomatedCorrelationEngine.new(parent_instance: self, client: @client, create_children: @create_children) end class PdfReports < ConfigClass def has_multiple_values?; false; end def _section :'pdf-reports' end @props = {'manage-pdf-summary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Manage PDF Summary', 'help-topic'=>'manage_pdf_summary_report', 'node-config-ids'=>'ManagePdfSummary', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'pdf-summary-reports'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'PDF Summary Reports', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'user-activity-report'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'UserActivityReport', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'saas-application-usage-report'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SaaS Application Usage', 'node-config-ids'=>'SaasAppUsageReport', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'report-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'ReportGroup', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'email-scheduler'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'report_email', 'node-config-ids'=>'EmailScheduler', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def manage_pdf_summary prop_get('manage-pdf-summary') end def manage_pdf_summary=(val) prop_set('manage-pdf-summary', val) end def pdf_summary_reports prop_get('pdf-summary-reports') end def pdf_summary_reports=(val) prop_set('pdf-summary-reports', val) end def user_activity_report prop_get('user-activity-report') end def user_activity_report=(val) prop_set('user-activity-report', val) end def saas_application_usage_report prop_get('saas-application-usage-report') end def saas_application_usage_report=(val) prop_set('saas-application-usage-report', val) end def report_groups prop_get('report-groups') end def report_groups=(val) prop_set('report-groups', val) end def email_scheduler prop_get('email-scheduler') end def email_scheduler=(val) prop_set('email-scheduler', val) end end def pdf_reports @subclasses['pdf-reports'] ||= PdfReports.new(parent_instance: self, client: @client, create_children: @create_children) end class CustomReports < ConfigClass def has_multiple_values?; false; end def _section :'custom-reports' end @props = {'application-statistics'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'data-filtering-log'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'threat-log'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'threat-summary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'traffic-log'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'traffic-summary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'url-log'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'menu-tree-path'=>'URL Log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'url-summary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'menu-tree-path'=>'URL Summary', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'hipmatch'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'prune-on'=>'vpn-disable-mode', 'menu-tree-path'=>'HIP Match', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'globalprotect'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'menu-tree-path'=>'GlobalProtect', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'wildfire-log'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'menu-tree-path'=>'WildFire Log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'gtp-log'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'menu-tree-path'=>'GTP Log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'gtp-summary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'menu-tree-path'=>'GTP Summary', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'tunnel-log'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'tunnel-summary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'sctp-log'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'menu-tree-path'=>'SCTP Log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'sctp-summary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'menu-tree-path'=>'SCTP Summary', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'iptag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'menu-tree-path'=>'IP-Tag', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'userid'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'menu-tree-path'=>'User-ID', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'decryption-log'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'decryption-summary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'auth'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'menu-tree-path'=>'Authentication', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}} def application_statistics prop_get('application-statistics') end def application_statistics=(val) prop_set('application-statistics', val) end def data_filtering_log prop_get('data-filtering-log') end def data_filtering_log=(val) prop_set('data-filtering-log', val) end def threat_log prop_get('threat-log') end def threat_log=(val) prop_set('threat-log', val) end def threat_summary prop_get('threat-summary') end def threat_summary=(val) prop_set('threat-summary', val) end def traffic_log prop_get('traffic-log') end def traffic_log=(val) prop_set('traffic-log', val) end def traffic_summary prop_get('traffic-summary') end def traffic_summary=(val) prop_set('traffic-summary', val) end def url_log prop_get('url-log') end def url_log=(val) prop_set('url-log', val) end def url_summary prop_get('url-summary') end def url_summary=(val) prop_set('url-summary', val) end def hipmatch prop_get('hipmatch') end def hipmatch=(val) prop_set('hipmatch', val) end def globalprotect prop_get('globalprotect') end def globalprotect=(val) prop_set('globalprotect', val) end def wildfire_log prop_get('wildfire-log') end def wildfire_log=(val) prop_set('wildfire-log', val) end def gtp_log prop_get('gtp-log') end def gtp_log=(val) prop_set('gtp-log', val) end def gtp_summary prop_get('gtp-summary') end def gtp_summary=(val) prop_set('gtp-summary', val) end def tunnel_log prop_get('tunnel-log') end def tunnel_log=(val) prop_set('tunnel-log', val) end def tunnel_summary prop_get('tunnel-summary') end def tunnel_summary=(val) prop_set('tunnel-summary', val) end def sctp_log prop_get('sctp-log') end def sctp_log=(val) prop_set('sctp-log', val) end def sctp_summary prop_get('sctp-summary') end def sctp_summary=(val) prop_set('sctp-summary', val) end def iptag prop_get('iptag') end def iptag=(val) prop_set('iptag', val) end def userid prop_get('userid') end def userid=(val) prop_set('userid', val) end def decryption_log prop_get('decryption-log') end def decryption_log=(val) prop_set('decryption-log', val) end def decryption_summary prop_get('decryption-summary') end def decryption_summary=(val) prop_set('decryption-summary', val) end def auth prop_get('auth') end def auth=(val) prop_set('auth', val) end end def custom_reports @subclasses['custom-reports'] ||= CustomReports.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'external-logs'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'External Logs', 'help-topic'=>'external_logs', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'app-scope'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'view-custom-reports'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'View Scheduled Custom Reports', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'application-reports'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'View Predefined Application Reports', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'threat-reports'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'View Predefined Threat Reports', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'url-filtering-reports'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'View Predefined URL Filtering Reports', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'traffic-reports'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'View Predefined Traffic Reports', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'gtp-reports'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'View Predefined GTP Reports', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'sctp-reports'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'View Predefined SCTP Reports', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}} def external_logs prop_get('external-logs') end def external_logs=(val) prop_set('external-logs', val) end def app_scope prop_get('app-scope') end def app_scope=(val) prop_set('app-scope', val) end def view_custom_reports prop_get('view-custom-reports') end def view_custom_reports=(val) prop_set('view-custom-reports', val) end def application_reports prop_get('application-reports') end def application_reports=(val) prop_set('application-reports', val) end def threat_reports prop_get('threat-reports') end def threat_reports=(val) prop_set('threat-reports', val) end def url_filtering_reports prop_get('url-filtering-reports') end def url_filtering_reports=(val) prop_set('url-filtering-reports', val) end def traffic_reports prop_get('traffic-reports') end def traffic_reports=(val) prop_set('traffic-reports', val) end def gtp_reports prop_get('gtp-reports') end def gtp_reports=(val) prop_set('gtp-reports', val) end def sctp_reports prop_get('sctp-reports') end def sctp_reports=(val) prop_set('sctp-reports', val) end end def monitor @subclasses['monitor'] ||= Monitor.new(parent_instance: self, client: @client, create_children: @create_children) end class Policies < ConfigClass def has_multiple_values?; false; end def _section :policies end @props = {'security-rulebase'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Security', 'help-topic'=>'policies_security', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'DeviceSecurityRules1,DeviceSecurityRules2,DeviceSecurityRules3,DeviceSecurityRules4,DeviceSecurityRules5,DeviceSecurityRules6', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'nat-rulebase'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.policies.nat-rulebase-disable=True', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'NAT', 'help-topic'=>'nat_rules', 'node-config-ids'=>'DeviceNATRules1,DeviceNATRules2,DeviceNATRules3', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'qos-rulebase'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'QoS', 'help-topic'=>'qos_policies', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'DeviceQOSRules1,DeviceQOSRules2,DeviceQOSRules3', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'pbf-rulebase'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.policies.pbf-rulebase-disable=True', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Policy Based Forwarding', 'node-config-ids'=>'DevicePBFRules1,DevicePBFRules2,DevicePBFRules3', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ssl-decryption-rulebase'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Decryption', 'skip-display'=>'shared-gateway', 'help-topic'=>'decryption_rules', 'node-config-ids'=>'DeviceDecryptionRules1,DeviceDecryptionRules2,DeviceDecryptionRules3', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'network-packet-broker-rulebase'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.prune-on-decrypt-brk=True', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Network Packet Broker', 'skip-display'=>'shared-gateway', 'help-topic'=>'network_packet_broker_rules', 'node-config-ids'=>'DeviceNPBRules1,DeviceNPBRules2,DeviceNPBRules3', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'tunnel-inspect-rulebase'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Tunnel Inspection', 'skip-display'=>'shared-gateway', 'help-topic'=>'tunnel_inspection_rules', 'node-config-ids'=>'DeviceTunnelInspectRules1,DeviceTunnelInspectRules2,DeviceTunnelInspectRules3', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'application-override-rulebase'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Application Override', 'skip-display'=>'shared-gateway', 'help-topic'=>'application_override_rules', 'node-config-ids'=>'DeviceAppOverrideRules1,DeviceAppOverrideRules2,DeviceAppOverrideRules3', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'authentication-rulebase'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Authentication', 'skip-display'=>'shared-gateway', 'help-topic'=>'authentication_rules', 'node-config-ids'=>'DeviceAuthenticationRules1,DeviceAuthenticationRules2,DeviceAuthenticationRules3', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dos-rulebase'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'DoS Protection', 'skip-display'=>'shared-gateway', 'help-topic'=>'dos_rules', 'node-config-ids'=>'DeviceDOSRules1,DeviceDOSRules2,DeviceDOSRules3', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-rulebase'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SD-WAN', 'help-topic'=>'sdwan_policies', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'DeviceSDWANRules1,DeviceSDWANRules2,DeviceSDWANRules3', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'rule-hit-count-reset'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Rule Hit Count Reset', 'help-topic'=>'rule_hit_count_reset', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}} def security_rulebase prop_get('security-rulebase') end def security_rulebase=(val) prop_set('security-rulebase', val) end def nat_rulebase prop_get('nat-rulebase') end def nat_rulebase=(val) prop_set('nat-rulebase', val) end def qos_rulebase prop_get('qos-rulebase') end def qos_rulebase=(val) prop_set('qos-rulebase', val) end def pbf_rulebase prop_get('pbf-rulebase') end def pbf_rulebase=(val) prop_set('pbf-rulebase', val) end def ssl_decryption_rulebase prop_get('ssl-decryption-rulebase') end def ssl_decryption_rulebase=(val) prop_set('ssl-decryption-rulebase', val) end def network_packet_broker_rulebase prop_get('network-packet-broker-rulebase') end def network_packet_broker_rulebase=(val) prop_set('network-packet-broker-rulebase', val) end def tunnel_inspect_rulebase prop_get('tunnel-inspect-rulebase') end def tunnel_inspect_rulebase=(val) prop_set('tunnel-inspect-rulebase', val) end def application_override_rulebase prop_get('application-override-rulebase') end def application_override_rulebase=(val) prop_set('application-override-rulebase', val) end def authentication_rulebase prop_get('authentication-rulebase') end def authentication_rulebase=(val) prop_set('authentication-rulebase', val) end def dos_rulebase prop_get('dos-rulebase') end def dos_rulebase=(val) prop_set('dos-rulebase', val) end def sdwan_rulebase prop_get('sdwan-rulebase') end def sdwan_rulebase=(val) prop_set('sdwan-rulebase', val) end def rule_hit_count_reset prop_get('rule-hit-count-reset') end def rule_hit_count_reset=(val) prop_set('rule-hit-count-reset', val) end end def policies @subclasses['policies'] ||= Policies.new(parent_instance: self, client: @client, create_children: @create_children) end class Objects < ConfigClass def has_multiple_values?; false; end def _section :objects end class GlobalProtect < ConfigClass def has_multiple_values?; false; end def _section :'global-protect' end @props = {'hip-objects'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'hip_objects', 'menu-tree-path'=>'HIP Objects', 'node-config-ids'=>'HIPObjects', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'hip-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'hip_profiles', 'menu-tree-path'=>'HIP Profiles', 'node-config-ids'=>'HIPProfiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def hip_objects prop_get('hip-objects') end def hip_objects=(val) prop_set('hip-objects', val) end def hip_profiles prop_get('hip-profiles') end def hip_profiles=(val) prop_set('hip-profiles', val) end end def global_protect @subclasses['global-protect'] ||= GlobalProtect.new(parent_instance: self, client: @client, create_children: @create_children) end class CustomObjects < ConfigClass def has_multiple_values?; false; end def _section :'custom-objects' end @props = {'data-patterns'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'DataPatterns', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'spyware'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'signatures_spyware', 'node-config-ids'=>'CustomSpyware', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'vulnerability'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'signatures_vulnerability', 'node-config-ids'=>'CustomVulnerability', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'url-category'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'menu-tree-path'=>'URL Category', 'help-topic'=>'custom_url_categories', 'node-config-ids'=>'CustomURLCategory', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def data_patterns prop_get('data-patterns') end def data_patterns=(val) prop_set('data-patterns', val) end def spyware prop_get('spyware') end def spyware=(val) prop_set('spyware', val) end def vulnerability prop_get('vulnerability') end def vulnerability=(val) prop_set('vulnerability', val) end def url_category prop_get('url-category') end def url_category=(val) prop_set('url-category', val) end end def custom_objects @subclasses['custom-objects'] ||= CustomObjects.new(parent_instance: self, client: @client, create_children: @create_children) end class SecurityProfiles < ConfigClass def has_multiple_values?; false; end def _section :'security-profiles' end @props = {'antivirus'=>{'node-type'=>'element', 'menu-tree-path'=>'Antivirus', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'antivirus_profiles', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'AntiVirusProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'anti-spyware'=>{'node-type'=>'element', 'menu-tree-path'=>'Anti-Spyware', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'anti-spyware_profiles', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'AntiSpywareProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'vulnerability-protection'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'vulnerability_protection_profiles', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'VulnerabilityProtection', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'url-filtering'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'url_filtering_profiles', 'menu-tree-path'=>'URL Filtering', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'URLFiltering', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'file-blocking'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'file_blocking_profiles', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'FileBlocking', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'wildfire-analysis'=>{'node-type'=>'element', 'menu-tree-path'=>'WildFire Analysis', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'wildfire_analysis_profiles', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'WildFireAnalysis', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'data-filtering'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'data_filtering_profiles', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'DataFiltering', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dos-protection'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'dos_profiles', 'menu-tree-path'=>'DoS Protection', 'node-config-ids'=>'DoSProtection', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'gtp-protection'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'gtp_protection', 'menu-tree-path'=>'Mobile Network Protection', 'node-config-ids'=>'GTPProtection', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sctp-protection'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'sctp_protection', 'menu-tree-path'=>'SCTP Protection', 'node-config-ids'=>'SCTPProtection', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def antivirus prop_get('antivirus') end def antivirus=(val) prop_set('antivirus', val) end def anti_spyware prop_get('anti-spyware') end def anti_spyware=(val) prop_set('anti-spyware', val) end def vulnerability_protection prop_get('vulnerability-protection') end def vulnerability_protection=(val) prop_set('vulnerability-protection', val) end def url_filtering prop_get('url-filtering') end def url_filtering=(val) prop_set('url-filtering', val) end def file_blocking prop_get('file-blocking') end def file_blocking=(val) prop_set('file-blocking', val) end def wildfire_analysis prop_get('wildfire-analysis') end def wildfire_analysis=(val) prop_set('wildfire-analysis', val) end def data_filtering prop_get('data-filtering') end def data_filtering=(val) prop_set('data-filtering', val) end def dos_protection prop_get('dos-protection') end def dos_protection=(val) prop_set('dos-protection', val) end def gtp_protection prop_get('gtp-protection') end def gtp_protection=(val) prop_set('gtp-protection', val) end def sctp_protection prop_get('sctp-protection') end def sctp_protection=(val) prop_set('sctp-protection', val) end end def security_profiles @subclasses['security-profiles'] ||= SecurityProfiles.new(parent_instance: self, client: @client, create_children: @create_children) end class Decryption < ConfigClass def has_multiple_values?; false; end def _section :decryption end @props = {'decryption-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'decryption_profile', 'menu-tree-path'=>'Decryption Profile', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'DecryptionProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def decryption_profile prop_get('decryption-profile') end def decryption_profile=(val) prop_set('decryption-profile', val) end end def decryption @subclasses['decryption'] ||= Decryption.new(parent_instance: self, client: @client, create_children: @create_children) end class Sdwan < ConfigClass def has_multiple_values?; false; end def _section :sdwan end @props = {'sdwan-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Path Quality Profile', 'node-config-ids'=>'SDWANProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-saas-quality-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SaaS Quality Profile', 'node-config-ids'=>'SDWANSaaSQualityProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-dist-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Traffic Distribution Profile', 'node-config-ids'=>'SDWANDistProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-error-correction-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Error Correction Profile', 'node-config-ids'=>'SDWANErrorCorrectionProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def sdwan_profile prop_get('sdwan-profile') end def sdwan_profile=(val) prop_set('sdwan-profile', val) end def sdwan_saas_quality_profile prop_get('sdwan-saas-quality-profile') end def sdwan_saas_quality_profile=(val) prop_set('sdwan-saas-quality-profile', val) end def sdwan_dist_profile prop_get('sdwan-dist-profile') end def sdwan_dist_profile=(val) prop_set('sdwan-dist-profile', val) end def sdwan_error_correction_profile prop_get('sdwan-error-correction-profile') end def sdwan_error_correction_profile=(val) prop_set('sdwan-error-correction-profile', val) end end def sdwan @subclasses['sdwan'] ||= Sdwan.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'addresses'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'Address', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'address-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'AddressGroup', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'regions'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'Region', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dynamic-user-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'DynamicUserGroup', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'applications'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'Application', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'application-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'ApplicationGroup', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'application-filters'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'ApplicationFilter', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'services'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'Service', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'service-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'ServiceGroup', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'tags'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'Tag', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'devices'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'DeviceObject', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dynamic-block-lists'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'External Dynamic Lists', 'help-topic'=>'external_dynamic_list', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'DynamicBlockList', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'security-profile-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'SecurityProfileGroups', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'log-forwarding'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'log_forwarding', 'node-config-ids'=>'LogForwarding', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'authentication'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'authentication', 'node-config-ids'=>'AuthenticationObject', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'packet-broker-profile'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.prune-on-decrypt-brk', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'packet_broker_profile', 'menu-tree-path'=>'Packet Broker Profile', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'NetworkPacketBrokerProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'schedules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'Schedule', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def addresses prop_get('addresses') end def addresses=(val) prop_set('addresses', val) end def address_groups prop_get('address-groups') end def address_groups=(val) prop_set('address-groups', val) end def regions prop_get('regions') end def regions=(val) prop_set('regions', val) end def dynamic_user_groups prop_get('dynamic-user-groups') end def dynamic_user_groups=(val) prop_set('dynamic-user-groups', val) end def applications prop_get('applications') end def applications=(val) prop_set('applications', val) end def application_groups prop_get('application-groups') end def application_groups=(val) prop_set('application-groups', val) end def application_filters prop_get('application-filters') end def application_filters=(val) prop_set('application-filters', val) end def services prop_get('services') end def services=(val) prop_set('services', val) end def service_groups prop_get('service-groups') end def service_groups=(val) prop_set('service-groups', val) end def tags prop_get('tags') end def tags=(val) prop_set('tags', val) end def devices prop_get('devices') end def devices=(val) prop_set('devices', val) end def dynamic_block_lists prop_get('dynamic-block-lists') end def dynamic_block_lists=(val) prop_set('dynamic-block-lists', val) end def security_profile_groups prop_get('security-profile-groups') end def security_profile_groups=(val) prop_set('security-profile-groups', val) end def log_forwarding prop_get('log-forwarding') end def log_forwarding=(val) prop_set('log-forwarding', val) end def authentication prop_get('authentication') end def authentication=(val) prop_set('authentication', val) end def packet_broker_profile prop_get('packet-broker-profile') end def packet_broker_profile=(val) prop_set('packet-broker-profile', val) end def schedules prop_get('schedules') end def schedules=(val) prop_set('schedules', val) end end def objects @subclasses['objects'] ||= Objects.new(parent_instance: self, client: @client, create_children: @create_children) end class Network < ConfigClass def has_multiple_values?; false; end def _section :network end class Routing < ConfigClass def has_multiple_values?; false; end def _section :routing end class RoutingProfiles < ConfigClass def has_multiple_values?; false; end def _section :'routing-profiles' end @props = {'bgp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'routing_profiles_bgp', 'menu-tree-path'=>'BGP', 'node-config-ids'=>'RoutingProfilesBGP', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'bfd'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'routing_profiles_bfd', 'menu-tree-path'=>'BFD', 'node-config-ids'=>'RoutingProfilesBFD', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ospf'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'routing_profiles_ospf', 'menu-tree-path'=>'OSPF', 'node-config-ids'=>'RoutingProfilesOspf', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ospfv3'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'routing_profiles_ospfv3', 'menu-tree-path'=>'OSPFv3', 'node-config-ids'=>'RoutingProfilesOspfv3', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ripv2'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'routing_profiles_ripv2', 'menu-tree-path'=>'RIPv2', 'node-config-ids'=>'RoutingProfilesRIPv2', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'filters'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'routing_profiles_filters', 'menu-tree-path'=>'Filters', 'node-config-ids'=>'RoutingProfilesFilters', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'multicast'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'routing_profiles_multicast', 'menu-tree-path'=>'Multicast', 'node-config-ids'=>'RoutingProfilesMulticast', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def bgp prop_get('bgp') end def bgp=(val) prop_set('bgp', val) end def bfd prop_get('bfd') end def bfd=(val) prop_set('bfd', val) end def ospf prop_get('ospf') end def ospf=(val) prop_set('ospf', val) end def ospfv3 prop_get('ospfv3') end def ospfv3=(val) prop_set('ospfv3', val) end def ripv2 prop_get('ripv2') end def ripv2=(val) prop_set('ripv2', val) end def filters prop_get('filters') end def filters=(val) prop_set('filters', val) end def multicast prop_get('multicast') end def multicast=(val) prop_set('multicast', val) end end def routing_profiles @subclasses['routing-profiles'] ||= RoutingProfiles.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'logical-routers'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'logical_routers', 'node-config-ids'=>'LogicalRouter', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def logical_routers prop_get('logical-routers') end def logical_routers=(val) prop_set('logical-routers', val) end end def routing @subclasses['routing'] ||= Routing.new(parent_instance: self, client: @client, create_children: @create_children) end class GlobalProtect < ConfigClass def has_multiple_values?; false; end def _section :'global-protect' end @props = {'portals'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'portals_globalprotect', 'node-config-ids'=>'GlobalProtectPortal', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'gateways'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'gateways_globalprotect', 'node-config-ids'=>'GlobalProtectGatewayVSYS', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'mdm'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'MDM', 'help-topic'=>'mdm_globalprotect', 'node-config-ids'=>'GlobalProtectMDM', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'clientless-apps'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'clientless_apps', 'node-config-ids'=>'GlobalProtectClientlessApp', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'clientless-app-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'clientless_app_groups', 'node-config-ids'=>'GlobalProtectClientlessAppGroup', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def portals prop_get('portals') end def portals=(val) prop_set('portals', val) end def gateways prop_get('gateways') end def gateways=(val) prop_set('gateways', val) end def mdm prop_get('mdm') end def mdm=(val) prop_set('mdm', val) end def clientless_apps prop_get('clientless-apps') end def clientless_apps=(val) prop_set('clientless-apps', val) end def clientless_app_groups prop_get('clientless-app-groups') end def clientless_app_groups=(val) prop_set('clientless-app-groups', val) end end def global_protect @subclasses['global-protect'] ||= GlobalProtect.new(parent_instance: self, client: @client, create_children: @create_children) end class NetworkProfiles < ConfigClass def has_multiple_values?; false; end def _section :'network-profiles' end @props = {'gp-app-ipsec-crypto'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.network.network-profiles.gp-app-ipsec-crypto-disable=True', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'GlobalProtect IPSec Crypto', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'node-config-ids'=>'GpAppIPSecCrypto', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ike-gateways'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.network.network-profiles.ike-gateways-disable=True', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'IKE Gateways', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'node-config-ids'=>'IKEGateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ipsec-crypto'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.network.network-profiles.ipsec-crypto-disable=True', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'ipsec_crypto_profiles', 'menu-tree-path'=>'IPSec Crypto', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'node-config-ids'=>'IPSecCrypto', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ike-crypto'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.network.network-profiles.ike-crypto-disable=True', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'ike_crypto_profiles', 'menu-tree-path'=>'IKE Crypto', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'node-config-ids'=>'IKECrypto', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'tunnel-monitor'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.network.network-profiles.tunnel-monitor-disable=True', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Monitor', 'help-topic'=>'tunnel_monitor_profiles', 'node-config-ids'=>'MonitorProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'interface-mgmt'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.network.network-profiles.interface-mgmt-disable=True', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'interface_management_profiles', 'node-config-ids'=>'InterfaceMgmt', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'zone-protection'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'zone_protection', 'node-config-ids'=>'ZoneProtection', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'qos-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'QoS Profile', 'node-config-ids'=>'QoSProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'lldp-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'LLDP Profile', 'node-config-ids'=>'LLDPProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'bfd-profile'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.advance-routing-enabled=True', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'BFD Profile', 'node-config-ids'=>'BFDProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def gp_app_ipsec_crypto prop_get('gp-app-ipsec-crypto') end def gp_app_ipsec_crypto=(val) prop_set('gp-app-ipsec-crypto', val) end def ike_gateways prop_get('ike-gateways') end def ike_gateways=(val) prop_set('ike-gateways', val) end def ipsec_crypto prop_get('ipsec-crypto') end def ipsec_crypto=(val) prop_set('ipsec-crypto', val) end def ike_crypto prop_get('ike-crypto') end def ike_crypto=(val) prop_set('ike-crypto', val) end def tunnel_monitor prop_get('tunnel-monitor') end def tunnel_monitor=(val) prop_set('tunnel-monitor', val) end def interface_mgmt prop_get('interface-mgmt') end def interface_mgmt=(val) prop_set('interface-mgmt', val) end def zone_protection prop_get('zone-protection') end def zone_protection=(val) prop_set('zone-protection', val) end def qos_profile prop_get('qos-profile') end def qos_profile=(val) prop_set('qos-profile', val) end def lldp_profile prop_get('lldp-profile') end def lldp_profile=(val) prop_set('lldp-profile', val) end def bfd_profile prop_get('bfd-profile') end def bfd_profile=(val) prop_set('bfd-profile', val) end end def network_profiles @subclasses['network-profiles'] ||= NetworkProfiles.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'interfaces'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'network_interfaces', 'node-config-ids'=>'Interfaces', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'zones'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'Zones', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'vlans'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.network.vlans-disable=True', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'VLANs', 'node-config-ids'=>'VLAN', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'virtual-wires'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'VirtualWires', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'virtual-routers'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.network.vm.virtual-routers-disable=True', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'VirtualRouter', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ipsec-tunnels'=>{'node-type'=>'element', 'optional'=>'yes', 'prune-on-sdb'=>'cfg.platform.vm.network.ipsec-tunnels-disable=True', 'type'=>'enum', 'menu-tree-path'=>'IPSec Tunnels', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'node-config-ids'=>'IPSecTunnel', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'gre-tunnels'=>{'node-type'=>'element', 'optional'=>'yes', 'prune-on-sdb'=>'cfg.platform.vm.network.gre-tunnels-disable=True', 'type'=>'enum', 'menu-tree-path'=>'GRE Tunnels', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'node-config-ids'=>'GRETunnel', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dhcp'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.network.dhcp-disable=True', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'DHCP', 'node-config-ids'=>'DHCP', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dns-proxy'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.network.dns-proxy-disable=True', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'DNS Proxy', 'node-config-ids'=>'DNSProxy', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'secure-web-gateway'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.network.secure-web-gateway-disable=True', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Proxy', 'node-config-ids'=>'Proxy', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'qos'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'QoS', 'node-config-ids'=>'QoSInterface', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'lldp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'LLDP', 'node-config-ids'=>'LLDP', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-interface-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SD-WAN Interface Profile', 'node-config-ids'=>'SDWANInterfaceProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def interfaces prop_get('interfaces') end def interfaces=(val) prop_set('interfaces', val) end def zones prop_get('zones') end def zones=(val) prop_set('zones', val) end def vlans prop_get('vlans') end def vlans=(val) prop_set('vlans', val) end def virtual_wires prop_get('virtual-wires') end def virtual_wires=(val) prop_set('virtual-wires', val) end def virtual_routers prop_get('virtual-routers') end def virtual_routers=(val) prop_set('virtual-routers', val) end def ipsec_tunnels prop_get('ipsec-tunnels') end def ipsec_tunnels=(val) prop_set('ipsec-tunnels', val) end def gre_tunnels prop_get('gre-tunnels') end def gre_tunnels=(val) prop_set('gre-tunnels', val) end def dhcp prop_get('dhcp') end def dhcp=(val) prop_set('dhcp', val) end def dns_proxy prop_get('dns-proxy') end def dns_proxy=(val) prop_set('dns-proxy', val) end def secure_web_gateway prop_get('secure-web-gateway') end def secure_web_gateway=(val) prop_set('secure-web-gateway', val) end def qos prop_get('qos') end def qos=(val) prop_set('qos', val) end def lldp prop_get('lldp') end def lldp=(val) prop_set('lldp', val) end def sdwan_interface_profile prop_get('sdwan-interface-profile') end def sdwan_interface_profile=(val) prop_set('sdwan-interface-profile', val) end end def network @subclasses['network'] ||= Network.new(parent_instance: self, client: @client, create_children: @create_children) end class Device < ConfigClass def has_multiple_values?; false; end def _section :device end class Setup < ConfigClass def has_multiple_values?; false; end def _section :setup end @props = {'management'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_setup', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'operations'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_setup', 'menu-tree-path'=>'Operations', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'services'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_setup', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'interfaces'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_setup', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'telemetry'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_setup', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'content-id'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_setup', 'menu-tree-path'=>'Content-ID', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'wildfire'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_setup', 'menu-tree-path'=>'WildFire', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'session'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_setup', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'hsm'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_setup', 'menu-tree-path'=>'HSM', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def management prop_get('management') end def management=(val) prop_set('management', val) end def operations prop_get('operations') end def operations=(val) prop_set('operations', val) end def services prop_get('services') end def services=(val) prop_set('services', val) end def interfaces prop_get('interfaces') end def interfaces=(val) prop_set('interfaces', val) end def telemetry prop_get('telemetry') end def telemetry=(val) prop_set('telemetry', val) end def content_id prop_get('content-id') end def content_id=(val) prop_set('content-id', val) end def wildfire prop_get('wildfire') end def wildfire=(val) prop_set('wildfire', val) end def session prop_get('session') end def session=(val) prop_set('session', val) end def hsm prop_get('hsm') end def hsm=(val) prop_set('hsm', val) end end def setup @subclasses['setup'] ||= Setup.new(parent_instance: self, client: @client, create_children: @create_children) end class CertificateManagement < ConfigClass def has_multiple_values?; false; end def _section :'certificate-management' end @props = {'certificates'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'certificates', 'node-config-ids'=>'Certificate', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'certificate-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'CertificateProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ocsp-responder'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'OCSP Responder', 'node-config-ids'=>'OCSPResponder', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ssl-tls-service-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SSL/TLS Service Profile', 'help-topic'=>'ssl_tls_service_profile', 'node-config-ids'=>'SslTlsServiceProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'scep'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SCEP', 'node-config-ids'=>'SCEP', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ssl-decryption-exclusion'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SSL Decryption Exclusion', 'node-config-ids'=>'SslDecryptionExclusion', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ssh-service-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SSH Service Profile', 'help-topic'=>'ssh_service_profile', 'node-config-ids'=>'SshServiceProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def certificates prop_get('certificates') end def certificates=(val) prop_set('certificates', val) end def certificate_profile prop_get('certificate-profile') end def certificate_profile=(val) prop_set('certificate-profile', val) end def ocsp_responder prop_get('ocsp-responder') end def ocsp_responder=(val) prop_set('ocsp-responder', val) end def ssl_tls_service_profile prop_get('ssl-tls-service-profile') end def ssl_tls_service_profile=(val) prop_set('ssl-tls-service-profile', val) end def scep prop_get('scep') end def scep=(val) prop_set('scep', val) end def ssl_decryption_exclusion prop_get('ssl-decryption-exclusion') end def ssl_decryption_exclusion=(val) prop_set('ssl-decryption-exclusion', val) end def ssh_service_profile prop_get('ssh-service-profile') end def ssh_service_profile=(val) prop_set('ssh-service-profile', val) end end def certificate_management @subclasses['certificate-management'] ||= CertificateManagement.new(parent_instance: self, client: @client, create_children: @create_children) end class LogSettings < ConfigClass def has_multiple_values?; false; end def _section :'log-settings' end @props = {'system'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'system_log_settings', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'config'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'config_log_settings', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'user-id'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'User-ID', 'help-topic'=>'user_id_log_settings', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'hipmatch'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'HIP Match', 'help-topic'=>'hip_match_log_settings', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'globalprotect'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'GlobalProtect', 'help-topic'=>'globalprotect_log_settings', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'iptag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'IP-Tag', 'help-topic'=>'ip_tag_log_settings', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'correlation'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Correlation', 'help-topic'=>'correlation_log_settings', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'cc-alarm'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Alarms', 'help-topic'=>'alarm_log_settings', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'manage-log'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Manage Logs', 'skip-menu-tree-display'=>'template', 'help-topic'=>'manage_logs_log_settings', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def system prop_get('system') end def system=(val) prop_set('system', val) end def config prop_get('config') end def config=(val) prop_set('config', val) end def user_id prop_get('user-id') end def user_id=(val) prop_set('user-id', val) end def hipmatch prop_get('hipmatch') end def hipmatch=(val) prop_set('hipmatch', val) end def globalprotect prop_get('globalprotect') end def globalprotect=(val) prop_set('globalprotect', val) end def iptag prop_get('iptag') end def iptag=(val) prop_set('iptag', val) end def correlation prop_get('correlation') end def correlation=(val) prop_set('correlation', val) end def cc_alarm prop_get('cc-alarm') end def cc_alarm=(val) prop_set('cc-alarm', val) end def manage_log prop_get('manage-log') end def manage_log=(val) prop_set('manage-log', val) end end def log_settings @subclasses['log-settings'] ||= LogSettings.new(parent_instance: self, client: @client, create_children: @create_children) end class ServerProfile < ConfigClass def has_multiple_values?; false; end def _section :'server-profile' end @props = {'snmp-trap'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'snmp_trap_settings', 'node-config-ids'=>'ServerProfileSNMPTrap', 'menu-tree-path'=>'SNMP Trap', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'syslog'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'syslog_settings', 'node-config-ids'=>'ServerProfileSyslog', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'email'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'email_settings', 'node-config-ids'=>'ServerProfileEmail', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'http'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'http_settings', 'menu-tree-path'=>'HTTP', 'node-config-ids'=>'ServerProfileHTTP', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'netflow'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'netflow_settings', 'node-config-ids'=>'ServerProfileNetflow', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'radius'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'server_radius', 'node-config-ids'=>'ServerProfileRadius', 'menu-tree-path'=>'RADIUS', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'scp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'server_scp', 'node-config-ids'=>'ServerProfileSCP', 'menu-tree-path'=>'SCP', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'tacplus'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'server_tacplus', 'node-config-ids'=>'ServerProfileTacacs', 'menu-tree-path'=>'TACACS+', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ldap'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'server_ldap', 'menu-tree-path'=>'LDAP', 'node-config-ids'=>'ServerProfileLDAP', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'kerberos'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'server_kerberos', 'node-config-ids'=>'ServerProfileKerberos', 'skip-display'=>'fips-mode,cc-only-mode', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'saml_idp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'server_saml_idp', 'menu-tree-path'=>'SAML Identity Provider', 'node-config-ids'=>'ServerProfileSamlIdp', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dns'=>{'node-type'=>'element', 'optional'=>'yes', 'skip-display'=>'single-vsys-mode', 'type'=>'enum', 'help-topic'=>'server_dns', 'menu-tree-path'=>'DNS', 'node-config-ids'=>'ServerProfileDNS', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'mfa'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'server_mfa', 'menu-tree-path'=>'Multi Factor Authentication', 'node-config-ids'=>'ServerProfileMFA', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def snmp_trap prop_get('snmp-trap') end def snmp_trap=(val) prop_set('snmp-trap', val) end def syslog prop_get('syslog') end def syslog=(val) prop_set('syslog', val) end def email prop_get('email') end def email=(val) prop_set('email', val) end def http prop_get('http') end def http=(val) prop_set('http', val) end def netflow prop_get('netflow') end def netflow=(val) prop_set('netflow', val) end def radius prop_get('radius') end def radius=(val) prop_set('radius', val) end def scp prop_get('scp') end def scp=(val) prop_set('scp', val) end def tacplus prop_get('tacplus') end def tacplus=(val) prop_set('tacplus', val) end def ldap prop_get('ldap') end def ldap=(val) prop_set('ldap', val) end def kerberos prop_get('kerberos') end def kerberos=(val) prop_set('kerberos', val) end def saml_idp prop_get('saml_idp') end def saml_idp=(val) prop_set('saml_idp', val) end def dns prop_get('dns') end def dns=(val) prop_set('dns', val) end def mfa prop_get('mfa') end def mfa=(val) prop_set('mfa', val) end end def server_profile @subclasses['server-profile'] ||= ServerProfile.new(parent_instance: self, client: @client, create_children: @create_children) end class LocalUserDatabase < ConfigClass def has_multiple_values?; false; end def _section :'local-user-database' end @props = {'users'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'local_users', 'node-config-ids'=>'LocalUsers', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'user-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'local_user_groups', 'node-config-ids'=>'LocalUserGroups', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def users prop_get('users') end def users=(val) prop_set('users', val) end def user_groups prop_get('user-groups') end def user_groups=(val) prop_set('user-groups', val) end end def local_user_database @subclasses['local-user-database'] ||= LocalUserDatabase.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'high-availability'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'HASetup', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'log-fwd-card'=>{'node-type'=>'element', 'node-config-ids'=>'LFCInterface', 'menu-tree-path'=>'Log Forwarding Card', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'config-audit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'administrators'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'admin_accounts', 'node-config-ids'=>'Administrator', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'admin-roles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'AdminRoleHandler', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'access-domain'=>{'node-type'=>'element', 'optional'=>'yes', 'skip-display'=>'single-vsys-mode', 'type'=>'enum', 'node-config-ids'=>'AccessDomain', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'authentication-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'AuthenticationProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'authentication-sequence'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'AuthSeqBase', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'user-identification'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_user_id', 'node-config-ids'=>'UserIdCollector,ServerMonitor,IncludeExcludeNetwork,UserIdConnSecurity,UserIdAgent,TSAgent,GroupMapping', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dhcp-syslog-server'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'IoT', 'node-config-ids'=>'IoT', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'data-redistribution'=>{'node-type'=>'element', 'optional'=>'yes', 'menu-tree-path'=>'Data Redistribution', 'type'=>'enum', 'node-config-ids'=>'RDAgent,DataRedistributionCollector,DataRedistributionIPUserIncludeExcludeNetwork,DataRedistributionIPTagIncludeExcludeNetwork', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'virtual-systems'=>{'node-type'=>'element', 'optional'=>'yes', 'skip-display'=>'single-vsys-mode', 'type'=>'enum', 'node-config-ids'=>'VirtualSystem', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'shared-gateways'=>{'node-type'=>'element', 'optional'=>'yes', 'skip-display'=>'single-vsys-mode', 'type'=>'enum', 'node-config-ids'=>'SharedGateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'block-pages'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Response Pages', 'node-config-ids'=>'ResponsePageTopLevel', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'scheduled-log-export'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'log_export', 'node-config-ids'=>'ScheduledLogExport', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'software'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'global-protect-client'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'GlobalProtect Client', 'prune-on'=>'vpn-disable-mode', 'skip-display'=>'vpn-disable-mode', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dynamic-updates'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'DynamicUpdates', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'licenses'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'license', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'support'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'master-key'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Master Key and Diagnostics', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def high_availability prop_get('high-availability') end def high_availability=(val) prop_set('high-availability', val) end def log_fwd_card prop_get('log-fwd-card') end def log_fwd_card=(val) prop_set('log-fwd-card', val) end def config_audit prop_get('config-audit') end def config_audit=(val) prop_set('config-audit', val) end def administrators prop_get('administrators') end def administrators=(val) prop_set('administrators', val) end def admin_roles prop_get('admin-roles') end def admin_roles=(val) prop_set('admin-roles', val) end def access_domain prop_get('access-domain') end def access_domain=(val) prop_set('access-domain', val) end def authentication_profile prop_get('authentication-profile') end def authentication_profile=(val) prop_set('authentication-profile', val) end def authentication_sequence prop_get('authentication-sequence') end def authentication_sequence=(val) prop_set('authentication-sequence', val) end def user_identification prop_get('user-identification') end def user_identification=(val) prop_set('user-identification', val) end def dhcp_syslog_server prop_get('dhcp-syslog-server') end def dhcp_syslog_server=(val) prop_set('dhcp-syslog-server', val) end def data_redistribution prop_get('data-redistribution') end def data_redistribution=(val) prop_set('data-redistribution', val) end def virtual_systems prop_get('virtual-systems') end def virtual_systems=(val) prop_set('virtual-systems', val) end def shared_gateways prop_get('shared-gateways') end def shared_gateways=(val) prop_set('shared-gateways', val) end def block_pages prop_get('block-pages') end def block_pages=(val) prop_set('block-pages', val) end def scheduled_log_export prop_get('scheduled-log-export') end def scheduled_log_export=(val) prop_set('scheduled-log-export', val) end def software prop_get('software') end def software=(val) prop_set('software', val) end def global_protect_client prop_get('global-protect-client') end def global_protect_client=(val) prop_set('global-protect-client', val) end def dynamic_updates prop_get('dynamic-updates') end def dynamic_updates=(val) prop_set('dynamic-updates', val) end def licenses prop_get('licenses') end def licenses=(val) prop_set('licenses', val) end def support prop_get('support') end def support=(val) prop_set('support', val) end def master_key prop_get('master-key') end def master_key=(val) prop_set('master-key', val) end end def device @subclasses['device'] ||= Device.new(parent_instance: self, client: @client, create_children: @create_children) end class Panorama < ConfigClass def has_multiple_values?; false; end def _section :panorama end class Setup < ConfigClass def has_multiple_values?; false; end def _section :setup end @props = {'operations'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_setup', 'menu-tree-path'=>'Operations', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def operations prop_get('operations') end def operations=(val) prop_set('operations', val) end end def setup @subclasses['setup'] ||= Setup.new(parent_instance: self, client: @client, create_children: @create_children) end class ManagedDevices < ConfigClass def has_multiple_values?; false; end def _section :'managed-devices' end @props = {'summary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'panorama_manage_devices', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'health'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'panorama_devices_health', 'enum'=>[{'value'=>'read-only'}, {'value'=>'disable'}]}, 'troubleshooting'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'troubleshooting', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def summary prop_get('summary') end def summary=(val) prop_set('summary', val) end def health prop_get('health') end def health=(val) prop_set('health', val) end def troubleshooting prop_get('troubleshooting') end def troubleshooting=(val) prop_set('troubleshooting', val) end end def managed_devices @subclasses['managed-devices'] ||= ManagedDevices.new(parent_instance: self, client: @client, create_children: @create_children) end class Deployment < ConfigClass def has_multiple_values?; false; end def _section :deployment end @props = {'software'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'panorama_deployment_software', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'global-protect-client'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'GlobalProtect Client', 'help-topic'=>'panorama_deployment_software', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dynamic-updates'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'panorama_deployment_software', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'plugins'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'panorama_deployment_software', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'licenses'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'panorama_deployment_software', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def software prop_get('software') end def software=(val) prop_set('software', val) end def global_protect_client prop_get('global-protect-client') end def global_protect_client=(val) prop_set('global-protect-client', val) end def dynamic_updates prop_get('dynamic-updates') end def dynamic_updates=(val) prop_set('dynamic-updates', val) end def plugins prop_get('plugins') end def plugins=(val) prop_set('plugins', val) end def licenses prop_get('licenses') end def licenses=(val) prop_set('licenses', val) end end def deployment @subclasses['deployment'] ||= Deployment.new(parent_instance: self, client: @client, create_children: @create_children) end class PolicyRecommendations < ConfigClass def has_multiple_values?; false; end def _section :'policy-recommendations' end @props = {'iot'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'iot_policy_recommendation', 'menu-tree-path'=>'IoT', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'saas'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'saas_policy_recommendation', 'menu-tree-path'=>'SaaS', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def iot prop_get('iot') end def iot=(val) prop_set('iot', val) end def saas prop_get('saas') end def saas=(val) prop_set('saas', val) end end def policy_recommendations @subclasses['policy-recommendations'] ||= PolicyRecommendations.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'config-audit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'panorama_config_audit', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'scheduled-config-push'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Scheduled Config Push', 'node-config-ids'=>'ScheduledConfigPush', 'help-topic'=>'panorama_scheduled_config_push', 'feature'=>'sched-policy-push', 'enum'=>[{'value'=>'read-only'}, {'value'=>'disable'}]}, 'device-quarantine'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Device Quarantine', 'help-topic'=>'panorama_device_quarantine', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'templates'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_template', 'node-config-ids'=>'Template', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'device-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'panorama_device_groups', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def config_audit prop_get('config-audit') end def config_audit=(val) prop_set('config-audit', val) end def scheduled_config_push prop_get('scheduled-config-push') end def scheduled_config_push=(val) prop_set('scheduled-config-push', val) end def device_quarantine prop_get('device-quarantine') end def device_quarantine=(val) prop_set('device-quarantine', val) end def templates prop_get('templates') end def templates=(val) prop_set('templates', val) end def device_groups prop_get('device-groups') end def device_groups=(val) prop_set('device-groups', val) end end def panorama @subclasses['panorama'] ||= Panorama.new(parent_instance: self, client: @client, create_children: @create_children) end class Privacy < ConfigClass def has_multiple_values?; false; end def _section :privacy end @props = {'show-full-ip-addresses'=>{'node-type'=>'element', 'menu-tree-path'=>'Show Full IP Addresses', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'show-user-names-in-logs-and-reports'=>{'node-type'=>'element', 'menu-tree-path'=>'Show Username In Logs And Reports', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'view-pcap-files'=>{'node-type'=>'element', 'menu-tree-path'=>'View PCAP Files', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}} def show_full_ip_addresses prop_get('show-full-ip-addresses') end def show_full_ip_addresses=(val) prop_set('show-full-ip-addresses', val) end def show_user_names_in_logs_and_reports prop_get('show-user-names-in-logs-and-reports') end def show_user_names_in_logs_and_reports=(val) prop_set('show-user-names-in-logs-and-reports', val) end def view_pcap_files prop_get('view-pcap-files') end def view_pcap_files=(val) prop_set('view-pcap-files', val) end end def privacy @subclasses['privacy'] ||= Privacy.new(parent_instance: self, client: @client, create_children: @create_children) end class Save < ConfigClass def has_multiple_values?; false; end def _section :save end @props = {'partial-save'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'save-for-other-admins'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'object-level-changes'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}} def partial_save prop_get('partial-save') end def partial_save=(val) prop_set('partial-save', val) end def save_for_other_admins prop_get('save-for-other-admins') end def save_for_other_admins=(val) prop_set('save-for-other-admins', val) end def object_level_changes prop_get('object-level-changes') end def object_level_changes=(val) prop_set('object-level-changes', val) end end def save @subclasses['save'] ||= Save.new(parent_instance: self, client: @client, create_children: @create_children) end class Commit < ConfigClass def has_multiple_values?; false; end def _section :commit end @props = {'panorama'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'commit-for-other-admins'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'push-all-changes'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'push-for-other-admins'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'device-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'templates'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'object-level-changes'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'collector-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'force-template-values'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}} def panorama prop_get('panorama') end def panorama=(val) prop_set('panorama', val) end def commit_for_other_admins prop_get('commit-for-other-admins') end def commit_for_other_admins=(val) prop_set('commit-for-other-admins', val) end def push_all_changes prop_get('push-all-changes') end def push_all_changes=(val) prop_set('push-all-changes', val) end def push_for_other_admins prop_get('push-for-other-admins') end def push_for_other_admins=(val) prop_set('push-for-other-admins', val) end def device_groups prop_get('device-groups') end def device_groups=(val) prop_set('device-groups', val) end def templates prop_get('templates') end def templates=(val) prop_set('templates', val) end def object_level_changes prop_get('object-level-changes') end def object_level_changes=(val) prop_set('object-level-changes', val) end def collector_groups prop_get('collector-groups') end def collector_groups=(val) prop_set('collector-groups', val) end def force_template_values prop_get('force-template-values') end def force_template_values=(val) prop_set('force-template-values', val) end end def commit @subclasses['commit'] ||= Commit.new(parent_instance: self, client: @client, create_children: @create_children) end class Global < ConfigClass def has_multiple_values?; false; end def _section :global end @props = {'system-alarms'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'system_alarms', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}} def system_alarms prop_get('system-alarms') end def system_alarms=(val) prop_set('system-alarms', val) end end def global @subclasses['global'] ||= Global.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'validate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Validate'}, 'dashboard'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'acc'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'ACC', 'prune-on-sdb'=>'cfg.vm-license-type=vm50l,cfg.platform.model=PA-410', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'tasks'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}} # Validate def validate prop_get('validate') end # Validate def validate=(val) prop_set('validate', val) end def dashboard prop_get('dashboard') end def dashboard=(val) prop_set('dashboard', val) end def acc prop_get('acc') end def acc=(val) prop_set('acc', val) end def tasks prop_get('tasks') end def tasks=(val) prop_set('tasks', val) end end def webui @subclasses['webui'] ||= Webui.new(parent_instance: self, client: @client, create_children: @create_children) end class Restapi < ConfigClass def has_multiple_values?; false; end def _section :restapi end class Objects < ConfigClass def has_multiple_values?; false; end def _section :objects end @props = {'addresses'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'address-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'regions'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dynamic-user-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'applications'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'application-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'application-filters'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'services'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'service-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'tags'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'devices'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'globalprotect-hip-objects'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'hip_objects', 'menu-tree-path'=>'GlobalProtect HIP Objects', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'globalprotect-hip-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'hip_profiles', 'menu-tree-path'=>'GlobalProtect HIP Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'external-dynamic-lists'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'external_dynamic_list', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'custom-data-patterns'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'custom-spyware-signatures'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'signatures_spyware', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'custom-vulnerability-signatures'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'signatures_vulnerability', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'custom-url-categories'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'help-topic'=>'custom_url_categories', 'menu-tree-path'=>'URL Category', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'antivirus-security-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'antivirus_profiles', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'anti-spyware-security-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'anti-spyware_profiles', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'vulnerability-protection-security-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'vulnerability_protection_profiles', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'url-filtering-security-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'url_filtering_profiles', 'skip-display'=>'shared-gateway', 'menu-tree-path'=>'URL Filtering Security Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'file-blocking-security-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'file_blocking_profiles', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'wildfire-analysis-security-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'wildfire_analysis_profiles', 'skip-display'=>'shared-gateway', 'menu-tree-path'=>'WildFire Analysis Security Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'data-filtering-security-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'data_filtering_profiles', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dos-protection-security-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'dos_profiles', 'menu-tree-path'=>'DoS Protection Security Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'gtp-protection-security-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'gtp_protection', 'menu-tree-path'=>'GTP Protection Security Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sctp-protection-security-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'sctp_protection', 'menu-tree-path'=>'SCTP Protection Secuirty Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'security-profile-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'log-forwarding-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'log_forwarding', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'authentication-enforcements'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'authentication', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'decryption-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'decryption_profile', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'packet-broker-profiles'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'prune-on-sdb'=>'cfg.general.prune-on-decrypt-brk', 'help-topic'=>'packet_broker_profile', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'schedules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-path-quality-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'sdwan-path-quality-profiles', 'skip-display'=>'shared-gateway', 'menu-tree-path'=>'SD-WAN Path Quality Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-saas-quality-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'sdwan-saas-quality-profiles', 'skip-display'=>'shared-gateway', 'menu-tree-path'=>'SD-WAN Saas Quality Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-traffic-distribution-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'sdwan-traffic-distribution-profiles', 'skip-display'=>'shared-gateway', 'menu-tree-path'=>'SD-WAN Traffic Distribution Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-error-correction-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'sdwan-error-correction-profiles', 'skip-display'=>'shared-gateway', 'menu-tree-path'=>'SD-WAN Error Correction Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def addresses prop_get('addresses') end def addresses=(val) prop_set('addresses', val) end def address_groups prop_get('address-groups') end def address_groups=(val) prop_set('address-groups', val) end def regions prop_get('regions') end def regions=(val) prop_set('regions', val) end def dynamic_user_groups prop_get('dynamic-user-groups') end def dynamic_user_groups=(val) prop_set('dynamic-user-groups', val) end def applications prop_get('applications') end def applications=(val) prop_set('applications', val) end def application_groups prop_get('application-groups') end def application_groups=(val) prop_set('application-groups', val) end def application_filters prop_get('application-filters') end def application_filters=(val) prop_set('application-filters', val) end def services prop_get('services') end def services=(val) prop_set('services', val) end def service_groups prop_get('service-groups') end def service_groups=(val) prop_set('service-groups', val) end def tags prop_get('tags') end def tags=(val) prop_set('tags', val) end def devices prop_get('devices') end def devices=(val) prop_set('devices', val) end def globalprotect_hip_objects prop_get('globalprotect-hip-objects') end def globalprotect_hip_objects=(val) prop_set('globalprotect-hip-objects', val) end def globalprotect_hip_profiles prop_get('globalprotect-hip-profiles') end def globalprotect_hip_profiles=(val) prop_set('globalprotect-hip-profiles', val) end def external_dynamic_lists prop_get('external-dynamic-lists') end def external_dynamic_lists=(val) prop_set('external-dynamic-lists', val) end def custom_data_patterns prop_get('custom-data-patterns') end def custom_data_patterns=(val) prop_set('custom-data-patterns', val) end def custom_spyware_signatures prop_get('custom-spyware-signatures') end def custom_spyware_signatures=(val) prop_set('custom-spyware-signatures', val) end def custom_vulnerability_signatures prop_get('custom-vulnerability-signatures') end def custom_vulnerability_signatures=(val) prop_set('custom-vulnerability-signatures', val) end def custom_url_categories prop_get('custom-url-categories') end def custom_url_categories=(val) prop_set('custom-url-categories', val) end def antivirus_security_profiles prop_get('antivirus-security-profiles') end def antivirus_security_profiles=(val) prop_set('antivirus-security-profiles', val) end def anti_spyware_security_profiles prop_get('anti-spyware-security-profiles') end def anti_spyware_security_profiles=(val) prop_set('anti-spyware-security-profiles', val) end def vulnerability_protection_security_profiles prop_get('vulnerability-protection-security-profiles') end def vulnerability_protection_security_profiles=(val) prop_set('vulnerability-protection-security-profiles', val) end def url_filtering_security_profiles prop_get('url-filtering-security-profiles') end def url_filtering_security_profiles=(val) prop_set('url-filtering-security-profiles', val) end def file_blocking_security_profiles prop_get('file-blocking-security-profiles') end def file_blocking_security_profiles=(val) prop_set('file-blocking-security-profiles', val) end def wildfire_analysis_security_profiles prop_get('wildfire-analysis-security-profiles') end def wildfire_analysis_security_profiles=(val) prop_set('wildfire-analysis-security-profiles', val) end def data_filtering_security_profiles prop_get('data-filtering-security-profiles') end def data_filtering_security_profiles=(val) prop_set('data-filtering-security-profiles', val) end def dos_protection_security_profiles prop_get('dos-protection-security-profiles') end def dos_protection_security_profiles=(val) prop_set('dos-protection-security-profiles', val) end def gtp_protection_security_profiles prop_get('gtp-protection-security-profiles') end def gtp_protection_security_profiles=(val) prop_set('gtp-protection-security-profiles', val) end def sctp_protection_security_profiles prop_get('sctp-protection-security-profiles') end def sctp_protection_security_profiles=(val) prop_set('sctp-protection-security-profiles', val) end def security_profile_groups prop_get('security-profile-groups') end def security_profile_groups=(val) prop_set('security-profile-groups', val) end def log_forwarding_profiles prop_get('log-forwarding-profiles') end def log_forwarding_profiles=(val) prop_set('log-forwarding-profiles', val) end def authentication_enforcements prop_get('authentication-enforcements') end def authentication_enforcements=(val) prop_set('authentication-enforcements', val) end def decryption_profiles prop_get('decryption-profiles') end def decryption_profiles=(val) prop_set('decryption-profiles', val) end def packet_broker_profiles prop_get('packet-broker-profiles') end def packet_broker_profiles=(val) prop_set('packet-broker-profiles', val) end def schedules prop_get('schedules') end def schedules=(val) prop_set('schedules', val) end def sdwan_path_quality_profiles prop_get('sdwan-path-quality-profiles') end def sdwan_path_quality_profiles=(val) prop_set('sdwan-path-quality-profiles', val) end def sdwan_saas_quality_profiles prop_get('sdwan-saas-quality-profiles') end def sdwan_saas_quality_profiles=(val) prop_set('sdwan-saas-quality-profiles', val) end def sdwan_traffic_distribution_profiles prop_get('sdwan-traffic-distribution-profiles') end def sdwan_traffic_distribution_profiles=(val) prop_set('sdwan-traffic-distribution-profiles', val) end def sdwan_error_correction_profiles prop_get('sdwan-error-correction-profiles') end def sdwan_error_correction_profiles=(val) prop_set('sdwan-error-correction-profiles', val) end end def objects @subclasses['objects'] ||= Objects.new(parent_instance: self, client: @client, create_children: @create_children) end class Policies < ConfigClass def has_multiple_values?; false; end def _section :policies end @props = {'security-rules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'policies_security', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'nat-rules'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.vm-mode=1', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'nat_rules', 'menu-tree-path'=>'NAT Rules', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'qos-rules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'qos_policies', 'skip-display'=>'shared-gateway', 'menu-tree-path'=>'QoS Rules', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'policy-based-forwarding-rules'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.vm-mode=1', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'decryption-rules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'help-topic'=>'decryption_rules', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'network-packet-broker-rules'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'prune-on-sdb'=>'cfg.general.prune-on-decrypt-brk', 'skip-display'=>'shared-gateway', 'help-topic'=>'network_packet_broker_rules', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'tunnel-inspection-rules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'help-topic'=>'tunnel_inspection_rules', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'application-override-rules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'help-topic'=>'application_override_rules', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'authentication-rules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'help-topic'=>'authentication_rules', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dos-rules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'help-topic'=>'dos_rules', 'menu-tree-path'=>'DoS Rules', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-rules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'help-topic'=>'sdwan-rules', 'menu-tree-path'=>'SD-WAN Rules', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def security_rules prop_get('security-rules') end def security_rules=(val) prop_set('security-rules', val) end def nat_rules prop_get('nat-rules') end def nat_rules=(val) prop_set('nat-rules', val) end def qos_rules prop_get('qos-rules') end def qos_rules=(val) prop_set('qos-rules', val) end def policy_based_forwarding_rules prop_get('policy-based-forwarding-rules') end def policy_based_forwarding_rules=(val) prop_set('policy-based-forwarding-rules', val) end def decryption_rules prop_get('decryption-rules') end def decryption_rules=(val) prop_set('decryption-rules', val) end def network_packet_broker_rules prop_get('network-packet-broker-rules') end def network_packet_broker_rules=(val) prop_set('network-packet-broker-rules', val) end def tunnel_inspection_rules prop_get('tunnel-inspection-rules') end def tunnel_inspection_rules=(val) prop_set('tunnel-inspection-rules', val) end def application_override_rules prop_get('application-override-rules') end def application_override_rules=(val) prop_set('application-override-rules', val) end def authentication_rules prop_get('authentication-rules') end def authentication_rules=(val) prop_set('authentication-rules', val) end def dos_rules prop_get('dos-rules') end def dos_rules=(val) prop_set('dos-rules', val) end def sdwan_rules prop_get('sdwan-rules') end def sdwan_rules=(val) prop_set('sdwan-rules', val) end end def policies @subclasses['policies'] ||= Policies.new(parent_instance: self, client: @client, create_children: @create_children) end class Network < ConfigClass def has_multiple_values?; false; end def _section :network end @props = {'aggregate-ethernet-interfaces'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'network_interfaces', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ethernet-interfaces'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'network_interfaces', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'vlan-interfaces'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'network_interfaces', 'menu-tree-path'=>'VLAN Interfaces', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'loopback-interfaces'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'network_interfaces', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'tunnel-interfaces'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'network_interfaces', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'zones'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'vlans'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.vm-mode=1', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'VLANs', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'virtual-wires'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'virtual-routers'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.vm-mode=1', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'logical-routers'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'bgp-routing-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'BGP Routing Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ipsec-tunnels'=>{'node-type'=>'element', 'optional'=>'yes', 'prune-on-sdb'=>'cfg.general.vm-mode=1', 'prune-on'=>'vpn-disable-mode', 'type'=>'enum', 'skip-display'=>'vpn-disable-mode', 'menu-tree-path'=>'IPSec Tunnels', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'gre-tunnels'=>{'node-type'=>'element', 'optional'=>'yes', 'prune-on-sdb'=>'cfg.general.vm-mode=1', 'prune-on'=>'vpn-disable-mode', 'type'=>'enum', 'skip-display'=>'vpn-disable-mode', 'menu-tree-path'=>'GRE Tunnels', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dhcp-servers'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.vm-mode=1', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'DHCP Servers', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dhcp-relays'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.vm-mode=1', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'DHCP Relays', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dns-proxies'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.vm-mode=1', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'DNS Proxies', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'globalprotect-portals'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'GlobalProtect Portals', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'globalprotect-gateways'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'GlobalProtect Gateways', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'globalprotect-mdm-servers'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'GlobalProtect MDM Servers', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'globalprotect-clientless-apps'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'GlobalProtect Clientless Apps', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'globalprotect-clientless-app-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'GlobalProtect Clientless App Groups', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'qos-interfaces'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'QoS Interfaces', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'lldp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'LLDP', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'globalprotect-ipsec-crypto-network-profiles'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.vm-mode=1', 'prune-on'=>'vpn-disable-mode', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'vpn-disable-mode', 'menu-tree-path'=>'GlobalProtect IPSec Crypto Network Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ike-gateway-network-profiles'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.vm-mode=1', 'prune-on'=>'vpn-disable-mode', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'vpn-disable-mode', 'menu-tree-path'=>'IKE Gateway Network Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ipsec-crypto-network-profiles'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.vm-mode=1', 'prune-on'=>'vpn-disable-mode', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'ipsec_crypto_profiles', 'skip-display'=>'vpn-disable-mode', 'menu-tree-path'=>'IPSec Crypto Network Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ike-crypto-network-profiles'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.vm-mode=1', 'prune-on'=>'vpn-disable-mode', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'ike_crypto_profiles', 'skip-display'=>'vpn-disable-mode', 'menu-tree-path'=>'IKE Crypto Network Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'tunnel-monitor-network-profiles'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.vm-mode=1', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'tunnel_monitor_profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'interface-management-network-profiles'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.vm-mode=1', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'interface_management_profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'zone-protection-network-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'zone_protection', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'qos-network-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'QoS Network Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'lldp-network-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'LLDP Network Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'bfd-network-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'BFD Network Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-interfaces'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SD-WAN Interfaces', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-interface-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SD-WAN Interface Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def aggregate_ethernet_interfaces prop_get('aggregate-ethernet-interfaces') end def aggregate_ethernet_interfaces=(val) prop_set('aggregate-ethernet-interfaces', val) end def ethernet_interfaces prop_get('ethernet-interfaces') end def ethernet_interfaces=(val) prop_set('ethernet-interfaces', val) end def vlan_interfaces prop_get('vlan-interfaces') end def vlan_interfaces=(val) prop_set('vlan-interfaces', val) end def loopback_interfaces prop_get('loopback-interfaces') end def loopback_interfaces=(val) prop_set('loopback-interfaces', val) end def tunnel_interfaces prop_get('tunnel-interfaces') end def tunnel_interfaces=(val) prop_set('tunnel-interfaces', val) end def zones prop_get('zones') end def zones=(val) prop_set('zones', val) end def vlans prop_get('vlans') end def vlans=(val) prop_set('vlans', val) end def virtual_wires prop_get('virtual-wires') end def virtual_wires=(val) prop_set('virtual-wires', val) end def virtual_routers prop_get('virtual-routers') end def virtual_routers=(val) prop_set('virtual-routers', val) end def logical_routers prop_get('logical-routers') end def logical_routers=(val) prop_set('logical-routers', val) end def bgp_routing_profiles prop_get('bgp-routing-profiles') end def bgp_routing_profiles=(val) prop_set('bgp-routing-profiles', val) end def ipsec_tunnels prop_get('ipsec-tunnels') end def ipsec_tunnels=(val) prop_set('ipsec-tunnels', val) end def gre_tunnels prop_get('gre-tunnels') end def gre_tunnels=(val) prop_set('gre-tunnels', val) end def dhcp_servers prop_get('dhcp-servers') end def dhcp_servers=(val) prop_set('dhcp-servers', val) end def dhcp_relays prop_get('dhcp-relays') end def dhcp_relays=(val) prop_set('dhcp-relays', val) end def dns_proxies prop_get('dns-proxies') end def dns_proxies=(val) prop_set('dns-proxies', val) end def globalprotect_portals prop_get('globalprotect-portals') end def globalprotect_portals=(val) prop_set('globalprotect-portals', val) end def globalprotect_gateways prop_get('globalprotect-gateways') end def globalprotect_gateways=(val) prop_set('globalprotect-gateways', val) end def globalprotect_mdm_servers prop_get('globalprotect-mdm-servers') end def globalprotect_mdm_servers=(val) prop_set('globalprotect-mdm-servers', val) end def globalprotect_clientless_apps prop_get('globalprotect-clientless-apps') end def globalprotect_clientless_apps=(val) prop_set('globalprotect-clientless-apps', val) end def globalprotect_clientless_app_groups prop_get('globalprotect-clientless-app-groups') end def globalprotect_clientless_app_groups=(val) prop_set('globalprotect-clientless-app-groups', val) end def qos_interfaces prop_get('qos-interfaces') end def qos_interfaces=(val) prop_set('qos-interfaces', val) end def lldp prop_get('lldp') end def lldp=(val) prop_set('lldp', val) end def globalprotect_ipsec_crypto_network_profiles prop_get('globalprotect-ipsec-crypto-network-profiles') end def globalprotect_ipsec_crypto_network_profiles=(val) prop_set('globalprotect-ipsec-crypto-network-profiles', val) end def ike_gateway_network_profiles prop_get('ike-gateway-network-profiles') end def ike_gateway_network_profiles=(val) prop_set('ike-gateway-network-profiles', val) end def ipsec_crypto_network_profiles prop_get('ipsec-crypto-network-profiles') end def ipsec_crypto_network_profiles=(val) prop_set('ipsec-crypto-network-profiles', val) end def ike_crypto_network_profiles prop_get('ike-crypto-network-profiles') end def ike_crypto_network_profiles=(val) prop_set('ike-crypto-network-profiles', val) end def tunnel_monitor_network_profiles prop_get('tunnel-monitor-network-profiles') end def tunnel_monitor_network_profiles=(val) prop_set('tunnel-monitor-network-profiles', val) end def interface_management_network_profiles prop_get('interface-management-network-profiles') end def interface_management_network_profiles=(val) prop_set('interface-management-network-profiles', val) end def zone_protection_network_profiles prop_get('zone-protection-network-profiles') end def zone_protection_network_profiles=(val) prop_set('zone-protection-network-profiles', val) end def qos_network_profiles prop_get('qos-network-profiles') end def qos_network_profiles=(val) prop_set('qos-network-profiles', val) end def lldp_network_profiles prop_get('lldp-network-profiles') end def lldp_network_profiles=(val) prop_set('lldp-network-profiles', val) end def bfd_network_profiles prop_get('bfd-network-profiles') end def bfd_network_profiles=(val) prop_set('bfd-network-profiles', val) end def sdwan_interfaces prop_get('sdwan-interfaces') end def sdwan_interfaces=(val) prop_set('sdwan-interfaces', val) end def sdwan_interface_profiles prop_get('sdwan-interface-profiles') end def sdwan_interface_profiles=(val) prop_set('sdwan-interface-profiles', val) end end def network @subclasses['network'] ||= Network.new(parent_instance: self, client: @client, create_children: @create_children) end class Device < ConfigClass def has_multiple_values?; false; end def _section :device end @props = {'log-interface-setting'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'snmp-trap-server-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SNMP Trap Server Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'syslog-server-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Syslog Server Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'email-server-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Email Server Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'http-server-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'HTTP Server Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ldap-server-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'LDAP Server Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'virtual-systems'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def log_interface_setting prop_get('log-interface-setting') end def log_interface_setting=(val) prop_set('log-interface-setting', val) end def snmp_trap_server_profiles prop_get('snmp-trap-server-profiles') end def snmp_trap_server_profiles=(val) prop_set('snmp-trap-server-profiles', val) end def syslog_server_profiles prop_get('syslog-server-profiles') end def syslog_server_profiles=(val) prop_set('syslog-server-profiles', val) end def email_server_profiles prop_get('email-server-profiles') end def email_server_profiles=(val) prop_set('email-server-profiles', val) end def http_server_profiles prop_get('http-server-profiles') end def http_server_profiles=(val) prop_set('http-server-profiles', val) end def ldap_server_profiles prop_get('ldap-server-profiles') end def ldap_server_profiles=(val) prop_set('ldap-server-profiles', val) end def virtual_systems prop_get('virtual-systems') end def virtual_systems=(val) prop_set('virtual-systems', val) end end def device @subclasses['device'] ||= Device.new(parent_instance: self, client: @client, create_children: @create_children) end class Panorama < ConfigClass def has_multiple_values?; false; end def _section :panorama end @props = {'setup-log-setting'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'scheduled-config-push-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'panorama_scheduled_config_push', 'feature'=>'sched-policy-push', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'templates'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_template', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'template-stacks'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_template', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'device-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'panorama_device_groups', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'device-registration-auth-keys'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def setup_log_setting prop_get('setup-log-setting') end def setup_log_setting=(val) prop_set('setup-log-setting', val) end def scheduled_config_push_profiles prop_get('scheduled-config-push-profiles') end def scheduled_config_push_profiles=(val) prop_set('scheduled-config-push-profiles', val) end def templates prop_get('templates') end def templates=(val) prop_set('templates', val) end def template_stacks prop_get('template-stacks') end def template_stacks=(val) prop_set('template-stacks', val) end def device_groups prop_get('device-groups') end def device_groups=(val) prop_set('device-groups', val) end def device_registration_auth_keys prop_get('device-registration-auth-keys') end def device_registration_auth_keys=(val) prop_set('device-registration-auth-keys', val) end end def panorama @subclasses['panorama'] ||= Panorama.new(parent_instance: self, client: @client, create_children: @create_children) end class System < ConfigClass def has_multiple_values?; false; end def _section :system end @props = {'configuration'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def configuration prop_get('configuration') end def configuration=(val) prop_set('configuration', val) end end def system @subclasses['system'] ||= System.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def restapi @subclasses['restapi'] ||= Restapi.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'device-admin-role'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'Admin role to be used while context switching to the device as a device admin'}, 'vsys-admin-role'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'Admin role to be used while context switching to the device as a vsys admin'}} # Admin role to be used while context switching to the device as a device admin def device_admin_role prop_get('device-admin-role') end # Admin role to be used while context switching to the device as a device admin def device_admin_role=(val) prop_set('device-admin-role', val) end # Admin role to be used while context switching to the device as a vsys admin def vsys_admin_role prop_get('vsys-admin-role') end # Admin role to be used while context switching to the device as a vsys admin def vsys_admin_role=(val) prop_set('vsys-admin-role', val) end end def device_group @subclasses['device-group'] ||= DeviceGroup.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def role maybe_register_subclass('role', Role.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def admin_role maybe_register_subclass('admin-role', AdminRole.new(parent_instance: self, client: @client, create_children: @create_children)) end class ExternalList < XML::ConfigClass def has_multiple_values?; true; end def _section :'external-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class PredefinedIp < ConfigClass def has_multiple_values?; false; end def _section :'predefined-ip' end class ExceptionList < XML::ConfigClass def has_multiple_values?; true; end def _section :'exception-list' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'max-count'=>'100'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def exception_list maybe_register_subclass('exception-list', ExceptionList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'ui-hint'=>'"xtype": "pan-textarea"'}, 'url'=>{'node-type'=>'element', 'type'=>'string', 'uiHint-fieldLabel'=>'Source'}} def description prop_get('description') end def description=(val) prop_set('description', val) end def url prop_get('url') end def url=(val) prop_set('url', val) end end def predefined_ip @subclasses['predefined-ip'] ||= PredefinedIp.new(parent_instance: self, client: @client, create_children: @create_children) end class PredefinedUrl < ConfigClass def has_multiple_values?; false; end def _section :'predefined-url' end class ExceptionList < XML::ConfigClass def has_multiple_values?; true; end def _section :'exception-list' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'max-count'=>'100'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def exception_list maybe_register_subclass('exception-list', ExceptionList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'ui-hint'=>'"xtype": "pan-textarea"'}, 'url'=>{'node-type'=>'element', 'type'=>'string', 'uiHint-fieldLabel'=>'Source'}} def description prop_get('description') end def description=(val) prop_set('description', val) end def url prop_get('url') end def url=(val) prop_set('url', val) end end def predefined_url @subclasses['predefined-url'] ||= PredefinedUrl.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip < ConfigClass def has_multiple_values?; false; end def _section :ip end class ExceptionList < XML::ConfigClass def has_multiple_values?; true; end def _section :'exception-list' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'max-count'=>'100'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def exception_list maybe_register_subclass('exception-list', ExceptionList.new(parent_instance: self, client: @client, create_children: @create_children)) end class Auth < ConfigClass def has_multiple_values?; false; end def _section :auth end @props = {'username'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'255'}, 'password'=>{'node-type'=>'element', 'type'=>'string', 'encrypt'=>'yes', 'maxlen'=>'255'}} def username prop_get('username') end def username=(val) prop_set('username', val) end def password prop_get('password') end def password=(val) prop_set('password', val) end end def auth @subclasses['auth'] ||= Auth.new(parent_instance: self, client: @client, create_children: @create_children) end class Recurring < ConfigClass def has_multiple_values?; false; end def _section :recurring end class FiveMinute < ConfigClass def has_multiple_values?; false; end def _section :'five-minute' end @props = {} end def five_minute @subclasses['five-minute'] ||= FiveMinute.new(parent_instance: self, client: @client, create_children: @create_children) end class Hourly < ConfigClass def has_multiple_values?; false; end def _section :hourly end @props = {} end def hourly @subclasses['hourly'] ||= Hourly.new(parent_instance: self, client: @client, create_children: @create_children) end class Daily < ConfigClass def has_multiple_values?; false; end def _section :daily end @props = {'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3])', 'default'=>'00', 'minlen'=>'2', 'maxlen'=>'2', 'help-string'=>'Time specification hh (e.g. 20)'}} # Time specification hh (e.g. 20) def at prop_get('at') end # Time specification hh (e.g. 20) def at=(val) prop_set('at', val) end end def daily @subclasses['daily'] ||= Daily.new(parent_instance: self, client: @client, create_children: @create_children) end class Weekly < ConfigClass def has_multiple_values?; false; end def _section :weekly end @props = {'day-of-week'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'sunday', 'help-string'=>'Sunday'}, {'value'=>'monday', 'help-string'=>'Monday'}, {'value'=>'tuesday', 'help-string'=>'Tuesday'}, {'value'=>'wednesday', 'help-string'=>'Wednesday'}, {'value'=>'thursday', 'help-string'=>'Thursday'}, {'value'=>'friday', 'help-string'=>'Friday'}, {'value'=>'saturday', 'help-string'=>'Saturday'}]}, 'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3])', 'default'=>'00', 'minlen'=>'2', 'maxlen'=>'2', 'help-string'=>'Time specification hh (e.g. 20)'}} def day_of_week prop_get('day-of-week') end def day_of_week=(val) prop_set('day-of-week', val) end # Time specification hh (e.g. 20) def at prop_get('at') end # Time specification hh (e.g. 20) def at=(val) prop_set('at', val) end end def weekly @subclasses['weekly'] ||= Weekly.new(parent_instance: self, client: @client, create_children: @create_children) end class Monthly < ConfigClass def has_multiple_values?; false; end def _section :monthly end @props = {'day-of-month'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'31'}, 'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3])', 'default'=>'00', 'minlen'=>'2', 'maxlen'=>'2', 'help-string'=>'Time specification hh (e.g. 20)'}} def day_of_month prop_get('day-of-month') end def day_of_month=(val) prop_set('day-of-month', val) end # Time specification hh (e.g. 20) def at prop_get('at') end # Time specification hh (e.g. 20) def at=(val) prop_set('at', val) end end def monthly @subclasses['monthly'] ||= Monthly.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def recurring @subclasses['recurring'] ||= Recurring.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'ui-hint'=>'"xtype": "pan-textarea"'}, 'url'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'uiHint-fieldLabel'=>'Source', 'default'=>'http://'}, 'certificate-profile'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'None', 'optional'=>'yes', 'help-string'=>'Profile for authenticating client certificates', 'multi-types'=>{'string'=>{}, 'enum'=>[{'value'=>'None', 'help-string'=>'Disable Cert profile'}]}}} def description prop_get('description') end def description=(val) prop_set('description', val) end def url prop_get('url') end def url=(val) prop_set('url', val) end # Profile for authenticating client certificates def certificate_profile prop_get('certificate-profile') end # Profile for authenticating client certificates def certificate_profile=(val) prop_set('certificate-profile', val) end end def ip @subclasses['ip'] ||= Ip.new(parent_instance: self, client: @client, create_children: @create_children) end class Domain < ConfigClass def has_multiple_values?; false; end def _section :domain end class ExceptionList < XML::ConfigClass def has_multiple_values?; true; end def _section :'exception-list' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'max-count'=>'100'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def exception_list maybe_register_subclass('exception-list', ExceptionList.new(parent_instance: self, client: @client, create_children: @create_children)) end class Auth < ConfigClass def has_multiple_values?; false; end def _section :auth end @props = {'username'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'255'}, 'password'=>{'node-type'=>'element', 'type'=>'string', 'encrypt'=>'yes', 'maxlen'=>'255'}} def username prop_get('username') end def username=(val) prop_set('username', val) end def password prop_get('password') end def password=(val) prop_set('password', val) end end def auth @subclasses['auth'] ||= Auth.new(parent_instance: self, client: @client, create_children: @create_children) end class Recurring < ConfigClass def has_multiple_values?; false; end def _section :recurring end class Hourly < ConfigClass def has_multiple_values?; false; end def _section :hourly end @props = {} end def hourly @subclasses['hourly'] ||= Hourly.new(parent_instance: self, client: @client, create_children: @create_children) end class FiveMinute < ConfigClass def has_multiple_values?; false; end def _section :'five-minute' end @props = {} end def five_minute @subclasses['five-minute'] ||= FiveMinute.new(parent_instance: self, client: @client, create_children: @create_children) end class Daily < ConfigClass def has_multiple_values?; false; end def _section :daily end @props = {'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3])', 'default'=>'00', 'minlen'=>'2', 'maxlen'=>'2', 'help-string'=>'Time specification hh (e.g. 20)'}} # Time specification hh (e.g. 20) def at prop_get('at') end # Time specification hh (e.g. 20) def at=(val) prop_set('at', val) end end def daily @subclasses['daily'] ||= Daily.new(parent_instance: self, client: @client, create_children: @create_children) end class Weekly < ConfigClass def has_multiple_values?; false; end def _section :weekly end @props = {'day-of-week'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'sunday', 'help-string'=>'Sunday'}, {'value'=>'monday', 'help-string'=>'Monday'}, {'value'=>'tuesday', 'help-string'=>'Tuesday'}, {'value'=>'wednesday', 'help-string'=>'Wednesday'}, {'value'=>'thursday', 'help-string'=>'Thursday'}, {'value'=>'friday', 'help-string'=>'Friday'}, {'value'=>'saturday', 'help-string'=>'Saturday'}]}, 'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3])', 'default'=>'00', 'minlen'=>'2', 'maxlen'=>'2', 'help-string'=>'Time specification hh (e.g. 20)'}} def day_of_week prop_get('day-of-week') end def day_of_week=(val) prop_set('day-of-week', val) end # Time specification hh (e.g. 20) def at prop_get('at') end # Time specification hh (e.g. 20) def at=(val) prop_set('at', val) end end def weekly @subclasses['weekly'] ||= Weekly.new(parent_instance: self, client: @client, create_children: @create_children) end class Monthly < ConfigClass def has_multiple_values?; false; end def _section :monthly end @props = {'day-of-month'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'31'}, 'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3])', 'default'=>'00', 'minlen'=>'2', 'maxlen'=>'2', 'help-string'=>'Time specification hh (e.g. 20)'}} def day_of_month prop_get('day-of-month') end def day_of_month=(val) prop_set('day-of-month', val) end # Time specification hh (e.g. 20) def at prop_get('at') end # Time specification hh (e.g. 20) def at=(val) prop_set('at', val) end end def monthly @subclasses['monthly'] ||= Monthly.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def recurring @subclasses['recurring'] ||= Recurring.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'ui-hint'=>'"xtype": "pan-textarea"'}, 'url'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'uiHint-fieldLabel'=>'Source', 'default'=>'http://'}, 'certificate-profile'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'None', 'optional'=>'yes', 'help-string'=>'Profile for authenticating client certificates', 'multi-types'=>{'string'=>{}, 'enum'=>[{'value'=>'None', 'help-string'=>'Disable Cert profile'}]}}, 'expand-domain'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable/Disable expand domain'}} def description prop_get('description') end def description=(val) prop_set('description', val) end def url prop_get('url') end def url=(val) prop_set('url', val) end # Profile for authenticating client certificates def certificate_profile prop_get('certificate-profile') end # Profile for authenticating client certificates def certificate_profile=(val) prop_set('certificate-profile', val) end # Enable/Disable expand domain def expand_domain prop_get('expand-domain') end # Enable/Disable expand domain def expand_domain=(val) prop_set('expand-domain', val) end end def domain @subclasses['domain'] ||= Domain.new(parent_instance: self, client: @client, create_children: @create_children) end class Url < ConfigClass def has_multiple_values?; false; end def _section :url end class ExceptionList < XML::ConfigClass def has_multiple_values?; true; end def _section :'exception-list' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'max-count'=>'100'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def exception_list maybe_register_subclass('exception-list', ExceptionList.new(parent_instance: self, client: @client, create_children: @create_children)) end class Auth < ConfigClass def has_multiple_values?; false; end def _section :auth end @props = {'username'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'255'}, 'password'=>{'node-type'=>'element', 'type'=>'string', 'encrypt'=>'yes', 'maxlen'=>'255'}} def username prop_get('username') end def username=(val) prop_set('username', val) end def password prop_get('password') end def password=(val) prop_set('password', val) end end def auth @subclasses['auth'] ||= Auth.new(parent_instance: self, client: @client, create_children: @create_children) end class Recurring < ConfigClass def has_multiple_values?; false; end def _section :recurring end class Hourly < ConfigClass def has_multiple_values?; false; end def _section :hourly end @props = {} end def hourly @subclasses['hourly'] ||= Hourly.new(parent_instance: self, client: @client, create_children: @create_children) end class FiveMinute < ConfigClass def has_multiple_values?; false; end def _section :'five-minute' end @props = {} end def five_minute @subclasses['five-minute'] ||= FiveMinute.new(parent_instance: self, client: @client, create_children: @create_children) end class Daily < ConfigClass def has_multiple_values?; false; end def _section :daily end @props = {'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3])', 'default'=>'00', 'minlen'=>'2', 'maxlen'=>'2', 'help-string'=>'Time specification hh (e.g. 20)'}} # Time specification hh (e.g. 20) def at prop_get('at') end # Time specification hh (e.g. 20) def at=(val) prop_set('at', val) end end def daily @subclasses['daily'] ||= Daily.new(parent_instance: self, client: @client, create_children: @create_children) end class Weekly < ConfigClass def has_multiple_values?; false; end def _section :weekly end @props = {'day-of-week'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'sunday', 'help-string'=>'Sunday'}, {'value'=>'monday', 'help-string'=>'Monday'}, {'value'=>'tuesday', 'help-string'=>'Tuesday'}, {'value'=>'wednesday', 'help-string'=>'Wednesday'}, {'value'=>'thursday', 'help-string'=>'Thursday'}, {'value'=>'friday', 'help-string'=>'Friday'}, {'value'=>'saturday', 'help-string'=>'Saturday'}]}, 'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3])', 'default'=>'00', 'minlen'=>'2', 'maxlen'=>'2', 'help-string'=>'Time specification hh (e.g. 20)'}} def day_of_week prop_get('day-of-week') end def day_of_week=(val) prop_set('day-of-week', val) end # Time specification hh (e.g. 20) def at prop_get('at') end # Time specification hh (e.g. 20) def at=(val) prop_set('at', val) end end def weekly @subclasses['weekly'] ||= Weekly.new(parent_instance: self, client: @client, create_children: @create_children) end class Monthly < ConfigClass def has_multiple_values?; false; end def _section :monthly end @props = {'day-of-month'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'31'}, 'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3])', 'default'=>'00', 'minlen'=>'2', 'maxlen'=>'2', 'help-string'=>'Time specification hh (e.g. 20)'}} def day_of_month prop_get('day-of-month') end def day_of_month=(val) prop_set('day-of-month', val) end # Time specification hh (e.g. 20) def at prop_get('at') end # Time specification hh (e.g. 20) def at=(val) prop_set('at', val) end end def monthly @subclasses['monthly'] ||= Monthly.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def recurring @subclasses['recurring'] ||= Recurring.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'ui-hint'=>'"xtype": "pan-textarea"'}, 'url'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'uiHint-fieldLabel'=>'Source', 'default'=>'http://'}, 'certificate-profile'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'None', 'optional'=>'yes', 'help-string'=>'Profile for authenticating client certificates', 'multi-types'=>{'string'=>{}, 'enum'=>[{'value'=>'None', 'help-string'=>'Disable Cert profile'}]}}} def description prop_get('description') end def description=(val) prop_set('description', val) end def url prop_get('url') end def url=(val) prop_set('url', val) end # Profile for authenticating client certificates def certificate_profile prop_get('certificate-profile') end # Profile for authenticating client certificates def certificate_profile=(val) prop_set('certificate-profile', val) end end def url @subclasses['url'] ||= Url.new(parent_instance: self, client: @client, create_children: @create_children) end class Imsi < ConfigClass def has_multiple_values?; false; end def _section :imsi end class ExceptionList < XML::ConfigClass def has_multiple_values?; true; end def _section :'exception-list' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'34', 'max-count'=>'100'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def exception_list maybe_register_subclass('exception-list', ExceptionList.new(parent_instance: self, client: @client, create_children: @create_children)) end class Auth < ConfigClass def has_multiple_values?; false; end def _section :auth end @props = {'username'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'255'}, 'password'=>{'node-type'=>'element', 'type'=>'string', 'encrypt'=>'yes', 'maxlen'=>'255'}} def username prop_get('username') end def username=(val) prop_set('username', val) end def password prop_get('password') end def password=(val) prop_set('password', val) end end def auth @subclasses['auth'] ||= Auth.new(parent_instance: self, client: @client, create_children: @create_children) end class Recurring < ConfigClass def has_multiple_values?; false; end def _section :recurring end class FiveMinute < ConfigClass def has_multiple_values?; false; end def _section :'five-minute' end @props = {} end def five_minute @subclasses['five-minute'] ||= FiveMinute.new(parent_instance: self, client: @client, create_children: @create_children) end class Hourly < ConfigClass def has_multiple_values?; false; end def _section :hourly end @props = {} end def hourly @subclasses['hourly'] ||= Hourly.new(parent_instance: self, client: @client, create_children: @create_children) end class Daily < ConfigClass def has_multiple_values?; false; end def _section :daily end @props = {'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3])', 'default'=>'00', 'minlen'=>'2', 'maxlen'=>'2', 'help-string'=>'Time specification hh (e.g. 20)'}} # Time specification hh (e.g. 20) def at prop_get('at') end # Time specification hh (e.g. 20) def at=(val) prop_set('at', val) end end def daily @subclasses['daily'] ||= Daily.new(parent_instance: self, client: @client, create_children: @create_children) end class Weekly < ConfigClass def has_multiple_values?; false; end def _section :weekly end @props = {'day-of-week'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'sunday', 'help-string'=>'Sunday'}, {'value'=>'monday', 'help-string'=>'Monday'}, {'value'=>'tuesday', 'help-string'=>'Tuesday'}, {'value'=>'wednesday', 'help-string'=>'Wednesday'}, {'value'=>'thursday', 'help-string'=>'Thursday'}, {'value'=>'friday', 'help-string'=>'Friday'}, {'value'=>'saturday', 'help-string'=>'Saturday'}]}, 'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3])', 'default'=>'00', 'minlen'=>'2', 'maxlen'=>'2', 'help-string'=>'Time specification hh (e.g. 20)'}} def day_of_week prop_get('day-of-week') end def day_of_week=(val) prop_set('day-of-week', val) end # Time specification hh (e.g. 20) def at prop_get('at') end # Time specification hh (e.g. 20) def at=(val) prop_set('at', val) end end def weekly @subclasses['weekly'] ||= Weekly.new(parent_instance: self, client: @client, create_children: @create_children) end class Monthly < ConfigClass def has_multiple_values?; false; end def _section :monthly end @props = {'day-of-month'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'31'}, 'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3])', 'default'=>'00', 'minlen'=>'2', 'maxlen'=>'2', 'help-string'=>'Time specification hh (e.g. 20)'}} def day_of_month prop_get('day-of-month') end def day_of_month=(val) prop_set('day-of-month', val) end # Time specification hh (e.g. 20) def at prop_get('at') end # Time specification hh (e.g. 20) def at=(val) prop_set('at', val) end end def monthly @subclasses['monthly'] ||= Monthly.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def recurring @subclasses['recurring'] ||= Recurring.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'ui-hint'=>'"xtype": "pan-textarea"'}, 'url'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'uiHint-fieldLabel'=>'Source', 'default'=>'http://'}, 'certificate-profile'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'None', 'optional'=>'yes', 'help-string'=>'Profile for authenticating client certificates', 'multi-types'=>{'string'=>{}, 'enum'=>[{'value'=>'None', 'help-string'=>'Disable Cert profile'}]}}} def description prop_get('description') end def description=(val) prop_set('description', val) end def url prop_get('url') end def url=(val) prop_set('url', val) end # Profile for authenticating client certificates def certificate_profile prop_get('certificate-profile') end # Profile for authenticating client certificates def certificate_profile=(val) prop_set('certificate-profile', val) end end def imsi @subclasses['imsi'] ||= Imsi.new(parent_instance: self, client: @client, create_children: @create_children) end class Imei < ConfigClass def has_multiple_values?; false; end def _section :imei end class ExceptionList < XML::ConfigClass def has_multiple_values?; true; end def _section :'exception-list' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'32', 'max-count'=>'100'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def exception_list maybe_register_subclass('exception-list', ExceptionList.new(parent_instance: self, client: @client, create_children: @create_children)) end class Auth < ConfigClass def has_multiple_values?; false; end def _section :auth end @props = {'username'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'255'}, 'password'=>{'node-type'=>'element', 'type'=>'string', 'encrypt'=>'yes', 'maxlen'=>'255'}} def username prop_get('username') end def username=(val) prop_set('username', val) end def password prop_get('password') end def password=(val) prop_set('password', val) end end def auth @subclasses['auth'] ||= Auth.new(parent_instance: self, client: @client, create_children: @create_children) end class Recurring < ConfigClass def has_multiple_values?; false; end def _section :recurring end class FiveMinute < ConfigClass def has_multiple_values?; false; end def _section :'five-minute' end @props = {} end def five_minute @subclasses['five-minute'] ||= FiveMinute.new(parent_instance: self, client: @client, create_children: @create_children) end class Hourly < ConfigClass def has_multiple_values?; false; end def _section :hourly end @props = {} end def hourly @subclasses['hourly'] ||= Hourly.new(parent_instance: self, client: @client, create_children: @create_children) end class Daily < ConfigClass def has_multiple_values?; false; end def _section :daily end @props = {'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3])', 'default'=>'00', 'minlen'=>'2', 'maxlen'=>'2', 'help-string'=>'Time specification hh (e.g. 20)'}} # Time specification hh (e.g. 20) def at prop_get('at') end # Time specification hh (e.g. 20) def at=(val) prop_set('at', val) end end def daily @subclasses['daily'] ||= Daily.new(parent_instance: self, client: @client, create_children: @create_children) end class Weekly < ConfigClass def has_multiple_values?; false; end def _section :weekly end @props = {'day-of-week'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'sunday', 'help-string'=>'Sunday'}, {'value'=>'monday', 'help-string'=>'Monday'}, {'value'=>'tuesday', 'help-string'=>'Tuesday'}, {'value'=>'wednesday', 'help-string'=>'Wednesday'}, {'value'=>'thursday', 'help-string'=>'Thursday'}, {'value'=>'friday', 'help-string'=>'Friday'}, {'value'=>'saturday', 'help-string'=>'Saturday'}]}, 'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3])', 'default'=>'00', 'minlen'=>'2', 'maxlen'=>'2', 'help-string'=>'Time specification hh (e.g. 20)'}} def day_of_week prop_get('day-of-week') end def day_of_week=(val) prop_set('day-of-week', val) end # Time specification hh (e.g. 20) def at prop_get('at') end # Time specification hh (e.g. 20) def at=(val) prop_set('at', val) end end def weekly @subclasses['weekly'] ||= Weekly.new(parent_instance: self, client: @client, create_children: @create_children) end class Monthly < ConfigClass def has_multiple_values?; false; end def _section :monthly end @props = {'day-of-month'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'31'}, 'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3])', 'default'=>'00', 'minlen'=>'2', 'maxlen'=>'2', 'help-string'=>'Time specification hh (e.g. 20)'}} def day_of_month prop_get('day-of-month') end def day_of_month=(val) prop_set('day-of-month', val) end # Time specification hh (e.g. 20) def at prop_get('at') end # Time specification hh (e.g. 20) def at=(val) prop_set('at', val) end end def monthly @subclasses['monthly'] ||= Monthly.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def recurring @subclasses['recurring'] ||= Recurring.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'ui-hint'=>'"xtype": "pan-textarea"'}, 'url'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'uiHint-fieldLabel'=>'Source', 'default'=>'http://'}, 'certificate-profile'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'None', 'optional'=>'yes', 'help-string'=>'Profile for authenticating client certificates', 'multi-types'=>{'string'=>{}, 'enum'=>[{'value'=>'None', 'help-string'=>'Disable Cert profile'}]}}} def description prop_get('description') end def description=(val) prop_set('description', val) end def url prop_get('url') end def url=(val) prop_set('url', val) end # Profile for authenticating client certificates def certificate_profile prop_get('certificate-profile') end # Profile for authenticating client certificates def certificate_profile=(val) prop_set('certificate-profile', val) end end def imei @subclasses['imei'] ||= Imei.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'no'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def external_list maybe_register_subclass('external-list', ExternalList.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'127', 'regex'=>'^[^\]\'\[]*$'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'no'}]}, 'color'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'color1'}, {'value'=>'color2'}, {'value'=>'color3'}, {'value'=>'color4'}, {'value'=>'color5'}, {'value'=>'color6'}, {'value'=>'color7'}, {'value'=>'color8'}, {'value'=>'color9'}, {'value'=>'color10'}, {'value'=>'color11'}, {'value'=>'color12'}, {'value'=>'color13'}, {'value'=>'color14'}, {'value'=>'color15'}, {'value'=>'color16'}, {'value'=>'color17'}, {'value'=>'color19'}, {'value'=>'color20'}, {'value'=>'color21'}, {'value'=>'color22'}, {'value'=>'color23'}, {'value'=>'color24'}, {'value'=>'color25'}, {'value'=>'color26'}, {'value'=>'color27'}, {'value'=>'color28'}, {'value'=>'color29'}, {'value'=>'color30'}, {'value'=>'color31'}, {'value'=>'color32'}, {'value'=>'color33'}, {'value'=>'color34'}, {'value'=>'color35'}, {'value'=>'color36'}, {'value'=>'color37'}, {'value'=>'color38'}, {'value'=>'color39'}, {'value'=>'color40'}, {'value'=>'color41'}, {'value'=>'color42'}]}, 'comments'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}} def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end def color prop_get('color') end def color=(val) prop_set('color', val) end def comments prop_get('comments') end def comments=(val) prop_set('comments', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end class AuthenticationObject < XML::ConfigClass def has_multiple_values?; true; end def _section :'authentication-object' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'regex'=>'^[a-zA-Z0-9\ ._-]+$', 'help-string'=>'object name'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'no'}]}, 'authentication-method'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'no-captive-portal', 'enum'=>[{'value'=>'web-form'}, {'value'=>'no-captive-portal'}, {'value'=>'browser-challenge'}]}, 'authentication-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Authentication profile to use for authentication.'}, 'message'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'3200', 'default'=>'This is a customizable authentication message shown to the user to allow customers to provide authentication instructions based on the authentication rule in effect', 'help-string'=>'Customizable message'}} # object name def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end def authentication_method prop_get('authentication-method') end def authentication_method=(val) prop_set('authentication-method', val) end # Authentication profile to use for authentication. def authentication_profile prop_get('authentication-profile') end # Authentication profile to use for authentication. def authentication_profile=(val) prop_set('authentication-profile', val) end # Customizable message def message prop_get('message') end # Customizable message def message=(val) prop_set('message', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def authentication_object maybe_register_subclass('authentication-object', AuthenticationObject.new(parent_instance: self, client: @client, create_children: @create_children)) end class PreRulebase < ConfigClass def has_multiple_values?; false; end def _section :'pre-rulebase' end class Security < ConfigClass def has_multiple_values?; false; end def _section :security end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Target < ConfigClass def has_multiple_values?; false; end def _section :target end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Vsys < XML::ConfigClass def has_multiple_values?; true; end def _section :vsys end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vsys maybe_register_subclass('vsys', Vsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'negate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Target to all but these specified devices and tags'}} # Target to all but these specified devices and tags def negate prop_get('negate') end # Target to all but these specified devices and tags def negate=(val) prop_set('negate', val) end end def target @subclasses['target'] ||= Target.new(parent_instance: self, client: @client, create_children: @create_children) end class From < XML::ConfigClass def has_multiple_values?; true; end def _section :from end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def from maybe_register_subclass('from', From.new(parent_instance: self, client: @client, create_children: @create_children)) end class To < XML::ConfigClass def has_multiple_values?; true; end def _section :to end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'multicast', 'help-string'=>'multicast zone'}, {'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def to maybe_register_subclass('to', To.new(parent_instance: self, client: @client, create_children: @create_children)) end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceUser < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-user' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'1023', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any user'}, {'value'=>'pre-logon', 'help-string'=>'prelogon client machine'}, {'value'=>'known-user', 'help-string'=>'any known user'}, {'value'=>'unknown', 'help-string'=>'unknown user'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_user maybe_register_subclass('source-user', SourceUser.new(parent_instance: self, client: @client, create_children: @create_children)) end class Destination < XML::ConfigClass def has_multiple_values?; true; end def _section :destination end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../source/member', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination maybe_register_subclass('destination', Destination.new(parent_instance: self, client: @client, create_children: @create_children)) end class Service < XML::ConfigClass def has_multiple_values?; true; end def _section :service end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'application-default', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'application-default', 'help-string'=>'default service for selected application'}, {'value'=>'any', 'help-string'=>'any service'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def service maybe_register_subclass('service', Service.new(parent_instance: self, client: @client, create_children: @create_children)) end class Category < XML::ConfigClass def has_multiple_values?; true; end def _section :category end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'128'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any url category'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def category maybe_register_subclass('category', Category.new(parent_instance: self, client: @client, create_children: @create_children)) end class Application < XML::ConfigClass def has_multiple_values?; true; end def _section :application end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any application'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def application maybe_register_subclass('application', Application.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceImsi < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-imsi' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'imsi'=>{}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any IMSI'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_imsi maybe_register_subclass('source-imsi', SourceImsi.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceImei < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-imei' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'imei'=>{}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any IMEI'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_imei maybe_register_subclass('source-imei', SourceImei.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceNwSlice < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-nw-slice' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'nssai'=>{}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any NSSAI ST value'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_nw_slice maybe_register_subclass('source-nw-slice', SourceNwSlice.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceHip < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-hip' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any hip-profile'}, {'value'=>'no-hip', 'help-string'=>'no hip-profile'}, {'value'=>'quarantine', 'help-string'=>'quarantined device'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_hip maybe_register_subclass('source-hip', SourceHip.new(parent_instance: self, client: @client, create_children: @create_children)) end class DestinationHip < XML::ConfigClass def has_multiple_values?; true; end def _section :'destination-hip' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any device'}, {'value'=>'quarantine', 'help-string'=>'quarantined device'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination_hip maybe_register_subclass('destination-hip', DestinationHip.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end class Option < ConfigClass def has_multiple_values?; false; end def _section :option end @props = {'disable-server-response-inspection'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable inspection of server side traffic'}} # Disable inspection of server side traffic def disable_server_response_inspection prop_get('disable-server-response-inspection') end # Disable inspection of server side traffic def disable_server_response_inspection=(val) prop_set('disable-server-response-inspection', val) end end def option @subclasses['option'] ||= Option.new(parent_instance: self, client: @client, create_children: @create_children) end class ProfileSetting < XML::ConfigClass def has_multiple_values?; true; end def _section :'profile-setting' end class Profiles < ConfigClass def has_multiple_values?; false; end def _section :profiles end class UrlFiltering < XML::ConfigClass def has_multiple_values?; true; end def _section :'url-filtering' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def url_filtering maybe_register_subclass('url-filtering', UrlFiltering.new(parent_instance: self, client: @client, create_children: @create_children)) end class DataFiltering < XML::ConfigClass def has_multiple_values?; true; end def _section :'data-filtering' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def data_filtering maybe_register_subclass('data-filtering', DataFiltering.new(parent_instance: self, client: @client, create_children: @create_children)) end class FileBlocking < XML::ConfigClass def has_multiple_values?; true; end def _section :'file-blocking' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def file_blocking maybe_register_subclass('file-blocking', FileBlocking.new(parent_instance: self, client: @client, create_children: @create_children)) end class WildfireAnalysis < XML::ConfigClass def has_multiple_values?; true; end def _section :'wildfire-analysis' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'47', 'no-default'=>'yes', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def wildfire_analysis maybe_register_subclass('wildfire-analysis', WildfireAnalysis.new(parent_instance: self, client: @client, create_children: @create_children)) end class Virus < XML::ConfigClass def has_multiple_values?; true; end def _section :virus end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'default'=>'default', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def virus maybe_register_subclass('virus', Virus.new(parent_instance: self, client: @client, create_children: @create_children)) end class Spyware < XML::ConfigClass def has_multiple_values?; true; end def _section :spyware end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'default'=>'default', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def spyware maybe_register_subclass('spyware', Spyware.new(parent_instance: self, client: @client, create_children: @create_children)) end class Vulnerability < XML::ConfigClass def has_multiple_values?; true; end def _section :vulnerability end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'default'=>'default', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def vulnerability maybe_register_subclass('vulnerability', Vulnerability.new(parent_instance: self, client: @client, create_children: @create_children)) end class Gtp < XML::ConfigClass def has_multiple_values?; true; end def _section :gtp end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'maxlen'=>'63', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def gtp maybe_register_subclass('gtp', Gtp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Sctp < XML::ConfigClass def has_multiple_values?; true; end def _section :sctp end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'maxlen'=>'63', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def sctp maybe_register_subclass('sctp', Sctp.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def profiles @subclasses['profiles'] ||= Profiles.new(parent_instance: self, client: @client, create_children: @create_children) end class Group < XML::ConfigClass def has_multiple_values?; true; end def _section :group end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def group maybe_register_subclass('group', Group.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def profile_setting maybe_register_subclass('profile-setting', ProfileSetting.new(parent_instance: self, client: @client, create_children: @create_children)) end class Qos < ConfigClass def has_multiple_values?; false; end def _section :qos end class Marking < XML::ConfigClass def has_multiple_values?; true; end def _section :marking end class FollowC2sFlow < ConfigClass def has_multiple_values?; false; end def _section :'follow-c2s-flow' end @props = {} end def follow_c2s_flow @subclasses['follow-c2s-flow'] ||= FollowC2sFlow.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'ip-dscp'=>{'node-type'=>'element', 'help-string'=>'IP DSCP', 'type'=>'multiple', 'multi-types'=>{'string'=>{'regex'=>'^([0-1]){6}$', 'help-string'=>'specify codepoint in format of \'xxxxxx\' where x is {0|1}'}, 'enum'=>[{'value'=>'ef', 'help-string'=>'codepoint 101110, expedited forwarding'}, {'value'=>'af11', 'help-string'=>'codepoint 001010'}, {'value'=>'af12', 'help-string'=>'codepoint 001100'}, {'value'=>'af13', 'help-string'=>'codepoint 001110'}, {'value'=>'af21', 'help-string'=>'codepoint 010010'}, {'value'=>'af22', 'help-string'=>'codepoint 010100'}, {'value'=>'af23', 'help-string'=>'codepoint 010110'}, {'value'=>'af31', 'help-string'=>'codepoint 011010'}, {'value'=>'af32', 'help-string'=>'codepoint 011100'}, {'value'=>'af33', 'help-string'=>'codepoint 011110'}, {'value'=>'af41', 'help-string'=>'codepoint 100010'}, {'value'=>'af42', 'help-string'=>'codepoint 100100'}, {'value'=>'af43', 'help-string'=>'codepoint 100110'}, {'value'=>'cs0', 'help-string'=>'codepoint 000000'}, {'value'=>'cs1', 'help-string'=>'codepoint 001000'}, {'value'=>'cs2', 'help-string'=>'codepoint 010000'}, {'value'=>'cs3', 'help-string'=>'codepoint 011000'}, {'value'=>'cs4', 'help-string'=>'codepoint 100000'}, {'value'=>'cs5', 'help-string'=>'codepoint 101000'}, {'value'=>'cs6', 'help-string'=>'codepoint 110000'}, {'value'=>'cs7', 'help-string'=>'codepoint 111000'}]}}, 'ip-precedence'=>{'node-type'=>'element', 'help-string'=>'IP Precedence', 'type'=>'multiple', 'multi-types'=>{'string'=>{'regex'=>'^([0-1]){3}$', 'help-string'=>'specify codepoint in format of \'xxx\''}, 'enum'=>[{'value'=>'cs0', 'help-string'=>'codepoint 000'}, {'value'=>'cs1', 'help-string'=>'codepoint 001'}, {'value'=>'cs2', 'help-string'=>'codepoint 010'}, {'value'=>'cs3', 'help-string'=>'codepoint 011'}, {'value'=>'cs4', 'help-string'=>'codepoint 100'}, {'value'=>'cs5', 'help-string'=>'codepoint 101'}, {'value'=>'cs6', 'help-string'=>'codepoint 110'}, {'value'=>'cs7', 'help-string'=>'codepoint 111'}]}}} # IP DSCP def ip_dscp prop_get('ip-dscp') end # IP DSCP def ip_dscp=(val) prop_set('ip-dscp', val) end # IP Precedence def ip_precedence prop_get('ip-precedence') end # IP Precedence def ip_precedence=(val) prop_set('ip-precedence', val) end end def marking maybe_register_subclass('marking', Marking.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def qos @subclasses['qos'] ||= Qos.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'schedule'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'optional'=>'yes'}, 'negate-source'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'negate-destination'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable the rule'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'no-default'=>'yes'}, 'group-tag'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'127'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'allow', 'enum'=>[{'value'=>'deny', 'help-string'=>'Deny', 'show-help-tip'=>'block, use App Deny action'}, {'value'=>'allow', 'help-string'=>'Allow'}, {'value'=>'drop', 'help-string'=>'Drop', 'show-help-tip'=>'silent drop, send optional ICMP Unreachable'}, {'value'=>'reset-client', 'help-string'=>'Reset client'}, {'value'=>'reset-server', 'help-string'=>'Reset server'}, {'value'=>'reset-both', 'help-string'=>'Reset both client and server'}]}, 'icmp-unreachable'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Send ICMP unreachable error when action is drop or reset'}, 'disable-inspect'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'rule-type'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'universal', 'optional'=>'yes', 'enum'=>[{'value'=>'universal', 'help-string'=>'default', 'show-help-tip'=>'Applies to both interzone and intrazone traffic.'}, {'value'=>'intrazone', 'help-string'=>'Devices with PAN-OS 6.1 or later', 'show-help-tip'=>'Only applies to traffic within one of the specified zones.'}, {'value'=>'interzone', 'help-string'=>'Devices with PAN-OS 6.1 or later', 'show-help-tip'=>'Applies to traffic from any source zone to any destination zone. It does not apply to traffic within a zone, even if the same zone is in source and destination columns.'}]}, 'log-setting'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'maxlen'=>'63', 'optional'=>'yes'}, 'log-start'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Log at session start'}, 'log-end'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'optional'=>'yes', 'help-string'=>'Log at session end (required for certain ACC tables)'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def schedule prop_get('schedule') end def schedule=(val) prop_set('schedule', val) end def negate_source prop_get('negate-source') end def negate_source=(val) prop_set('negate-source', val) end def negate_destination prop_get('negate-destination') end def negate_destination=(val) prop_set('negate-destination', val) end # Disable the rule def disabled prop_get('disabled') end # Disable the rule def disabled=(val) prop_set('disabled', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end def group_tag prop_get('group-tag') end def group_tag=(val) prop_set('group-tag', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # Send ICMP unreachable error when action is drop or reset def icmp_unreachable prop_get('icmp-unreachable') end # Send ICMP unreachable error when action is drop or reset def icmp_unreachable=(val) prop_set('icmp-unreachable', val) end def disable_inspect prop_get('disable-inspect') end def disable_inspect=(val) prop_set('disable-inspect', val) end def rule_type prop_get('rule-type') end def rule_type=(val) prop_set('rule-type', val) end def log_setting prop_get('log-setting') end def log_setting=(val) prop_set('log-setting', val) end # Log at session start def log_start prop_get('log-start') end # Log at session start def log_start=(val) prop_set('log-start', val) end # Log at session end (required for certain ACC tables) def log_end prop_get('log-end') end # Log at session end (required for certain ACC tables) def log_end=(val) prop_set('log-end', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def security @subclasses['security'] ||= Security.new(parent_instance: self, client: @client, create_children: @create_children) end class ApplicationOverride < ConfigClass def has_multiple_values?; false; end def _section :'application-override' end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Target < ConfigClass def has_multiple_values?; false; end def _section :target end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Vsys < XML::ConfigClass def has_multiple_values?; true; end def _section :vsys end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vsys maybe_register_subclass('vsys', Vsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'negate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Target to all but these specified devices and tags'}} # Target to all but these specified devices and tags def negate prop_get('negate') end # Target to all but these specified devices and tags def negate=(val) prop_set('negate', val) end end def target @subclasses['target'] ||= Target.new(parent_instance: self, client: @client, create_children: @create_children) end class From < XML::ConfigClass def has_multiple_values?; true; end def _section :from end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def from maybe_register_subclass('from', From.new(parent_instance: self, client: @client, create_children: @create_children)) end class To < XML::ConfigClass def has_multiple_values?; true; end def _section :to end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'multicast', 'help-string'=>'multicast zone'}, {'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def to maybe_register_subclass('to', To.new(parent_instance: self, client: @client, create_children: @create_children)) end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceUser < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-user' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'1023', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any user'}, {'value'=>'pre-logon', 'help-string'=>'prelogon client machine'}, {'value'=>'known-user', 'help-string'=>'any known user'}, {'value'=>'unknown', 'help-string'=>'unknown user'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_user maybe_register_subclass('source-user', SourceUser.new(parent_instance: self, client: @client, create_children: @create_children)) end class Destination < XML::ConfigClass def has_multiple_values?; true; end def _section :destination end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../source/member', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination maybe_register_subclass('destination', Destination.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'negate-source'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'negate-destination'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable the rule'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'no-default'=>'yes'}, 'group-tag'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'127'}, 'protocol'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'tcp', 'enum'=>[{'value'=>'tcp', 'help-string'=>'TCP'}, {'value'=>'udp', 'help-string'=>'UDP'}]}, 'port'=>{'node-type'=>'element', 'type'=>'rangelistspec', 'min'=>'0'}, 'application'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'no-default'=>'yes'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def negate_source prop_get('negate-source') end def negate_source=(val) prop_set('negate-source', val) end def negate_destination prop_get('negate-destination') end def negate_destination=(val) prop_set('negate-destination', val) end # Disable the rule def disabled prop_get('disabled') end # Disable the rule def disabled=(val) prop_set('disabled', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end def group_tag prop_get('group-tag') end def group_tag=(val) prop_set('group-tag', val) end def protocol prop_get('protocol') end def protocol=(val) prop_set('protocol', val) end def port prop_get('port') end def port=(val) prop_set('port', val) end def application prop_get('application') end def application=(val) prop_set('application', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def application_override @subclasses['application-override'] ||= ApplicationOverride.new(parent_instance: self, client: @client, create_children: @create_children) end class Decryption < ConfigClass def has_multiple_values?; false; end def _section :decryption end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Target < ConfigClass def has_multiple_values?; false; end def _section :target end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Vsys < XML::ConfigClass def has_multiple_values?; true; end def _section :vsys end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vsys maybe_register_subclass('vsys', Vsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'negate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Target to all but these specified devices and tags'}} # Target to all but these specified devices and tags def negate prop_get('negate') end # Target to all but these specified devices and tags def negate=(val) prop_set('negate', val) end end def target @subclasses['target'] ||= Target.new(parent_instance: self, client: @client, create_children: @create_children) end class From < XML::ConfigClass def has_multiple_values?; true; end def _section :from end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def from maybe_register_subclass('from', From.new(parent_instance: self, client: @client, create_children: @create_children)) end class To < XML::ConfigClass def has_multiple_values?; true; end def _section :to end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../from/member', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def to maybe_register_subclass('to', To.new(parent_instance: self, client: @client, create_children: @create_children)) end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceUser < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-user' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'1023', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any user'}, {'value'=>'pre-logon', 'help-string'=>'prelogon client machine'}, {'value'=>'known-user', 'help-string'=>'any known user'}, {'value'=>'unknown', 'help-string'=>'unknown user'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_user maybe_register_subclass('source-user', SourceUser.new(parent_instance: self, client: @client, create_children: @create_children)) end class Destination < XML::ConfigClass def has_multiple_values?; true; end def _section :destination end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../source/member', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination maybe_register_subclass('destination', Destination.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceHip < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-hip' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any hip-profile'}, {'value'=>'no-hip', 'help-string'=>'no hip-profile'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_hip maybe_register_subclass('source-hip', SourceHip.new(parent_instance: self, client: @client, create_children: @create_children)) end class DestinationHip < XML::ConfigClass def has_multiple_values?; true; end def _section :'destination-hip' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any device'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination_hip maybe_register_subclass('destination-hip', DestinationHip.new(parent_instance: self, client: @client, create_children: @create_children)) end class Service < XML::ConfigClass def has_multiple_values?; true; end def _section :service end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'application-default', 'help-string'=>'default service for selected application'}, {'value'=>'any', 'help-string'=>'any service'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def service maybe_register_subclass('service', Service.new(parent_instance: self, client: @client, create_children: @create_children)) end class Category < XML::ConfigClass def has_multiple_values?; true; end def _section :category end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'128'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any url category'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def category maybe_register_subclass('category', Category.new(parent_instance: self, client: @client, create_children: @create_children)) end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class SslForwardProxy < ConfigClass def has_multiple_values?; false; end def _section :'ssl-forward-proxy' end @props = {} end def ssl_forward_proxy @subclasses['ssl-forward-proxy'] ||= SslForwardProxy.new(parent_instance: self, client: @client, create_children: @create_children) end class SshProxy < ConfigClass def has_multiple_values?; false; end def _section :'ssh-proxy' end @props = {} end def ssh_proxy @subclasses['ssh-proxy'] ||= SshProxy.new(parent_instance: self, client: @client, create_children: @create_children) end class SslInboundInspection < ConfigClass def has_multiple_values?; false; end def _section :'ssl-inbound-inspection' end class Certificates < XML::ConfigClass def has_multiple_values?; true; end def _section :certificates end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'maxlen'=>'63'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def certificates maybe_register_subclass('certificates', Certificates.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def ssl_inbound_inspection @subclasses['ssl-inbound-inspection'] ||= SslInboundInspection.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'negate-source'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'negate-destination'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable the rule'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'no-default'=>'yes'}, 'group-tag'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'127'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'no-decrypt', 'enum'=>[{'value'=>'no-decrypt'}, {'value'=>'decrypt'}, {'value'=>'decrypt-and-forward'}]}, 'profile'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'help-string'=>'decryption profile', 'optional'=>'yes'}, 'packet-broker-profile'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'help-string'=>'packet-broker profile', 'optional'=>'yes'}, 'log-success'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Log successful TLS handshakes'}, 'log-fail'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'optional'=>'yes', 'help-string'=>'Log unsuccessful TLS handshakes'}, 'log-setting'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'maxlen'=>'63', 'optional'=>'yes'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def negate_source prop_get('negate-source') end def negate_source=(val) prop_set('negate-source', val) end def negate_destination prop_get('negate-destination') end def negate_destination=(val) prop_set('negate-destination', val) end # Disable the rule def disabled prop_get('disabled') end # Disable the rule def disabled=(val) prop_set('disabled', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end def group_tag prop_get('group-tag') end def group_tag=(val) prop_set('group-tag', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # decryption profile def profile prop_get('profile') end # decryption profile def profile=(val) prop_set('profile', val) end # packet-broker profile def packet_broker_profile prop_get('packet-broker-profile') end # packet-broker profile def packet_broker_profile=(val) prop_set('packet-broker-profile', val) end # Log successful TLS handshakes def log_success prop_get('log-success') end # Log successful TLS handshakes def log_success=(val) prop_set('log-success', val) end # Log unsuccessful TLS handshakes def log_fail prop_get('log-fail') end # Log unsuccessful TLS handshakes def log_fail=(val) prop_set('log-fail', val) end def log_setting prop_get('log-setting') end def log_setting=(val) prop_set('log-setting', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def decryption @subclasses['decryption'] ||= Decryption.new(parent_instance: self, client: @client, create_children: @create_children) end class Authentication < ConfigClass def has_multiple_values?; false; end def _section :authentication end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Target < ConfigClass def has_multiple_values?; false; end def _section :target end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Vsys < XML::ConfigClass def has_multiple_values?; true; end def _section :vsys end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vsys maybe_register_subclass('vsys', Vsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'negate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Target to all but these specified devices and tags'}} # Target to all but these specified devices and tags def negate prop_get('negate') end # Target to all but these specified devices and tags def negate=(val) prop_set('negate', val) end end def target @subclasses['target'] ||= Target.new(parent_instance: self, client: @client, create_children: @create_children) end class From < XML::ConfigClass def has_multiple_values?; true; end def _section :from end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def from maybe_register_subclass('from', From.new(parent_instance: self, client: @client, create_children: @create_children)) end class To < XML::ConfigClass def has_multiple_values?; true; end def _section :to end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../from/member', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def to maybe_register_subclass('to', To.new(parent_instance: self, client: @client, create_children: @create_children)) end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceUser < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-user' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'1023', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any user'}, {'value'=>'pre-logon', 'help-string'=>'prelogon client machine'}, {'value'=>'known-user', 'help-string'=>'any known user'}, {'value'=>'unknown', 'help-string'=>'unknown user'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_user maybe_register_subclass('source-user', SourceUser.new(parent_instance: self, client: @client, create_children: @create_children)) end class Destination < XML::ConfigClass def has_multiple_values?; true; end def _section :destination end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../source/member', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination maybe_register_subclass('destination', Destination.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceHip < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-hip' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any hip-profile'}, {'value'=>'no-hip', 'help-string'=>'no hip-profile'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_hip maybe_register_subclass('source-hip', SourceHip.new(parent_instance: self, client: @client, create_children: @create_children)) end class DestinationHip < XML::ConfigClass def has_multiple_values?; true; end def _section :'destination-hip' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any device'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination_hip maybe_register_subclass('destination-hip', DestinationHip.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end class Service < XML::ConfigClass def has_multiple_values?; true; end def _section :service end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'service-http', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'default', 'help-string'=>'default service for selected application'}, {'value'=>'any', 'help-string'=>'any service'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def service maybe_register_subclass('service', Service.new(parent_instance: self, client: @client, create_children: @create_children)) end class Category < XML::ConfigClass def has_multiple_values?; true; end def _section :category end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'128'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any url category'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def category maybe_register_subclass('category', Category.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'negate-source'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'negate-destination'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable the rule'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'no-default'=>'yes'}, 'group-tag'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'127'}, 'authentication-enforcement'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Authentication enforcement object to use for authentication.'}, 'log-setting'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'Log setting for forwarding authentication logs'}, 'timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'1440', 'default'=>'60', 'help-string'=>'expiration timer (minutes)'}, 'log-authentication-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def negate_source prop_get('negate-source') end def negate_source=(val) prop_set('negate-source', val) end def negate_destination prop_get('negate-destination') end def negate_destination=(val) prop_set('negate-destination', val) end # Disable the rule def disabled prop_get('disabled') end # Disable the rule def disabled=(val) prop_set('disabled', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end def group_tag prop_get('group-tag') end def group_tag=(val) prop_set('group-tag', val) end # Authentication enforcement object to use for authentication. def authentication_enforcement prop_get('authentication-enforcement') end # Authentication enforcement object to use for authentication. def authentication_enforcement=(val) prop_set('authentication-enforcement', val) end # Log setting for forwarding authentication logs def log_setting prop_get('log-setting') end # Log setting for forwarding authentication logs def log_setting=(val) prop_set('log-setting', val) end # expiration timer (minutes) def timeout prop_get('timeout') end # expiration timer (minutes) def timeout=(val) prop_set('timeout', val) end def log_authentication_timeout prop_get('log-authentication-timeout') end def log_authentication_timeout=(val) prop_set('log-authentication-timeout', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def authentication @subclasses['authentication'] ||= Authentication.new(parent_instance: self, client: @client, create_children: @create_children) end class Qos < ConfigClass def has_multiple_values?; false; end def _section :qos end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Target < ConfigClass def has_multiple_values?; false; end def _section :target end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Vsys < XML::ConfigClass def has_multiple_values?; true; end def _section :vsys end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vsys maybe_register_subclass('vsys', Vsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'negate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Target to all but these specified devices and tags'}} # Target to all but these specified devices and tags def negate prop_get('negate') end # Target to all but these specified devices and tags def negate=(val) prop_set('negate', val) end end def target @subclasses['target'] ||= Target.new(parent_instance: self, client: @client, create_children: @create_children) end class From < XML::ConfigClass def has_multiple_values?; true; end def _section :from end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def from maybe_register_subclass('from', From.new(parent_instance: self, client: @client, create_children: @create_children)) end class To < XML::ConfigClass def has_multiple_values?; true; end def _section :to end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'multicast', 'help-string'=>'multicast zone'}, {'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def to maybe_register_subclass('to', To.new(parent_instance: self, client: @client, create_children: @create_children)) end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceUser < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-user' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'1023', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any user'}, {'value'=>'pre-logon', 'help-string'=>'prelogon client machine'}, {'value'=>'known-user', 'help-string'=>'any known user'}, {'value'=>'unknown', 'help-string'=>'unknown user'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_user maybe_register_subclass('source-user', SourceUser.new(parent_instance: self, client: @client, create_children: @create_children)) end class Destination < XML::ConfigClass def has_multiple_values?; true; end def _section :destination end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../source/member', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination maybe_register_subclass('destination', Destination.new(parent_instance: self, client: @client, create_children: @create_children)) end class Service < XML::ConfigClass def has_multiple_values?; true; end def _section :service end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'application-default', 'help-string'=>'default service for selected application'}, {'value'=>'any', 'help-string'=>'any service'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def service maybe_register_subclass('service', Service.new(parent_instance: self, client: @client, create_children: @create_children)) end class Category < XML::ConfigClass def has_multiple_values?; true; end def _section :category end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'128'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any url category'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def category maybe_register_subclass('category', Category.new(parent_instance: self, client: @client, create_children: @create_children)) end class Application < XML::ConfigClass def has_multiple_values?; true; end def _section :application end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any application'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def application maybe_register_subclass('application', Application.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceHip < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-hip' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any hip-profile'}, {'value'=>'no-hip', 'help-string'=>'no hip-profile'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_hip maybe_register_subclass('source-hip', SourceHip.new(parent_instance: self, client: @client, create_children: @create_children)) end class DestinationHip < XML::ConfigClass def has_multiple_values?; true; end def _section :'destination-hip' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any device'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination_hip maybe_register_subclass('destination-hip', DestinationHip.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end class DscpTos < XML::ConfigClass def has_multiple_values?; true; end def _section :'dscp-tos' end class Any < ConfigClass def has_multiple_values?; false; end def _section :any end @props = {} end def any @subclasses['any'] ||= Any.new(parent_instance: self, client: @client, create_children: @create_children) end class Codepoints < XML::ConfigClass def has_multiple_values?; true; end def _section :codepoints end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Ef < ConfigClass def has_multiple_values?; false; end def _section :ef end @props = {'codepoint'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'ef', 'help-string'=>'101110'}]}} def codepoint prop_get('codepoint') end def codepoint=(val) prop_set('codepoint', val) end end def ef @subclasses['ef'] ||= Ef.new(parent_instance: self, client: @client, create_children: @create_children) end class Af < ConfigClass def has_multiple_values?; false; end def _section :af end @props = {'codepoint'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'af11', 'help-string'=>'af11 (001010)'}, {'value'=>'af12', 'help-string'=>'af12 (001100)'}, {'value'=>'af13', 'help-string'=>'af13 (001110)'}, {'value'=>'af21', 'help-string'=>'af21 (010010)'}, {'value'=>'af22', 'help-string'=>'af22 (010100)'}, {'value'=>'af23', 'help-string'=>'af23 (010110)'}, {'value'=>'af31', 'help-string'=>'af31 (011010)'}, {'value'=>'af32', 'help-string'=>'af32 (011100)'}, {'value'=>'af33', 'help-string'=>'af33 (011110)'}, {'value'=>'af41', 'help-string'=>'af41 (100010)'}, {'value'=>'af42', 'help-string'=>'af42 (100100)'}, {'value'=>'af43', 'help-string'=>'af43 (100110)'}]}} def codepoint prop_get('codepoint') end def codepoint=(val) prop_set('codepoint', val) end end def af @subclasses['af'] ||= Af.new(parent_instance: self, client: @client, create_children: @create_children) end class Cs < ConfigClass def has_multiple_values?; false; end def _section :cs end @props = {'codepoint'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'cs0', 'help-string'=>'cs0 (000000)'}, {'value'=>'cs1', 'help-string'=>'cs1 (001000)'}, {'value'=>'cs2', 'help-string'=>'cs2 (010000)'}, {'value'=>'cs3', 'help-string'=>'cs3 (011000)'}, {'value'=>'cs4', 'help-string'=>'cs4 (100000)'}, {'value'=>'cs5', 'help-string'=>'cs5 (101000)'}, {'value'=>'cs6', 'help-string'=>'cs6 (110000)'}, {'value'=>'cs7', 'help-string'=>'cs7 (111000)'}]}} def codepoint prop_get('codepoint') end def codepoint=(val) prop_set('codepoint', val) end end def cs @subclasses['cs'] ||= Cs.new(parent_instance: self, client: @client, create_children: @create_children) end class Tos < ConfigClass def has_multiple_values?; false; end def _section :tos end @props = {'codepoint'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'cs0', 'help-string'=>'cs0 (000)'}, {'value'=>'cs1', 'help-string'=>'cs1 (001)'}, {'value'=>'cs2', 'help-string'=>'cs2 (010)'}, {'value'=>'cs3', 'help-string'=>'cs3 (011)'}, {'value'=>'cs4', 'help-string'=>'cs4 (100)'}, {'value'=>'cs5', 'help-string'=>'cs5 (101)'}, {'value'=>'cs6', 'help-string'=>'cs6 (110)'}, {'value'=>'cs7', 'help-string'=>'cs7 (111)'}]}} def codepoint prop_get('codepoint') end def codepoint=(val) prop_set('codepoint', val) end end def tos @subclasses['tos'] ||= Tos.new(parent_instance: self, client: @client, create_children: @create_children) end class Custom < ConfigClass def has_multiple_values?; false; end def _section :custom end class Codepoint < ConfigClass def has_multiple_values?; false; end def _section :codepoint end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'optional'=>'yes', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'codepoint in format \'xxxxxx\' where x is {0|1}'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('name') end # alphanumeric string [ 0-9a-zA-Z._-] def name=(val) prop_set('name', val) end # codepoint in format 'xxxxxx' where x is {0|1} def value prop_get('value') end # codepoint in format 'xxxxxx' where x is {0|1} def value=(val) prop_set('value', val) end end def codepoint @subclasses['codepoint'] ||= Codepoint.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def custom @subclasses['custom'] ||= Custom.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'codepoint name, alphanumeric string [ 0-9a-zA-Z._-]'}} # codepoint name, alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def codepoints maybe_register_subclass('codepoints', Codepoints.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def dscp_tos maybe_register_subclass('dscp-tos', DscpTos.new(parent_instance: self, client: @client, create_children: @create_children)) end class Action < ConfigClass def has_multiple_values?; false; end def _section :action end @props = {'class'=>{'node-type'=>'element', 'type'=>'enum', 'help-string'=>'assigned class', 'enum'=>[{'value'=>'1'}, {'value'=>'2'}, {'value'=>'3'}, {'value'=>'4'}, {'value'=>'5'}, {'value'=>'6'}, {'value'=>'7'}, {'value'=>'8'}]}} # assigned class def class prop_get('class') end # assigned class def class=(val) prop_set('class', val) end end def action @subclasses['action'] ||= Action.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'schedule'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'optional'=>'yes'}, 'negate-source'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'negate-destination'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable the rule'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'no-default'=>'yes'}, 'group-tag'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'127'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def schedule prop_get('schedule') end def schedule=(val) prop_set('schedule', val) end def negate_source prop_get('negate-source') end def negate_source=(val) prop_set('negate-source', val) end def negate_destination prop_get('negate-destination') end def negate_destination=(val) prop_set('negate-destination', val) end # Disable the rule def disabled prop_get('disabled') end # Disable the rule def disabled=(val) prop_set('disabled', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end def group_tag prop_get('group-tag') end def group_tag=(val) prop_set('group-tag', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def qos @subclasses['qos'] ||= Qos.new(parent_instance: self, client: @client, create_children: @create_children) end class Nat < ConfigClass def has_multiple_values?; false; end def _section :nat end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Target < ConfigClass def has_multiple_values?; false; end def _section :target end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Vsys < XML::ConfigClass def has_multiple_values?; true; end def _section :vsys end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vsys maybe_register_subclass('vsys', Vsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'negate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Target to all but these specified devices and tags'}} # Target to all but these specified devices and tags def negate prop_get('negate') end # Target to all but these specified devices and tags def negate=(val) prop_set('negate', val) end end def target @subclasses['target'] ||= Target.new(parent_instance: self, client: @client, create_children: @create_children) end class From < XML::ConfigClass def has_multiple_values?; true; end def _section :from end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def from maybe_register_subclass('from', From.new(parent_instance: self, client: @client, create_children: @create_children)) end class To < XML::ConfigClass def has_multiple_values?; true; end def _section :to end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'max-count'=>'1', 'multi-types'=>{'string'=>{'maxlen'=>'31', 'disallow-keyword-any'=>'yes'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def to maybe_register_subclass('to', To.new(parent_instance: self, client: @client, create_children: @create_children)) end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end class Destination < XML::ConfigClass def has_multiple_values?; true; end def _section :destination end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../source/member', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination maybe_register_subclass('destination', Destination.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceTranslation < ConfigClass def has_multiple_values?; false; end def _section :'source-translation' end class DynamicIpAndPort < ConfigClass def has_multiple_values?; false; end def _section :'dynamic-ip-and-port' end class TranslatedAddress < XML::ConfigClass def has_multiple_values?; true; end def _section :'translated-address' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'no-default'=>'yes', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'ipspec'=>{}, 'iprangespec'=>{}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def translated_address maybe_register_subclass('translated-address', TranslatedAddress.new(parent_instance: self, client: @client, create_children: @create_children)) end class InterfaceAddress < ConfigClass def has_multiple_values?; false; end def _section :'interface-address' end @props = {'interface'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'Interface name'}, 'ip'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'specify exact IP address if interface has multiple addresses'}, 'floating-ip'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.nat.rules.interface-address.floating-ip-disable=True', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Floating IP address in HA Active-Active configuration'}} # Interface name def interface prop_get('interface') end # Interface name def interface=(val) prop_set('interface', val) end # specify exact IP address if interface has multiple addresses def ip prop_get('ip') end # specify exact IP address if interface has multiple addresses def ip=(val) prop_set('ip', val) end # Floating IP address in HA Active-Active configuration def floating_ip prop_get('floating-ip') end # Floating IP address in HA Active-Active configuration def floating_ip=(val) prop_set('floating-ip', val) end end def interface_address @subclasses['interface-address'] ||= InterfaceAddress.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def dynamic_ip_and_port @subclasses['dynamic-ip-and-port'] ||= DynamicIpAndPort.new(parent_instance: self, client: @client, create_children: @create_children) end class DynamicIp < ConfigClass def has_multiple_values?; false; end def _section :'dynamic-ip' end class TranslatedAddress < XML::ConfigClass def has_multiple_values?; true; end def _section :'translated-address' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'no-default'=>'yes', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'ipspec'=>{}, 'iprangespec'=>{}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def translated_address maybe_register_subclass('translated-address', TranslatedAddress.new(parent_instance: self, client: @client, create_children: @create_children)) end class Fallback < ConfigClass def has_multiple_values?; false; end def _section :fallback end class TranslatedAddress < XML::ConfigClass def has_multiple_values?; true; end def _section :'translated-address' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'no-default'=>'yes', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'ipspec'=>{}, 'iprangespec'=>{}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def translated_address maybe_register_subclass('translated-address', TranslatedAddress.new(parent_instance: self, client: @client, create_children: @create_children)) end class InterfaceAddress < ConfigClass def has_multiple_values?; false; end def _section :'interface-address' end @props = {'interface'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'Interface name'}, 'ip'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'specify exact IP address if interface has multiple addresses'}, 'floating-ip'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Floating IP address in HA Active-Active configuration'}} # Interface name def interface prop_get('interface') end # Interface name def interface=(val) prop_set('interface', val) end # specify exact IP address if interface has multiple addresses def ip prop_get('ip') end # specify exact IP address if interface has multiple addresses def ip=(val) prop_set('ip', val) end # Floating IP address in HA Active-Active configuration def floating_ip prop_get('floating-ip') end # Floating IP address in HA Active-Active configuration def floating_ip=(val) prop_set('floating-ip', val) end end def interface_address @subclasses['interface-address'] ||= InterfaceAddress.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def fallback @subclasses['fallback'] ||= Fallback.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def dynamic_ip @subclasses['dynamic-ip'] ||= DynamicIp.new(parent_instance: self, client: @client, create_children: @create_children) end class StaticIp < ConfigClass def has_multiple_values?; false; end def _section :'static-ip' end @props = {'translated-address'=>{'node-type'=>'element', 'type'=>'multiple', 'no-default'=>'yes', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'ipspec'=>{}, 'iprangespec'=>{}}}, 'bi-directional'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'allow reverse translation from translated address to original address', 'enum'=>[{'value'=>'yes', 'help-string'=>'Bi-directional rule'}, {'value'=>'no', 'help-string'=>'Uni-directional rule'}]}} def translated_address prop_get('translated-address') end def translated_address=(val) prop_set('translated-address', val) end # allow reverse translation from translated address to original address def bi_directional prop_get('bi-directional') end # allow reverse translation from translated address to original address def bi_directional=(val) prop_set('bi-directional', val) end end def static_ip @subclasses['static-ip'] ||= StaticIp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def source_translation @subclasses['source-translation'] ||= SourceTranslation.new(parent_instance: self, client: @client, create_children: @create_children) end class DestinationTranslation < ConfigClass def has_multiple_values?; false; end def _section :'destination-translation' end class DnsRewrite < ConfigClass def has_multiple_values?; false; end def _section :'dns-rewrite' end @props = {'direction'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'reverse', 'help-string'=>'Select direction to apply DNS rewrite', 'enum'=>[{'value'=>'reverse', 'help-string'=>'Reverse translation'}, {'value'=>'forward', 'help-string'=>'Forward translation'}]}} # Select direction to apply DNS rewrite def direction prop_get('direction') end # Select direction to apply DNS rewrite def direction=(val) prop_set('direction', val) end end def dns_rewrite @subclasses['dns-rewrite'] ||= DnsRewrite.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'translated-address'=>{'node-type'=>'element', 'type'=>'multiple', 'no-default'=>'yes', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'ipspec'=>{}, 'iprangespec'=>{}}}, 'translated-port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'no-default'=>'yes', 'optional'=>'yes'}} def translated_address prop_get('translated-address') end def translated_address=(val) prop_set('translated-address', val) end def translated_port prop_get('translated-port') end def translated_port=(val) prop_set('translated-port', val) end end def destination_translation @subclasses['destination-translation'] ||= DestinationTranslation.new(parent_instance: self, client: @client, create_children: @create_children) end class DynamicDestinationTranslation < ConfigClass def has_multiple_values?; false; end def _section :'dynamic-destination-translation' end @props = {'translated-address'=>{'node-type'=>'element', 'type'=>'multiple', 'no-default'=>'yes', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'ipspec'=>{}, 'iprangespec'=>{}}}, 'translated-port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'no-default'=>'yes', 'optional'=>'yes'}, 'distribution'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'round-robin', 'help-string'=>'Distribution algorithm for destination address pool', 'enum'=>[{'value'=>'round-robin', 'help-string'=>'Round Robin'}, {'value'=>'source-ip-hash', 'help-string'=>'Source IP Hash'}, {'value'=>'ip-modulo', 'help-string'=>'IP Modulo'}, {'value'=>'ip-hash', 'help-string'=>'IP Hash'}, {'value'=>'least-sessions', 'help-string'=>'Least Sessions'}]}} def translated_address prop_get('translated-address') end def translated_address=(val) prop_set('translated-address', val) end def translated_port prop_get('translated-port') end def translated_port=(val) prop_set('translated-port', val) end # Distribution algorithm for destination address pool def distribution prop_get('distribution') end # Distribution algorithm for destination address pool def distribution=(val) prop_set('distribution', val) end end def dynamic_destination_translation @subclasses['dynamic-destination-translation'] ||= DynamicDestinationTranslation.new(parent_instance: self, client: @client, create_children: @create_children) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'service'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'default'=>'any'}, 'nat-type'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'ipv4', 'help-string'=>'type of nat', 'enum'=>[{'value'=>'ipv4', 'help-string'=>'ipv4 nat'}, {'value'=>'nat64', 'help-string'=>'translator between ipv6 and ipv4'}, {'value'=>'nptv6', 'help-string'=>'network prefix translator for ipv6'}]}, 'to-interface'=>{'node-type'=>'element', 'optional'=>'yes', 'default'=>'any', 'type'=>'multiple', 'help-string'=>'Egress interface from route lookup', 'multi-types'=>{'string'=>{'maxlen'=>'63', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any interface'}]}}, 'active-active-device-binding'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-string'=>'Device binding configuration in HA Active-Active mode', 'enum'=>[{'value'=>'primary', 'help-string'=>'Rule is bound to Active-Primary device'}, {'value'=>'both', 'help-string'=>'Rule is bound to both devices'}, {'value'=>'0', 'help-string'=>'Rule is bound to device 0'}, {'value'=>'1', 'help-string'=>'Rule is bound to device 1'}]}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable the rule'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'no-default'=>'yes'}, 'group-tag'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'127'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def service prop_get('service') end def service=(val) prop_set('service', val) end # type of nat def nat_type prop_get('nat-type') end # type of nat def nat_type=(val) prop_set('nat-type', val) end # Egress interface from route lookup def to_interface prop_get('to-interface') end # Egress interface from route lookup def to_interface=(val) prop_set('to-interface', val) end # Device binding configuration in HA Active-Active mode def active_active_device_binding prop_get('active-active-device-binding') end # Device binding configuration in HA Active-Active mode def active_active_device_binding=(val) prop_set('active-active-device-binding', val) end # Disable the rule def disabled prop_get('disabled') end # Disable the rule def disabled=(val) prop_set('disabled', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end def group_tag prop_get('group-tag') end def group_tag=(val) prop_set('group-tag', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def nat @subclasses['nat'] ||= Nat.new(parent_instance: self, client: @client, create_children: @create_children) end class Pbf < ConfigClass def has_multiple_values?; false; end def _section :pbf end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Target < ConfigClass def has_multiple_values?; false; end def _section :target end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Vsys < XML::ConfigClass def has_multiple_values?; true; end def _section :vsys end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vsys maybe_register_subclass('vsys', Vsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'negate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Target to all but these specified devices and tags'}} # Target to all but these specified devices and tags def negate prop_get('negate') end # Target to all but these specified devices and tags def negate=(val) prop_set('negate', val) end end def target @subclasses['target'] ||= Target.new(parent_instance: self, client: @client, create_children: @create_children) end class From < ConfigClass def has_multiple_values?; false; end def _section :from end class Zone < XML::ConfigClass def has_multiple_values?; true; end def _section :zone end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'maxlen'=>'31'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def zone maybe_register_subclass('zone', Zone.new(parent_instance: self, client: @client, create_children: @create_children)) end class Interface < XML::ConfigClass def has_multiple_values?; true; end def _section :interface end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def interface maybe_register_subclass('interface', Interface.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def from @subclasses['from'] ||= From.new(parent_instance: self, client: @client, create_children: @create_children) end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceUser < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-user' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'1023', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any user'}, {'value'=>'pre-logon', 'help-string'=>'prelogon client machine'}, {'value'=>'known-user', 'help-string'=>'any known user'}, {'value'=>'unknown', 'help-string'=>'unknown user'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_user maybe_register_subclass('source-user', SourceUser.new(parent_instance: self, client: @client, create_children: @create_children)) end class Destination < XML::ConfigClass def has_multiple_values?; true; end def _section :destination end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../source/member', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination maybe_register_subclass('destination', Destination.new(parent_instance: self, client: @client, create_children: @create_children)) end class Service < XML::ConfigClass def has_multiple_values?; true; end def _section :service end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'application-default', 'help-string'=>'default service for selected application'}, {'value'=>'any', 'help-string'=>'any service'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def service maybe_register_subclass('service', Service.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end class Application < XML::ConfigClass def has_multiple_values?; true; end def _section :application end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any application'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def application maybe_register_subclass('application', Application.new(parent_instance: self, client: @client, create_children: @create_children)) end class Action < ConfigClass def has_multiple_values?; false; end def _section :action end class Forward < ConfigClass def has_multiple_values?; false; end def _section :forward end class Nexthop < ConfigClass def has_multiple_values?; false; end def _section :nexthop end @props = {'ip-address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Next hop IP address', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'ipspec'=>{'unicast-only'=>'yes'}}}, 'fqdn'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'regex'=>'^([a-zA-Z0-9._-])+$', 'help-string'=>'nexthop address FQDN name configuration'}} # Next hop IP address def ip_address prop_get('ip-address') end # Next hop IP address def ip_address=(val) prop_set('ip-address', val) end # nexthop address FQDN name configuration def fqdn prop_get('fqdn') end # nexthop address FQDN name configuration def fqdn=(val) prop_set('fqdn', val) end end def nexthop @subclasses['nexthop'] ||= Nexthop.new(parent_instance: self, client: @client, create_children: @create_children) end class Monitor < ConfigClass def has_multiple_values?; false; end def _section :monitor end @props = {'profile'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Monitoring profile associated with this rule'}, 'disable-if-unreachable'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable this rule if nexthop/monitor ip is unreachable'}, 'ip-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-only'=>'yes', 'help-string'=>'Monitor IP address'}} # Monitoring profile associated with this rule def profile prop_get('profile') end # Monitoring profile associated with this rule def profile=(val) prop_set('profile', val) end # Disable this rule if nexthop/monitor ip is unreachable def disable_if_unreachable prop_get('disable-if-unreachable') end # Disable this rule if nexthop/monitor ip is unreachable def disable_if_unreachable=(val) prop_set('disable-if-unreachable', val) end # Monitor IP address def ip_address prop_get('ip-address') end # Monitor IP address def ip_address=(val) prop_set('ip-address', val) end end def monitor @subclasses['monitor'] ||= Monitor.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'egress-interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Interface to route packet to'}} # Interface to route packet to def egress_interface prop_get('egress-interface') end # Interface to route packet to def egress_interface=(val) prop_set('egress-interface', val) end end def forward @subclasses['forward'] ||= Forward.new(parent_instance: self, client: @client, create_children: @create_children) end class Discard < ConfigClass def has_multiple_values?; false; end def _section :discard end @props = {} end def discard @subclasses['discard'] ||= Discard.new(parent_instance: self, client: @client, create_children: @create_children) end class NoPbf < ConfigClass def has_multiple_values?; false; end def _section :'no-pbf' end @props = {} end def no_pbf @subclasses['no-pbf'] ||= NoPbf.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'forward-to-vsys'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Virtual system/Shared gateway to route packet to'}} # Virtual system/Shared gateway to route packet to def forward_to_vsys prop_get('forward-to-vsys') end # Virtual system/Shared gateway to route packet to def forward_to_vsys=(val) prop_set('forward-to-vsys', val) end end def action @subclasses['action'] ||= Action.new(parent_instance: self, client: @client, create_children: @create_children) end class EnforceSymmetricReturn < ConfigClass def has_multiple_values?; false; end def _section :'enforce-symmetric-return' end class NexthopAddressList < XML::ConfigClass def has_multiple_values?; true; end def _section :'nexthop-address-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'unicast-only'=>'yes', 'help-string'=>'IP address'}} # IP address def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def nexthop_address_list maybe_register_subclass('nexthop-address-list', NexthopAddressList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable symmetric return'}} # Enable symmetric return def enabled prop_get('enabled') end # Enable symmetric return def enabled=(val) prop_set('enabled', val) end end def enforce_symmetric_return @subclasses['enforce-symmetric-return'] ||= EnforceSymmetricReturn.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'schedule'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'optional'=>'yes'}, 'negate-source'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'negate-destination'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable the rule'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'no-default'=>'yes'}, 'group-tag'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'127'}, 'active-active-device-binding'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.pbf.rules.active-active-device-binding-disable=True', 'optional'=>'yes', 'type'=>'enum', 'help-string'=>'Device binding configuration in HA Active-Active mode', 'enum'=>[{'value'=>'both', 'help-string'=>'Rule is bound to both devices'}, {'value'=>'0', 'help-string'=>'Rule is bound to device 0'}, {'value'=>'1', 'help-string'=>'Rule is bound to device 1'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def schedule prop_get('schedule') end def schedule=(val) prop_set('schedule', val) end def negate_source prop_get('negate-source') end def negate_source=(val) prop_set('negate-source', val) end def negate_destination prop_get('negate-destination') end def negate_destination=(val) prop_set('negate-destination', val) end # Disable the rule def disabled prop_get('disabled') end # Disable the rule def disabled=(val) prop_set('disabled', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end def group_tag prop_get('group-tag') end def group_tag=(val) prop_set('group-tag', val) end # Device binding configuration in HA Active-Active mode def active_active_device_binding prop_get('active-active-device-binding') end # Device binding configuration in HA Active-Active mode def active_active_device_binding=(val) prop_set('active-active-device-binding', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def pbf @subclasses['pbf'] ||= Pbf.new(parent_instance: self, client: @client, create_children: @create_children) end class Sdwan < ConfigClass def has_multiple_values?; false; end def _section :sdwan end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Target < ConfigClass def has_multiple_values?; false; end def _section :target end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Vsys < XML::ConfigClass def has_multiple_values?; true; end def _section :vsys end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vsys maybe_register_subclass('vsys', Vsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'negate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Target to all but these specified devices and tags'}} # Target to all but these specified devices and tags def negate prop_get('negate') end # Target to all but these specified devices and tags def negate=(val) prop_set('negate', val) end end def target @subclasses['target'] ||= Target.new(parent_instance: self, client: @client, create_children: @create_children) end class From < XML::ConfigClass def has_multiple_values?; true; end def _section :from end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def from maybe_register_subclass('from', From.new(parent_instance: self, client: @client, create_children: @create_children)) end class To < XML::ConfigClass def has_multiple_values?; true; end def _section :to end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../from/member', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def to maybe_register_subclass('to', To.new(parent_instance: self, client: @client, create_children: @create_children)) end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceUser < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-user' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'1023', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any user'}, {'value'=>'pre-logon', 'help-string'=>'prelogon client machine'}, {'value'=>'known-user', 'help-string'=>'any known user'}, {'value'=>'unknown', 'help-string'=>'unknown user'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_user maybe_register_subclass('source-user', SourceUser.new(parent_instance: self, client: @client, create_children: @create_children)) end class Destination < XML::ConfigClass def has_multiple_values?; true; end def _section :destination end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../source/member', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination maybe_register_subclass('destination', Destination.new(parent_instance: self, client: @client, create_children: @create_children)) end class Application < XML::ConfigClass def has_multiple_values?; true; end def _section :application end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any application'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def application maybe_register_subclass('application', Application.new(parent_instance: self, client: @client, create_children: @create_children)) end class Service < XML::ConfigClass def has_multiple_values?; true; end def _section :service end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'application-default', 'help-string'=>'default service for selected application'}, {'value'=>'any', 'help-string'=>'any service'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def service maybe_register_subclass('service', Service.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end class Action < ConfigClass def has_multiple_values?; false; end def _section :action end @props = {'traffic-distribution-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'attach sdwan traffic distribution associated with this rule'}, 'app-failover-for-nat-sessions'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'keep-existing-link', 'help-string'=>'For NAT sessions, specify whether to move to a better path', 'enum'=>[{'value'=>'keep-existing-link', 'help-string'=>'Keep session on existing link'}, {'value'=>'failover-to-better-path', 'help-string'=>'Allow session failover to better path'}]}} # attach sdwan traffic distribution associated with this rule def traffic_distribution_profile prop_get('traffic-distribution-profile') end # attach sdwan traffic distribution associated with this rule def traffic_distribution_profile=(val) prop_set('traffic-distribution-profile', val) end # For NAT sessions, specify whether to move to a better path def app_failover_for_nat_sessions prop_get('app-failover-for-nat-sessions') end # For NAT sessions, specify whether to move to a better path def app_failover_for_nat_sessions=(val) prop_set('app-failover-for-nat-sessions', val) end end def action @subclasses['action'] ||= Action.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'negate-source'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'negate-destination'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable the rule'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'no-default'=>'yes'}, 'group-tag'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'127'}, 'path-quality-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'attach sdwan path quality profile associated with this rule'}, 'saas-quality-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'optional'=>'yes', 'help-string'=>'attach sdwan saas quality profile associated with this rule'}, 'error-correction-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'optional'=>'yes', 'help-string'=>'attach sdwan error correction profile associated with this rule'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def negate_source prop_get('negate-source') end def negate_source=(val) prop_set('negate-source', val) end def negate_destination prop_get('negate-destination') end def negate_destination=(val) prop_set('negate-destination', val) end # Disable the rule def disabled prop_get('disabled') end # Disable the rule def disabled=(val) prop_set('disabled', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end def group_tag prop_get('group-tag') end def group_tag=(val) prop_set('group-tag', val) end # attach sdwan path quality profile associated with this rule def path_quality_profile prop_get('path-quality-profile') end # attach sdwan path quality profile associated with this rule def path_quality_profile=(val) prop_set('path-quality-profile', val) end # attach sdwan saas quality profile associated with this rule def saas_quality_profile prop_get('saas-quality-profile') end # attach sdwan saas quality profile associated with this rule def saas_quality_profile=(val) prop_set('saas-quality-profile', val) end # attach sdwan error correction profile associated with this rule def error_correction_profile prop_get('error-correction-profile') end # attach sdwan error correction profile associated with this rule def error_correction_profile=(val) prop_set('error-correction-profile', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def sdwan @subclasses['sdwan'] ||= Sdwan.new(parent_instance: self, client: @client, create_children: @create_children) end class Dos < ConfigClass def has_multiple_values?; false; end def _section :dos end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Target < ConfigClass def has_multiple_values?; false; end def _section :target end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Vsys < XML::ConfigClass def has_multiple_values?; true; end def _section :vsys end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vsys maybe_register_subclass('vsys', Vsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'negate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Target to all but these specified devices and tags'}} # Target to all but these specified devices and tags def negate prop_get('negate') end # Target to all but these specified devices and tags def negate=(val) prop_set('negate', val) end end def target @subclasses['target'] ||= Target.new(parent_instance: self, client: @client, create_children: @create_children) end class From < ConfigClass def has_multiple_values?; false; end def _section :from end class Zone < XML::ConfigClass def has_multiple_values?; true; end def _section :zone end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'maxlen'=>'31'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def zone maybe_register_subclass('zone', Zone.new(parent_instance: self, client: @client, create_children: @create_children)) end class Interface < XML::ConfigClass def has_multiple_values?; true; end def _section :interface end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def interface maybe_register_subclass('interface', Interface.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def from @subclasses['from'] ||= From.new(parent_instance: self, client: @client, create_children: @create_children) end class To < ConfigClass def has_multiple_values?; false; end def _section :to end class Zone < XML::ConfigClass def has_multiple_values?; true; end def _section :zone end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'enum'=>[{'value'=>'multicast', 'help-string'=>'multicast zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def zone maybe_register_subclass('zone', Zone.new(parent_instance: self, client: @client, create_children: @create_children)) end class Interface < XML::ConfigClass def has_multiple_values?; true; end def _section :interface end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def interface maybe_register_subclass('interface', Interface.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def to @subclasses['to'] ||= To.new(parent_instance: self, client: @client, create_children: @create_children) end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceUser < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-user' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'1023', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any user'}, {'value'=>'pre-logon', 'help-string'=>'prelogon client machine'}, {'value'=>'known-user', 'help-string'=>'any known user'}, {'value'=>'unknown', 'help-string'=>'unknown user'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_user maybe_register_subclass('source-user', SourceUser.new(parent_instance: self, client: @client, create_children: @create_children)) end class Destination < XML::ConfigClass def has_multiple_values?; true; end def _section :destination end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../source/member', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination maybe_register_subclass('destination', Destination.new(parent_instance: self, client: @client, create_children: @create_children)) end class Service < XML::ConfigClass def has_multiple_values?; true; end def _section :service end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any service'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def service maybe_register_subclass('service', Service.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end class Protection < ConfigClass def has_multiple_values?; false; end def _section :protection end class Aggregate < ConfigClass def has_multiple_values?; false; end def _section :aggregate end @props = {'profile'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'DoS profile to use for aggregated protection'}} # DoS profile to use for aggregated protection def profile prop_get('profile') end # DoS profile to use for aggregated protection def profile=(val) prop_set('profile', val) end end def aggregate @subclasses['aggregate'] ||= Aggregate.new(parent_instance: self, client: @client, create_children: @create_children) end class Classified < ConfigClass def has_multiple_values?; false; end def _section :classified end class ClassificationCriteria < ConfigClass def has_multiple_values?; false; end def _section :'classification-criteria' end @props = {'address'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'source-ip-only', 'help-string'=>'Parameters for IP Address based classification', 'enum'=>[{'value'=>'source-ip-only'}, {'value'=>'destination-ip-only'}, {'value'=>'src-dest-ip-both'}]}} # Parameters for IP Address based classification def address prop_get('address') end # Parameters for IP Address based classification def address=(val) prop_set('address', val) end end def classification_criteria @subclasses['classification-criteria'] ||= ClassificationCriteria.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'profile'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'DoS profile to use for classified protection'}} # DoS profile to use for classified protection def profile prop_get('profile') end # DoS profile to use for classified protection def profile=(val) prop_set('profile', val) end end def classified @subclasses['classified'] ||= Classified.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def protection @subclasses['protection'] ||= Protection.new(parent_instance: self, client: @client, create_children: @create_children) end class Action < ConfigClass def has_multiple_values?; false; end def _section :action end class Deny < ConfigClass def has_multiple_values?; false; end def _section :deny end @props = {} end def deny @subclasses['deny'] ||= Deny.new(parent_instance: self, client: @client, create_children: @create_children) end class Allow < ConfigClass def has_multiple_values?; false; end def _section :allow end @props = {} end def allow @subclasses['allow'] ||= Allow.new(parent_instance: self, client: @client, create_children: @create_children) end class Protect < ConfigClass def has_multiple_values?; false; end def _section :protect end @props = {} end def protect @subclasses['protect'] ||= Protect.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def action @subclasses['action'] ||= Action.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'schedule'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'optional'=>'yes'}, 'negate-source'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'negate-destination'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable the rule'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'no-default'=>'yes'}, 'group-tag'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'127'}, 'log-setting'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'maxlen'=>'63', 'optional'=>'yes'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def schedule prop_get('schedule') end def schedule=(val) prop_set('schedule', val) end def negate_source prop_get('negate-source') end def negate_source=(val) prop_set('negate-source', val) end def negate_destination prop_get('negate-destination') end def negate_destination=(val) prop_set('negate-destination', val) end # Disable the rule def disabled prop_get('disabled') end # Disable the rule def disabled=(val) prop_set('disabled', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end def group_tag prop_get('group-tag') end def group_tag=(val) prop_set('group-tag', val) end def log_setting prop_get('log-setting') end def log_setting=(val) prop_set('log-setting', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def dos @subclasses['dos'] ||= Dos.new(parent_instance: self, client: @client, create_children: @create_children) end class TunnelInspect < ConfigClass def has_multiple_values?; false; end def _section :'tunnel-inspect' end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Target < ConfigClass def has_multiple_values?; false; end def _section :target end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Vsys < XML::ConfigClass def has_multiple_values?; true; end def _section :vsys end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vsys maybe_register_subclass('vsys', Vsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'negate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Target to all but these specified devices and tags'}} # Target to all but these specified devices and tags def negate prop_get('negate') end # Target to all but these specified devices and tags def negate=(val) prop_set('negate', val) end end def target @subclasses['target'] ||= Target.new(parent_instance: self, client: @client, create_children: @create_children) end class From < XML::ConfigClass def has_multiple_values?; true; end def _section :from end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def from maybe_register_subclass('from', From.new(parent_instance: self, client: @client, create_children: @create_children)) end class To < XML::ConfigClass def has_multiple_values?; true; end def _section :to end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../from/member', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def to maybe_register_subclass('to', To.new(parent_instance: self, client: @client, create_children: @create_children)) end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceUser < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-user' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'1023', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any user'}, {'value'=>'pre-logon', 'help-string'=>'prelogon client machine'}, {'value'=>'known-user', 'help-string'=>'any known user'}, {'value'=>'unknown', 'help-string'=>'unknown user'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_user maybe_register_subclass('source-user', SourceUser.new(parent_instance: self, client: @client, create_children: @create_children)) end class Destination < XML::ConfigClass def has_multiple_values?; true; end def _section :destination end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../source/member', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination maybe_register_subclass('destination', Destination.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end class Application < XML::ConfigClass def has_multiple_values?; true; end def _section :application end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'enum'=>[{'value'=>'gre', 'help-string'=>'GRE'}, {'value'=>'vxlan', 'help-string'=>'VXLAN'}, {'value'=>'ipsec', 'help-string'=>'Non-encrypted IPSec'}, {'value'=>'gtp', 'help-string'=>'GTP-U'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def application maybe_register_subclass('application', Application.new(parent_instance: self, client: @client, create_children: @create_children)) end class TunnelId < ConfigClass def has_multiple_values?; false; end def _section :'tunnel-id' end class Vni < XML::ConfigClass def has_multiple_values?; true; end def _section :vni end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'id'=>{'node-type'=>'element', 'type'=>'rangelistspec', 'min'=>'0', 'max'=>'16777215'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def id prop_get('id') end def id=(val) prop_set('id', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vni maybe_register_subclass('vni', Vni.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def tunnel_id @subclasses['tunnel-id'] ||= TunnelId.new(parent_instance: self, client: @client, create_children: @create_children) end class InspectOptions < ConfigClass def has_multiple_values?; false; end def _section :'inspect-options' end @props = {'max-level-inspection'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'1', 'help-string'=>'max level inspection', 'enum'=>[{'value'=>'1', 'help-string'=>'One level'}, {'value'=>'2', 'help-string'=>'Two levels (tunnel in tunnel)'}]}, 'drop-over-max'=>{'node-type'=>'element', 'optional'=>'yes', 'default'=>'no', 'type'=>'bool'}, 'drop-unknown-protocol'=>{'node-type'=>'element', 'optional'=>'yes', 'default'=>'no', 'type'=>'bool'}, 'drop-strict-checking'=>{'node-type'=>'element', 'optional'=>'yes', 'default'=>'no', 'type'=>'bool'}, 'return-vxlan-to-source'=>{'node-type'=>'element', 'optional'=>'yes', 'default'=>'no', 'type'=>'bool'}} # max level inspection def max_level_inspection prop_get('max-level-inspection') end # max level inspection def max_level_inspection=(val) prop_set('max-level-inspection', val) end def drop_over_max prop_get('drop-over-max') end def drop_over_max=(val) prop_set('drop-over-max', val) end def drop_unknown_protocol prop_get('drop-unknown-protocol') end def drop_unknown_protocol=(val) prop_set('drop-unknown-protocol', val) end def drop_strict_checking prop_get('drop-strict-checking') end def drop_strict_checking=(val) prop_set('drop-strict-checking', val) end def return_vxlan_to_source prop_get('return-vxlan-to-source') end def return_vxlan_to_source=(val) prop_set('return-vxlan-to-source', val) end end def inspect_options @subclasses['inspect-options'] ||= InspectOptions.new(parent_instance: self, client: @client, create_children: @create_children) end class ZoneAssign < ConfigClass def has_multiple_values?; false; end def _section :'zone-assign' end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end class Destination < XML::ConfigClass def has_multiple_values?; true; end def _section :destination end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination maybe_register_subclass('destination', Destination.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def zone_assign @subclasses['zone-assign'] ||= ZoneAssign.new(parent_instance: self, client: @client, create_children: @create_children) end class MonitorOptions < ConfigClass def has_multiple_values?; false; end def _section :'monitor-options' end class LogSettingOverride < ConfigClass def has_multiple_values?; false; end def _section :'log-setting-override' end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'log-setting'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'maxlen'=>'63', 'optional'=>'yes'}, 'log-start'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'optional'=>'yes', 'help-string'=>'Log at session start'}, 'log-end'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'optional'=>'yes', 'help-string'=>'Log at session end (required for certain ACC tables)'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end def log_setting prop_get('log-setting') end def log_setting=(val) prop_set('log-setting', val) end # Log at session start def log_start prop_get('log-start') end # Log at session start def log_start=(val) prop_set('log-start', val) end # Log at session end (required for certain ACC tables) def log_end prop_get('log-end') end # Log at session end (required for certain ACC tables) def log_end=(val) prop_set('log-end', val) end end def log_setting_override @subclasses['log-setting-override'] ||= LogSettingOverride.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'monitor-name'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([^0-9]*|[0-9]{1,14}([^0-9]|$)|[0-9]{17,})*$', 'optional'=>'yes', 'minlen'=>'1', 'maxlen'=>'31', 'no-default'=>'yes', 'help-string'=>'15 or 16 digit number not allowed'}, 'monitor-id'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'1', 'max'=>'16777215'}} # 15 or 16 digit number not allowed def monitor_name prop_get('monitor-name') end # 15 or 16 digit number not allowed def monitor_name=(val) prop_set('monitor-name', val) end def monitor_id prop_get('monitor-id') end def monitor_id=(val) prop_set('monitor-id', val) end end def monitor_options @subclasses['monitor-options'] ||= MonitorOptions.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'negate-source'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'negate-destination'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable the rule'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'no-default'=>'yes'}, 'group-tag'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'127'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def negate_source prop_get('negate-source') end def negate_source=(val) prop_set('negate-source', val) end def negate_destination prop_get('negate-destination') end def negate_destination=(val) prop_set('negate-destination', val) end # Disable the rule def disabled prop_get('disabled') end # Disable the rule def disabled=(val) prop_set('disabled', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end def group_tag prop_get('group-tag') end def group_tag=(val) prop_set('group-tag', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def tunnel_inspect @subclasses['tunnel-inspect'] ||= TunnelInspect.new(parent_instance: self, client: @client, create_children: @create_children) end class NetworkPacketBroker < ConfigClass def has_multiple_values?; false; end def _section :'network-packet-broker' end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Target < ConfigClass def has_multiple_values?; false; end def _section :target end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Vsys < XML::ConfigClass def has_multiple_values?; true; end def _section :vsys end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vsys maybe_register_subclass('vsys', Vsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'negate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Target to all but these specified devices and tags'}} # Target to all but these specified devices and tags def negate prop_get('negate') end # Target to all but these specified devices and tags def negate=(val) prop_set('negate', val) end end def target @subclasses['target'] ||= Target.new(parent_instance: self, client: @client, create_children: @create_children) end class From < XML::ConfigClass def has_multiple_values?; true; end def _section :from end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def from maybe_register_subclass('from', From.new(parent_instance: self, client: @client, create_children: @create_children)) end class To < XML::ConfigClass def has_multiple_values?; true; end def _section :to end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../from/member', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def to maybe_register_subclass('to', To.new(parent_instance: self, client: @client, create_children: @create_children)) end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceUser < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-user' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'1023', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any user'}, {'value'=>'pre-logon', 'help-string'=>'prelogon client machine'}, {'value'=>'known-user', 'help-string'=>'any known user'}, {'value'=>'unknown', 'help-string'=>'unknown user'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_user maybe_register_subclass('source-user', SourceUser.new(parent_instance: self, client: @client, create_children: @create_children)) end class Destination < XML::ConfigClass def has_multiple_values?; true; end def _section :destination end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../source/member', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination maybe_register_subclass('destination', Destination.new(parent_instance: self, client: @client, create_children: @create_children)) end class Application < XML::ConfigClass def has_multiple_values?; true; end def _section :application end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any application'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def application maybe_register_subclass('application', Application.new(parent_instance: self, client: @client, create_children: @create_children)) end class Service < XML::ConfigClass def has_multiple_values?; true; end def _section :service end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'application-default', 'help-string'=>'default service for selected application'}, {'value'=>'any', 'help-string'=>'any service'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def service maybe_register_subclass('service', Service.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceHip < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-hip' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any hip-profile'}, {'value'=>'no-hip', 'help-string'=>'no hip-profile'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_hip maybe_register_subclass('source-hip', SourceHip.new(parent_instance: self, client: @client, create_children: @create_children)) end class DestinationHip < XML::ConfigClass def has_multiple_values?; true; end def _section :'destination-hip' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any device'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination_hip maybe_register_subclass('destination-hip', DestinationHip.new(parent_instance: self, client: @client, create_children: @create_children)) end class TrafficType < ConfigClass def has_multiple_values?; false; end def _section :'traffic-type' end @props = {'tls-decrypted'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'TLS decrypted traffic'}, 'tls-encrypted'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'help-string'=>'TLS encrypted traffic'}, 'non-tls'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'help-string'=>'non TLS traffic'}} # TLS decrypted traffic def tls_decrypted prop_get('tls-decrypted') end # TLS decrypted traffic def tls_decrypted=(val) prop_set('tls-decrypted', val) end # TLS encrypted traffic def tls_encrypted prop_get('tls-encrypted') end # TLS encrypted traffic def tls_encrypted=(val) prop_set('tls-encrypted', val) end # non TLS traffic def non_tls prop_get('non-tls') end # non TLS traffic def non_tls=(val) prop_set('non-tls', val) end end def traffic_type @subclasses['traffic-type'] ||= TrafficType.new(parent_instance: self, client: @client, create_children: @create_children) end class Action < ConfigClass def has_multiple_values?; false; end def _section :action end @props = {'packet-broker-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'attach packet-broker profile with this rule'}} # attach packet-broker profile with this rule def packet_broker_profile prop_get('packet-broker-profile') end # attach packet-broker profile with this rule def packet_broker_profile=(val) prop_set('packet-broker-profile', val) end end def action @subclasses['action'] ||= Action.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'negate-source'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'negate-destination'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable the rule'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'no-default'=>'yes'}, 'group-tag'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'127'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def negate_source prop_get('negate-source') end def negate_source=(val) prop_set('negate-source', val) end def negate_destination prop_get('negate-destination') end def negate_destination=(val) prop_set('negate-destination', val) end # Disable the rule def disabled prop_get('disabled') end # Disable the rule def disabled=(val) prop_set('disabled', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end def group_tag prop_get('group-tag') end def group_tag=(val) prop_set('group-tag', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def network_packet_broker @subclasses['network-packet-broker'] ||= NetworkPacketBroker.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def pre_rulebase @subclasses['pre-rulebase'] ||= PreRulebase.new(parent_instance: self, client: @client, create_children: @create_children) end class PostRulebase < ConfigClass def has_multiple_values?; false; end def _section :'post-rulebase' end class Security < ConfigClass def has_multiple_values?; false; end def _section :security end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Target < ConfigClass def has_multiple_values?; false; end def _section :target end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Vsys < XML::ConfigClass def has_multiple_values?; true; end def _section :vsys end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vsys maybe_register_subclass('vsys', Vsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'negate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Target to all but these specified devices and tags'}} # Target to all but these specified devices and tags def negate prop_get('negate') end # Target to all but these specified devices and tags def negate=(val) prop_set('negate', val) end end def target @subclasses['target'] ||= Target.new(parent_instance: self, client: @client, create_children: @create_children) end class From < XML::ConfigClass def has_multiple_values?; true; end def _section :from end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def from maybe_register_subclass('from', From.new(parent_instance: self, client: @client, create_children: @create_children)) end class To < XML::ConfigClass def has_multiple_values?; true; end def _section :to end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'multicast', 'help-string'=>'multicast zone'}, {'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def to maybe_register_subclass('to', To.new(parent_instance: self, client: @client, create_children: @create_children)) end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceUser < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-user' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'1023', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any user'}, {'value'=>'pre-logon', 'help-string'=>'prelogon client machine'}, {'value'=>'known-user', 'help-string'=>'any known user'}, {'value'=>'unknown', 'help-string'=>'unknown user'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_user maybe_register_subclass('source-user', SourceUser.new(parent_instance: self, client: @client, create_children: @create_children)) end class Destination < XML::ConfigClass def has_multiple_values?; true; end def _section :destination end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../source/member', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination maybe_register_subclass('destination', Destination.new(parent_instance: self, client: @client, create_children: @create_children)) end class Service < XML::ConfigClass def has_multiple_values?; true; end def _section :service end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'application-default', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'application-default', 'help-string'=>'default service for selected application'}, {'value'=>'any', 'help-string'=>'any service'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def service maybe_register_subclass('service', Service.new(parent_instance: self, client: @client, create_children: @create_children)) end class Category < XML::ConfigClass def has_multiple_values?; true; end def _section :category end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'128'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any url category'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def category maybe_register_subclass('category', Category.new(parent_instance: self, client: @client, create_children: @create_children)) end class Application < XML::ConfigClass def has_multiple_values?; true; end def _section :application end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any application'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def application maybe_register_subclass('application', Application.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceImsi < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-imsi' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'imsi'=>{}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any IMSI'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_imsi maybe_register_subclass('source-imsi', SourceImsi.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceImei < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-imei' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'imei'=>{}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any IMEI'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_imei maybe_register_subclass('source-imei', SourceImei.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceNwSlice < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-nw-slice' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'nssai'=>{}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any NSSAI ST value'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_nw_slice maybe_register_subclass('source-nw-slice', SourceNwSlice.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceHip < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-hip' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any hip-profile'}, {'value'=>'no-hip', 'help-string'=>'no hip-profile'}, {'value'=>'quarantine', 'help-string'=>'quarantined device'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_hip maybe_register_subclass('source-hip', SourceHip.new(parent_instance: self, client: @client, create_children: @create_children)) end class DestinationHip < XML::ConfigClass def has_multiple_values?; true; end def _section :'destination-hip' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any device'}, {'value'=>'quarantine', 'help-string'=>'quarantined device'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination_hip maybe_register_subclass('destination-hip', DestinationHip.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end class Option < ConfigClass def has_multiple_values?; false; end def _section :option end @props = {'disable-server-response-inspection'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable inspection of server side traffic'}} # Disable inspection of server side traffic def disable_server_response_inspection prop_get('disable-server-response-inspection') end # Disable inspection of server side traffic def disable_server_response_inspection=(val) prop_set('disable-server-response-inspection', val) end end def option @subclasses['option'] ||= Option.new(parent_instance: self, client: @client, create_children: @create_children) end class ProfileSetting < XML::ConfigClass def has_multiple_values?; true; end def _section :'profile-setting' end class Profiles < ConfigClass def has_multiple_values?; false; end def _section :profiles end class UrlFiltering < XML::ConfigClass def has_multiple_values?; true; end def _section :'url-filtering' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def url_filtering maybe_register_subclass('url-filtering', UrlFiltering.new(parent_instance: self, client: @client, create_children: @create_children)) end class DataFiltering < XML::ConfigClass def has_multiple_values?; true; end def _section :'data-filtering' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def data_filtering maybe_register_subclass('data-filtering', DataFiltering.new(parent_instance: self, client: @client, create_children: @create_children)) end class FileBlocking < XML::ConfigClass def has_multiple_values?; true; end def _section :'file-blocking' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def file_blocking maybe_register_subclass('file-blocking', FileBlocking.new(parent_instance: self, client: @client, create_children: @create_children)) end class WildfireAnalysis < XML::ConfigClass def has_multiple_values?; true; end def _section :'wildfire-analysis' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'47', 'no-default'=>'yes', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def wildfire_analysis maybe_register_subclass('wildfire-analysis', WildfireAnalysis.new(parent_instance: self, client: @client, create_children: @create_children)) end class Virus < XML::ConfigClass def has_multiple_values?; true; end def _section :virus end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'default'=>'default', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def virus maybe_register_subclass('virus', Virus.new(parent_instance: self, client: @client, create_children: @create_children)) end class Spyware < XML::ConfigClass def has_multiple_values?; true; end def _section :spyware end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'default'=>'default', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def spyware maybe_register_subclass('spyware', Spyware.new(parent_instance: self, client: @client, create_children: @create_children)) end class Vulnerability < XML::ConfigClass def has_multiple_values?; true; end def _section :vulnerability end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'default'=>'default', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def vulnerability maybe_register_subclass('vulnerability', Vulnerability.new(parent_instance: self, client: @client, create_children: @create_children)) end class Gtp < XML::ConfigClass def has_multiple_values?; true; end def _section :gtp end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'maxlen'=>'63', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def gtp maybe_register_subclass('gtp', Gtp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Sctp < XML::ConfigClass def has_multiple_values?; true; end def _section :sctp end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'maxlen'=>'63', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def sctp maybe_register_subclass('sctp', Sctp.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def profiles @subclasses['profiles'] ||= Profiles.new(parent_instance: self, client: @client, create_children: @create_children) end class Group < XML::ConfigClass def has_multiple_values?; true; end def _section :group end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def group maybe_register_subclass('group', Group.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def profile_setting maybe_register_subclass('profile-setting', ProfileSetting.new(parent_instance: self, client: @client, create_children: @create_children)) end class Qos < ConfigClass def has_multiple_values?; false; end def _section :qos end class Marking < XML::ConfigClass def has_multiple_values?; true; end def _section :marking end class FollowC2sFlow < ConfigClass def has_multiple_values?; false; end def _section :'follow-c2s-flow' end @props = {} end def follow_c2s_flow @subclasses['follow-c2s-flow'] ||= FollowC2sFlow.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'ip-dscp'=>{'node-type'=>'element', 'help-string'=>'IP DSCP', 'type'=>'multiple', 'multi-types'=>{'string'=>{'regex'=>'^([0-1]){6}$', 'help-string'=>'specify codepoint in format of \'xxxxxx\' where x is {0|1}'}, 'enum'=>[{'value'=>'ef', 'help-string'=>'codepoint 101110, expedited forwarding'}, {'value'=>'af11', 'help-string'=>'codepoint 001010'}, {'value'=>'af12', 'help-string'=>'codepoint 001100'}, {'value'=>'af13', 'help-string'=>'codepoint 001110'}, {'value'=>'af21', 'help-string'=>'codepoint 010010'}, {'value'=>'af22', 'help-string'=>'codepoint 010100'}, {'value'=>'af23', 'help-string'=>'codepoint 010110'}, {'value'=>'af31', 'help-string'=>'codepoint 011010'}, {'value'=>'af32', 'help-string'=>'codepoint 011100'}, {'value'=>'af33', 'help-string'=>'codepoint 011110'}, {'value'=>'af41', 'help-string'=>'codepoint 100010'}, {'value'=>'af42', 'help-string'=>'codepoint 100100'}, {'value'=>'af43', 'help-string'=>'codepoint 100110'}, {'value'=>'cs0', 'help-string'=>'codepoint 000000'}, {'value'=>'cs1', 'help-string'=>'codepoint 001000'}, {'value'=>'cs2', 'help-string'=>'codepoint 010000'}, {'value'=>'cs3', 'help-string'=>'codepoint 011000'}, {'value'=>'cs4', 'help-string'=>'codepoint 100000'}, {'value'=>'cs5', 'help-string'=>'codepoint 101000'}, {'value'=>'cs6', 'help-string'=>'codepoint 110000'}, {'value'=>'cs7', 'help-string'=>'codepoint 111000'}]}}, 'ip-precedence'=>{'node-type'=>'element', 'help-string'=>'IP Precedence', 'type'=>'multiple', 'multi-types'=>{'string'=>{'regex'=>'^([0-1]){3}$', 'help-string'=>'specify codepoint in format of \'xxx\''}, 'enum'=>[{'value'=>'cs0', 'help-string'=>'codepoint 000'}, {'value'=>'cs1', 'help-string'=>'codepoint 001'}, {'value'=>'cs2', 'help-string'=>'codepoint 010'}, {'value'=>'cs3', 'help-string'=>'codepoint 011'}, {'value'=>'cs4', 'help-string'=>'codepoint 100'}, {'value'=>'cs5', 'help-string'=>'codepoint 101'}, {'value'=>'cs6', 'help-string'=>'codepoint 110'}, {'value'=>'cs7', 'help-string'=>'codepoint 111'}]}}} # IP DSCP def ip_dscp prop_get('ip-dscp') end # IP DSCP def ip_dscp=(val) prop_set('ip-dscp', val) end # IP Precedence def ip_precedence prop_get('ip-precedence') end # IP Precedence def ip_precedence=(val) prop_set('ip-precedence', val) end end def marking maybe_register_subclass('marking', Marking.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def qos @subclasses['qos'] ||= Qos.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'schedule'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'optional'=>'yes'}, 'negate-source'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'negate-destination'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable the rule'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'no-default'=>'yes'}, 'group-tag'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'127'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'allow', 'enum'=>[{'value'=>'deny', 'help-string'=>'Deny', 'show-help-tip'=>'block, use App Deny action'}, {'value'=>'allow', 'help-string'=>'Allow'}, {'value'=>'drop', 'help-string'=>'Drop', 'show-help-tip'=>'silent drop, send optional ICMP Unreachable'}, {'value'=>'reset-client', 'help-string'=>'Reset client'}, {'value'=>'reset-server', 'help-string'=>'Reset server'}, {'value'=>'reset-both', 'help-string'=>'Reset both client and server'}]}, 'icmp-unreachable'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Send ICMP unreachable error when action is drop or reset'}, 'disable-inspect'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'rule-type'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'universal', 'optional'=>'yes', 'enum'=>[{'value'=>'universal', 'help-string'=>'default', 'show-help-tip'=>'Applies to both interzone and intrazone traffic.'}, {'value'=>'intrazone', 'help-string'=>'Devices with PAN-OS 6.1 or later', 'show-help-tip'=>'Only applies to traffic within one of the specified zones.'}, {'value'=>'interzone', 'help-string'=>'Devices with PAN-OS 6.1 or later', 'show-help-tip'=>'Applies to traffic from any source zone to any destination zone. It does not apply to traffic within a zone, even if the same zone is in source and destination columns.'}]}, 'log-setting'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'maxlen'=>'63', 'optional'=>'yes'}, 'log-start'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Log at session start'}, 'log-end'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'optional'=>'yes', 'help-string'=>'Log at session end (required for certain ACC tables)'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def schedule prop_get('schedule') end def schedule=(val) prop_set('schedule', val) end def negate_source prop_get('negate-source') end def negate_source=(val) prop_set('negate-source', val) end def negate_destination prop_get('negate-destination') end def negate_destination=(val) prop_set('negate-destination', val) end # Disable the rule def disabled prop_get('disabled') end # Disable the rule def disabled=(val) prop_set('disabled', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end def group_tag prop_get('group-tag') end def group_tag=(val) prop_set('group-tag', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # Send ICMP unreachable error when action is drop or reset def icmp_unreachable prop_get('icmp-unreachable') end # Send ICMP unreachable error when action is drop or reset def icmp_unreachable=(val) prop_set('icmp-unreachable', val) end def disable_inspect prop_get('disable-inspect') end def disable_inspect=(val) prop_set('disable-inspect', val) end def rule_type prop_get('rule-type') end def rule_type=(val) prop_set('rule-type', val) end def log_setting prop_get('log-setting') end def log_setting=(val) prop_set('log-setting', val) end # Log at session start def log_start prop_get('log-start') end # Log at session start def log_start=(val) prop_set('log-start', val) end # Log at session end (required for certain ACC tables) def log_end prop_get('log-end') end # Log at session end (required for certain ACC tables) def log_end=(val) prop_set('log-end', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def security @subclasses['security'] ||= Security.new(parent_instance: self, client: @client, create_children: @create_children) end class DefaultSecurityRules < ConfigClass def has_multiple_values?; false; end def _section :'default-security-rules' end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end class ProfileSetting < XML::ConfigClass def has_multiple_values?; true; end def _section :'profile-setting' end class Profiles < ConfigClass def has_multiple_values?; false; end def _section :profiles end class UrlFiltering < XML::ConfigClass def has_multiple_values?; true; end def _section :'url-filtering' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def url_filtering maybe_register_subclass('url-filtering', UrlFiltering.new(parent_instance: self, client: @client, create_children: @create_children)) end class DataFiltering < XML::ConfigClass def has_multiple_values?; true; end def _section :'data-filtering' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def data_filtering maybe_register_subclass('data-filtering', DataFiltering.new(parent_instance: self, client: @client, create_children: @create_children)) end class FileBlocking < XML::ConfigClass def has_multiple_values?; true; end def _section :'file-blocking' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def file_blocking maybe_register_subclass('file-blocking', FileBlocking.new(parent_instance: self, client: @client, create_children: @create_children)) end class WildfireAnalysis < XML::ConfigClass def has_multiple_values?; true; end def _section :'wildfire-analysis' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'47', 'no-default'=>'yes', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def wildfire_analysis maybe_register_subclass('wildfire-analysis', WildfireAnalysis.new(parent_instance: self, client: @client, create_children: @create_children)) end class Virus < XML::ConfigClass def has_multiple_values?; true; end def _section :virus end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'default'=>'default', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def virus maybe_register_subclass('virus', Virus.new(parent_instance: self, client: @client, create_children: @create_children)) end class Spyware < XML::ConfigClass def has_multiple_values?; true; end def _section :spyware end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'default'=>'default', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def spyware maybe_register_subclass('spyware', Spyware.new(parent_instance: self, client: @client, create_children: @create_children)) end class Vulnerability < XML::ConfigClass def has_multiple_values?; true; end def _section :vulnerability end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'default'=>'default', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def vulnerability maybe_register_subclass('vulnerability', Vulnerability.new(parent_instance: self, client: @client, create_children: @create_children)) end class Gtp < XML::ConfigClass def has_multiple_values?; true; end def _section :gtp end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'maxlen'=>'63', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def gtp maybe_register_subclass('gtp', Gtp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Sctp < XML::ConfigClass def has_multiple_values?; true; end def _section :sctp end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'maxlen'=>'63', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def sctp maybe_register_subclass('sctp', Sctp.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def profiles @subclasses['profiles'] ||= Profiles.new(parent_instance: self, client: @client, create_children: @create_children) end class Group < XML::ConfigClass def has_multiple_values?; true; end def _section :group end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def group maybe_register_subclass('group', Group.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def profile_setting maybe_register_subclass('profile-setting', ProfileSetting.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'^(intrazone-default|interzone-default)$', 'help-string'=>'intrazone-default or interzone-default'}, 'log-setting'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'maxlen'=>'63', 'optional'=>'yes'}, 'log-start'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Log at session start'}, 'log-end'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'optional'=>'yes', 'help-string'=>'Log at session end (required for certain ACC tables)'}, 'group-tag'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'127'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'allow', 'enum'=>[{'value'=>'deny', 'help-string'=>'Deny'}, {'value'=>'allow', 'help-string'=>'Allow'}, {'value'=>'drop', 'help-string'=>'Drop', 'show-help-tip'=>'silent drop, send optional ICMP Unreachable'}, {'value'=>'reset-client', 'help-string'=>'Reset client'}, {'value'=>'reset-server', 'help-string'=>'Reset server'}, {'value'=>'reset-both', 'help-string'=>'Reset both client and server'}]}, 'icmp-unreachable'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Send ICMP unreachable error when action is drop or reset'}} # intrazone-default or interzone-default def name prop_get('@name') end def log_setting prop_get('log-setting') end def log_setting=(val) prop_set('log-setting', val) end # Log at session start def log_start prop_get('log-start') end # Log at session start def log_start=(val) prop_set('log-start', val) end # Log at session end (required for certain ACC tables) def log_end prop_get('log-end') end # Log at session end (required for certain ACC tables) def log_end=(val) prop_set('log-end', val) end def group_tag prop_get('group-tag') end def group_tag=(val) prop_set('group-tag', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # Send ICMP unreachable error when action is drop or reset def icmp_unreachable prop_get('icmp-unreachable') end # Send ICMP unreachable error when action is drop or reset def icmp_unreachable=(val) prop_set('icmp-unreachable', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def default_security_rules @subclasses['default-security-rules'] ||= DefaultSecurityRules.new(parent_instance: self, client: @client, create_children: @create_children) end class ApplicationOverride < ConfigClass def has_multiple_values?; false; end def _section :'application-override' end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Target < ConfigClass def has_multiple_values?; false; end def _section :target end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Vsys < XML::ConfigClass def has_multiple_values?; true; end def _section :vsys end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vsys maybe_register_subclass('vsys', Vsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'negate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Target to all but these specified devices and tags'}} # Target to all but these specified devices and tags def negate prop_get('negate') end # Target to all but these specified devices and tags def negate=(val) prop_set('negate', val) end end def target @subclasses['target'] ||= Target.new(parent_instance: self, client: @client, create_children: @create_children) end class From < XML::ConfigClass def has_multiple_values?; true; end def _section :from end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def from maybe_register_subclass('from', From.new(parent_instance: self, client: @client, create_children: @create_children)) end class To < XML::ConfigClass def has_multiple_values?; true; end def _section :to end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'multicast', 'help-string'=>'multicast zone'}, {'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def to maybe_register_subclass('to', To.new(parent_instance: self, client: @client, create_children: @create_children)) end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceUser < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-user' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'1023', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any user'}, {'value'=>'pre-logon', 'help-string'=>'prelogon client machine'}, {'value'=>'known-user', 'help-string'=>'any known user'}, {'value'=>'unknown', 'help-string'=>'unknown user'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_user maybe_register_subclass('source-user', SourceUser.new(parent_instance: self, client: @client, create_children: @create_children)) end class Destination < XML::ConfigClass def has_multiple_values?; true; end def _section :destination end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../source/member', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination maybe_register_subclass('destination', Destination.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'negate-source'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'negate-destination'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable the rule'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'no-default'=>'yes'}, 'group-tag'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'127'}, 'protocol'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'tcp', 'enum'=>[{'value'=>'tcp', 'help-string'=>'TCP'}, {'value'=>'udp', 'help-string'=>'UDP'}]}, 'port'=>{'node-type'=>'element', 'type'=>'rangelistspec', 'min'=>'0'}, 'application'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'no-default'=>'yes'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def negate_source prop_get('negate-source') end def negate_source=(val) prop_set('negate-source', val) end def negate_destination prop_get('negate-destination') end def negate_destination=(val) prop_set('negate-destination', val) end # Disable the rule def disabled prop_get('disabled') end # Disable the rule def disabled=(val) prop_set('disabled', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end def group_tag prop_get('group-tag') end def group_tag=(val) prop_set('group-tag', val) end def protocol prop_get('protocol') end def protocol=(val) prop_set('protocol', val) end def port prop_get('port') end def port=(val) prop_set('port', val) end def application prop_get('application') end def application=(val) prop_set('application', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def application_override @subclasses['application-override'] ||= ApplicationOverride.new(parent_instance: self, client: @client, create_children: @create_children) end class Decryption < ConfigClass def has_multiple_values?; false; end def _section :decryption end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Target < ConfigClass def has_multiple_values?; false; end def _section :target end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Vsys < XML::ConfigClass def has_multiple_values?; true; end def _section :vsys end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vsys maybe_register_subclass('vsys', Vsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'negate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Target to all but these specified devices and tags'}} # Target to all but these specified devices and tags def negate prop_get('negate') end # Target to all but these specified devices and tags def negate=(val) prop_set('negate', val) end end def target @subclasses['target'] ||= Target.new(parent_instance: self, client: @client, create_children: @create_children) end class From < XML::ConfigClass def has_multiple_values?; true; end def _section :from end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def from maybe_register_subclass('from', From.new(parent_instance: self, client: @client, create_children: @create_children)) end class To < XML::ConfigClass def has_multiple_values?; true; end def _section :to end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../from/member', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def to maybe_register_subclass('to', To.new(parent_instance: self, client: @client, create_children: @create_children)) end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceUser < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-user' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'1023', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any user'}, {'value'=>'pre-logon', 'help-string'=>'prelogon client machine'}, {'value'=>'known-user', 'help-string'=>'any known user'}, {'value'=>'unknown', 'help-string'=>'unknown user'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_user maybe_register_subclass('source-user', SourceUser.new(parent_instance: self, client: @client, create_children: @create_children)) end class Destination < XML::ConfigClass def has_multiple_values?; true; end def _section :destination end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../source/member', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination maybe_register_subclass('destination', Destination.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceHip < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-hip' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any hip-profile'}, {'value'=>'no-hip', 'help-string'=>'no hip-profile'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_hip maybe_register_subclass('source-hip', SourceHip.new(parent_instance: self, client: @client, create_children: @create_children)) end class DestinationHip < XML::ConfigClass def has_multiple_values?; true; end def _section :'destination-hip' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any device'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination_hip maybe_register_subclass('destination-hip', DestinationHip.new(parent_instance: self, client: @client, create_children: @create_children)) end class Service < XML::ConfigClass def has_multiple_values?; true; end def _section :service end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'application-default', 'help-string'=>'default service for selected application'}, {'value'=>'any', 'help-string'=>'any service'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def service maybe_register_subclass('service', Service.new(parent_instance: self, client: @client, create_children: @create_children)) end class Category < XML::ConfigClass def has_multiple_values?; true; end def _section :category end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'128'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any url category'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def category maybe_register_subclass('category', Category.new(parent_instance: self, client: @client, create_children: @create_children)) end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class SslForwardProxy < ConfigClass def has_multiple_values?; false; end def _section :'ssl-forward-proxy' end @props = {} end def ssl_forward_proxy @subclasses['ssl-forward-proxy'] ||= SslForwardProxy.new(parent_instance: self, client: @client, create_children: @create_children) end class SshProxy < ConfigClass def has_multiple_values?; false; end def _section :'ssh-proxy' end @props = {} end def ssh_proxy @subclasses['ssh-proxy'] ||= SshProxy.new(parent_instance: self, client: @client, create_children: @create_children) end class SslInboundInspection < ConfigClass def has_multiple_values?; false; end def _section :'ssl-inbound-inspection' end class Certificates < XML::ConfigClass def has_multiple_values?; true; end def _section :certificates end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'maxlen'=>'63'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def certificates maybe_register_subclass('certificates', Certificates.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def ssl_inbound_inspection @subclasses['ssl-inbound-inspection'] ||= SslInboundInspection.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'negate-source'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'negate-destination'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable the rule'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'no-default'=>'yes'}, 'group-tag'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'127'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'no-decrypt', 'enum'=>[{'value'=>'no-decrypt'}, {'value'=>'decrypt'}, {'value'=>'decrypt-and-forward'}]}, 'profile'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'help-string'=>'decryption profile', 'optional'=>'yes'}, 'packet-broker-profile'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'help-string'=>'packet-broker profile', 'optional'=>'yes'}, 'log-success'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Log successful TLS handshakes'}, 'log-fail'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'optional'=>'yes', 'help-string'=>'Log unsuccessful TLS handshakes'}, 'log-setting'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'maxlen'=>'63', 'optional'=>'yes'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def negate_source prop_get('negate-source') end def negate_source=(val) prop_set('negate-source', val) end def negate_destination prop_get('negate-destination') end def negate_destination=(val) prop_set('negate-destination', val) end # Disable the rule def disabled prop_get('disabled') end # Disable the rule def disabled=(val) prop_set('disabled', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end def group_tag prop_get('group-tag') end def group_tag=(val) prop_set('group-tag', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # decryption profile def profile prop_get('profile') end # decryption profile def profile=(val) prop_set('profile', val) end # packet-broker profile def packet_broker_profile prop_get('packet-broker-profile') end # packet-broker profile def packet_broker_profile=(val) prop_set('packet-broker-profile', val) end # Log successful TLS handshakes def log_success prop_get('log-success') end # Log successful TLS handshakes def log_success=(val) prop_set('log-success', val) end # Log unsuccessful TLS handshakes def log_fail prop_get('log-fail') end # Log unsuccessful TLS handshakes def log_fail=(val) prop_set('log-fail', val) end def log_setting prop_get('log-setting') end def log_setting=(val) prop_set('log-setting', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def decryption @subclasses['decryption'] ||= Decryption.new(parent_instance: self, client: @client, create_children: @create_children) end class Authentication < ConfigClass def has_multiple_values?; false; end def _section :authentication end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Target < ConfigClass def has_multiple_values?; false; end def _section :target end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Vsys < XML::ConfigClass def has_multiple_values?; true; end def _section :vsys end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vsys maybe_register_subclass('vsys', Vsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'negate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Target to all but these specified devices and tags'}} # Target to all but these specified devices and tags def negate prop_get('negate') end # Target to all but these specified devices and tags def negate=(val) prop_set('negate', val) end end def target @subclasses['target'] ||= Target.new(parent_instance: self, client: @client, create_children: @create_children) end class From < XML::ConfigClass def has_multiple_values?; true; end def _section :from end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def from maybe_register_subclass('from', From.new(parent_instance: self, client: @client, create_children: @create_children)) end class To < XML::ConfigClass def has_multiple_values?; true; end def _section :to end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../from/member', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def to maybe_register_subclass('to', To.new(parent_instance: self, client: @client, create_children: @create_children)) end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceUser < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-user' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'1023', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any user'}, {'value'=>'pre-logon', 'help-string'=>'prelogon client machine'}, {'value'=>'known-user', 'help-string'=>'any known user'}, {'value'=>'unknown', 'help-string'=>'unknown user'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_user maybe_register_subclass('source-user', SourceUser.new(parent_instance: self, client: @client, create_children: @create_children)) end class Destination < XML::ConfigClass def has_multiple_values?; true; end def _section :destination end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../source/member', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination maybe_register_subclass('destination', Destination.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceHip < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-hip' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any hip-profile'}, {'value'=>'no-hip', 'help-string'=>'no hip-profile'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_hip maybe_register_subclass('source-hip', SourceHip.new(parent_instance: self, client: @client, create_children: @create_children)) end class DestinationHip < XML::ConfigClass def has_multiple_values?; true; end def _section :'destination-hip' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any device'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination_hip maybe_register_subclass('destination-hip', DestinationHip.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end class Service < XML::ConfigClass def has_multiple_values?; true; end def _section :service end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'service-http', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'default', 'help-string'=>'default service for selected application'}, {'value'=>'any', 'help-string'=>'any service'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def service maybe_register_subclass('service', Service.new(parent_instance: self, client: @client, create_children: @create_children)) end class Category < XML::ConfigClass def has_multiple_values?; true; end def _section :category end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'128'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any url category'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def category maybe_register_subclass('category', Category.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'negate-source'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'negate-destination'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable the rule'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'no-default'=>'yes'}, 'group-tag'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'127'}, 'authentication-enforcement'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Authentication enforcement object to use for authentication.'}, 'log-setting'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'Log setting for forwarding authentication logs'}, 'timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'1440', 'default'=>'60', 'help-string'=>'expiration timer (minutes)'}, 'log-authentication-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def negate_source prop_get('negate-source') end def negate_source=(val) prop_set('negate-source', val) end def negate_destination prop_get('negate-destination') end def negate_destination=(val) prop_set('negate-destination', val) end # Disable the rule def disabled prop_get('disabled') end # Disable the rule def disabled=(val) prop_set('disabled', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end def group_tag prop_get('group-tag') end def group_tag=(val) prop_set('group-tag', val) end # Authentication enforcement object to use for authentication. def authentication_enforcement prop_get('authentication-enforcement') end # Authentication enforcement object to use for authentication. def authentication_enforcement=(val) prop_set('authentication-enforcement', val) end # Log setting for forwarding authentication logs def log_setting prop_get('log-setting') end # Log setting for forwarding authentication logs def log_setting=(val) prop_set('log-setting', val) end # expiration timer (minutes) def timeout prop_get('timeout') end # expiration timer (minutes) def timeout=(val) prop_set('timeout', val) end def log_authentication_timeout prop_get('log-authentication-timeout') end def log_authentication_timeout=(val) prop_set('log-authentication-timeout', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def authentication @subclasses['authentication'] ||= Authentication.new(parent_instance: self, client: @client, create_children: @create_children) end class Qos < ConfigClass def has_multiple_values?; false; end def _section :qos end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Target < ConfigClass def has_multiple_values?; false; end def _section :target end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Vsys < XML::ConfigClass def has_multiple_values?; true; end def _section :vsys end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vsys maybe_register_subclass('vsys', Vsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'negate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Target to all but these specified devices and tags'}} # Target to all but these specified devices and tags def negate prop_get('negate') end # Target to all but these specified devices and tags def negate=(val) prop_set('negate', val) end end def target @subclasses['target'] ||= Target.new(parent_instance: self, client: @client, create_children: @create_children) end class From < XML::ConfigClass def has_multiple_values?; true; end def _section :from end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def from maybe_register_subclass('from', From.new(parent_instance: self, client: @client, create_children: @create_children)) end class To < XML::ConfigClass def has_multiple_values?; true; end def _section :to end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'multicast', 'help-string'=>'multicast zone'}, {'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def to maybe_register_subclass('to', To.new(parent_instance: self, client: @client, create_children: @create_children)) end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceUser < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-user' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'1023', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any user'}, {'value'=>'pre-logon', 'help-string'=>'prelogon client machine'}, {'value'=>'known-user', 'help-string'=>'any known user'}, {'value'=>'unknown', 'help-string'=>'unknown user'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_user maybe_register_subclass('source-user', SourceUser.new(parent_instance: self, client: @client, create_children: @create_children)) end class Destination < XML::ConfigClass def has_multiple_values?; true; end def _section :destination end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../source/member', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination maybe_register_subclass('destination', Destination.new(parent_instance: self, client: @client, create_children: @create_children)) end class Service < XML::ConfigClass def has_multiple_values?; true; end def _section :service end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'application-default', 'help-string'=>'default service for selected application'}, {'value'=>'any', 'help-string'=>'any service'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def service maybe_register_subclass('service', Service.new(parent_instance: self, client: @client, create_children: @create_children)) end class Category < XML::ConfigClass def has_multiple_values?; true; end def _section :category end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'128'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any url category'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def category maybe_register_subclass('category', Category.new(parent_instance: self, client: @client, create_children: @create_children)) end class Application < XML::ConfigClass def has_multiple_values?; true; end def _section :application end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any application'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def application maybe_register_subclass('application', Application.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceHip < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-hip' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any hip-profile'}, {'value'=>'no-hip', 'help-string'=>'no hip-profile'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_hip maybe_register_subclass('source-hip', SourceHip.new(parent_instance: self, client: @client, create_children: @create_children)) end class DestinationHip < XML::ConfigClass def has_multiple_values?; true; end def _section :'destination-hip' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any device'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination_hip maybe_register_subclass('destination-hip', DestinationHip.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end class DscpTos < XML::ConfigClass def has_multiple_values?; true; end def _section :'dscp-tos' end class Any < ConfigClass def has_multiple_values?; false; end def _section :any end @props = {} end def any @subclasses['any'] ||= Any.new(parent_instance: self, client: @client, create_children: @create_children) end class Codepoints < XML::ConfigClass def has_multiple_values?; true; end def _section :codepoints end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Ef < ConfigClass def has_multiple_values?; false; end def _section :ef end @props = {'codepoint'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'ef', 'help-string'=>'101110'}]}} def codepoint prop_get('codepoint') end def codepoint=(val) prop_set('codepoint', val) end end def ef @subclasses['ef'] ||= Ef.new(parent_instance: self, client: @client, create_children: @create_children) end class Af < ConfigClass def has_multiple_values?; false; end def _section :af end @props = {'codepoint'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'af11', 'help-string'=>'af11 (001010)'}, {'value'=>'af12', 'help-string'=>'af12 (001100)'}, {'value'=>'af13', 'help-string'=>'af13 (001110)'}, {'value'=>'af21', 'help-string'=>'af21 (010010)'}, {'value'=>'af22', 'help-string'=>'af22 (010100)'}, {'value'=>'af23', 'help-string'=>'af23 (010110)'}, {'value'=>'af31', 'help-string'=>'af31 (011010)'}, {'value'=>'af32', 'help-string'=>'af32 (011100)'}, {'value'=>'af33', 'help-string'=>'af33 (011110)'}, {'value'=>'af41', 'help-string'=>'af41 (100010)'}, {'value'=>'af42', 'help-string'=>'af42 (100100)'}, {'value'=>'af43', 'help-string'=>'af43 (100110)'}]}} def codepoint prop_get('codepoint') end def codepoint=(val) prop_set('codepoint', val) end end def af @subclasses['af'] ||= Af.new(parent_instance: self, client: @client, create_children: @create_children) end class Cs < ConfigClass def has_multiple_values?; false; end def _section :cs end @props = {'codepoint'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'cs0', 'help-string'=>'cs0 (000000)'}, {'value'=>'cs1', 'help-string'=>'cs1 (001000)'}, {'value'=>'cs2', 'help-string'=>'cs2 (010000)'}, {'value'=>'cs3', 'help-string'=>'cs3 (011000)'}, {'value'=>'cs4', 'help-string'=>'cs4 (100000)'}, {'value'=>'cs5', 'help-string'=>'cs5 (101000)'}, {'value'=>'cs6', 'help-string'=>'cs6 (110000)'}, {'value'=>'cs7', 'help-string'=>'cs7 (111000)'}]}} def codepoint prop_get('codepoint') end def codepoint=(val) prop_set('codepoint', val) end end def cs @subclasses['cs'] ||= Cs.new(parent_instance: self, client: @client, create_children: @create_children) end class Tos < ConfigClass def has_multiple_values?; false; end def _section :tos end @props = {'codepoint'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'cs0', 'help-string'=>'cs0 (000)'}, {'value'=>'cs1', 'help-string'=>'cs1 (001)'}, {'value'=>'cs2', 'help-string'=>'cs2 (010)'}, {'value'=>'cs3', 'help-string'=>'cs3 (011)'}, {'value'=>'cs4', 'help-string'=>'cs4 (100)'}, {'value'=>'cs5', 'help-string'=>'cs5 (101)'}, {'value'=>'cs6', 'help-string'=>'cs6 (110)'}, {'value'=>'cs7', 'help-string'=>'cs7 (111)'}]}} def codepoint prop_get('codepoint') end def codepoint=(val) prop_set('codepoint', val) end end def tos @subclasses['tos'] ||= Tos.new(parent_instance: self, client: @client, create_children: @create_children) end class Custom < ConfigClass def has_multiple_values?; false; end def _section :custom end class Codepoint < ConfigClass def has_multiple_values?; false; end def _section :codepoint end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'optional'=>'yes', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'codepoint in format \'xxxxxx\' where x is {0|1}'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('name') end # alphanumeric string [ 0-9a-zA-Z._-] def name=(val) prop_set('name', val) end # codepoint in format 'xxxxxx' where x is {0|1} def value prop_get('value') end # codepoint in format 'xxxxxx' where x is {0|1} def value=(val) prop_set('value', val) end end def codepoint @subclasses['codepoint'] ||= Codepoint.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def custom @subclasses['custom'] ||= Custom.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'codepoint name, alphanumeric string [ 0-9a-zA-Z._-]'}} # codepoint name, alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def codepoints maybe_register_subclass('codepoints', Codepoints.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def dscp_tos maybe_register_subclass('dscp-tos', DscpTos.new(parent_instance: self, client: @client, create_children: @create_children)) end class Action < ConfigClass def has_multiple_values?; false; end def _section :action end @props = {'class'=>{'node-type'=>'element', 'type'=>'enum', 'help-string'=>'assigned class', 'enum'=>[{'value'=>'1'}, {'value'=>'2'}, {'value'=>'3'}, {'value'=>'4'}, {'value'=>'5'}, {'value'=>'6'}, {'value'=>'7'}, {'value'=>'8'}]}} # assigned class def class prop_get('class') end # assigned class def class=(val) prop_set('class', val) end end def action @subclasses['action'] ||= Action.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'schedule'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'optional'=>'yes'}, 'negate-source'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'negate-destination'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable the rule'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'no-default'=>'yes'}, 'group-tag'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'127'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def schedule prop_get('schedule') end def schedule=(val) prop_set('schedule', val) end def negate_source prop_get('negate-source') end def negate_source=(val) prop_set('negate-source', val) end def negate_destination prop_get('negate-destination') end def negate_destination=(val) prop_set('negate-destination', val) end # Disable the rule def disabled prop_get('disabled') end # Disable the rule def disabled=(val) prop_set('disabled', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end def group_tag prop_get('group-tag') end def group_tag=(val) prop_set('group-tag', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def qos @subclasses['qos'] ||= Qos.new(parent_instance: self, client: @client, create_children: @create_children) end class Nat < ConfigClass def has_multiple_values?; false; end def _section :nat end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Target < ConfigClass def has_multiple_values?; false; end def _section :target end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Vsys < XML::ConfigClass def has_multiple_values?; true; end def _section :vsys end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vsys maybe_register_subclass('vsys', Vsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'negate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Target to all but these specified devices and tags'}} # Target to all but these specified devices and tags def negate prop_get('negate') end # Target to all but these specified devices and tags def negate=(val) prop_set('negate', val) end end def target @subclasses['target'] ||= Target.new(parent_instance: self, client: @client, create_children: @create_children) end class From < XML::ConfigClass def has_multiple_values?; true; end def _section :from end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def from maybe_register_subclass('from', From.new(parent_instance: self, client: @client, create_children: @create_children)) end class To < XML::ConfigClass def has_multiple_values?; true; end def _section :to end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'max-count'=>'1', 'multi-types'=>{'string'=>{'maxlen'=>'31', 'disallow-keyword-any'=>'yes'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def to maybe_register_subclass('to', To.new(parent_instance: self, client: @client, create_children: @create_children)) end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end class Destination < XML::ConfigClass def has_multiple_values?; true; end def _section :destination end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../source/member', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination maybe_register_subclass('destination', Destination.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceTranslation < ConfigClass def has_multiple_values?; false; end def _section :'source-translation' end class DynamicIpAndPort < ConfigClass def has_multiple_values?; false; end def _section :'dynamic-ip-and-port' end class TranslatedAddress < XML::ConfigClass def has_multiple_values?; true; end def _section :'translated-address' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'no-default'=>'yes', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'ipspec'=>{}, 'iprangespec'=>{}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def translated_address maybe_register_subclass('translated-address', TranslatedAddress.new(parent_instance: self, client: @client, create_children: @create_children)) end class InterfaceAddress < ConfigClass def has_multiple_values?; false; end def _section :'interface-address' end @props = {'interface'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'Interface name'}, 'ip'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'specify exact IP address if interface has multiple addresses'}, 'floating-ip'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.nat.rules.interface-address.floating-ip-disable=True', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Floating IP address in HA Active-Active configuration'}} # Interface name def interface prop_get('interface') end # Interface name def interface=(val) prop_set('interface', val) end # specify exact IP address if interface has multiple addresses def ip prop_get('ip') end # specify exact IP address if interface has multiple addresses def ip=(val) prop_set('ip', val) end # Floating IP address in HA Active-Active configuration def floating_ip prop_get('floating-ip') end # Floating IP address in HA Active-Active configuration def floating_ip=(val) prop_set('floating-ip', val) end end def interface_address @subclasses['interface-address'] ||= InterfaceAddress.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def dynamic_ip_and_port @subclasses['dynamic-ip-and-port'] ||= DynamicIpAndPort.new(parent_instance: self, client: @client, create_children: @create_children) end class DynamicIp < ConfigClass def has_multiple_values?; false; end def _section :'dynamic-ip' end class TranslatedAddress < XML::ConfigClass def has_multiple_values?; true; end def _section :'translated-address' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'no-default'=>'yes', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'ipspec'=>{}, 'iprangespec'=>{}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def translated_address maybe_register_subclass('translated-address', TranslatedAddress.new(parent_instance: self, client: @client, create_children: @create_children)) end class Fallback < ConfigClass def has_multiple_values?; false; end def _section :fallback end class TranslatedAddress < XML::ConfigClass def has_multiple_values?; true; end def _section :'translated-address' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'no-default'=>'yes', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'ipspec'=>{}, 'iprangespec'=>{}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def translated_address maybe_register_subclass('translated-address', TranslatedAddress.new(parent_instance: self, client: @client, create_children: @create_children)) end class InterfaceAddress < ConfigClass def has_multiple_values?; false; end def _section :'interface-address' end @props = {'interface'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'Interface name'}, 'ip'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'specify exact IP address if interface has multiple addresses'}, 'floating-ip'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Floating IP address in HA Active-Active configuration'}} # Interface name def interface prop_get('interface') end # Interface name def interface=(val) prop_set('interface', val) end # specify exact IP address if interface has multiple addresses def ip prop_get('ip') end # specify exact IP address if interface has multiple addresses def ip=(val) prop_set('ip', val) end # Floating IP address in HA Active-Active configuration def floating_ip prop_get('floating-ip') end # Floating IP address in HA Active-Active configuration def floating_ip=(val) prop_set('floating-ip', val) end end def interface_address @subclasses['interface-address'] ||= InterfaceAddress.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def fallback @subclasses['fallback'] ||= Fallback.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def dynamic_ip @subclasses['dynamic-ip'] ||= DynamicIp.new(parent_instance: self, client: @client, create_children: @create_children) end class StaticIp < ConfigClass def has_multiple_values?; false; end def _section :'static-ip' end @props = {'translated-address'=>{'node-type'=>'element', 'type'=>'multiple', 'no-default'=>'yes', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'ipspec'=>{}, 'iprangespec'=>{}}}, 'bi-directional'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'allow reverse translation from translated address to original address', 'enum'=>[{'value'=>'yes', 'help-string'=>'Bi-directional rule'}, {'value'=>'no', 'help-string'=>'Uni-directional rule'}]}} def translated_address prop_get('translated-address') end def translated_address=(val) prop_set('translated-address', val) end # allow reverse translation from translated address to original address def bi_directional prop_get('bi-directional') end # allow reverse translation from translated address to original address def bi_directional=(val) prop_set('bi-directional', val) end end def static_ip @subclasses['static-ip'] ||= StaticIp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def source_translation @subclasses['source-translation'] ||= SourceTranslation.new(parent_instance: self, client: @client, create_children: @create_children) end class DestinationTranslation < ConfigClass def has_multiple_values?; false; end def _section :'destination-translation' end class DnsRewrite < ConfigClass def has_multiple_values?; false; end def _section :'dns-rewrite' end @props = {'direction'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'reverse', 'help-string'=>'Select direction to apply DNS rewrite', 'enum'=>[{'value'=>'reverse', 'help-string'=>'Reverse translation'}, {'value'=>'forward', 'help-string'=>'Forward translation'}]}} # Select direction to apply DNS rewrite def direction prop_get('direction') end # Select direction to apply DNS rewrite def direction=(val) prop_set('direction', val) end end def dns_rewrite @subclasses['dns-rewrite'] ||= DnsRewrite.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'translated-address'=>{'node-type'=>'element', 'type'=>'multiple', 'no-default'=>'yes', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'ipspec'=>{}, 'iprangespec'=>{}}}, 'translated-port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'no-default'=>'yes', 'optional'=>'yes'}} def translated_address prop_get('translated-address') end def translated_address=(val) prop_set('translated-address', val) end def translated_port prop_get('translated-port') end def translated_port=(val) prop_set('translated-port', val) end end def destination_translation @subclasses['destination-translation'] ||= DestinationTranslation.new(parent_instance: self, client: @client, create_children: @create_children) end class DynamicDestinationTranslation < ConfigClass def has_multiple_values?; false; end def _section :'dynamic-destination-translation' end @props = {'translated-address'=>{'node-type'=>'element', 'type'=>'multiple', 'no-default'=>'yes', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'ipspec'=>{}, 'iprangespec'=>{}}}, 'translated-port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'no-default'=>'yes', 'optional'=>'yes'}, 'distribution'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'round-robin', 'help-string'=>'Distribution algorithm for destination address pool', 'enum'=>[{'value'=>'round-robin', 'help-string'=>'Round Robin'}, {'value'=>'source-ip-hash', 'help-string'=>'Source IP Hash'}, {'value'=>'ip-modulo', 'help-string'=>'IP Modulo'}, {'value'=>'ip-hash', 'help-string'=>'IP Hash'}, {'value'=>'least-sessions', 'help-string'=>'Least Sessions'}]}} def translated_address prop_get('translated-address') end def translated_address=(val) prop_set('translated-address', val) end def translated_port prop_get('translated-port') end def translated_port=(val) prop_set('translated-port', val) end # Distribution algorithm for destination address pool def distribution prop_get('distribution') end # Distribution algorithm for destination address pool def distribution=(val) prop_set('distribution', val) end end def dynamic_destination_translation @subclasses['dynamic-destination-translation'] ||= DynamicDestinationTranslation.new(parent_instance: self, client: @client, create_children: @create_children) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'service'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'default'=>'any'}, 'nat-type'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'ipv4', 'help-string'=>'type of nat', 'enum'=>[{'value'=>'ipv4', 'help-string'=>'ipv4 nat'}, {'value'=>'nat64', 'help-string'=>'translator between ipv6 and ipv4'}, {'value'=>'nptv6', 'help-string'=>'network prefix translator for ipv6'}]}, 'to-interface'=>{'node-type'=>'element', 'optional'=>'yes', 'default'=>'any', 'type'=>'multiple', 'help-string'=>'Egress interface from route lookup', 'multi-types'=>{'string'=>{'maxlen'=>'63', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any interface'}]}}, 'active-active-device-binding'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-string'=>'Device binding configuration in HA Active-Active mode', 'enum'=>[{'value'=>'primary', 'help-string'=>'Rule is bound to Active-Primary device'}, {'value'=>'both', 'help-string'=>'Rule is bound to both devices'}, {'value'=>'0', 'help-string'=>'Rule is bound to device 0'}, {'value'=>'1', 'help-string'=>'Rule is bound to device 1'}]}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable the rule'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'no-default'=>'yes'}, 'group-tag'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'127'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def service prop_get('service') end def service=(val) prop_set('service', val) end # type of nat def nat_type prop_get('nat-type') end # type of nat def nat_type=(val) prop_set('nat-type', val) end # Egress interface from route lookup def to_interface prop_get('to-interface') end # Egress interface from route lookup def to_interface=(val) prop_set('to-interface', val) end # Device binding configuration in HA Active-Active mode def active_active_device_binding prop_get('active-active-device-binding') end # Device binding configuration in HA Active-Active mode def active_active_device_binding=(val) prop_set('active-active-device-binding', val) end # Disable the rule def disabled prop_get('disabled') end # Disable the rule def disabled=(val) prop_set('disabled', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end def group_tag prop_get('group-tag') end def group_tag=(val) prop_set('group-tag', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def nat @subclasses['nat'] ||= Nat.new(parent_instance: self, client: @client, create_children: @create_children) end class Pbf < ConfigClass def has_multiple_values?; false; end def _section :pbf end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Target < ConfigClass def has_multiple_values?; false; end def _section :target end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Vsys < XML::ConfigClass def has_multiple_values?; true; end def _section :vsys end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vsys maybe_register_subclass('vsys', Vsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'negate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Target to all but these specified devices and tags'}} # Target to all but these specified devices and tags def negate prop_get('negate') end # Target to all but these specified devices and tags def negate=(val) prop_set('negate', val) end end def target @subclasses['target'] ||= Target.new(parent_instance: self, client: @client, create_children: @create_children) end class From < ConfigClass def has_multiple_values?; false; end def _section :from end class Zone < XML::ConfigClass def has_multiple_values?; true; end def _section :zone end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'maxlen'=>'31'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def zone maybe_register_subclass('zone', Zone.new(parent_instance: self, client: @client, create_children: @create_children)) end class Interface < XML::ConfigClass def has_multiple_values?; true; end def _section :interface end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def interface maybe_register_subclass('interface', Interface.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def from @subclasses['from'] ||= From.new(parent_instance: self, client: @client, create_children: @create_children) end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceUser < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-user' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'1023', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any user'}, {'value'=>'pre-logon', 'help-string'=>'prelogon client machine'}, {'value'=>'known-user', 'help-string'=>'any known user'}, {'value'=>'unknown', 'help-string'=>'unknown user'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_user maybe_register_subclass('source-user', SourceUser.new(parent_instance: self, client: @client, create_children: @create_children)) end class Destination < XML::ConfigClass def has_multiple_values?; true; end def _section :destination end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../source/member', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination maybe_register_subclass('destination', Destination.new(parent_instance: self, client: @client, create_children: @create_children)) end class Service < XML::ConfigClass def has_multiple_values?; true; end def _section :service end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'application-default', 'help-string'=>'default service for selected application'}, {'value'=>'any', 'help-string'=>'any service'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def service maybe_register_subclass('service', Service.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end class Application < XML::ConfigClass def has_multiple_values?; true; end def _section :application end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any application'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def application maybe_register_subclass('application', Application.new(parent_instance: self, client: @client, create_children: @create_children)) end class Action < ConfigClass def has_multiple_values?; false; end def _section :action end class Forward < ConfigClass def has_multiple_values?; false; end def _section :forward end class Nexthop < ConfigClass def has_multiple_values?; false; end def _section :nexthop end @props = {'ip-address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Next hop IP address', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'ipspec'=>{'unicast-only'=>'yes'}}}, 'fqdn'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'regex'=>'^([a-zA-Z0-9._-])+$', 'help-string'=>'nexthop address FQDN name configuration'}} # Next hop IP address def ip_address prop_get('ip-address') end # Next hop IP address def ip_address=(val) prop_set('ip-address', val) end # nexthop address FQDN name configuration def fqdn prop_get('fqdn') end # nexthop address FQDN name configuration def fqdn=(val) prop_set('fqdn', val) end end def nexthop @subclasses['nexthop'] ||= Nexthop.new(parent_instance: self, client: @client, create_children: @create_children) end class Monitor < ConfigClass def has_multiple_values?; false; end def _section :monitor end @props = {'profile'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Monitoring profile associated with this rule'}, 'disable-if-unreachable'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable this rule if nexthop/monitor ip is unreachable'}, 'ip-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-only'=>'yes', 'help-string'=>'Monitor IP address'}} # Monitoring profile associated with this rule def profile prop_get('profile') end # Monitoring profile associated with this rule def profile=(val) prop_set('profile', val) end # Disable this rule if nexthop/monitor ip is unreachable def disable_if_unreachable prop_get('disable-if-unreachable') end # Disable this rule if nexthop/monitor ip is unreachable def disable_if_unreachable=(val) prop_set('disable-if-unreachable', val) end # Monitor IP address def ip_address prop_get('ip-address') end # Monitor IP address def ip_address=(val) prop_set('ip-address', val) end end def monitor @subclasses['monitor'] ||= Monitor.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'egress-interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Interface to route packet to'}} # Interface to route packet to def egress_interface prop_get('egress-interface') end # Interface to route packet to def egress_interface=(val) prop_set('egress-interface', val) end end def forward @subclasses['forward'] ||= Forward.new(parent_instance: self, client: @client, create_children: @create_children) end class Discard < ConfigClass def has_multiple_values?; false; end def _section :discard end @props = {} end def discard @subclasses['discard'] ||= Discard.new(parent_instance: self, client: @client, create_children: @create_children) end class NoPbf < ConfigClass def has_multiple_values?; false; end def _section :'no-pbf' end @props = {} end def no_pbf @subclasses['no-pbf'] ||= NoPbf.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'forward-to-vsys'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Virtual system/Shared gateway to route packet to'}} # Virtual system/Shared gateway to route packet to def forward_to_vsys prop_get('forward-to-vsys') end # Virtual system/Shared gateway to route packet to def forward_to_vsys=(val) prop_set('forward-to-vsys', val) end end def action @subclasses['action'] ||= Action.new(parent_instance: self, client: @client, create_children: @create_children) end class EnforceSymmetricReturn < ConfigClass def has_multiple_values?; false; end def _section :'enforce-symmetric-return' end class NexthopAddressList < XML::ConfigClass def has_multiple_values?; true; end def _section :'nexthop-address-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'unicast-only'=>'yes', 'help-string'=>'IP address'}} # IP address def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def nexthop_address_list maybe_register_subclass('nexthop-address-list', NexthopAddressList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable symmetric return'}} # Enable symmetric return def enabled prop_get('enabled') end # Enable symmetric return def enabled=(val) prop_set('enabled', val) end end def enforce_symmetric_return @subclasses['enforce-symmetric-return'] ||= EnforceSymmetricReturn.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'schedule'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'optional'=>'yes'}, 'negate-source'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'negate-destination'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable the rule'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'no-default'=>'yes'}, 'group-tag'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'127'}, 'active-active-device-binding'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.pbf.rules.active-active-device-binding-disable=True', 'optional'=>'yes', 'type'=>'enum', 'help-string'=>'Device binding configuration in HA Active-Active mode', 'enum'=>[{'value'=>'both', 'help-string'=>'Rule is bound to both devices'}, {'value'=>'0', 'help-string'=>'Rule is bound to device 0'}, {'value'=>'1', 'help-string'=>'Rule is bound to device 1'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def schedule prop_get('schedule') end def schedule=(val) prop_set('schedule', val) end def negate_source prop_get('negate-source') end def negate_source=(val) prop_set('negate-source', val) end def negate_destination prop_get('negate-destination') end def negate_destination=(val) prop_set('negate-destination', val) end # Disable the rule def disabled prop_get('disabled') end # Disable the rule def disabled=(val) prop_set('disabled', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end def group_tag prop_get('group-tag') end def group_tag=(val) prop_set('group-tag', val) end # Device binding configuration in HA Active-Active mode def active_active_device_binding prop_get('active-active-device-binding') end # Device binding configuration in HA Active-Active mode def active_active_device_binding=(val) prop_set('active-active-device-binding', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def pbf @subclasses['pbf'] ||= Pbf.new(parent_instance: self, client: @client, create_children: @create_children) end class Sdwan < ConfigClass def has_multiple_values?; false; end def _section :sdwan end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Target < ConfigClass def has_multiple_values?; false; end def _section :target end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Vsys < XML::ConfigClass def has_multiple_values?; true; end def _section :vsys end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vsys maybe_register_subclass('vsys', Vsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'negate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Target to all but these specified devices and tags'}} # Target to all but these specified devices and tags def negate prop_get('negate') end # Target to all but these specified devices and tags def negate=(val) prop_set('negate', val) end end def target @subclasses['target'] ||= Target.new(parent_instance: self, client: @client, create_children: @create_children) end class From < XML::ConfigClass def has_multiple_values?; true; end def _section :from end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def from maybe_register_subclass('from', From.new(parent_instance: self, client: @client, create_children: @create_children)) end class To < XML::ConfigClass def has_multiple_values?; true; end def _section :to end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../from/member', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def to maybe_register_subclass('to', To.new(parent_instance: self, client: @client, create_children: @create_children)) end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceUser < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-user' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'1023', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any user'}, {'value'=>'pre-logon', 'help-string'=>'prelogon client machine'}, {'value'=>'known-user', 'help-string'=>'any known user'}, {'value'=>'unknown', 'help-string'=>'unknown user'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_user maybe_register_subclass('source-user', SourceUser.new(parent_instance: self, client: @client, create_children: @create_children)) end class Destination < XML::ConfigClass def has_multiple_values?; true; end def _section :destination end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../source/member', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination maybe_register_subclass('destination', Destination.new(parent_instance: self, client: @client, create_children: @create_children)) end class Application < XML::ConfigClass def has_multiple_values?; true; end def _section :application end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any application'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def application maybe_register_subclass('application', Application.new(parent_instance: self, client: @client, create_children: @create_children)) end class Service < XML::ConfigClass def has_multiple_values?; true; end def _section :service end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'application-default', 'help-string'=>'default service for selected application'}, {'value'=>'any', 'help-string'=>'any service'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def service maybe_register_subclass('service', Service.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end class Action < ConfigClass def has_multiple_values?; false; end def _section :action end @props = {'traffic-distribution-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'attach sdwan traffic distribution associated with this rule'}, 'app-failover-for-nat-sessions'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'keep-existing-link', 'help-string'=>'For NAT sessions, specify whether to move to a better path', 'enum'=>[{'value'=>'keep-existing-link', 'help-string'=>'Keep session on existing link'}, {'value'=>'failover-to-better-path', 'help-string'=>'Allow session failover to better path'}]}} # attach sdwan traffic distribution associated with this rule def traffic_distribution_profile prop_get('traffic-distribution-profile') end # attach sdwan traffic distribution associated with this rule def traffic_distribution_profile=(val) prop_set('traffic-distribution-profile', val) end # For NAT sessions, specify whether to move to a better path def app_failover_for_nat_sessions prop_get('app-failover-for-nat-sessions') end # For NAT sessions, specify whether to move to a better path def app_failover_for_nat_sessions=(val) prop_set('app-failover-for-nat-sessions', val) end end def action @subclasses['action'] ||= Action.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'negate-source'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'negate-destination'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable the rule'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'no-default'=>'yes'}, 'group-tag'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'127'}, 'path-quality-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'attach sdwan path quality profile associated with this rule'}, 'saas-quality-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'optional'=>'yes', 'help-string'=>'attach sdwan saas quality profile associated with this rule'}, 'error-correction-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'optional'=>'yes', 'help-string'=>'attach sdwan error correction profile associated with this rule'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def negate_source prop_get('negate-source') end def negate_source=(val) prop_set('negate-source', val) end def negate_destination prop_get('negate-destination') end def negate_destination=(val) prop_set('negate-destination', val) end # Disable the rule def disabled prop_get('disabled') end # Disable the rule def disabled=(val) prop_set('disabled', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end def group_tag prop_get('group-tag') end def group_tag=(val) prop_set('group-tag', val) end # attach sdwan path quality profile associated with this rule def path_quality_profile prop_get('path-quality-profile') end # attach sdwan path quality profile associated with this rule def path_quality_profile=(val) prop_set('path-quality-profile', val) end # attach sdwan saas quality profile associated with this rule def saas_quality_profile prop_get('saas-quality-profile') end # attach sdwan saas quality profile associated with this rule def saas_quality_profile=(val) prop_set('saas-quality-profile', val) end # attach sdwan error correction profile associated with this rule def error_correction_profile prop_get('error-correction-profile') end # attach sdwan error correction profile associated with this rule def error_correction_profile=(val) prop_set('error-correction-profile', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def sdwan @subclasses['sdwan'] ||= Sdwan.new(parent_instance: self, client: @client, create_children: @create_children) end class Dos < ConfigClass def has_multiple_values?; false; end def _section :dos end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Target < ConfigClass def has_multiple_values?; false; end def _section :target end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Vsys < XML::ConfigClass def has_multiple_values?; true; end def _section :vsys end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vsys maybe_register_subclass('vsys', Vsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'negate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Target to all but these specified devices and tags'}} # Target to all but these specified devices and tags def negate prop_get('negate') end # Target to all but these specified devices and tags def negate=(val) prop_set('negate', val) end end def target @subclasses['target'] ||= Target.new(parent_instance: self, client: @client, create_children: @create_children) end class From < ConfigClass def has_multiple_values?; false; end def _section :from end class Zone < XML::ConfigClass def has_multiple_values?; true; end def _section :zone end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'maxlen'=>'31'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def zone maybe_register_subclass('zone', Zone.new(parent_instance: self, client: @client, create_children: @create_children)) end class Interface < XML::ConfigClass def has_multiple_values?; true; end def _section :interface end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def interface maybe_register_subclass('interface', Interface.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def from @subclasses['from'] ||= From.new(parent_instance: self, client: @client, create_children: @create_children) end class To < ConfigClass def has_multiple_values?; false; end def _section :to end class Zone < XML::ConfigClass def has_multiple_values?; true; end def _section :zone end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'enum'=>[{'value'=>'multicast', 'help-string'=>'multicast zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def zone maybe_register_subclass('zone', Zone.new(parent_instance: self, client: @client, create_children: @create_children)) end class Interface < XML::ConfigClass def has_multiple_values?; true; end def _section :interface end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def interface maybe_register_subclass('interface', Interface.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def to @subclasses['to'] ||= To.new(parent_instance: self, client: @client, create_children: @create_children) end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceUser < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-user' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'1023', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any user'}, {'value'=>'pre-logon', 'help-string'=>'prelogon client machine'}, {'value'=>'known-user', 'help-string'=>'any known user'}, {'value'=>'unknown', 'help-string'=>'unknown user'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_user maybe_register_subclass('source-user', SourceUser.new(parent_instance: self, client: @client, create_children: @create_children)) end class Destination < XML::ConfigClass def has_multiple_values?; true; end def _section :destination end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../source/member', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination maybe_register_subclass('destination', Destination.new(parent_instance: self, client: @client, create_children: @create_children)) end class Service < XML::ConfigClass def has_multiple_values?; true; end def _section :service end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any service'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def service maybe_register_subclass('service', Service.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end class Protection < ConfigClass def has_multiple_values?; false; end def _section :protection end class Aggregate < ConfigClass def has_multiple_values?; false; end def _section :aggregate end @props = {'profile'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'DoS profile to use for aggregated protection'}} # DoS profile to use for aggregated protection def profile prop_get('profile') end # DoS profile to use for aggregated protection def profile=(val) prop_set('profile', val) end end def aggregate @subclasses['aggregate'] ||= Aggregate.new(parent_instance: self, client: @client, create_children: @create_children) end class Classified < ConfigClass def has_multiple_values?; false; end def _section :classified end class ClassificationCriteria < ConfigClass def has_multiple_values?; false; end def _section :'classification-criteria' end @props = {'address'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'source-ip-only', 'help-string'=>'Parameters for IP Address based classification', 'enum'=>[{'value'=>'source-ip-only'}, {'value'=>'destination-ip-only'}, {'value'=>'src-dest-ip-both'}]}} # Parameters for IP Address based classification def address prop_get('address') end # Parameters for IP Address based classification def address=(val) prop_set('address', val) end end def classification_criteria @subclasses['classification-criteria'] ||= ClassificationCriteria.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'profile'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'DoS profile to use for classified protection'}} # DoS profile to use for classified protection def profile prop_get('profile') end # DoS profile to use for classified protection def profile=(val) prop_set('profile', val) end end def classified @subclasses['classified'] ||= Classified.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def protection @subclasses['protection'] ||= Protection.new(parent_instance: self, client: @client, create_children: @create_children) end class Action < ConfigClass def has_multiple_values?; false; end def _section :action end class Deny < ConfigClass def has_multiple_values?; false; end def _section :deny end @props = {} end def deny @subclasses['deny'] ||= Deny.new(parent_instance: self, client: @client, create_children: @create_children) end class Allow < ConfigClass def has_multiple_values?; false; end def _section :allow end @props = {} end def allow @subclasses['allow'] ||= Allow.new(parent_instance: self, client: @client, create_children: @create_children) end class Protect < ConfigClass def has_multiple_values?; false; end def _section :protect end @props = {} end def protect @subclasses['protect'] ||= Protect.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def action @subclasses['action'] ||= Action.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'schedule'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'optional'=>'yes'}, 'negate-source'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'negate-destination'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable the rule'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'no-default'=>'yes'}, 'group-tag'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'127'}, 'log-setting'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'maxlen'=>'63', 'optional'=>'yes'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def schedule prop_get('schedule') end def schedule=(val) prop_set('schedule', val) end def negate_source prop_get('negate-source') end def negate_source=(val) prop_set('negate-source', val) end def negate_destination prop_get('negate-destination') end def negate_destination=(val) prop_set('negate-destination', val) end # Disable the rule def disabled prop_get('disabled') end # Disable the rule def disabled=(val) prop_set('disabled', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end def group_tag prop_get('group-tag') end def group_tag=(val) prop_set('group-tag', val) end def log_setting prop_get('log-setting') end def log_setting=(val) prop_set('log-setting', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def dos @subclasses['dos'] ||= Dos.new(parent_instance: self, client: @client, create_children: @create_children) end class TunnelInspect < ConfigClass def has_multiple_values?; false; end def _section :'tunnel-inspect' end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Target < ConfigClass def has_multiple_values?; false; end def _section :target end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Vsys < XML::ConfigClass def has_multiple_values?; true; end def _section :vsys end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vsys maybe_register_subclass('vsys', Vsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'negate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Target to all but these specified devices and tags'}} # Target to all but these specified devices and tags def negate prop_get('negate') end # Target to all but these specified devices and tags def negate=(val) prop_set('negate', val) end end def target @subclasses['target'] ||= Target.new(parent_instance: self, client: @client, create_children: @create_children) end class From < XML::ConfigClass def has_multiple_values?; true; end def _section :from end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def from maybe_register_subclass('from', From.new(parent_instance: self, client: @client, create_children: @create_children)) end class To < XML::ConfigClass def has_multiple_values?; true; end def _section :to end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../from/member', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def to maybe_register_subclass('to', To.new(parent_instance: self, client: @client, create_children: @create_children)) end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceUser < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-user' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'1023', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any user'}, {'value'=>'pre-logon', 'help-string'=>'prelogon client machine'}, {'value'=>'known-user', 'help-string'=>'any known user'}, {'value'=>'unknown', 'help-string'=>'unknown user'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_user maybe_register_subclass('source-user', SourceUser.new(parent_instance: self, client: @client, create_children: @create_children)) end class Destination < XML::ConfigClass def has_multiple_values?; true; end def _section :destination end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../source/member', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination maybe_register_subclass('destination', Destination.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end class Application < XML::ConfigClass def has_multiple_values?; true; end def _section :application end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'enum'=>[{'value'=>'gre', 'help-string'=>'GRE'}, {'value'=>'vxlan', 'help-string'=>'VXLAN'}, {'value'=>'ipsec', 'help-string'=>'Non-encrypted IPSec'}, {'value'=>'gtp', 'help-string'=>'GTP-U'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def application maybe_register_subclass('application', Application.new(parent_instance: self, client: @client, create_children: @create_children)) end class TunnelId < ConfigClass def has_multiple_values?; false; end def _section :'tunnel-id' end class Vni < XML::ConfigClass def has_multiple_values?; true; end def _section :vni end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'id'=>{'node-type'=>'element', 'type'=>'rangelistspec', 'min'=>'0', 'max'=>'16777215'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def id prop_get('id') end def id=(val) prop_set('id', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vni maybe_register_subclass('vni', Vni.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def tunnel_id @subclasses['tunnel-id'] ||= TunnelId.new(parent_instance: self, client: @client, create_children: @create_children) end class InspectOptions < ConfigClass def has_multiple_values?; false; end def _section :'inspect-options' end @props = {'max-level-inspection'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'1', 'help-string'=>'max level inspection', 'enum'=>[{'value'=>'1', 'help-string'=>'One level'}, {'value'=>'2', 'help-string'=>'Two levels (tunnel in tunnel)'}]}, 'drop-over-max'=>{'node-type'=>'element', 'optional'=>'yes', 'default'=>'no', 'type'=>'bool'}, 'drop-unknown-protocol'=>{'node-type'=>'element', 'optional'=>'yes', 'default'=>'no', 'type'=>'bool'}, 'drop-strict-checking'=>{'node-type'=>'element', 'optional'=>'yes', 'default'=>'no', 'type'=>'bool'}, 'return-vxlan-to-source'=>{'node-type'=>'element', 'optional'=>'yes', 'default'=>'no', 'type'=>'bool'}} # max level inspection def max_level_inspection prop_get('max-level-inspection') end # max level inspection def max_level_inspection=(val) prop_set('max-level-inspection', val) end def drop_over_max prop_get('drop-over-max') end def drop_over_max=(val) prop_set('drop-over-max', val) end def drop_unknown_protocol prop_get('drop-unknown-protocol') end def drop_unknown_protocol=(val) prop_set('drop-unknown-protocol', val) end def drop_strict_checking prop_get('drop-strict-checking') end def drop_strict_checking=(val) prop_set('drop-strict-checking', val) end def return_vxlan_to_source prop_get('return-vxlan-to-source') end def return_vxlan_to_source=(val) prop_set('return-vxlan-to-source', val) end end def inspect_options @subclasses['inspect-options'] ||= InspectOptions.new(parent_instance: self, client: @client, create_children: @create_children) end class ZoneAssign < ConfigClass def has_multiple_values?; false; end def _section :'zone-assign' end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end class Destination < XML::ConfigClass def has_multiple_values?; true; end def _section :destination end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination maybe_register_subclass('destination', Destination.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def zone_assign @subclasses['zone-assign'] ||= ZoneAssign.new(parent_instance: self, client: @client, create_children: @create_children) end class MonitorOptions < ConfigClass def has_multiple_values?; false; end def _section :'monitor-options' end class LogSettingOverride < ConfigClass def has_multiple_values?; false; end def _section :'log-setting-override' end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'log-setting'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'maxlen'=>'63', 'optional'=>'yes'}, 'log-start'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'optional'=>'yes', 'help-string'=>'Log at session start'}, 'log-end'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'optional'=>'yes', 'help-string'=>'Log at session end (required for certain ACC tables)'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end def log_setting prop_get('log-setting') end def log_setting=(val) prop_set('log-setting', val) end # Log at session start def log_start prop_get('log-start') end # Log at session start def log_start=(val) prop_set('log-start', val) end # Log at session end (required for certain ACC tables) def log_end prop_get('log-end') end # Log at session end (required for certain ACC tables) def log_end=(val) prop_set('log-end', val) end end def log_setting_override @subclasses['log-setting-override'] ||= LogSettingOverride.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'monitor-name'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([^0-9]*|[0-9]{1,14}([^0-9]|$)|[0-9]{17,})*$', 'optional'=>'yes', 'minlen'=>'1', 'maxlen'=>'31', 'no-default'=>'yes', 'help-string'=>'15 or 16 digit number not allowed'}, 'monitor-id'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'1', 'max'=>'16777215'}} # 15 or 16 digit number not allowed def monitor_name prop_get('monitor-name') end # 15 or 16 digit number not allowed def monitor_name=(val) prop_set('monitor-name', val) end def monitor_id prop_get('monitor-id') end def monitor_id=(val) prop_set('monitor-id', val) end end def monitor_options @subclasses['monitor-options'] ||= MonitorOptions.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'negate-source'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'negate-destination'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable the rule'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'no-default'=>'yes'}, 'group-tag'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'127'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def negate_source prop_get('negate-source') end def negate_source=(val) prop_set('negate-source', val) end def negate_destination prop_get('negate-destination') end def negate_destination=(val) prop_set('negate-destination', val) end # Disable the rule def disabled prop_get('disabled') end # Disable the rule def disabled=(val) prop_set('disabled', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end def group_tag prop_get('group-tag') end def group_tag=(val) prop_set('group-tag', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def tunnel_inspect @subclasses['tunnel-inspect'] ||= TunnelInspect.new(parent_instance: self, client: @client, create_children: @create_children) end class NetworkPacketBroker < ConfigClass def has_multiple_values?; false; end def _section :'network-packet-broker' end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Target < ConfigClass def has_multiple_values?; false; end def _section :target end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Vsys < XML::ConfigClass def has_multiple_values?; true; end def _section :vsys end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vsys maybe_register_subclass('vsys', Vsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'negate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Target to all but these specified devices and tags'}} # Target to all but these specified devices and tags def negate prop_get('negate') end # Target to all but these specified devices and tags def negate=(val) prop_set('negate', val) end end def target @subclasses['target'] ||= Target.new(parent_instance: self, client: @client, create_children: @create_children) end class From < XML::ConfigClass def has_multiple_values?; true; end def _section :from end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def from maybe_register_subclass('from', From.new(parent_instance: self, client: @client, create_children: @create_children)) end class To < XML::ConfigClass def has_multiple_values?; true; end def _section :to end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../from/member', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def to maybe_register_subclass('to', To.new(parent_instance: self, client: @client, create_children: @create_children)) end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceUser < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-user' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'1023', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any user'}, {'value'=>'pre-logon', 'help-string'=>'prelogon client machine'}, {'value'=>'known-user', 'help-string'=>'any known user'}, {'value'=>'unknown', 'help-string'=>'unknown user'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_user maybe_register_subclass('source-user', SourceUser.new(parent_instance: self, client: @client, create_children: @create_children)) end class Destination < XML::ConfigClass def has_multiple_values?; true; end def _section :destination end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../source/member', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination maybe_register_subclass('destination', Destination.new(parent_instance: self, client: @client, create_children: @create_children)) end class Application < XML::ConfigClass def has_multiple_values?; true; end def _section :application end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any application'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def application maybe_register_subclass('application', Application.new(parent_instance: self, client: @client, create_children: @create_children)) end class Service < XML::ConfigClass def has_multiple_values?; true; end def _section :service end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'application-default', 'help-string'=>'default service for selected application'}, {'value'=>'any', 'help-string'=>'any service'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def service maybe_register_subclass('service', Service.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceHip < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-hip' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any hip-profile'}, {'value'=>'no-hip', 'help-string'=>'no hip-profile'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_hip maybe_register_subclass('source-hip', SourceHip.new(parent_instance: self, client: @client, create_children: @create_children)) end class DestinationHip < XML::ConfigClass def has_multiple_values?; true; end def _section :'destination-hip' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any device'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination_hip maybe_register_subclass('destination-hip', DestinationHip.new(parent_instance: self, client: @client, create_children: @create_children)) end class TrafficType < ConfigClass def has_multiple_values?; false; end def _section :'traffic-type' end @props = {'tls-decrypted'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'TLS decrypted traffic'}, 'tls-encrypted'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'help-string'=>'TLS encrypted traffic'}, 'non-tls'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'help-string'=>'non TLS traffic'}} # TLS decrypted traffic def tls_decrypted prop_get('tls-decrypted') end # TLS decrypted traffic def tls_decrypted=(val) prop_set('tls-decrypted', val) end # TLS encrypted traffic def tls_encrypted prop_get('tls-encrypted') end # TLS encrypted traffic def tls_encrypted=(val) prop_set('tls-encrypted', val) end # non TLS traffic def non_tls prop_get('non-tls') end # non TLS traffic def non_tls=(val) prop_set('non-tls', val) end end def traffic_type @subclasses['traffic-type'] ||= TrafficType.new(parent_instance: self, client: @client, create_children: @create_children) end class Action < ConfigClass def has_multiple_values?; false; end def _section :action end @props = {'packet-broker-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'attach packet-broker profile with this rule'}} # attach packet-broker profile with this rule def packet_broker_profile prop_get('packet-broker-profile') end # attach packet-broker profile with this rule def packet_broker_profile=(val) prop_set('packet-broker-profile', val) end end def action @subclasses['action'] ||= Action.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'negate-source'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'negate-destination'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable the rule'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'no-default'=>'yes'}, 'group-tag'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'127'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def negate_source prop_get('negate-source') end def negate_source=(val) prop_set('negate-source', val) end def negate_destination prop_get('negate-destination') end def negate_destination=(val) prop_set('negate-destination', val) end # Disable the rule def disabled prop_get('disabled') end # Disable the rule def disabled=(val) prop_set('disabled', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end def group_tag prop_get('group-tag') end def group_tag=(val) prop_set('group-tag', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def network_packet_broker @subclasses['network-packet-broker'] ||= NetworkPacketBroker.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def post_rulebase @subclasses['post-rulebase'] ||= PostRulebase.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def shared @subclasses['shared'] ||= Shared.new(parent_instance: self, client: @client, create_children: @create_children) end class MgtConfig < ConfigClass def has_multiple_values?; false; end def _section :'mgt-config' end class PasswordComplexity < ConfigClass def has_multiple_values?; false; end def _section :'password-complexity' end class PasswordChange < ConfigClass def has_multiple_values?; false; end def _section :'password-change' end @props = {'expiration-period'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'365', 'default'=>'0', 'help-string'=>'Password expiry days'}, 'expiration-warning-period'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'30', 'default'=>'0', 'help-string'=>'Password expiry warning period'}, 'post-expiration-admin-login-count'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'3', 'default'=>'0', 'help-string'=>'Password post-expiry admin login count'}, 'post-expiration-grace-period'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'30', 'default'=>'0', 'help-string'=>'Password post-expiry grace period'}} # Password expiry days def expiration_period prop_get('expiration-period') end # Password expiry days def expiration_period=(val) prop_set('expiration-period', val) end # Password expiry warning period def expiration_warning_period prop_get('expiration-warning-period') end # Password expiry warning period def expiration_warning_period=(val) prop_set('expiration-warning-period', val) end # Password post-expiry admin login count def post_expiration_admin_login_count prop_get('post-expiration-admin-login-count') end # Password post-expiry admin login count def post_expiration_admin_login_count=(val) prop_set('post-expiration-admin-login-count', val) end # Password post-expiry grace period def post_expiration_grace_period prop_get('post-expiration-grace-period') end # Password post-expiry grace period def post_expiration_grace_period=(val) prop_set('post-expiration-grace-period', val) end end def password_change @subclasses['password-change'] ||= PasswordChange.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enabled'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Enable minimal password complexity enforcement'}, 'block-username-inclusion'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Block inclusion of username and it\'s reverse'}, 'password-change-on-first-login'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Password must change on first time login'}, 'minimum-length'=>{'node-type'=>'element', 'prune-on'=>'fips-mode', 'type'=>'rangedint', 'min'=>'0', 'max'=>'16', 'optional'=>'yes', 'default'=>'0', 'help-string'=>'Minimum password length'}, 'minimum-uppercase-letters'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'15', 'optional'=>'yes', 'default'=>'0', 'help-string'=>'Minimum uppercase letters in the password'}, 'minimum-lowercase-letters'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'15', 'optional'=>'yes', 'default'=>'0', 'help-string'=>'Minimum lowercase letters in the password'}, 'minimum-numeric-letters'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'15', 'optional'=>'yes', 'default'=>'0', 'help-string'=>'Minimum numeric(0-9) letters in the password'}, 'minimum-special-characters'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'15', 'default'=>'0', 'optional'=>'yes', 'help-string'=>'Minimum special characters(non-alphanumeric) in the password'}, 'block-repeated-characters'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'15', 'default'=>'0', 'optional'=>'yes', 'help-string'=>'Block repeated characters count'}, 'password-history-count'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'150', 'default'=>'0', 'optional'=>'yes', 'help-string'=>'Save password history for password changes'}, 'new-password-differs-by-characters'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'15', 'optional'=>'yes', 'default'=>'0', 'help-string'=>'New Password must differ by the count chars'}, 'password-change-period-block'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'365', 'optional'=>'yes', 'default'=>'0', 'help-string'=>'Password change block period'}} # Enable minimal password complexity enforcement def enabled prop_get('enabled') end # Enable minimal password complexity enforcement def enabled=(val) prop_set('enabled', val) end # Block inclusion of username and it's reverse def block_username_inclusion prop_get('block-username-inclusion') end # Block inclusion of username and it's reverse def block_username_inclusion=(val) prop_set('block-username-inclusion', val) end # Password must change on first time login def password_change_on_first_login prop_get('password-change-on-first-login') end # Password must change on first time login def password_change_on_first_login=(val) prop_set('password-change-on-first-login', val) end # Minimum password length def minimum_length prop_get('minimum-length') end # Minimum password length def minimum_length=(val) prop_set('minimum-length', val) end # Minimum uppercase letters in the password def minimum_uppercase_letters prop_get('minimum-uppercase-letters') end # Minimum uppercase letters in the password def minimum_uppercase_letters=(val) prop_set('minimum-uppercase-letters', val) end # Minimum lowercase letters in the password def minimum_lowercase_letters prop_get('minimum-lowercase-letters') end # Minimum lowercase letters in the password def minimum_lowercase_letters=(val) prop_set('minimum-lowercase-letters', val) end # Minimum numeric(0-9) letters in the password def minimum_numeric_letters prop_get('minimum-numeric-letters') end # Minimum numeric(0-9) letters in the password def minimum_numeric_letters=(val) prop_set('minimum-numeric-letters', val) end # Minimum special characters(non-alphanumeric) in the password def minimum_special_characters prop_get('minimum-special-characters') end # Minimum special characters(non-alphanumeric) in the password def minimum_special_characters=(val) prop_set('minimum-special-characters', val) end # Block repeated characters count def block_repeated_characters prop_get('block-repeated-characters') end # Block repeated characters count def block_repeated_characters=(val) prop_set('block-repeated-characters', val) end # Save password history for password changes def password_history_count prop_get('password-history-count') end # Save password history for password changes def password_history_count=(val) prop_set('password-history-count', val) end # New Password must differ by the count chars def new_password_differs_by_characters prop_get('new-password-differs-by-characters') end # New Password must differ by the count chars def new_password_differs_by_characters=(val) prop_set('new-password-differs-by-characters', val) end # Password change block period def password_change_period_block prop_get('password-change-period-block') end # Password change block period def password_change_period_block=(val) prop_set('password-change-period-block', val) end end def password_complexity @subclasses['password-complexity'] ||= PasswordComplexity.new(parent_instance: self, client: @client, create_children: @create_children) end class PasswordProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'password-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class PasswordChange < ConfigClass def has_multiple_values?; false; end def _section :'password-change' end @props = {'expiration-period'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'365', 'default'=>'0', 'help-string'=>'Password expiry days'}, 'expiration-warning-period'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'30', 'default'=>'0', 'help-string'=>'Password expiry warning period'}, 'post-expiration-admin-login-count'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'3', 'default'=>'0', 'help-string'=>'Password post-expiry admin login count'}, 'post-expiration-grace-period'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'30', 'default'=>'0', 'help-string'=>'Password post-expiry grace period'}} # Password expiry days def expiration_period prop_get('expiration-period') end # Password expiry days def expiration_period=(val) prop_set('expiration-period', val) end # Password expiry warning period def expiration_warning_period prop_get('expiration-warning-period') end # Password expiry warning period def expiration_warning_period=(val) prop_set('expiration-warning-period', val) end # Password post-expiry admin login count def post_expiration_admin_login_count prop_get('post-expiration-admin-login-count') end # Password post-expiry admin login count def post_expiration_admin_login_count=(val) prop_set('post-expiration-admin-login-count', val) end # Password post-expiry grace period def post_expiration_grace_period prop_get('post-expiration-grace-period') end # Password post-expiry grace period def post_expiration_grace_period=(val) prop_set('post-expiration-grace-period', val) end end def password_change @subclasses['password-change'] ||= PasswordChange.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'regex'=>'^[A-Za-z][[A-Za-z0-9._-]*$', 'help-string'=>'Alphanumeric string starting with an Alphabet'}} # Alphanumeric string starting with an Alphabet def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def password_profile maybe_register_subclass('password-profile', PasswordProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class Users < XML::ConfigClass def has_multiple_values?; true; end def _section :users end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Preferences < ConfigClass def has_multiple_values?; false; end def _section :preferences end class SavedLogQuery < ConfigClass def has_multiple_values?; false; end def _section :'saved-log-query' end class Unified < XML::ConfigClass def has_multiple_values?; true; end def _section :unified end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'Device name'}, 'query'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048'}} # Device name def name prop_get('@name') end def query prop_get('query') end def query=(val) prop_set('query', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def unified maybe_register_subclass('unified', Unified.new(parent_instance: self, client: @client, create_children: @create_children)) end class Traffic < XML::ConfigClass def has_multiple_values?; true; end def _section :traffic end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'Device name'}, 'query'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048'}} # Device name def name prop_get('@name') end def query prop_get('query') end def query=(val) prop_set('query', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def traffic maybe_register_subclass('traffic', Traffic.new(parent_instance: self, client: @client, create_children: @create_children)) end class Threat < XML::ConfigClass def has_multiple_values?; true; end def _section :threat end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'Device name'}, 'query'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048'}} # Device name def name prop_get('@name') end def query prop_get('query') end def query=(val) prop_set('query', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def threat maybe_register_subclass('threat', Threat.new(parent_instance: self, client: @client, create_children: @create_children)) end class Gtp < XML::ConfigClass def has_multiple_values?; true; end def _section :gtp end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'Device name'}, 'query'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048'}} # Device name def name prop_get('@name') end def query prop_get('query') end def query=(val) prop_set('query', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def gtp maybe_register_subclass('gtp', Gtp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Url < XML::ConfigClass def has_multiple_values?; true; end def _section :url end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'Device name'}, 'query'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048'}} # Device name def name prop_get('@name') end def query prop_get('query') end def query=(val) prop_set('query', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def url maybe_register_subclass('url', Url.new(parent_instance: self, client: @client, create_children: @create_children)) end class Data < XML::ConfigClass def has_multiple_values?; true; end def _section :data end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'Device name'}, 'query'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048'}} # Device name def name prop_get('@name') end def query prop_get('query') end def query=(val) prop_set('query', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def data maybe_register_subclass('data', Data.new(parent_instance: self, client: @client, create_children: @create_children)) end class Config < XML::ConfigClass def has_multiple_values?; true; end def _section :config end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'Device name'}, 'query'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048'}} # Device name def name prop_get('@name') end def query prop_get('query') end def query=(val) prop_set('query', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def config maybe_register_subclass('config', Config.new(parent_instance: self, client: @client, create_children: @create_children)) end class System < XML::ConfigClass def has_multiple_values?; true; end def _section :system end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'Device name'}, 'query'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048'}} # Device name def name prop_get('@name') end def query prop_get('query') end def query=(val) prop_set('query', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def system maybe_register_subclass('system', System.new(parent_instance: self, client: @client, create_children: @create_children)) end class Wildfire < XML::ConfigClass def has_multiple_values?; true; end def _section :wildfire end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'Device name'}, 'query'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048'}} # Device name def name prop_get('@name') end def query prop_get('query') end def query=(val) prop_set('query', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def wildfire maybe_register_subclass('wildfire', Wildfire.new(parent_instance: self, client: @client, create_children: @create_children)) end class Hipmatch < XML::ConfigClass def has_multiple_values?; true; end def _section :hipmatch end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'Device name'}, 'query'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048'}} # Device name def name prop_get('@name') end def query prop_get('query') end def query=(val) prop_set('query', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def hipmatch maybe_register_subclass('hipmatch', Hipmatch.new(parent_instance: self, client: @client, create_children: @create_children)) end class Corr < XML::ConfigClass def has_multiple_values?; true; end def _section :corr end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'Device name'}, 'query'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048'}} # Device name def name prop_get('@name') end def query prop_get('query') end def query=(val) prop_set('query', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def corr maybe_register_subclass('corr', Corr.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tunnel < XML::ConfigClass def has_multiple_values?; true; end def _section :tunnel end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'Device name'}, 'query'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048'}} # Device name def name prop_get('@name') end def query prop_get('query') end def query=(val) prop_set('query', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def tunnel maybe_register_subclass('tunnel', Tunnel.new(parent_instance: self, client: @client, create_children: @create_children)) end class Userid < XML::ConfigClass def has_multiple_values?; true; end def _section :userid end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'Device name'}, 'query'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048'}} # Device name def name prop_get('@name') end def query prop_get('query') end def query=(val) prop_set('query', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def userid maybe_register_subclass('userid', Userid.new(parent_instance: self, client: @client, create_children: @create_children)) end class Auth < XML::ConfigClass def has_multiple_values?; true; end def _section :auth end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'Device name'}, 'query'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048'}} # Device name def name prop_get('@name') end def query prop_get('query') end def query=(val) prop_set('query', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def auth maybe_register_subclass('auth', Auth.new(parent_instance: self, client: @client, create_children: @create_children)) end class Globalprotect < XML::ConfigClass def has_multiple_values?; true; end def _section :globalprotect end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'Device name'}, 'query'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048'}} # Device name def name prop_get('@name') end def query prop_get('query') end def query=(val) prop_set('query', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def globalprotect maybe_register_subclass('globalprotect', Globalprotect.new(parent_instance: self, client: @client, create_children: @create_children)) end class Decryption < XML::ConfigClass def has_multiple_values?; true; end def _section :decryption end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'Device name'}, 'query'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048'}} # Device name def name prop_get('@name') end def query prop_get('query') end def query=(val) prop_set('query', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def decryption maybe_register_subclass('decryption', Decryption.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def saved_log_query @subclasses['saved-log-query'] ||= SavedLogQuery.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'disable-dns'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} def disable_dns prop_get('disable-dns') end def disable_dns=(val) prop_set('disable-dns', val) end end def preferences @subclasses['preferences'] ||= Preferences.new(parent_instance: self, client: @client, create_children: @create_children) end class Permissions < XML::ConfigClass def has_multiple_values?; true; end def _section :permissions end class RoleBased < XML::ConfigClass def has_multiple_values?; true; end def _section :'role-based' end class Custom < XML::ConfigClass def has_multiple_values?; true; end def _section :custom end class DgTemplateProfiles < XML::ConfigClass def has_multiple_values?; true; end def _section :'dg-template-profiles' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'access domain name'}, 'profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}} # access domain name def name prop_get('@name') end def profile prop_get('profile') end def profile=(val) prop_set('profile', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def dg_template_profiles maybe_register_subclass('dg-template-profiles', DgTemplateProfiles.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}} def profile prop_get('profile') end def profile=(val) prop_set('profile', val) end end def custom maybe_register_subclass('custom', Custom.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'superreader'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'yes'}]}, 'superuser'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'yes'}]}, 'panorama-admin'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'yes'}]}} def superreader prop_get('superreader') end def superreader=(val) prop_set('superreader', val) end def superuser prop_get('superuser') end def superuser=(val) prop_set('superuser', val) end def panorama_admin prop_get('panorama-admin') end def panorama_admin=(val) prop_set('panorama-admin', val) end end def role_based maybe_register_subclass('role-based', RoleBased.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def permissions maybe_register_subclass('permissions', Permissions.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'^[a-zA-Z0-9_.-]+$', 'maxlen'=>'31', 'help-string'=>'user name (alphanumeric)'}, 'phash'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes'}, 'authentication-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'complete-handler'=>'user-auth-profile-completer'}, 'password-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes'}, 'client-certificate-only'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'help-string'=>'Is client certificate authentication enough?'}, 'public-key'=>{'node-type'=>'element', 'type'=>'string', 'prune-on'=>'fips-mode', 'optional'=>'yes', 'minlen'=>'1', 'maxlen'=>'4096', 'help-string'=>'Public RSA/DSA'}} # user name (alphanumeric) def name prop_get('@name') end def phash prop_get('phash') end def phash=(val) prop_set('phash', val) end def authentication_profile prop_get('authentication-profile') end def authentication_profile=(val) prop_set('authentication-profile', val) end def password_profile prop_get('password-profile') end def password_profile=(val) prop_set('password-profile', val) end # Is client certificate authentication enough? def client_certificate_only prop_get('client-certificate-only') end # Is client certificate authentication enough? def client_certificate_only=(val) prop_set('client-certificate-only', val) end # Public RSA/DSA def public_key prop_get('public-key') end # Public RSA/DSA def public_key=(val) prop_set('public-key', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def users maybe_register_subclass('users', Users.new(parent_instance: self, client: @client, create_children: @create_children)) end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Vsys < XML::ConfigClass def has_multiple_values?; true; end def _section :vsys end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'max-count'=>'24', 'maxlen'=>'31', 'regex'=>'^([0-9a-zA-Z_-])+$', 'help-string'=>'alphanumeric string [0-9a-zA-Z_-]'}} # alphanumeric string [0-9a-zA-Z_-] def member prop_get('member') end # alphanumeric string [0-9a-zA-Z_-] def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vsys maybe_register_subclass('vsys', Vsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'64', 'regex'=>'^[0-9A-Z]+$', 'help-string'=>'Serial number of the device'}, 'auto-push'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'hostname'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'ip address'}, 'to-sw-version'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'64', 'regex'=>'[0-9]+\.[0-9]+\.[0-9]+', 'help-string'=>'Automatically upgrade software to this version for new deployments', 'complete-handler'=>'get-panos-upgradable-version'}, 'ip'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'subtype'=>'ip-address', 'help-string'=>'ip address'}, 'disable-config-backup'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable config back up for this device'}} # Serial number of the device def name prop_get('@name') end def auto_push prop_get('auto-push') end def auto_push=(val) prop_set('auto-push', val) end # ip address def hostname prop_get('hostname') end # ip address def hostname=(val) prop_set('hostname', val) end # Automatically upgrade software to this version for new deployments def to_sw_version prop_get('to-sw-version') end # Automatically upgrade software to this version for new deployments def to_sw_version=(val) prop_set('to-sw-version', val) end # ip address def ip prop_get('ip') end # ip address def ip=(val) prop_set('ip', val) end # Enable config back up for this device def disable_config_backup prop_get('disable-config-backup') end # Enable config back up for this device def disable_config_backup=(val) prop_set('disable-config-backup', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class AccessDomain < XML::ConfigClass def has_multiple_values?; true; end def _section :'access-domain' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class DeviceGroups < XML::ConfigClass def has_multiple_values?; true; end def _section :'device-groups' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def device_groups maybe_register_subclass('device-groups', DeviceGroups.new(parent_instance: self, client: @client, create_children: @create_children)) end class LogCollectorGroups < XML::ConfigClass def has_multiple_values?; true; end def _section :'log-collector-groups' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def log_collector_groups maybe_register_subclass('log-collector-groups', LogCollectorGroups.new(parent_instance: self, client: @client, create_children: @create_children)) end class Templates < XML::ConfigClass def has_multiple_values?; true; end def _section :templates end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def templates maybe_register_subclass('templates', Templates.new(parent_instance: self, client: @client, create_children: @create_children)) end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Vsys < XML::ConfigClass def has_multiple_values?; true; end def _section :vsys end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def vsys maybe_register_subclass('vsys', Vsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'device serial no'}} # device serial no def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'shared-access'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'read', 'enum'=>[{'value'=>'read'}, {'value'=>'write'}, {'value'=>'shared-only'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def shared_access prop_get('shared-access') end def shared_access=(val) prop_set('shared-access', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def access_domain maybe_register_subclass('access-domain', AccessDomain.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def mgt_config @subclasses['mgt-config'] ||= MgtConfig.new(parent_instance: self, client: @client, create_children: @create_children) end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Deviceconfig < ConfigClass def has_multiple_values?; false; end def _section :deviceconfig end class System < ConfigClass def has_multiple_values?; false; end def _section :system end class Type < ConfigClass def has_multiple_values?; false; end def _section :type end class Static < ConfigClass def has_multiple_values?; false; end def _section :static end @props = {} end def static @subclasses['static'] ||= Static.new(parent_instance: self, client: @client, create_children: @create_children) end class DhcpClient < ConfigClass def has_multiple_values?; false; end def _section :'dhcp-client' end @props = {'send-hostname'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes'}, 'send-client-id'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no'}, 'accept-dhcp-hostname'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no'}, 'accept-dhcp-domain'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no'}} def send_hostname prop_get('send-hostname') end def send_hostname=(val) prop_set('send-hostname', val) end def send_client_id prop_get('send-client-id') end def send_client_id=(val) prop_set('send-client-id', val) end def accept_dhcp_hostname prop_get('accept-dhcp-hostname') end def accept_dhcp_hostname=(val) prop_set('accept-dhcp-hostname', val) end def accept_dhcp_domain prop_get('accept-dhcp-domain') end def accept_dhcp_domain=(val) prop_set('accept-dhcp-domain', val) end end def dhcp_client @subclasses['dhcp-client'] ||= DhcpClient.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type @subclasses['type'] ||= Type.new(parent_instance: self, client: @client, create_children: @create_children) end class DnsSetting < ConfigClass def has_multiple_values?; false; end def _section :'dns-setting' end class Servers < ConfigClass def has_multiple_values?; false; end def _section :servers end @props = {'primary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-only'=>'yes', 'help-string'=>'Primary DNS server IP address'}, 'secondary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-only'=>'yes', 'help-string'=>'Secondary DNS server IP address'}} # Primary DNS server IP address def primary prop_get('primary') end # Primary DNS server IP address def primary=(val) prop_set('primary', val) end # Secondary DNS server IP address def secondary prop_get('secondary') end # Secondary DNS server IP address def secondary=(val) prop_set('secondary', val) end end def servers @subclasses['servers'] ||= Servers.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def dns_setting @subclasses['dns-setting'] ||= DnsSetting.new(parent_instance: self, client: @client, create_children: @create_children) end class NtpServers < ConfigClass def has_multiple_values?; false; end def _section :'ntp-servers' end class PrimaryNtpServer < ConfigClass def has_multiple_values?; false; end def _section :'primary-ntp-server' end class AuthenticationType < XML::ConfigClass def has_multiple_values?; true; end def _section :'authentication-type' end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end class SymmetricKey < ConfigClass def has_multiple_values?; false; end def _section :'symmetric-key' end class Algorithm < XML::ConfigClass def has_multiple_values?; true; end def _section :algorithm end class Md5 < ConfigClass def has_multiple_values?; false; end def _section :md5 end @props = {'authentication-key'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([!-~])+$', 'minlen'=>'6', 'maxlen'=>'32', 'help-string'=>'Symmetric Key MD5 String', 'encrypt'=>'yes'}} # Symmetric Key MD5 String def authentication_key prop_get('authentication-key') end # Symmetric Key MD5 String def authentication_key=(val) prop_set('authentication-key', val) end end def md5 @subclasses['md5'] ||= Md5.new(parent_instance: self, client: @client, create_children: @create_children) end class Sha1 < ConfigClass def has_multiple_values?; false; end def _section :sha1 end @props = {'authentication-key'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([0-9A-Fa-f])+$', 'minlen'=>'40', 'maxlen'=>'40', 'help-string'=>'Symmetric Key SHA1 Hexadecimal', 'encrypt'=>'yes', 'error-string'=>'Error: SHA1 authentication-key should be 40 hexadecimal characters'}} # Symmetric Key SHA1 Hexadecimal def authentication_key prop_get('authentication-key') end # Symmetric Key SHA1 Hexadecimal def authentication_key=(val) prop_set('authentication-key', val) end end def sha1 @subclasses['sha1'] ||= Sha1.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def algorithm maybe_register_subclass('algorithm', Algorithm.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'key-id'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65534', 'help-string'=>'Symmetric Key Number'}} # Symmetric Key Number def key_id prop_get('key-id') end # Symmetric Key Number def key_id=(val) prop_set('key-id', val) end end def symmetric_key @subclasses['symmetric-key'] ||= SymmetricKey.new(parent_instance: self, client: @client, create_children: @create_children) end class Autokey < ConfigClass def has_multiple_values?; false; end def _section :autokey end @props = {} end def autokey @subclasses['autokey'] ||= Autokey.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def authentication_type maybe_register_subclass('authentication-type', AuthenticationType.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'ntp-server-address'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([0-9a-zA-Z:./_-])+$', 'maxlen'=>'63', 'help-string'=>'NTP Server IP Address or Domain Name'}} # NTP Server IP Address or Domain Name def ntp_server_address prop_get('ntp-server-address') end # NTP Server IP Address or Domain Name def ntp_server_address=(val) prop_set('ntp-server-address', val) end end def primary_ntp_server @subclasses['primary-ntp-server'] ||= PrimaryNtpServer.new(parent_instance: self, client: @client, create_children: @create_children) end class SecondaryNtpServer < ConfigClass def has_multiple_values?; false; end def _section :'secondary-ntp-server' end class AuthenticationType < XML::ConfigClass def has_multiple_values?; true; end def _section :'authentication-type' end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end class SymmetricKey < ConfigClass def has_multiple_values?; false; end def _section :'symmetric-key' end class Algorithm < XML::ConfigClass def has_multiple_values?; true; end def _section :algorithm end class Md5 < ConfigClass def has_multiple_values?; false; end def _section :md5 end @props = {'authentication-key'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([!-~])+$', 'minlen'=>'6', 'maxlen'=>'32', 'help-string'=>'Symmetric Key MD5 String', 'encrypt'=>'yes'}} # Symmetric Key MD5 String def authentication_key prop_get('authentication-key') end # Symmetric Key MD5 String def authentication_key=(val) prop_set('authentication-key', val) end end def md5 @subclasses['md5'] ||= Md5.new(parent_instance: self, client: @client, create_children: @create_children) end class Sha1 < ConfigClass def has_multiple_values?; false; end def _section :sha1 end @props = {'authentication-key'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([0-9A-Fa-f])+$', 'minlen'=>'40', 'maxlen'=>'40', 'help-string'=>'Symmetric Key SHA1 Hexadecimal', 'encrypt'=>'yes', 'error-string'=>'Error: SHA1 authentication-key should be 40 hexadecimal characters'}} # Symmetric Key SHA1 Hexadecimal def authentication_key prop_get('authentication-key') end # Symmetric Key SHA1 Hexadecimal def authentication_key=(val) prop_set('authentication-key', val) end end def sha1 @subclasses['sha1'] ||= Sha1.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def algorithm maybe_register_subclass('algorithm', Algorithm.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'key-id'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65534', 'help-string'=>'Symmetric Key Number'}} # Symmetric Key Number def key_id prop_get('key-id') end # Symmetric Key Number def key_id=(val) prop_set('key-id', val) end end def symmetric_key @subclasses['symmetric-key'] ||= SymmetricKey.new(parent_instance: self, client: @client, create_children: @create_children) end class Autokey < ConfigClass def has_multiple_values?; false; end def _section :autokey end @props = {} end def autokey @subclasses['autokey'] ||= Autokey.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def authentication_type maybe_register_subclass('authentication-type', AuthenticationType.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'ntp-server-address'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([0-9a-zA-Z:./_-])+$', 'maxlen'=>'63', 'help-string'=>'NTP Server IP Address or Domain Name'}} # NTP Server IP Address or Domain Name def ntp_server_address prop_get('ntp-server-address') end # NTP Server IP Address or Domain Name def ntp_server_address=(val) prop_set('ntp-server-address', val) end end def secondary_ntp_server @subclasses['secondary-ntp-server'] ||= SecondaryNtpServer.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ntp_servers @subclasses['ntp-servers'] ||= NtpServers.new(parent_instance: self, client: @client, create_children: @create_children) end class HsmSettings < ConfigClass def has_multiple_values?; false; end def _section :'hsm-settings' end class Provider < ConfigClass def has_multiple_values?; false; end def _section :provider end class SafenetNetwork < ConfigClass def has_multiple_values?; false; end def _section :'safenet-network' end class HsmServer < XML::ConfigClass def has_multiple_values?; true; end def _section :'hsm-server' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'31', 'help-string'=>'hsm server name'}, 'server-address'=>{'node-type'=>'element', 'type'=>'ipspec', 'unicast-only'=>'yes', 'help-string'=>'HSM server IP address'}} # hsm server name def name prop_get('@name') end # HSM server IP address def server_address prop_get('server-address') end # HSM server IP address def server_address=(val) prop_set('server-address', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def hsm_server maybe_register_subclass('hsm-server', HsmServer.new(parent_instance: self, client: @client, create_children: @create_children)) end class Ha < ConfigClass def has_multiple_values?; false; end def _section :ha end @props = {'auto-recovery-retry'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'500', 'default'=>'0', 'help-string'=>'The number of times HSM HA function will attempt to automatically recover a member that has failed to synchronize or has dropped from the HA group. Setting to a value of zero switches the feature off.'}, 'ha-group-name'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'31', 'help-string'=>'HA group name'}} # The number of times HSM HA function will attempt to automatically recover a member that has failed to synchronize or has dropped from the HA group. Setting to a value of zero switches the feature off. def auto_recovery_retry prop_get('auto-recovery-retry') end # The number of times HSM HA function will attempt to automatically recover a member that has failed to synchronize or has dropped from the HA group. Setting to a value of zero switches the feature off. def auto_recovery_retry=(val) prop_set('auto-recovery-retry', val) end # HA group name def ha_group_name prop_get('ha-group-name') end # HA group name def ha_group_name=(val) prop_set('ha-group-name', val) end end def ha @subclasses['ha'] ||= Ha.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def safenet_network @subclasses['safenet-network'] ||= SafenetNetwork.new(parent_instance: self, client: @client, create_children: @create_children) end class NcipherNshieldConnect < ConfigClass def has_multiple_values?; false; end def _section :'ncipher-nshield-connect' end class HsmServer < XML::ConfigClass def has_multiple_values?; true; end def _section :'hsm-server' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'31', 'help-string'=>'hsm server name'}, 'server-address'=>{'node-type'=>'element', 'type'=>'ipspec', 'unicast-only'=>'yes', 'help-string'=>'HSM server IP address'}} # hsm server name def name prop_get('@name') end # HSM server IP address def server_address prop_get('server-address') end # HSM server IP address def server_address=(val) prop_set('server-address', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def hsm_server maybe_register_subclass('hsm-server', HsmServer.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'rfs-address'=>{'node-type'=>'element', 'type'=>'ipspec', 'unicast-only'=>'yes', 'help-string'=>'IP address of remote file system server'}} # IP address of remote file system server def rfs_address prop_get('rfs-address') end # IP address of remote file system server def rfs_address=(val) prop_set('rfs-address', val) end end def ncipher_nshield_connect @subclasses['ncipher-nshield-connect'] ||= NcipherNshieldConnect.new(parent_instance: self, client: @client, create_children: @create_children) end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def provider @subclasses['provider'] ||= Provider.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def hsm_settings @subclasses['hsm-settings'] ||= HsmSettings.new(parent_instance: self, client: @client, create_children: @create_children) end class DeviceTelemetry < ConfigClass def has_multiple_values?; false; end def _section :'device-telemetry' end @props = {'product-usage'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'device-health-performance'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'threat-prevention'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'region'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'128', 'help-string'=>'region name to send telemetry data', 'complete-handler'=>'device-telemetry-region-completer'}} def product_usage prop_get('product-usage') end def product_usage=(val) prop_set('product-usage', val) end def device_health_performance prop_get('device-health-performance') end def device_health_performance=(val) prop_set('device-health-performance', val) end def threat_prevention prop_get('threat-prevention') end def threat_prevention=(val) prop_set('threat-prevention', val) end # region name to send telemetry data def region prop_get('region') end # region name to send telemetry data def region=(val) prop_set('region', val) end end def device_telemetry @subclasses['device-telemetry'] ||= DeviceTelemetry.new(parent_instance: self, client: @client, create_children: @create_children) end class Ssh < ConfigClass def has_multiple_values?; false; end def _section :ssh end class Profiles < ConfigClass def has_multiple_values?; false; end def _section :profiles end class HaProfiles < XML::ConfigClass def has_multiple_values?; true; end def _section :'ha-profiles' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Ciphers < XML::ConfigClass def has_multiple_values?; true; end def _section :ciphers end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'aes128-cbc', 'enum'=>[{'value'=>'aes128-cbc', 'optional'=>'yes', 'help-string'=>'AES 128 bit cipher with Cipher Block Chaining'}, {'value'=>'aes192-cbc', 'optional'=>'yes', 'help-string'=>'AES 192 bit cipher with Cipher Block Chaining'}, {'value'=>'aes256-cbc', 'optional'=>'yes', 'help-string'=>'AES 256 bit cipher with Cipher Block Chaining'}, {'value'=>'aes128-ctr', 'optional'=>'yes', 'help-string'=>'AES 128 bit cipher with Counter Mode'}, {'value'=>'aes192-ctr', 'optional'=>'yes', 'help-string'=>'AES 192 bit cipher with Counter Mode'}, {'value'=>'aes256-ctr', 'optional'=>'yes', 'help-string'=>'AES 256 bit cipher with Counter Mode'}, {'value'=>'aes128-gcm', 'optional'=>'yes', 'help-string'=>'AES 128 bit cipher with GCM'}, {'value'=>'aes256-gcm', 'optional'=>'yes', 'help-string'=>'AES 256 bit cipher with GCM'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def ciphers maybe_register_subclass('ciphers', Ciphers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Mac < XML::ConfigClass def has_multiple_values?; true; end def _section :mac end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'hmac-sha2-256', 'enum'=>[{'value'=>'hmac-sha1', 'optional'=>'yes', 'help-string'=>'MAC with SHA1 cryptographic hash'}, {'value'=>'hmac-sha2-256', 'optional'=>'yes', 'help-string'=>'MAC with SHA2-256 cryptographic hash'}, {'value'=>'hmac-sha2-512', 'optional'=>'yes', 'help-string'=>'MAC with SHA2-512 cryptographic hash'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def mac maybe_register_subclass('mac', Mac.new(parent_instance: self, client: @client, create_children: @create_children)) end class Kex < XML::ConfigClass def has_multiple_values?; true; end def _section :kex end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'diffie-hellman-group14-sha1', 'enum'=>[{'value'=>'diffie-hellman-group14-sha1', 'help-string'=>'Diffie Hellman group 14 with SHA1 hash'}, {'value'=>'ecdh-sha2-nistp256', 'help-string'=>'Elliptic Curve Diffie Hellman over NIST P-256 with SHA2-256 hash'}, {'value'=>'ecdh-sha2-nistp384', 'help-string'=>'Elliptic Curve Diffie Hellman over NIST P-384 with SHA2-384 hash'}, {'value'=>'ecdh-sha2-nistp521', 'help-string'=>'Elliptic Curve Diffie Hellman over NIST P-521 with SHA2-521 hash'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def kex maybe_register_subclass('kex', Kex.new(parent_instance: self, client: @client, create_children: @create_children)) end class DefaultHostkey < ConfigClass def has_multiple_values?; false; end def _section :'default-hostkey' end class KeyType < XML::ConfigClass def has_multiple_values?; true; end def _section :'key-type' end @props = {'ECDSA'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'256', 'help-string'=>'ECDSA key', 'enum'=>[{'value'=>'256', 'help-string'=>'ECDSA key of length 256'}, {'value'=>'384', 'help-string'=>'ECDSA key of length 384'}, {'value'=>'521', 'help-string'=>'ECDSA key of length 521'}]}, 'RSA'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'2048', 'help-string'=>'RSA key', 'enum'=>[{'value'=>'2048', 'help-string'=>'RSA key of length 2048'}, {'value'=>'3072', 'help-string'=>'RSA key of length 3072'}, {'value'=>'4096', 'help-string'=>'RSA key of length 4096'}]}} # ECDSA key def ECDSA prop_get('ECDSA') end # ECDSA key def ECDSA=(val) prop_set('ECDSA', val) end # RSA key def RSA prop_get('RSA') end # RSA key def RSA=(val) prop_set('RSA', val) end end def key_type maybe_register_subclass('key-type', KeyType.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def default_hostkey @subclasses['default-hostkey'] ||= DefaultHostkey.new(parent_instance: self, client: @client, create_children: @create_children) end class SessionRekey < ConfigClass def has_multiple_values?; false; end def _section :'session-rekey' end @props = {'data'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'default', 'help-string'=>'Set the data to be transmitted between each ssh rekeying', 'multi-types'=>{'rangedint'=>{'min'=>'10', 'max'=>'4000', 'help-string'=>'Maximum data in Megabytes to be transmitted between each rekeying'}, 'enum'=>[{'value'=>'default', 'help-string'=>'Set the default to cipher based rekeying, which is between 1GB to 4GB'}]}}, 'interval'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'default', 'help-string'=>'Set the time interval between each ssh rekeying', 'multi-types'=>{'rangedint'=>{'min'=>'10', 'max'=>'3600', 'help-string'=>'Maximum time interval in seconds between each rekeying'}, 'enum'=>[{'value'=>'default', 'help-string'=>'Set the default to no time based rekeying'}]}}, 'packets'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'default', 'help-string'=>'Set the number of packets to be transmitted between each ssh rekeying', 'multi-types'=>{'rangedint'=>{'min'=>'12', 'max'=>'27', 'help-string'=>'Maximum number of packets (2^n) to be transmitted between rekeying'}, 'enum'=>[{'value'=>'default', 'help-string'=>'Set the default number of packets (2^28)'}]}}} # Set the data to be transmitted between each ssh rekeying def data prop_get('data') end # Set the data to be transmitted between each ssh rekeying def data=(val) prop_set('data', val) end # Set the time interval between each ssh rekeying def interval prop_get('interval') end # Set the time interval between each ssh rekeying def interval=(val) prop_set('interval', val) end # Set the number of packets to be transmitted between each ssh rekeying def packets prop_get('packets') end # Set the number of packets to be transmitted between each ssh rekeying def packets=(val) prop_set('packets', val) end end def session_rekey @subclasses['session-rekey'] ||= SessionRekey.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string begin with letter: [0-9a-zA-Z._-]', 'regex'=>'^[a-zA-Z]{1}[0-9a-zA-Z._-]*$'}} # alphanumeric string begin with letter: [0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ha_profiles maybe_register_subclass('ha-profiles', HaProfiles.new(parent_instance: self, client: @client, create_children: @create_children)) end class MgmtProfiles < ConfigClass def has_multiple_values?; false; end def _section :'mgmt-profiles' end class ServerProfiles < XML::ConfigClass def has_multiple_values?; true; end def _section :'server-profiles' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Ciphers < XML::ConfigClass def has_multiple_values?; true; end def _section :ciphers end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'aes-128-cbc', 'enum'=>[{'value'=>'aes128-cbc', 'optional'=>'yes', 'help-string'=>'AES 128 bit cipher with Cipher Block Chaining'}, {'value'=>'aes192-cbc', 'optional'=>'yes', 'help-string'=>'AES 192 bit cipher with Cipher Block Chaining'}, {'value'=>'aes256-cbc', 'optional'=>'yes', 'help-string'=>'AES 256 bit cipher with Cipher Block Chaining'}, {'value'=>'aes128-ctr', 'optional'=>'yes', 'help-string'=>'AES 128 bit cipher with Counter Mode'}, {'value'=>'aes192-ctr', 'optional'=>'yes', 'help-string'=>'AES 192 bit cipher with Counter Mode'}, {'value'=>'aes256-ctr', 'optional'=>'yes', 'help-string'=>'AES 256 bit cipher with Counter Mode'}, {'value'=>'aes128-gcm', 'optional'=>'yes', 'help-string'=>'AES 128 bit cipher with GCM'}, {'value'=>'aes256-gcm', 'optional'=>'yes', 'help-string'=>'AES 256 bit cipher with GCM'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def ciphers maybe_register_subclass('ciphers', Ciphers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Mac < XML::ConfigClass def has_multiple_values?; true; end def _section :mac end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'hmac-sha2-256', 'enum'=>[{'value'=>'hmac-sha1', 'optional'=>'yes', 'help-string'=>'MAC with SHA1 cryptographic hash'}, {'value'=>'hmac-sha2-256', 'optional'=>'yes', 'help-string'=>'MAC with SHA2-256 cryptographic hash'}, {'value'=>'hmac-sha2-512', 'optional'=>'yes', 'help-string'=>'MAC with SHA2-512 cryptographic hash'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def mac maybe_register_subclass('mac', Mac.new(parent_instance: self, client: @client, create_children: @create_children)) end class Kex < XML::ConfigClass def has_multiple_values?; true; end def _section :kex end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'diffie-hellman-group14-sha1', 'enum'=>[{'value'=>'diffie-hellman-group14-sha1', 'help-string'=>'Diffie Hellman group 14 with SHA1 hash'}, {'value'=>'ecdh-sha2-nistp256', 'help-string'=>'Elliptic Curve Diffie Hellman over NIST P-256 with SHA2-256 hash'}, {'value'=>'ecdh-sha2-nistp384', 'help-string'=>'Elliptic Curve Diffie Hellman over NIST P-384 with SHA2-384 hash'}, {'value'=>'ecdh-sha2-nistp521', 'help-string'=>'Elliptic Curve Diffie Hellman over NIST P-521 with SHA2-521 hash'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def kex maybe_register_subclass('kex', Kex.new(parent_instance: self, client: @client, create_children: @create_children)) end class DefaultHostkey < ConfigClass def has_multiple_values?; false; end def _section :'default-hostkey' end class KeyType < XML::ConfigClass def has_multiple_values?; true; end def _section :'key-type' end class All < ConfigClass def has_multiple_values?; false; end def _section :all end @props = {} end def all @subclasses['all'] ||= All.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'ECDSA'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'256', 'help-string'=>'ECDSA key', 'enum'=>[{'value'=>'256', 'help-string'=>'ECDSA key of length 256'}, {'value'=>'384', 'help-string'=>'ECDSA key of length 384'}, {'value'=>'521', 'help-string'=>'ECDSA key of length 521'}]}, 'RSA'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'2048', 'help-string'=>'RSA key', 'enum'=>[{'value'=>'2048', 'help-string'=>'RSA key of length 2048'}, {'value'=>'3072', 'help-string'=>'RSA key of length 3072'}, {'value'=>'4096', 'help-string'=>'RSA key of length 4096'}]}} # ECDSA key def ECDSA prop_get('ECDSA') end # ECDSA key def ECDSA=(val) prop_set('ECDSA', val) end # RSA key def RSA prop_get('RSA') end # RSA key def RSA=(val) prop_set('RSA', val) end end def key_type maybe_register_subclass('key-type', KeyType.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def default_hostkey @subclasses['default-hostkey'] ||= DefaultHostkey.new(parent_instance: self, client: @client, create_children: @create_children) end class SessionRekey < ConfigClass def has_multiple_values?; false; end def _section :'session-rekey' end @props = {'data'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'default', 'help-string'=>'Set the data to be transmitted between each ssh rekeying', 'multi-types'=>{'rangedint'=>{'min'=>'10', 'max'=>'4000', 'help-string'=>'Maximum data in Megabytes to be transmitted between each rekeying'}, 'enum'=>[{'value'=>'default', 'help-string'=>'Set the default to cipher based rekeying, which is between 1GB to 4GB'}]}}, 'interval'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'default', 'help-string'=>'Set the time interval between each ssh rekeying', 'multi-types'=>{'rangedint'=>{'min'=>'10', 'max'=>'3600', 'help-string'=>'Maximum time interval in seconds between each rekeying'}, 'enum'=>[{'value'=>'default', 'help-string'=>'Set the default to no time based rekeying'}]}}, 'packets'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'default', 'help-string'=>'Set the number of packets to be transmitted between each ssh rekeying', 'multi-types'=>{'rangedint'=>{'min'=>'12', 'max'=>'27', 'help-string'=>'Maximum number of packets (2^n) to be transmitted between rekeying'}, 'enum'=>[{'value'=>'default', 'help-string'=>'Set the default number of packets (2^28)'}]}}} # Set the data to be transmitted between each ssh rekeying def data prop_get('data') end # Set the data to be transmitted between each ssh rekeying def data=(val) prop_set('data', val) end # Set the time interval between each ssh rekeying def interval prop_get('interval') end # Set the time interval between each ssh rekeying def interval=(val) prop_set('interval', val) end # Set the number of packets to be transmitted between each ssh rekeying def packets prop_get('packets') end # Set the number of packets to be transmitted between each ssh rekeying def packets=(val) prop_set('packets', val) end end def session_rekey @subclasses['session-rekey'] ||= SessionRekey.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string begin with letter: [0-9a-zA-Z._-]', 'regex'=>'^[a-zA-Z]{1}[0-9a-zA-Z._-]*$'}} # alphanumeric string begin with letter: [0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server_profiles maybe_register_subclass('server-profiles', ServerProfiles.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def mgmt_profiles @subclasses['mgmt-profiles'] ||= MgmtProfiles.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def profiles @subclasses['profiles'] ||= Profiles.new(parent_instance: self, client: @client, create_children: @create_children) end class Ha < ConfigClass def has_multiple_values?; false; end def _section :ha end @props = {'ha-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'HA profile to be used by HA SSH'}} # HA profile to be used by HA SSH def ha_profile prop_get('ha-profile') end # HA profile to be used by HA SSH def ha_profile=(val) prop_set('ha-profile', val) end end def ha @subclasses['ha'] ||= Ha.new(parent_instance: self, client: @client, create_children: @create_children) end class Mgmt < ConfigClass def has_multiple_values?; false; end def _section :mgmt end @props = {'server-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'Mgmt profile to be used by Mgmt SSH Server'}} # Mgmt profile to be used by Mgmt SSH Server def server_profile prop_get('server-profile') end # Mgmt profile to be used by Mgmt SSH Server def server_profile=(val) prop_set('server-profile', val) end end def mgmt @subclasses['mgmt'] ||= Mgmt.new(parent_instance: self, client: @client, create_children: @create_children) end class RegenerateHostkeys < ConfigClass def has_multiple_values?; false; end def _section :'regenerate-hostkeys' end class Ha < ConfigClass def has_multiple_values?; false; end def _section :ha end class KeyType < XML::ConfigClass def has_multiple_values?; true; end def _section :'key-type' end class ECDSA < ConfigClass def has_multiple_values?; false; end def _section :ECDSA end @props = {'key-length'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'256', 'help-string'=>'Length of SSH key', 'enum'=>[{'value'=>'256', 'help-string'=>'ECDSA key of length 256'}, {'value'=>'384', 'help-string'=>'ECDSA key of length 384'}, {'value'=>'521', 'help-string'=>'ECDSA key of length 521'}]}} # Length of SSH key def key_length prop_get('key-length') end # Length of SSH key def key_length=(val) prop_set('key-length', val) end end def ECDSA @subclasses['ECDSA'] ||= ECDSA.new(parent_instance: self, client: @client, create_children: @create_children) end class RSA < ConfigClass def has_multiple_values?; false; end def _section :RSA end @props = {'key-length'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'2048', 'help-string'=>'Length of SSH key', 'enum'=>[{'value'=>'2048', 'help-string'=>'RSA key of length 2048'}, {'value'=>'3072', 'help-string'=>'RSA key of length 3072'}, {'value'=>'4096', 'help-string'=>'RSA key of length 4096'}]}} # Length of SSH key def key_length prop_get('key-length') end # Length of SSH key def key_length=(val) prop_set('key-length', val) end end def RSA @subclasses['RSA'] ||= RSA.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def key_type maybe_register_subclass('key-type', KeyType.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def ha @subclasses['ha'] ||= Ha.new(parent_instance: self, client: @client, create_children: @create_children) end class Mgmt < ConfigClass def has_multiple_values?; false; end def _section :mgmt end class KeyType < XML::ConfigClass def has_multiple_values?; true; end def _section :'key-type' end class ECDSA < ConfigClass def has_multiple_values?; false; end def _section :ECDSA end @props = {'key-length'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'256', 'help-string'=>'Length of SSH key', 'enum'=>[{'value'=>'256', 'help-string'=>'ECDSA key of length 256'}, {'value'=>'384', 'help-string'=>'ECDSA key of length 384'}, {'value'=>'521', 'help-string'=>'ECDSA key of length 521'}]}} # Length of SSH key def key_length prop_get('key-length') end # Length of SSH key def key_length=(val) prop_set('key-length', val) end end def ECDSA @subclasses['ECDSA'] ||= ECDSA.new(parent_instance: self, client: @client, create_children: @create_children) end class RSA < ConfigClass def has_multiple_values?; false; end def _section :RSA end @props = {'key-length'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'2048', 'help-string'=>'Length of SSH key', 'enum'=>[{'value'=>'2048', 'help-string'=>'RSA key of length 2048'}, {'value'=>'3072', 'help-string'=>'RSA key of length 3072'}, {'value'=>'4096', 'help-string'=>'RSA key of length 4096'}]}} # Length of SSH key def key_length prop_get('key-length') end # Length of SSH key def key_length=(val) prop_set('key-length', val) end end def RSA @subclasses['RSA'] ||= RSA.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def key_type maybe_register_subclass('key-type', KeyType.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def mgmt @subclasses['mgmt'] ||= Mgmt.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def regenerate_hostkeys @subclasses['regenerate-hostkeys'] ||= RegenerateHostkeys.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ssh @subclasses['ssh'] ||= Ssh.new(parent_instance: self, client: @client, create_children: @create_children) end class SnmpSetting < ConfigClass def has_multiple_values?; false; end def _section :'snmp-setting' end class SnmpSystem < ConfigClass def has_multiple_values?; false; end def _section :'snmp-system' end @props = {'location'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'256', 'help-string'=>'System location'}, 'contact'=>{'node-type'=>'element', 'optional'=>'yes', 'maxlen'=>'256', 'type'=>'string', 'help-string'=>'Contact information'}, 'send-event-specific-traps'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Use Event-specific Trap Definitions'}} # System location def location prop_get('location') end # System location def location=(val) prop_set('location', val) end # Contact information def contact prop_get('contact') end # Contact information def contact=(val) prop_set('contact', val) end # Use Event-specific Trap Definitions def send_event_specific_traps prop_get('send-event-specific-traps') end # Use Event-specific Trap Definitions def send_event_specific_traps=(val) prop_set('send-event-specific-traps', val) end end def snmp_system @subclasses['snmp-system'] ||= SnmpSystem.new(parent_instance: self, client: @client, create_children: @create_children) end class AccessSetting < ConfigClass def has_multiple_values?; false; end def _section :'access-setting' end class Version < XML::ConfigClass def has_multiple_values?; true; end def _section :version end class V2c < ConfigClass def has_multiple_values?; false; end def _section :v2c end @props = {'snmp-community-string'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'default'=>'public', 'maxlen'=>'255', 'help-string'=>'SNMP Community String'}} # SNMP Community String def snmp_community_string prop_get('snmp-community-string') end # SNMP Community String def snmp_community_string=(val) prop_set('snmp-community-string', val) end end def v2c @subclasses['v2c'] ||= V2c.new(parent_instance: self, client: @client, create_children: @create_children) end class V3 < ConfigClass def has_multiple_values?; false; end def _section :v3 end class Views < XML::ConfigClass def has_multiple_values?; true; end def _section :views end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class View < XML::ConfigClass def has_multiple_values?; true; end def _section :view end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'regex'=>'^[a-zA-Z0-9_-]+$', 'help-string'=>'Oid subtree name'}, 'oid'=>{'node-type'=>'element', 'maxlen'=>'255', 'type'=>'string', 'regex'=>'^[0-9\.]+$', 'help-string'=>'Oid of a mib node'}, 'option'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'include'}, {'value'=>'exclude'}]}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'maxlen'=>'255', 'type'=>'string', 'regex'=>'^0+[xX][0-9a-fA-F:.]+$', 'help-string'=>'Subtree mask in hex'}} # Oid subtree name def name prop_get('@name') end # Oid of a mib node def oid prop_get('oid') end # Oid of a mib node def oid=(val) prop_set('oid', val) end def option prop_get('option') end def option=(val) prop_set('option', val) end # Subtree mask in hex def mask prop_get('mask') end # Subtree mask in hex def mask=(val) prop_set('mask', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def view maybe_register_subclass('view', View.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'regex'=>'^[^ ]+$', 'help-string'=>'View name'}} # View name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def views maybe_register_subclass('views', Views.new(parent_instance: self, client: @client, create_children: @create_children)) end class Users < XML::ConfigClass def has_multiple_values?; true; end def _section :users end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'31', 'help-string'=>'User name'}, 'view'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Snmp View Name'}, 'authpwd'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'8', 'maxlen'=>'256', 'help-string'=>'Authentication Protocol Password', 'encrypt'=>'yes'}, 'privpwd'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'8', 'maxlen'=>'256', 'help-string'=>'Privacy Protocol Password', 'encrypt'=>'yes'}, 'authproto'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'SHA', 'help-string'=>'Authentication Protocol', 'enum'=>[{'value'=>'SHA'}, {'value'=>'SHA-224'}, {'value'=>'SHA-256'}, {'value'=>'SHA-384'}, {'value'=>'SHA-512'}]}, 'privproto'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'AES', 'help-string'=>'Privacy Protocol', 'enum'=>[{'value'=>'AES'}, {'value'=>'AES-192'}, {'value'=>'AES-256'}]}} # User name def name prop_get('@name') end # Snmp View Name def view prop_get('view') end # Snmp View Name def view=(val) prop_set('view', val) end # Authentication Protocol Password def authpwd prop_get('authpwd') end # Authentication Protocol Password def authpwd=(val) prop_set('authpwd', val) end # Privacy Protocol Password def privpwd prop_get('privpwd') end # Privacy Protocol Password def privpwd=(val) prop_set('privpwd', val) end # Authentication Protocol def authproto prop_get('authproto') end # Authentication Protocol def authproto=(val) prop_set('authproto', val) end # Privacy Protocol def privproto prop_get('privproto') end # Privacy Protocol def privproto=(val) prop_set('privproto', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def users maybe_register_subclass('users', Users.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def v3 @subclasses['v3'] ||= V3.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def version maybe_register_subclass('version', Version.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def access_setting @subclasses['access-setting'] ||= AccessSetting.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def snmp_setting @subclasses['snmp-setting'] ||= SnmpSetting.new(parent_instance: self, client: @client, create_children: @create_children) end class GeoLocation < ConfigClass def has_multiple_values?; false; end def _section :'geo-location' end @props = {'latitude'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^-?[0-9]+([.][0-9]+)?$', 'help-string'=>'latitude coordinate'}, 'longitude'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^-?[0-9]+([.][0-9]+)?$', 'help-string'=>'longitude coordinate'}} # latitude coordinate def latitude prop_get('latitude') end # latitude coordinate def latitude=(val) prop_set('latitude', val) end # longitude coordinate def longitude prop_get('longitude') end # longitude coordinate def longitude=(val) prop_set('longitude', val) end end def geo_location @subclasses['geo-location'] ||= GeoLocation.new(parent_instance: self, client: @client, create_children: @create_children) end class Service < ConfigClass def has_multiple_values?; false; end def _section :service end @props = {'disable-http'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'disable-https'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'disable-telnet'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'disable-ssh'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'disable-icmp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'disable-snmp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'disable-userid-service'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}} def disable_http prop_get('disable-http') end def disable_http=(val) prop_set('disable-http', val) end def disable_https prop_get('disable-https') end def disable_https=(val) prop_set('disable-https', val) end def disable_telnet prop_get('disable-telnet') end def disable_telnet=(val) prop_set('disable-telnet', val) end def disable_ssh prop_get('disable-ssh') end def disable_ssh=(val) prop_set('disable-ssh', val) end def disable_icmp prop_get('disable-icmp') end def disable_icmp=(val) prop_set('disable-icmp', val) end def disable_snmp prop_get('disable-snmp') end def disable_snmp=(val) prop_set('disable-snmp', val) end def disable_userid_service prop_get('disable-userid-service') end def disable_userid_service=(val) prop_set('disable-userid-service', val) end end def service @subclasses['service'] ||= Service.new(parent_instance: self, client: @client, create_children: @create_children) end class PermittedIp < XML::ConfigClass def has_multiple_values?; true; end def _section :'permitted-ip' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'help-string'=>'ip address/prefix'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}} # ip address/prefix def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def permitted_ip maybe_register_subclass('permitted-ip', PermittedIp.new(parent_instance: self, client: @client, create_children: @create_children)) end class LogLink < XML::ConfigClass def has_multiple_values?; true; end def _section :'log-link' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'name of link', 'regex'=>'[0-9a-zA-Z:@./_-]+'}, 'url'=>{'node-type'=>'element', 'optional'=>'yes', 'help-string'=>'URL format of link', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024'}} # name of link def name prop_get('@name') end # URL format of link def url prop_get('url') end # URL format of link def url=(val) prop_set('url', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def log_link maybe_register_subclass('log-link', LogLink.new(parent_instance: self, client: @client, create_children: @create_children)) end class ConfigBundleExportSchedule < XML::ConfigClass def has_multiple_values?; true; end def _section :'config-bundle-export-schedule' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Protocol < XML::ConfigClass def has_multiple_values?; true; end def _section :protocol end class Ftp < ConfigClass def has_multiple_values?; false; end def _section :ftp end @props = {'hostname'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'ftp hostname'}, 'port'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'ftp port'}, 'path'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[\.\+/,\{\}0-9a-zA-Z_-]+$', 'maxlen'=>'255', 'help-string'=>'ftp server path'}, 'username'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'ftp username', 'minlen'=>'1', 'maxlen'=>'255', 'regex'=>'[^\']*'}, 'password'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'ftp password', 'minlen'=>'0', 'maxlen'=>'255', 'regex'=>'[^\']*', 'encrypt'=>'yes'}, 'passive-mode'=>{'node-type'=>'element', 'type'=>'bool', 'help-string'=>'Enable FTP Passive Mode'}} # ftp hostname def hostname prop_get('hostname') end # ftp hostname def hostname=(val) prop_set('hostname', val) end # ftp port def port prop_get('port') end # ftp port def port=(val) prop_set('port', val) end # ftp server path def path prop_get('path') end # ftp server path def path=(val) prop_set('path', val) end # ftp username def username prop_get('username') end # ftp username def username=(val) prop_set('username', val) end # ftp password def password prop_get('password') end # ftp password def password=(val) prop_set('password', val) end # Enable FTP Passive Mode def passive_mode prop_get('passive-mode') end # Enable FTP Passive Mode def passive_mode=(val) prop_set('passive-mode', val) end end def ftp @subclasses['ftp'] ||= Ftp.new(parent_instance: self, client: @client, create_children: @create_children) end class Scp < ConfigClass def has_multiple_values?; false; end def _section :scp end @props = {'hostname'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'scp hostname'}, 'port'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'scp port'}, 'path'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[\.\+/,\{\}0-9a-zA-Z_-]+$', 'maxlen'=>'255', 'help-string'=>'scp server path'}, 'username'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'scp username', 'minlen'=>'1', 'maxlen'=>'255', 'regex'=>'[^\']*'}, 'password'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'scp password', 'minlen'=>'0', 'maxlen'=>'255', 'regex'=>'[^\']*', 'encrypt'=>'yes'}} # scp hostname def hostname prop_get('hostname') end # scp hostname def hostname=(val) prop_set('hostname', val) end # scp port def port prop_get('port') end # scp port def port=(val) prop_set('port', val) end # scp server path def path prop_get('path') end # scp server path def path=(val) prop_set('path', val) end # scp username def username prop_get('username') end # scp username def username=(val) prop_set('username', val) end # scp password def password prop_get('password') end # scp password def password=(val) prop_set('password', val) end end def scp @subclasses['scp'] ||= Scp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def protocol maybe_register_subclass('protocol', Protocol.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'schedule name', 'regex'=>'^[0-9a-zA-Z:@./_-]+$'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'enable'=>{'node-type'=>'element', 'type'=>'bool'}, 'start-time'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3]):([0-5][0-9])', 'minlen'=>'5', 'maxlen'=>'5', 'help-string'=>'Time to start the scheduled export hh:mm (e.g. 03:30)'}} # schedule name def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Time to start the scheduled export hh:mm (e.g. 03:30) def start_time prop_get('start-time') end # Time to start the scheduled export hh:mm (e.g. 03:30) def start_time=(val) prop_set('start-time', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def config_bundle_export_schedule maybe_register_subclass('config-bundle-export-schedule', ConfigBundleExportSchedule.new(parent_instance: self, client: @client, create_children: @create_children)) end class UpdateSchedule < ConfigClass def has_multiple_values?; false; end def _section :'update-schedule' end class Threats < ConfigClass def has_multiple_values?; false; end def _section :threats end class Recurring < ConfigClass def has_multiple_values?; false; end def _section :recurring end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end class Every30Mins < ConfigClass def has_multiple_values?; false; end def _section :'every-30-mins' end @props = {'at'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'29', 'help-string'=>'Minutes past half-hour'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'download-only', 'help-string'=>'Download but do not install'}, {'value'=>'download-and-install', 'help-string'=>'Download and install'}]}, 'disable-new-content'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'help-string'=>'Disable new applications after installation'}} # Minutes past half-hour def at prop_get('at') end # Minutes past half-hour def at=(val) prop_set('at', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # Disable new applications after installation def disable_new_content prop_get('disable-new-content') end # Disable new applications after installation def disable_new_content=(val) prop_set('disable-new-content', val) end end def every_30_mins @subclasses['every-30-mins'] ||= Every30Mins.new(parent_instance: self, client: @client, create_children: @create_children) end class Hourly < ConfigClass def has_multiple_values?; false; end def _section :hourly end @props = {'at'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'59', 'help-string'=>'Minutes past hour'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'download-only', 'help-string'=>'Download but do not install'}, {'value'=>'download-and-install', 'help-string'=>'Download and install'}]}, 'disable-new-content'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'help-string'=>'Disable new applications after installation'}} # Minutes past hour def at prop_get('at') end # Minutes past hour def at=(val) prop_set('at', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # Disable new applications after installation def disable_new_content prop_get('disable-new-content') end # Disable new applications after installation def disable_new_content=(val) prop_set('disable-new-content', val) end end def hourly @subclasses['hourly'] ||= Hourly.new(parent_instance: self, client: @client, create_children: @create_children) end class Daily < ConfigClass def has_multiple_values?; false; end def _section :daily end @props = {'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3]):([0-5][0-9])', 'minlen'=>'5', 'maxlen'=>'5', 'help-string'=>'Time specification hh:mm (e.g. 20:10)'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'download-only', 'help-string'=>'Download but do not install'}, {'value'=>'download-and-install', 'help-string'=>'Download and install'}]}, 'disable-new-content'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'help-string'=>'Disable new applications after installation'}} # Time specification hh:mm (e.g. 20:10) def at prop_get('at') end # Time specification hh:mm (e.g. 20:10) def at=(val) prop_set('at', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # Disable new applications after installation def disable_new_content prop_get('disable-new-content') end # Disable new applications after installation def disable_new_content=(val) prop_set('disable-new-content', val) end end def daily @subclasses['daily'] ||= Daily.new(parent_instance: self, client: @client, create_children: @create_children) end class Weekly < ConfigClass def has_multiple_values?; false; end def _section :weekly end @props = {'day-of-week'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'sunday'}, {'value'=>'monday'}, {'value'=>'tuesday'}, {'value'=>'wednesday'}, {'value'=>'thursday'}, {'value'=>'friday'}, {'value'=>'saturday'}]}, 'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3]):([0-5][0-9])', 'minlen'=>'5', 'maxlen'=>'5', 'help-string'=>'Time specification hh:mm (e.g. 20:10)'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'download-only', 'help-string'=>'Download but do not install'}, {'value'=>'download-and-install', 'help-string'=>'Download and install'}]}, 'disable-new-content'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'help-string'=>'Disable new applications after installation'}} def day_of_week prop_get('day-of-week') end def day_of_week=(val) prop_set('day-of-week', val) end # Time specification hh:mm (e.g. 20:10) def at prop_get('at') end # Time specification hh:mm (e.g. 20:10) def at=(val) prop_set('at', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # Disable new applications after installation def disable_new_content prop_get('disable-new-content') end # Disable new applications after installation def disable_new_content=(val) prop_set('disable-new-content', val) end end def weekly @subclasses['weekly'] ||= Weekly.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'threshold'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'336', 'help-string'=>'ignore if release date is new (hours)'}, 'new-app-threshold'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'336', 'help-string'=>'ignore new apps if release date is new (hours)'}, 'sync-to-peer'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'help-string'=>'Synchronize content with HA peer after download/install'}} # ignore if release date is new (hours) def threshold prop_get('threshold') end # ignore if release date is new (hours) def threshold=(val) prop_set('threshold', val) end # ignore new apps if release date is new (hours) def new_app_threshold prop_get('new-app-threshold') end # ignore new apps if release date is new (hours) def new_app_threshold=(val) prop_set('new-app-threshold', val) end # Synchronize content with HA peer after download/install def sync_to_peer prop_get('sync-to-peer') end # Synchronize content with HA peer after download/install def sync_to_peer=(val) prop_set('sync-to-peer', val) end end def recurring @subclasses['recurring'] ||= Recurring.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def threats @subclasses['threats'] ||= Threats.new(parent_instance: self, client: @client, create_children: @create_children) end class AntiVirus < ConfigClass def has_multiple_values?; false; end def _section :'anti-virus' end class Recurring < ConfigClass def has_multiple_values?; false; end def _section :recurring end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end class Hourly < ConfigClass def has_multiple_values?; false; end def _section :hourly end @props = {'at'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'59', 'help-string'=>'Minutes past hour'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'download-only', 'help-string'=>'Download but do not install'}, {'value'=>'download-and-install', 'help-string'=>'Download and install'}]}} # Minutes past hour def at prop_get('at') end # Minutes past hour def at=(val) prop_set('at', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end end def hourly @subclasses['hourly'] ||= Hourly.new(parent_instance: self, client: @client, create_children: @create_children) end class Daily < ConfigClass def has_multiple_values?; false; end def _section :daily end @props = {'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3]):([0-5][0-9])', 'minlen'=>'5', 'maxlen'=>'5', 'help-string'=>'Time specification hh:mm (e.g. 20:10)'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'download-only', 'help-string'=>'Download but do not install'}, {'value'=>'download-and-install', 'help-string'=>'Download and install'}]}} # Time specification hh:mm (e.g. 20:10) def at prop_get('at') end # Time specification hh:mm (e.g. 20:10) def at=(val) prop_set('at', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end end def daily @subclasses['daily'] ||= Daily.new(parent_instance: self, client: @client, create_children: @create_children) end class Weekly < ConfigClass def has_multiple_values?; false; end def _section :weekly end @props = {'day-of-week'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'sunday'}, {'value'=>'monday'}, {'value'=>'tuesday'}, {'value'=>'wednesday'}, {'value'=>'thursday'}, {'value'=>'friday'}, {'value'=>'saturday'}]}, 'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3]):([0-5][0-9])', 'minlen'=>'5', 'maxlen'=>'5', 'help-string'=>'Time specification hh:mm (e.g. 20:10)'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'download-only', 'help-string'=>'Download but do not install'}, {'value'=>'download-and-install', 'help-string'=>'Download and install'}]}} def day_of_week prop_get('day-of-week') end def day_of_week=(val) prop_set('day-of-week', val) end # Time specification hh:mm (e.g. 20:10) def at prop_get('at') end # Time specification hh:mm (e.g. 20:10) def at=(val) prop_set('at', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end end def weekly @subclasses['weekly'] ||= Weekly.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'threshold'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'336', 'help-string'=>'ignore if release date is new (hours)'}, 'sync-to-peer'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'help-string'=>'Synchronize content with HA peer after download/install'}} # ignore if release date is new (hours) def threshold prop_get('threshold') end # ignore if release date is new (hours) def threshold=(val) prop_set('threshold', val) end # Synchronize content with HA peer after download/install def sync_to_peer prop_get('sync-to-peer') end # Synchronize content with HA peer after download/install def sync_to_peer=(val) prop_set('sync-to-peer', val) end end def recurring @subclasses['recurring'] ||= Recurring.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def anti_virus @subclasses['anti-virus'] ||= AntiVirus.new(parent_instance: self, client: @client, create_children: @create_children) end class Wildfire < ConfigClass def has_multiple_values?; false; end def _section :wildfire end class Recurring < ConfigClass def has_multiple_values?; false; end def _section :recurring end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end class EveryMin < ConfigClass def has_multiple_values?; false; end def _section :'every-min' end @props = {'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'download-only', 'help-string'=>'Download but do not install'}, {'value'=>'download-and-install', 'help-string'=>'Download and install'}]}, 'sync-to-peer'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'help-string'=>'Synchronize content with HA peer after download/install'}} def action prop_get('action') end def action=(val) prop_set('action', val) end # Synchronize content with HA peer after download/install def sync_to_peer prop_get('sync-to-peer') end # Synchronize content with HA peer after download/install def sync_to_peer=(val) prop_set('sync-to-peer', val) end end def every_min @subclasses['every-min'] ||= EveryMin.new(parent_instance: self, client: @client, create_children: @create_children) end class Every15Mins < ConfigClass def has_multiple_values?; false; end def _section :'every-15-mins' end @props = {'at'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'14', 'help-string'=>'Minutes Past Quarter-Hour'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'download-only', 'help-string'=>'Download but do not install'}, {'value'=>'download-and-install', 'help-string'=>'Download and install'}]}, 'sync-to-peer'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'help-string'=>'Synchronize content with HA peer after download/install'}} # Minutes Past Quarter-Hour def at prop_get('at') end # Minutes Past Quarter-Hour def at=(val) prop_set('at', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # Synchronize content with HA peer after download/install def sync_to_peer prop_get('sync-to-peer') end # Synchronize content with HA peer after download/install def sync_to_peer=(val) prop_set('sync-to-peer', val) end end def every_15_mins @subclasses['every-15-mins'] ||= Every15Mins.new(parent_instance: self, client: @client, create_children: @create_children) end class Every30Mins < ConfigClass def has_multiple_values?; false; end def _section :'every-30-mins' end @props = {'at'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'29', 'help-string'=>'Minutes Past Half-Hour'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'download-only', 'help-string'=>'Download but do not install'}, {'value'=>'download-and-install', 'help-string'=>'Download and install'}]}, 'sync-to-peer'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'help-string'=>'Synchronize content with HA peer after download/install'}} # Minutes Past Half-Hour def at prop_get('at') end # Minutes Past Half-Hour def at=(val) prop_set('at', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # Synchronize content with HA peer after download/install def sync_to_peer prop_get('sync-to-peer') end # Synchronize content with HA peer after download/install def sync_to_peer=(val) prop_set('sync-to-peer', val) end end def every_30_mins @subclasses['every-30-mins'] ||= Every30Mins.new(parent_instance: self, client: @client, create_children: @create_children) end class EveryHour < ConfigClass def has_multiple_values?; false; end def _section :'every-hour' end @props = {'at'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'59', 'help-string'=>'Minutes Past Hour'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'download-only', 'help-string'=>'Download but do not install'}, {'value'=>'download-and-install', 'help-string'=>'Download and install'}]}, 'sync-to-peer'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'help-string'=>'Synchronize content with HA peer after download/install'}} # Minutes Past Hour def at prop_get('at') end # Minutes Past Hour def at=(val) prop_set('at', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # Synchronize content with HA peer after download/install def sync_to_peer prop_get('sync-to-peer') end # Synchronize content with HA peer after download/install def sync_to_peer=(val) prop_set('sync-to-peer', val) end end def every_hour @subclasses['every-hour'] ||= EveryHour.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def recurring @subclasses['recurring'] ||= Recurring.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def wildfire @subclasses['wildfire'] ||= Wildfire.new(parent_instance: self, client: @client, create_children: @create_children) end class WfPrivate < ConfigClass def has_multiple_values?; false; end def _section :'wf-private' end class Recurring < ConfigClass def has_multiple_values?; false; end def _section :recurring end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end class Every5Mins < ConfigClass def has_multiple_values?; false; end def _section :'every-5-mins' end @props = {'at'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4', 'help-string'=>'5 Minutes Past Five minutes'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'download-only', 'help-string'=>'Download but do not install'}, {'value'=>'download-and-install', 'help-string'=>'Download and install'}]}} # 5 Minutes Past Five minutes def at prop_get('at') end # 5 Minutes Past Five minutes def at=(val) prop_set('at', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end end def every_5_mins @subclasses['every-5-mins'] ||= Every5Mins.new(parent_instance: self, client: @client, create_children: @create_children) end class Every15Mins < ConfigClass def has_multiple_values?; false; end def _section :'every-15-mins' end @props = {'at'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'14', 'help-string'=>'Minutes Past Quarter-Hour'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'download-only', 'help-string'=>'Download but do not install'}, {'value'=>'download-and-install', 'help-string'=>'Download and install'}]}} # Minutes Past Quarter-Hour def at prop_get('at') end # Minutes Past Quarter-Hour def at=(val) prop_set('at', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end end def every_15_mins @subclasses['every-15-mins'] ||= Every15Mins.new(parent_instance: self, client: @client, create_children: @create_children) end class Every30Mins < ConfigClass def has_multiple_values?; false; end def _section :'every-30-mins' end @props = {'at'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'29', 'help-string'=>'Minutes Past Half-Hour'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'download-only', 'help-string'=>'Download but do not install'}, {'value'=>'download-and-install', 'help-string'=>'Download and install'}]}} # Minutes Past Half-Hour def at prop_get('at') end # Minutes Past Half-Hour def at=(val) prop_set('at', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end end def every_30_mins @subclasses['every-30-mins'] ||= Every30Mins.new(parent_instance: self, client: @client, create_children: @create_children) end class EveryHour < ConfigClass def has_multiple_values?; false; end def _section :'every-hour' end @props = {'at'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'59', 'help-string'=>'Minutes Past Hour'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'download-only', 'help-string'=>'Download but do not install'}, {'value'=>'download-and-install', 'help-string'=>'Download and install'}]}} # Minutes Past Hour def at prop_get('at') end # Minutes Past Hour def at=(val) prop_set('at', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end end def every_hour @subclasses['every-hour'] ||= EveryHour.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'sync-to-peer'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'help-string'=>'Synchronize content with HA peer after download/install'}} # Synchronize content with HA peer after download/install def sync_to_peer prop_get('sync-to-peer') end # Synchronize content with HA peer after download/install def sync_to_peer=(val) prop_set('sync-to-peer', val) end end def recurring @subclasses['recurring'] ||= Recurring.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def wf_private @subclasses['wf-private'] ||= WfPrivate.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def update_schedule @subclasses['update-schedule'] ||= UpdateSchedule.new(parent_instance: self, client: @client, create_children: @create_children) end class MotdAndBanner < ConfigClass def has_multiple_values?; false; end def _section :'motd-and-banner' end @props = {'motd-enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable/disable message of the day'}, 'message'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'3200', 'help-string'=>'Message of the day'}, 'motd-do-not-display-again'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Allow do not display again'}, 'motd-title'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'default'=>'Message of the Day', 'help-string'=>'Title for message of the day'}, 'motd-color'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'color1'}, {'value'=>'color2'}, {'value'=>'color3'}, {'value'=>'color4'}, {'value'=>'color5'}, {'value'=>'color6'}, {'value'=>'color7'}, {'value'=>'color8'}, {'value'=>'color9'}, {'value'=>'color10'}, {'value'=>'color11'}, {'value'=>'color12'}, {'value'=>'color13'}, {'value'=>'color14'}, {'value'=>'color15'}, {'value'=>'color16'}, {'value'=>'color17'}]}, 'severity'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Icon', 'multi-types'=>{'enum'=>[{'value'=>'warning', 'help-string'=>'Warning'}, {'value'=>'question', 'help-string'=>'Help'}, {'value'=>'error', 'help-string'=>'Error'}, {'value'=>'info', 'help-string'=>'Information'}]}}, 'banner-header'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'3200', 'help-string'=>'Header banner text'}, 'banner-header-color'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'color1'}, {'value'=>'color2'}, {'value'=>'color3'}, {'value'=>'color4'}, {'value'=>'color5'}, {'value'=>'color6'}, {'value'=>'color7'}, {'value'=>'color8'}, {'value'=>'color9'}, {'value'=>'color10'}, {'value'=>'color11'}, {'value'=>'color12'}, {'value'=>'color13'}, {'value'=>'color14'}, {'value'=>'color15'}, {'value'=>'color16'}, {'value'=>'color17'}]}, 'banner-header-text-color'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'color1'}, {'value'=>'color2'}, {'value'=>'color3'}, {'value'=>'color4'}, {'value'=>'color5'}, {'value'=>'color6'}, {'value'=>'color7'}, {'value'=>'color8'}, {'value'=>'color9'}, {'value'=>'color10'}, {'value'=>'color11'}, {'value'=>'color12'}, {'value'=>'color13'}, {'value'=>'color14'}, {'value'=>'color15'}, {'value'=>'color16'}, {'value'=>'color17'}, {'value'=>'color18'}]}, 'banner-header-footer-match'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Same banner for header and footer'}, 'banner-footer'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'3200', 'help-string'=>'Footer banner text'}, 'banner-footer-color'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'color1'}, {'value'=>'color2'}, {'value'=>'color3'}, {'value'=>'color4'}, {'value'=>'color5'}, {'value'=>'color6'}, {'value'=>'color7'}, {'value'=>'color8'}, {'value'=>'color9'}, {'value'=>'color10'}, {'value'=>'color11'}, {'value'=>'color12'}, {'value'=>'color13'}, {'value'=>'color14'}, {'value'=>'color15'}, {'value'=>'color16'}, {'value'=>'color17'}]}, 'banner-footer-text-color'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'color1'}, {'value'=>'color2'}, {'value'=>'color3'}, {'value'=>'color4'}, {'value'=>'color5'}, {'value'=>'color6'}, {'value'=>'color7'}, {'value'=>'color8'}, {'value'=>'color9'}, {'value'=>'color10'}, {'value'=>'color11'}, {'value'=>'color12'}, {'value'=>'color13'}, {'value'=>'color14'}, {'value'=>'color15'}, {'value'=>'color16'}, {'value'=>'color17'}, {'value'=>'color18'}]}} # Enable/disable message of the day def motd_enable prop_get('motd-enable') end # Enable/disable message of the day def motd_enable=(val) prop_set('motd-enable', val) end # Message of the day def message prop_get('message') end # Message of the day def message=(val) prop_set('message', val) end # Allow do not display again def motd_do_not_display_again prop_get('motd-do-not-display-again') end # Allow do not display again def motd_do_not_display_again=(val) prop_set('motd-do-not-display-again', val) end # Title for message of the day def motd_title prop_get('motd-title') end # Title for message of the day def motd_title=(val) prop_set('motd-title', val) end def motd_color prop_get('motd-color') end def motd_color=(val) prop_set('motd-color', val) end # Icon def severity prop_get('severity') end # Icon def severity=(val) prop_set('severity', val) end # Header banner text def banner_header prop_get('banner-header') end # Header banner text def banner_header=(val) prop_set('banner-header', val) end def banner_header_color prop_get('banner-header-color') end def banner_header_color=(val) prop_set('banner-header-color', val) end def banner_header_text_color prop_get('banner-header-text-color') end def banner_header_text_color=(val) prop_set('banner-header-text-color', val) end # Same banner for header and footer def banner_header_footer_match prop_get('banner-header-footer-match') end # Same banner for header and footer def banner_header_footer_match=(val) prop_set('banner-header-footer-match', val) end # Footer banner text def banner_footer prop_get('banner-footer') end # Footer banner text def banner_footer=(val) prop_set('banner-footer', val) end def banner_footer_color prop_get('banner-footer-color') end def banner_footer_color=(val) prop_set('banner-footer-color', val) end def banner_footer_text_color prop_get('banner-footer-text-color') end def banner_footer_text_color=(val) prop_set('banner-footer-text-color', val) end end def motd_and_banner @subclasses['motd-and-banner'] ||= MotdAndBanner.new(parent_instance: self, client: @client, create_children: @create_children) end class Dlsrvr < ConfigClass def has_multiple_values?; false; end def _section :dlsrvr end @props = {'interface'=>{'node-type'=>'element', 'help-string'=>'Interface for download server', 'type'=>'string', 'maxlen'=>'8', 'complete-handler'=>'dlsrvr-interface-completor', 'optional'=>'yes'}} # Interface for download server def interface prop_get('interface') end # Interface for download server def interface=(val) prop_set('interface', val) end end def dlsrvr @subclasses['dlsrvr'] ||= Dlsrvr.new(parent_instance: self, client: @client, create_children: @create_children) end class DeploymentUpdateSchedule < XML::ConfigClass def has_multiple_values?; true; end def _section :'deployment-update-schedule' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class DownloadSource < XML::ConfigClass def has_multiple_values?; true; end def _section :'download-source' end class UpdateServer < ConfigClass def has_multiple_values?; false; end def _section :'update-server' end @props = {} end def update_server @subclasses['update-server'] ||= UpdateServer.new(parent_instance: self, client: @client, create_children: @create_children) end class Scp < ConfigClass def has_multiple_values?; false; end def _section :scp end @props = {'scp-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'complete-handler'=>'#config/panorama/server-profile/scp-profile/entry/@name', 'help-string'=>'SCP profile to use'}, 'scp-path'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'128', 'help-string'=>'Path for files'}} # SCP profile to use def scp_profile prop_get('scp-profile') end # SCP profile to use def scp_profile=(val) prop_set('scp-profile', val) end # Path for files def scp_path prop_get('scp-path') end # Path for files def scp_path=(val) prop_set('scp-path', val) end end def scp @subclasses['scp'] ||= Scp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def download_source maybe_register_subclass('download-source', DownloadSource.new(parent_instance: self, client: @client, create_children: @create_children)) end class App < ConfigClass def has_multiple_values?; false; end def _section :app end class Recurring < ConfigClass def has_multiple_values?; false; end def _section :recurring end class Every30Mins < ConfigClass def has_multiple_values?; false; end def _section :'every-30-mins' end class Action < XML::ConfigClass def has_multiple_values?; true; end def _section :action end class DownloadOnly < ConfigClass def has_multiple_values?; false; end def _section :'download-only' end @props = {} end def download_only @subclasses['download-only'] ||= DownloadOnly.new(parent_instance: self, client: @client, create_children: @create_children) end class DownloadAndInstall < XML::ConfigClass def has_multiple_values?; true; end def _section :'download-and-install' end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'complete-handler'=>'deploy-updsch-app-eligible-completer'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class LogCollectors < XML::ConfigClass def has_multiple_values?; true; end def _section :'log-collectors' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def log_collectors maybe_register_subclass('log-collectors', LogCollectors.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def download_and_install maybe_register_subclass('download-and-install', DownloadAndInstall.new(parent_instance: self, client: @client, create_children: @create_children)) end class DownloadAndScp < ConfigClass def has_multiple_values?; false; end def _section :'download-and-scp' end @props = {'scp-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'complete-handler'=>'#config/panorama/server-profile/scp/entry/@name', 'help-string'=>'SCP profile to use'}, 'scp-path'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'128', 'help-string'=>'Path for files'}} # SCP profile to use def scp_profile prop_get('scp-profile') end # SCP profile to use def scp_profile=(val) prop_set('scp-profile', val) end # Path for files def scp_path prop_get('scp-path') end # Path for files def scp_path=(val) prop_set('scp-path', val) end end def download_and_scp @subclasses['download-and-scp'] ||= DownloadAndScp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def action maybe_register_subclass('action', Action.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'at'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'29', 'help-string'=>'Minutes past half-hour', 'uiHint-fieldLabel'=>'Minutes Past Half-Hour'}, 'disable-new-content'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Disable new applications after installation'}} # Minutes past half-hour def at prop_get('at') end # Minutes past half-hour def at=(val) prop_set('at', val) end # Disable new applications after installation def disable_new_content prop_get('disable-new-content') end # Disable new applications after installation def disable_new_content=(val) prop_set('disable-new-content', val) end end def every_30_mins @subclasses['every-30-mins'] ||= Every30Mins.new(parent_instance: self, client: @client, create_children: @create_children) end class Hourly < ConfigClass def has_multiple_values?; false; end def _section :hourly end class Action < XML::ConfigClass def has_multiple_values?; true; end def _section :action end class DownloadOnly < ConfigClass def has_multiple_values?; false; end def _section :'download-only' end @props = {} end def download_only @subclasses['download-only'] ||= DownloadOnly.new(parent_instance: self, client: @client, create_children: @create_children) end class DownloadAndInstall < XML::ConfigClass def has_multiple_values?; true; end def _section :'download-and-install' end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'complete-handler'=>'deploy-updsch-app-eligible-completer'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class LogCollectors < XML::ConfigClass def has_multiple_values?; true; end def _section :'log-collectors' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def log_collectors maybe_register_subclass('log-collectors', LogCollectors.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def download_and_install maybe_register_subclass('download-and-install', DownloadAndInstall.new(parent_instance: self, client: @client, create_children: @create_children)) end class DownloadAndScp < ConfigClass def has_multiple_values?; false; end def _section :'download-and-scp' end @props = {'scp-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'complete-handler'=>'#config/panorama/server-profile/scp/entry/@name', 'help-string'=>'SCP profile to use'}, 'scp-path'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'128', 'help-string'=>'Path for files'}} # SCP profile to use def scp_profile prop_get('scp-profile') end # SCP profile to use def scp_profile=(val) prop_set('scp-profile', val) end # Path for files def scp_path prop_get('scp-path') end # Path for files def scp_path=(val) prop_set('scp-path', val) end end def download_and_scp @subclasses['download-and-scp'] ||= DownloadAndScp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def action maybe_register_subclass('action', Action.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'at'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'59', 'help-string'=>'Minutes past hour', 'uiHint-fieldLabel'=>'Minutes Past Hour'}, 'disable-new-content'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Disable new applications after installation'}} # Minutes past hour def at prop_get('at') end # Minutes past hour def at=(val) prop_set('at', val) end # Disable new applications after installation def disable_new_content prop_get('disable-new-content') end # Disable new applications after installation def disable_new_content=(val) prop_set('disable-new-content', val) end end def hourly @subclasses['hourly'] ||= Hourly.new(parent_instance: self, client: @client, create_children: @create_children) end class Daily < ConfigClass def has_multiple_values?; false; end def _section :daily end class Action < XML::ConfigClass def has_multiple_values?; true; end def _section :action end class DownloadOnly < ConfigClass def has_multiple_values?; false; end def _section :'download-only' end @props = {} end def download_only @subclasses['download-only'] ||= DownloadOnly.new(parent_instance: self, client: @client, create_children: @create_children) end class DownloadAndInstall < XML::ConfigClass def has_multiple_values?; true; end def _section :'download-and-install' end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'complete-handler'=>'deploy-updsch-app-eligible-completer'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class LogCollectors < XML::ConfigClass def has_multiple_values?; true; end def _section :'log-collectors' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def log_collectors maybe_register_subclass('log-collectors', LogCollectors.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def download_and_install maybe_register_subclass('download-and-install', DownloadAndInstall.new(parent_instance: self, client: @client, create_children: @create_children)) end class DownloadAndScp < ConfigClass def has_multiple_values?; false; end def _section :'download-and-scp' end @props = {'scp-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'complete-handler'=>'#config/panorama/server-profile/scp/entry/@name', 'help-string'=>'SCP profile to use'}, 'scp-path'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'128', 'help-string'=>'Path for files'}} # SCP profile to use def scp_profile prop_get('scp-profile') end # SCP profile to use def scp_profile=(val) prop_set('scp-profile', val) end # Path for files def scp_path prop_get('scp-path') end # Path for files def scp_path=(val) prop_set('scp-path', val) end end def download_and_scp @subclasses['download-and-scp'] ||= DownloadAndScp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def action maybe_register_subclass('action', Action.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3]):([0-5][0-9])', 'minlen'=>'5', 'maxlen'=>'5', 'help-string'=>'Time specification hh:mm (e.g. 20:10)', 'uiHint-fieldLabel'=>'Time'}, 'disable-new-content'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Disable new applications after installation'}} # Time specification hh:mm (e.g. 20:10) def at prop_get('at') end # Time specification hh:mm (e.g. 20:10) def at=(val) prop_set('at', val) end # Disable new applications after installation def disable_new_content prop_get('disable-new-content') end # Disable new applications after installation def disable_new_content=(val) prop_set('disable-new-content', val) end end def daily @subclasses['daily'] ||= Daily.new(parent_instance: self, client: @client, create_children: @create_children) end class Weekly < ConfigClass def has_multiple_values?; false; end def _section :weekly end class Action < XML::ConfigClass def has_multiple_values?; true; end def _section :action end class DownloadOnly < ConfigClass def has_multiple_values?; false; end def _section :'download-only' end @props = {} end def download_only @subclasses['download-only'] ||= DownloadOnly.new(parent_instance: self, client: @client, create_children: @create_children) end class DownloadAndInstall < XML::ConfigClass def has_multiple_values?; true; end def _section :'download-and-install' end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'complete-handler'=>'deploy-updsch-app-eligible-completer'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class LogCollectors < XML::ConfigClass def has_multiple_values?; true; end def _section :'log-collectors' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def log_collectors maybe_register_subclass('log-collectors', LogCollectors.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def download_and_install maybe_register_subclass('download-and-install', DownloadAndInstall.new(parent_instance: self, client: @client, create_children: @create_children)) end class DownloadAndScp < ConfigClass def has_multiple_values?; false; end def _section :'download-and-scp' end @props = {'scp-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'complete-handler'=>'#config/panorama/server-profile/scp/entry/@name', 'help-string'=>'SCP profile to use'}, 'scp-path'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'128', 'help-string'=>'Path for files'}} # SCP profile to use def scp_profile prop_get('scp-profile') end # SCP profile to use def scp_profile=(val) prop_set('scp-profile', val) end # Path for files def scp_path prop_get('scp-path') end # Path for files def scp_path=(val) prop_set('scp-path', val) end end def download_and_scp @subclasses['download-and-scp'] ||= DownloadAndScp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def action maybe_register_subclass('action', Action.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'day-of-week'=>{'node-type'=>'element', 'type'=>'enum', 'uiHint-fieldLabel'=>'Day', 'enum'=>[{'value'=>'sunday', 'help-string'=>'Sunday'}, {'value'=>'monday', 'help-string'=>'Monday'}, {'value'=>'tuesday', 'help-string'=>'Tuesday'}, {'value'=>'wednesday', 'help-string'=>'Wednesday'}, {'value'=>'thursday', 'help-string'=>'Thursday'}, {'value'=>'friday', 'help-string'=>'Friday'}, {'value'=>'saturday', 'help-string'=>'Saturday'}]}, 'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3]):([0-5][0-9])', 'minlen'=>'5', 'maxlen'=>'5', 'help-string'=>'Time specification hh:mm (e.g. 20:10)', 'uiHint-fieldLabel'=>'Time'}, 'disable-new-content'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Disable new applications after installation'}} def day_of_week prop_get('day-of-week') end def day_of_week=(val) prop_set('day-of-week', val) end # Time specification hh:mm (e.g. 20:10) def at prop_get('at') end # Time specification hh:mm (e.g. 20:10) def at=(val) prop_set('at', val) end # Disable new applications after installation def disable_new_content prop_get('disable-new-content') end # Disable new applications after installation def disable_new_content=(val) prop_set('disable-new-content', val) end end def weekly @subclasses['weekly'] ||= Weekly.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'threshold'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'336', 'help-string'=>'ignore if release date is new (hours)'}, 'new-app-threshold'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'336', 'help-string'=>'ignore new app if release date is new (hours)'}} # ignore if release date is new (hours) def threshold prop_get('threshold') end # ignore if release date is new (hours) def threshold=(val) prop_set('threshold', val) end # ignore new app if release date is new (hours) def new_app_threshold prop_get('new-app-threshold') end # ignore new app if release date is new (hours) def new_app_threshold=(val) prop_set('new-app-threshold', val) end end def recurring @subclasses['recurring'] ||= Recurring.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def app @subclasses['app'] ||= App.new(parent_instance: self, client: @client, create_children: @create_children) end class AppAndThreat < ConfigClass def has_multiple_values?; false; end def _section :'app-and-threat' end class Recurring < ConfigClass def has_multiple_values?; false; end def _section :recurring end class Every30Mins < ConfigClass def has_multiple_values?; false; end def _section :'every-30-mins' end class Action < XML::ConfigClass def has_multiple_values?; true; end def _section :action end class DownloadOnly < ConfigClass def has_multiple_values?; false; end def _section :'download-only' end @props = {} end def download_only @subclasses['download-only'] ||= DownloadOnly.new(parent_instance: self, client: @client, create_children: @create_children) end class DownloadAndInstall < ConfigClass def has_multiple_values?; false; end def _section :'download-and-install' end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'complete-handler'=>'deploy-updsch-content-eligible-completer'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def download_and_install @subclasses['download-and-install'] ||= DownloadAndInstall.new(parent_instance: self, client: @client, create_children: @create_children) end class DownloadAndScp < ConfigClass def has_multiple_values?; false; end def _section :'download-and-scp' end @props = {'scp-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'complete-handler'=>'#config/panorama/server-profile/scp/entry/@name', 'help-string'=>'SCP profile to use'}, 'scp-path'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'128', 'help-string'=>'Path for files'}} # SCP profile to use def scp_profile prop_get('scp-profile') end # SCP profile to use def scp_profile=(val) prop_set('scp-profile', val) end # Path for files def scp_path prop_get('scp-path') end # Path for files def scp_path=(val) prop_set('scp-path', val) end end def download_and_scp @subclasses['download-and-scp'] ||= DownloadAndScp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def action maybe_register_subclass('action', Action.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'at'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'29', 'help-string'=>'Minutes past half-hour', 'uiHint-fieldLabel'=>'Minutes Past Half-Hour'}, 'disable-new-content'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Disable new applications after installation'}} # Minutes past half-hour def at prop_get('at') end # Minutes past half-hour def at=(val) prop_set('at', val) end # Disable new applications after installation def disable_new_content prop_get('disable-new-content') end # Disable new applications after installation def disable_new_content=(val) prop_set('disable-new-content', val) end end def every_30_mins @subclasses['every-30-mins'] ||= Every30Mins.new(parent_instance: self, client: @client, create_children: @create_children) end class Hourly < ConfigClass def has_multiple_values?; false; end def _section :hourly end class Action < XML::ConfigClass def has_multiple_values?; true; end def _section :action end class DownloadOnly < ConfigClass def has_multiple_values?; false; end def _section :'download-only' end @props = {} end def download_only @subclasses['download-only'] ||= DownloadOnly.new(parent_instance: self, client: @client, create_children: @create_children) end class DownloadAndInstall < ConfigClass def has_multiple_values?; false; end def _section :'download-and-install' end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'complete-handler'=>'deploy-updsch-content-eligible-completer'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def download_and_install @subclasses['download-and-install'] ||= DownloadAndInstall.new(parent_instance: self, client: @client, create_children: @create_children) end class DownloadAndScp < ConfigClass def has_multiple_values?; false; end def _section :'download-and-scp' end @props = {'scp-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'complete-handler'=>'#config/panorama/server-profile/scp/entry/@name', 'help-string'=>'SCP profile to use'}, 'scp-path'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'128', 'help-string'=>'Path for files'}} # SCP profile to use def scp_profile prop_get('scp-profile') end # SCP profile to use def scp_profile=(val) prop_set('scp-profile', val) end # Path for files def scp_path prop_get('scp-path') end # Path for files def scp_path=(val) prop_set('scp-path', val) end end def download_and_scp @subclasses['download-and-scp'] ||= DownloadAndScp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def action maybe_register_subclass('action', Action.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'at'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'59', 'help-string'=>'Minutes past hour', 'uiHint-fieldLabel'=>'Minutes Past Hour'}, 'disable-new-content'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Disable new applications after installation'}} # Minutes past hour def at prop_get('at') end # Minutes past hour def at=(val) prop_set('at', val) end # Disable new applications after installation def disable_new_content prop_get('disable-new-content') end # Disable new applications after installation def disable_new_content=(val) prop_set('disable-new-content', val) end end def hourly @subclasses['hourly'] ||= Hourly.new(parent_instance: self, client: @client, create_children: @create_children) end class Daily < ConfigClass def has_multiple_values?; false; end def _section :daily end class Action < XML::ConfigClass def has_multiple_values?; true; end def _section :action end class DownloadOnly < ConfigClass def has_multiple_values?; false; end def _section :'download-only' end @props = {} end def download_only @subclasses['download-only'] ||= DownloadOnly.new(parent_instance: self, client: @client, create_children: @create_children) end class DownloadAndInstall < ConfigClass def has_multiple_values?; false; end def _section :'download-and-install' end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'complete-handler'=>'deploy-updsch-content-eligible-completer'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def download_and_install @subclasses['download-and-install'] ||= DownloadAndInstall.new(parent_instance: self, client: @client, create_children: @create_children) end class DownloadAndScp < ConfigClass def has_multiple_values?; false; end def _section :'download-and-scp' end @props = {'scp-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'complete-handler'=>'#config/panorama/server-profile/scp/entry/@name', 'help-string'=>'SCP profile to use'}, 'scp-path'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'128', 'help-string'=>'Path for files'}} # SCP profile to use def scp_profile prop_get('scp-profile') end # SCP profile to use def scp_profile=(val) prop_set('scp-profile', val) end # Path for files def scp_path prop_get('scp-path') end # Path for files def scp_path=(val) prop_set('scp-path', val) end end def download_and_scp @subclasses['download-and-scp'] ||= DownloadAndScp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def action maybe_register_subclass('action', Action.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3]):([0-5][0-9])', 'minlen'=>'5', 'maxlen'=>'5', 'help-string'=>'Time specification hh:mm (e.g. 20:10)', 'uiHint-fieldLabel'=>'Time'}, 'disable-new-content'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Disable new applications after installation'}} # Time specification hh:mm (e.g. 20:10) def at prop_get('at') end # Time specification hh:mm (e.g. 20:10) def at=(val) prop_set('at', val) end # Disable new applications after installation def disable_new_content prop_get('disable-new-content') end # Disable new applications after installation def disable_new_content=(val) prop_set('disable-new-content', val) end end def daily @subclasses['daily'] ||= Daily.new(parent_instance: self, client: @client, create_children: @create_children) end class Weekly < ConfigClass def has_multiple_values?; false; end def _section :weekly end class Action < XML::ConfigClass def has_multiple_values?; true; end def _section :action end class DownloadOnly < ConfigClass def has_multiple_values?; false; end def _section :'download-only' end @props = {} end def download_only @subclasses['download-only'] ||= DownloadOnly.new(parent_instance: self, client: @client, create_children: @create_children) end class DownloadAndInstall < ConfigClass def has_multiple_values?; false; end def _section :'download-and-install' end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'complete-handler'=>'deploy-updsch-content-eligible-completer'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def download_and_install @subclasses['download-and-install'] ||= DownloadAndInstall.new(parent_instance: self, client: @client, create_children: @create_children) end class DownloadAndScp < ConfigClass def has_multiple_values?; false; end def _section :'download-and-scp' end @props = {'scp-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'complete-handler'=>'#config/panorama/server-profile/scp/entry/@name', 'help-string'=>'SCP profile to use'}, 'scp-path'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'128', 'help-string'=>'Path for files'}} # SCP profile to use def scp_profile prop_get('scp-profile') end # SCP profile to use def scp_profile=(val) prop_set('scp-profile', val) end # Path for files def scp_path prop_get('scp-path') end # Path for files def scp_path=(val) prop_set('scp-path', val) end end def download_and_scp @subclasses['download-and-scp'] ||= DownloadAndScp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def action maybe_register_subclass('action', Action.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'day-of-week'=>{'node-type'=>'element', 'type'=>'enum', 'uiHint-fieldLabel'=>'Day', 'enum'=>[{'value'=>'sunday', 'help-string'=>'Sunday'}, {'value'=>'monday', 'help-string'=>'Monday'}, {'value'=>'tuesday', 'help-string'=>'Tuesday'}, {'value'=>'wednesday', 'help-string'=>'Wednesday'}, {'value'=>'thursday', 'help-string'=>'Thursday'}, {'value'=>'friday', 'help-string'=>'Friday'}, {'value'=>'saturday', 'help-string'=>'Saturday'}]}, 'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3]):([0-5][0-9])', 'minlen'=>'5', 'maxlen'=>'5', 'help-string'=>'Time specification hh:mm (e.g. 20:10)', 'uiHint-fieldLabel'=>'Time'}, 'disable-new-content'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Disable new applications'}} def day_of_week prop_get('day-of-week') end def day_of_week=(val) prop_set('day-of-week', val) end # Time specification hh:mm (e.g. 20:10) def at prop_get('at') end # Time specification hh:mm (e.g. 20:10) def at=(val) prop_set('at', val) end # Disable new applications def disable_new_content prop_get('disable-new-content') end # Disable new applications def disable_new_content=(val) prop_set('disable-new-content', val) end end def weekly @subclasses['weekly'] ||= Weekly.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'threshold'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'336', 'help-string'=>'ignore if release date is new (hours)'}, 'new-app-threshold'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'336', 'help-string'=>'ignore new app if release date is new (hours)'}} # ignore if release date is new (hours) def threshold prop_get('threshold') end # ignore if release date is new (hours) def threshold=(val) prop_set('threshold', val) end # ignore new app if release date is new (hours) def new_app_threshold prop_get('new-app-threshold') end # ignore new app if release date is new (hours) def new_app_threshold=(val) prop_set('new-app-threshold', val) end end def recurring @subclasses['recurring'] ||= Recurring.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def app_and_threat @subclasses['app-and-threat'] ||= AppAndThreat.new(parent_instance: self, client: @client, create_children: @create_children) end class AntiVirus < ConfigClass def has_multiple_values?; false; end def _section :'anti-virus' end class Recurring < ConfigClass def has_multiple_values?; false; end def _section :recurring end class Hourly < ConfigClass def has_multiple_values?; false; end def _section :hourly end class Action < XML::ConfigClass def has_multiple_values?; true; end def _section :action end class DownloadOnly < ConfigClass def has_multiple_values?; false; end def _section :'download-only' end @props = {} end def download_only @subclasses['download-only'] ||= DownloadOnly.new(parent_instance: self, client: @client, create_children: @create_children) end class DownloadAndInstall < XML::ConfigClass def has_multiple_values?; true; end def _section :'download-and-install' end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'complete-handler'=>'deploy-updsch-av-eligible-completer'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class LogCollectors < XML::ConfigClass def has_multiple_values?; true; end def _section :'log-collectors' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def log_collectors maybe_register_subclass('log-collectors', LogCollectors.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def download_and_install maybe_register_subclass('download-and-install', DownloadAndInstall.new(parent_instance: self, client: @client, create_children: @create_children)) end class DownloadAndScp < ConfigClass def has_multiple_values?; false; end def _section :'download-and-scp' end @props = {'scp-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'complete-handler'=>'#config/panorama/server-profile/scp/entry/@name', 'help-string'=>'SCP profile to use'}, 'scp-path'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'128', 'help-string'=>'Path for files'}} # SCP profile to use def scp_profile prop_get('scp-profile') end # SCP profile to use def scp_profile=(val) prop_set('scp-profile', val) end # Path for files def scp_path prop_get('scp-path') end # Path for files def scp_path=(val) prop_set('scp-path', val) end end def download_and_scp @subclasses['download-and-scp'] ||= DownloadAndScp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def action maybe_register_subclass('action', Action.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'at'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'59', 'help-string'=>'Minutes past hour', 'uiHint-fieldLabel'=>'Minutes Past Hour'}} # Minutes past hour def at prop_get('at') end # Minutes past hour def at=(val) prop_set('at', val) end end def hourly @subclasses['hourly'] ||= Hourly.new(parent_instance: self, client: @client, create_children: @create_children) end class Daily < ConfigClass def has_multiple_values?; false; end def _section :daily end class Action < XML::ConfigClass def has_multiple_values?; true; end def _section :action end class DownloadOnly < ConfigClass def has_multiple_values?; false; end def _section :'download-only' end @props = {} end def download_only @subclasses['download-only'] ||= DownloadOnly.new(parent_instance: self, client: @client, create_children: @create_children) end class DownloadAndInstall < XML::ConfigClass def has_multiple_values?; true; end def _section :'download-and-install' end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'complete-handler'=>'deploy-updsch-av-eligible-completer'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class LogCollectors < XML::ConfigClass def has_multiple_values?; true; end def _section :'log-collectors' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def log_collectors maybe_register_subclass('log-collectors', LogCollectors.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def download_and_install maybe_register_subclass('download-and-install', DownloadAndInstall.new(parent_instance: self, client: @client, create_children: @create_children)) end class DownloadAndScp < ConfigClass def has_multiple_values?; false; end def _section :'download-and-scp' end @props = {'scp-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'complete-handler'=>'#config/panorama/server-profile/scp/entry/@name', 'help-string'=>'SCP profile to use'}, 'scp-path'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'128', 'help-string'=>'Path for files'}} # SCP profile to use def scp_profile prop_get('scp-profile') end # SCP profile to use def scp_profile=(val) prop_set('scp-profile', val) end # Path for files def scp_path prop_get('scp-path') end # Path for files def scp_path=(val) prop_set('scp-path', val) end end def download_and_scp @subclasses['download-and-scp'] ||= DownloadAndScp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def action maybe_register_subclass('action', Action.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3]):([0-5][0-9])', 'minlen'=>'5', 'maxlen'=>'5', 'help-string'=>'Time specification hh:mm (e.g. 20:10)', 'uiHint-fieldLabel'=>'Time'}} # Time specification hh:mm (e.g. 20:10) def at prop_get('at') end # Time specification hh:mm (e.g. 20:10) def at=(val) prop_set('at', val) end end def daily @subclasses['daily'] ||= Daily.new(parent_instance: self, client: @client, create_children: @create_children) end class Weekly < ConfigClass def has_multiple_values?; false; end def _section :weekly end class Action < XML::ConfigClass def has_multiple_values?; true; end def _section :action end class DownloadOnly < ConfigClass def has_multiple_values?; false; end def _section :'download-only' end @props = {} end def download_only @subclasses['download-only'] ||= DownloadOnly.new(parent_instance: self, client: @client, create_children: @create_children) end class DownloadAndInstall < XML::ConfigClass def has_multiple_values?; true; end def _section :'download-and-install' end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'complete-handler'=>'deploy-updsch-av-eligible-completer'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class LogCollectors < XML::ConfigClass def has_multiple_values?; true; end def _section :'log-collectors' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def log_collectors maybe_register_subclass('log-collectors', LogCollectors.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def download_and_install maybe_register_subclass('download-and-install', DownloadAndInstall.new(parent_instance: self, client: @client, create_children: @create_children)) end class DownloadAndScp < ConfigClass def has_multiple_values?; false; end def _section :'download-and-scp' end @props = {'scp-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'complete-handler'=>'#config/panorama/server-profile/scp/entry/@name', 'help-string'=>'SCP profile to use'}, 'scp-path'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'128', 'help-string'=>'Path for files'}} # SCP profile to use def scp_profile prop_get('scp-profile') end # SCP profile to use def scp_profile=(val) prop_set('scp-profile', val) end # Path for files def scp_path prop_get('scp-path') end # Path for files def scp_path=(val) prop_set('scp-path', val) end end def download_and_scp @subclasses['download-and-scp'] ||= DownloadAndScp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def action maybe_register_subclass('action', Action.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'day-of-week'=>{'node-type'=>'element', 'type'=>'enum', 'uiHint-fieldLabel'=>'Day', 'enum'=>[{'value'=>'sunday', 'help-string'=>'Sunday'}, {'value'=>'monday', 'help-string'=>'Monday'}, {'value'=>'tuesday', 'help-string'=>'Tuesday'}, {'value'=>'wednesday', 'help-string'=>'Wednesday'}, {'value'=>'thursday', 'help-string'=>'Thursday'}, {'value'=>'friday', 'help-string'=>'Friday'}, {'value'=>'saturday', 'help-string'=>'Saturday'}]}, 'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3]):([0-5][0-9])', 'minlen'=>'5', 'maxlen'=>'5', 'help-string'=>'Time specification hh:mm (e.g. 20:10)', 'uiHint-fieldLabel'=>'Time'}} def day_of_week prop_get('day-of-week') end def day_of_week=(val) prop_set('day-of-week', val) end # Time specification hh:mm (e.g. 20:10) def at prop_get('at') end # Time specification hh:mm (e.g. 20:10) def at=(val) prop_set('at', val) end end def weekly @subclasses['weekly'] ||= Weekly.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'threshold'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'336', 'help-string'=>'ignore if release date is new (hours)'}} # ignore if release date is new (hours) def threshold prop_get('threshold') end # ignore if release date is new (hours) def threshold=(val) prop_set('threshold', val) end end def recurring @subclasses['recurring'] ||= Recurring.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def anti_virus @subclasses['anti-virus'] ||= AntiVirus.new(parent_instance: self, client: @client, create_children: @create_children) end class Wildfire < ConfigClass def has_multiple_values?; false; end def _section :wildfire end class Recurring < ConfigClass def has_multiple_values?; false; end def _section :recurring end class EveryMin < ConfigClass def has_multiple_values?; false; end def _section :'every-min' end class Action < XML::ConfigClass def has_multiple_values?; true; end def _section :action end class DownloadOnly < ConfigClass def has_multiple_values?; false; end def _section :'download-only' end @props = {} end def download_only @subclasses['download-only'] ||= DownloadOnly.new(parent_instance: self, client: @client, create_children: @create_children) end class DownloadAndInstall < XML::ConfigClass def has_multiple_values?; true; end def _section :'download-and-install' end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'complete-handler'=>'deploy-updsch-wildfire-eligible-completer'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class LogCollectors < XML::ConfigClass def has_multiple_values?; true; end def _section :'log-collectors' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def log_collectors maybe_register_subclass('log-collectors', LogCollectors.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def download_and_install maybe_register_subclass('download-and-install', DownloadAndInstall.new(parent_instance: self, client: @client, create_children: @create_children)) end class DownloadAndScp < ConfigClass def has_multiple_values?; false; end def _section :'download-and-scp' end @props = {'scp-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'complete-handler'=>'#config/panorama/server-profile/scp/entry/@name', 'help-string'=>'SCP profile to use'}, 'scp-path'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'128', 'help-string'=>'Path for files'}} # SCP profile to use def scp_profile prop_get('scp-profile') end # SCP profile to use def scp_profile=(val) prop_set('scp-profile', val) end # Path for files def scp_path prop_get('scp-path') end # Path for files def scp_path=(val) prop_set('scp-path', val) end end def download_and_scp @subclasses['download-and-scp'] ||= DownloadAndScp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def action maybe_register_subclass('action', Action.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def every_min @subclasses['every-min'] ||= EveryMin.new(parent_instance: self, client: @client, create_children: @create_children) end class Every15Mins < ConfigClass def has_multiple_values?; false; end def _section :'every-15-mins' end class Action < XML::ConfigClass def has_multiple_values?; true; end def _section :action end class DownloadOnly < ConfigClass def has_multiple_values?; false; end def _section :'download-only' end @props = {} end def download_only @subclasses['download-only'] ||= DownloadOnly.new(parent_instance: self, client: @client, create_children: @create_children) end class DownloadAndInstall < XML::ConfigClass def has_multiple_values?; true; end def _section :'download-and-install' end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'complete-handler'=>'deploy-updsch-wildfire-eligible-completer'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class LogCollectors < XML::ConfigClass def has_multiple_values?; true; end def _section :'log-collectors' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def log_collectors maybe_register_subclass('log-collectors', LogCollectors.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def download_and_install maybe_register_subclass('download-and-install', DownloadAndInstall.new(parent_instance: self, client: @client, create_children: @create_children)) end class DownloadAndScp < ConfigClass def has_multiple_values?; false; end def _section :'download-and-scp' end @props = {'scp-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'complete-handler'=>'#config/panorama/server-profile/scp/entry/@name', 'help-string'=>'SCP profile to use'}, 'scp-path'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'128', 'help-string'=>'Path for files'}} # SCP profile to use def scp_profile prop_get('scp-profile') end # SCP profile to use def scp_profile=(val) prop_set('scp-profile', val) end # Path for files def scp_path prop_get('scp-path') end # Path for files def scp_path=(val) prop_set('scp-path', val) end end def download_and_scp @subclasses['download-and-scp'] ||= DownloadAndScp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def action maybe_register_subclass('action', Action.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'at'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'14', 'help-string'=>'Minutes past quarter-hour', 'uiHint-fieldLabel'=>'Minutes Past Quarter-Hour'}} # Minutes past quarter-hour def at prop_get('at') end # Minutes past quarter-hour def at=(val) prop_set('at', val) end end def every_15_mins @subclasses['every-15-mins'] ||= Every15Mins.new(parent_instance: self, client: @client, create_children: @create_children) end class Every30Mins < ConfigClass def has_multiple_values?; false; end def _section :'every-30-mins' end class Action < XML::ConfigClass def has_multiple_values?; true; end def _section :action end class DownloadOnly < ConfigClass def has_multiple_values?; false; end def _section :'download-only' end @props = {} end def download_only @subclasses['download-only'] ||= DownloadOnly.new(parent_instance: self, client: @client, create_children: @create_children) end class DownloadAndInstall < XML::ConfigClass def has_multiple_values?; true; end def _section :'download-and-install' end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'complete-handler'=>'deploy-updsch-wildfire-eligible-completer'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class LogCollectors < XML::ConfigClass def has_multiple_values?; true; end def _section :'log-collectors' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def log_collectors maybe_register_subclass('log-collectors', LogCollectors.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def download_and_install maybe_register_subclass('download-and-install', DownloadAndInstall.new(parent_instance: self, client: @client, create_children: @create_children)) end class DownloadAndScp < ConfigClass def has_multiple_values?; false; end def _section :'download-and-scp' end @props = {'scp-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'complete-handler'=>'#config/panorama/server-profile/scp/entry/@name', 'help-string'=>'SCP profile to use'}, 'scp-path'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'128', 'help-string'=>'Path for files'}} # SCP profile to use def scp_profile prop_get('scp-profile') end # SCP profile to use def scp_profile=(val) prop_set('scp-profile', val) end # Path for files def scp_path prop_get('scp-path') end # Path for files def scp_path=(val) prop_set('scp-path', val) end end def download_and_scp @subclasses['download-and-scp'] ||= DownloadAndScp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def action maybe_register_subclass('action', Action.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'at'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'29', 'help-string'=>'Minutes past half-hour', 'uiHint-fieldLabel'=>'Minutes Past Half-Hour'}} # Minutes past half-hour def at prop_get('at') end # Minutes past half-hour def at=(val) prop_set('at', val) end end def every_30_mins @subclasses['every-30-mins'] ||= Every30Mins.new(parent_instance: self, client: @client, create_children: @create_children) end class EveryHour < ConfigClass def has_multiple_values?; false; end def _section :'every-hour' end class Action < XML::ConfigClass def has_multiple_values?; true; end def _section :action end class DownloadOnly < ConfigClass def has_multiple_values?; false; end def _section :'download-only' end @props = {} end def download_only @subclasses['download-only'] ||= DownloadOnly.new(parent_instance: self, client: @client, create_children: @create_children) end class DownloadAndInstall < XML::ConfigClass def has_multiple_values?; true; end def _section :'download-and-install' end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'complete-handler'=>'deploy-updsch-wildfire-eligible-completer'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class LogCollectors < XML::ConfigClass def has_multiple_values?; true; end def _section :'log-collectors' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def log_collectors maybe_register_subclass('log-collectors', LogCollectors.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def download_and_install maybe_register_subclass('download-and-install', DownloadAndInstall.new(parent_instance: self, client: @client, create_children: @create_children)) end class DownloadAndScp < ConfigClass def has_multiple_values?; false; end def _section :'download-and-scp' end @props = {'scp-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'complete-handler'=>'#config/panorama/server-profile/scp/entry/@name', 'help-string'=>'SCP profile to use'}, 'scp-path'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'128', 'help-string'=>'Path for files'}} # SCP profile to use def scp_profile prop_get('scp-profile') end # SCP profile to use def scp_profile=(val) prop_set('scp-profile', val) end # Path for files def scp_path prop_get('scp-path') end # Path for files def scp_path=(val) prop_set('scp-path', val) end end def download_and_scp @subclasses['download-and-scp'] ||= DownloadAndScp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def action maybe_register_subclass('action', Action.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'at'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'59', 'help-string'=>'Minutes past hour', 'uiHint-fieldLabel'=>'Minutes Past Hour'}} # Minutes past hour def at prop_get('at') end # Minutes past hour def at=(val) prop_set('at', val) end end def every_hour @subclasses['every-hour'] ||= EveryHour.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def recurring @subclasses['recurring'] ||= Recurring.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def wildfire @subclasses['wildfire'] ||= Wildfire.new(parent_instance: self, client: @client, create_children: @create_children) end class UrlDatabase < ConfigClass def has_multiple_values?; false; end def _section :'url-database' end class Recurring < ConfigClass def has_multiple_values?; false; end def _section :recurring end class Daily < ConfigClass def has_multiple_values?; false; end def _section :daily end class Action < XML::ConfigClass def has_multiple_values?; true; end def _section :action end class DownloadOnly < ConfigClass def has_multiple_values?; false; end def _section :'download-only' end @props = {} end def download_only @subclasses['download-only'] ||= DownloadOnly.new(parent_instance: self, client: @client, create_children: @create_children) end class DownloadAndInstall < XML::ConfigClass def has_multiple_values?; true; end def _section :'download-and-install' end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'complete-handler'=>'deploy-updsch-urldb-eligible-completer'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class LogCollectors < XML::ConfigClass def has_multiple_values?; true; end def _section :'log-collectors' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def log_collectors maybe_register_subclass('log-collectors', LogCollectors.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def download_and_install maybe_register_subclass('download-and-install', DownloadAndInstall.new(parent_instance: self, client: @client, create_children: @create_children)) end class DownloadAndScp < ConfigClass def has_multiple_values?; false; end def _section :'download-and-scp' end @props = {'scp-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'complete-handler'=>'#config/panorama/server-profile/scp/entry/@name', 'help-string'=>'SCP profile to use'}, 'scp-path'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'128', 'help-string'=>'Path for files'}} # SCP profile to use def scp_profile prop_get('scp-profile') end # SCP profile to use def scp_profile=(val) prop_set('scp-profile', val) end # Path for files def scp_path prop_get('scp-path') end # Path for files def scp_path=(val) prop_set('scp-path', val) end end def download_and_scp @subclasses['download-and-scp'] ||= DownloadAndScp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def action maybe_register_subclass('action', Action.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3]):([0-5][0-9])', 'minlen'=>'5', 'maxlen'=>'5', 'help-string'=>'Time specification hh:mm (e.g. 20:10)', 'uiHint-fieldLabel'=>'Time'}} # Time specification hh:mm (e.g. 20:10) def at prop_get('at') end # Time specification hh:mm (e.g. 20:10) def at=(val) prop_set('at', val) end end def daily @subclasses['daily'] ||= Daily.new(parent_instance: self, client: @client, create_children: @create_children) end class Weekly < ConfigClass def has_multiple_values?; false; end def _section :weekly end class Action < XML::ConfigClass def has_multiple_values?; true; end def _section :action end class DownloadOnly < ConfigClass def has_multiple_values?; false; end def _section :'download-only' end @props = {} end def download_only @subclasses['download-only'] ||= DownloadOnly.new(parent_instance: self, client: @client, create_children: @create_children) end class DownloadAndInstall < XML::ConfigClass def has_multiple_values?; true; end def _section :'download-and-install' end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'complete-handler'=>'deploy-updsch-urldb-eligible-completer'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class LogCollectors < XML::ConfigClass def has_multiple_values?; true; end def _section :'log-collectors' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def log_collectors maybe_register_subclass('log-collectors', LogCollectors.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def download_and_install maybe_register_subclass('download-and-install', DownloadAndInstall.new(parent_instance: self, client: @client, create_children: @create_children)) end class DownloadAndScp < ConfigClass def has_multiple_values?; false; end def _section :'download-and-scp' end @props = {'scp-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'complete-handler'=>'#config/panorama/server-profile/scp/entry/@name', 'help-string'=>'SCP profile to use'}, 'scp-path'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'128', 'help-string'=>'Path for files'}} # SCP profile to use def scp_profile prop_get('scp-profile') end # SCP profile to use def scp_profile=(val) prop_set('scp-profile', val) end # Path for files def scp_path prop_get('scp-path') end # Path for files def scp_path=(val) prop_set('scp-path', val) end end def download_and_scp @subclasses['download-and-scp'] ||= DownloadAndScp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def action maybe_register_subclass('action', Action.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'day-of-week'=>{'node-type'=>'element', 'type'=>'enum', 'uiHint-fieldLabel'=>'Day', 'enum'=>[{'value'=>'sunday', 'help-string'=>'Sunday'}, {'value'=>'monday', 'help-string'=>'Monday'}, {'value'=>'tuesday', 'help-string'=>'Tuesday'}, {'value'=>'wednesday', 'help-string'=>'Wednesday'}, {'value'=>'thursday', 'help-string'=>'Thursday'}, {'value'=>'friday', 'help-string'=>'Friday'}, {'value'=>'saturday', 'help-string'=>'Saturday'}]}, 'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3]):([0-5][0-9])', 'minlen'=>'5', 'maxlen'=>'5', 'help-string'=>'Time specification hh:mm (e.g. 20:10)', 'uiHint-fieldLabel'=>'Time'}} def day_of_week prop_get('day-of-week') end def day_of_week=(val) prop_set('day-of-week', val) end # Time specification hh:mm (e.g. 20:10) def at prop_get('at') end # Time specification hh:mm (e.g. 20:10) def at=(val) prop_set('at', val) end end def weekly @subclasses['weekly'] ||= Weekly.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def recurring @subclasses['recurring'] ||= Recurring.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def url_database @subclasses['url-database'] ||= UrlDatabase.new(parent_instance: self, client: @client, create_children: @create_children) end class WfContent < ConfigClass def has_multiple_values?; false; end def _section :'wf-content' end class Recurring < ConfigClass def has_multiple_values?; false; end def _section :recurring end class Hourly < ConfigClass def has_multiple_values?; false; end def _section :hourly end class Action < XML::ConfigClass def has_multiple_values?; true; end def _section :action end class DownloadOnly < ConfigClass def has_multiple_values?; false; end def _section :'download-only' end @props = {} end def download_only @subclasses['download-only'] ||= DownloadOnly.new(parent_instance: self, client: @client, create_children: @create_children) end class DownloadAndInstall < XML::ConfigClass def has_multiple_values?; true; end def _section :'download-and-install' end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'complete-handler'=>'deploy-updsch-wfm-eligible-completer'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def download_and_install maybe_register_subclass('download-and-install', DownloadAndInstall.new(parent_instance: self, client: @client, create_children: @create_children)) end class DownloadAndScp < ConfigClass def has_multiple_values?; false; end def _section :'download-and-scp' end @props = {'scp-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'complete-handler'=>'#config/panorama/server-profile/scp/entry/@name', 'help-string'=>'SCP profile to use'}, 'scp-path'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'128', 'help-string'=>'Path for files'}} # SCP profile to use def scp_profile prop_get('scp-profile') end # SCP profile to use def scp_profile=(val) prop_set('scp-profile', val) end # Path for files def scp_path prop_get('scp-path') end # Path for files def scp_path=(val) prop_set('scp-path', val) end end def download_and_scp @subclasses['download-and-scp'] ||= DownloadAndScp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def action maybe_register_subclass('action', Action.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'at'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'59', 'help-string'=>'Minutes past hour', 'uiHint-fieldLabel'=>'Minutes Past Hour'}, 'disable-new-content'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Disable new applications after installation'}} # Minutes past hour def at prop_get('at') end # Minutes past hour def at=(val) prop_set('at', val) end # Disable new applications after installation def disable_new_content prop_get('disable-new-content') end # Disable new applications after installation def disable_new_content=(val) prop_set('disable-new-content', val) end end def hourly @subclasses['hourly'] ||= Hourly.new(parent_instance: self, client: @client, create_children: @create_children) end class Daily < ConfigClass def has_multiple_values?; false; end def _section :daily end class Action < XML::ConfigClass def has_multiple_values?; true; end def _section :action end class DownloadOnly < ConfigClass def has_multiple_values?; false; end def _section :'download-only' end @props = {} end def download_only @subclasses['download-only'] ||= DownloadOnly.new(parent_instance: self, client: @client, create_children: @create_children) end class DownloadAndInstall < XML::ConfigClass def has_multiple_values?; true; end def _section :'download-and-install' end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'complete-handler'=>'deploy-updsch-wfm-eligible-completer'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def download_and_install maybe_register_subclass('download-and-install', DownloadAndInstall.new(parent_instance: self, client: @client, create_children: @create_children)) end class DownloadAndScp < ConfigClass def has_multiple_values?; false; end def _section :'download-and-scp' end @props = {'scp-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'complete-handler'=>'#config/panorama/server-profile/scp/entry/@name', 'help-string'=>'SCP profile to use'}, 'scp-path'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'128', 'help-string'=>'Path for files'}} # SCP profile to use def scp_profile prop_get('scp-profile') end # SCP profile to use def scp_profile=(val) prop_set('scp-profile', val) end # Path for files def scp_path prop_get('scp-path') end # Path for files def scp_path=(val) prop_set('scp-path', val) end end def download_and_scp @subclasses['download-and-scp'] ||= DownloadAndScp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def action maybe_register_subclass('action', Action.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3]):([0-5][0-9])', 'minlen'=>'5', 'maxlen'=>'5', 'help-string'=>'Time specification hh:mm (e.g. 20:10)', 'uiHint-fieldLabel'=>'Time'}, 'disable-new-content'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Disable new applications after installation'}} # Time specification hh:mm (e.g. 20:10) def at prop_get('at') end # Time specification hh:mm (e.g. 20:10) def at=(val) prop_set('at', val) end # Disable new applications after installation def disable_new_content prop_get('disable-new-content') end # Disable new applications after installation def disable_new_content=(val) prop_set('disable-new-content', val) end end def daily @subclasses['daily'] ||= Daily.new(parent_instance: self, client: @client, create_children: @create_children) end class Weekly < ConfigClass def has_multiple_values?; false; end def _section :weekly end class Action < XML::ConfigClass def has_multiple_values?; true; end def _section :action end class DownloadOnly < ConfigClass def has_multiple_values?; false; end def _section :'download-only' end @props = {} end def download_only @subclasses['download-only'] ||= DownloadOnly.new(parent_instance: self, client: @client, create_children: @create_children) end class DownloadAndInstall < XML::ConfigClass def has_multiple_values?; true; end def _section :'download-and-install' end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'complete-handler'=>'deploy-updsch-wfm-eligible-completer'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def download_and_install maybe_register_subclass('download-and-install', DownloadAndInstall.new(parent_instance: self, client: @client, create_children: @create_children)) end class DownloadAndScp < ConfigClass def has_multiple_values?; false; end def _section :'download-and-scp' end @props = {'scp-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'complete-handler'=>'#config/panorama/server-profile/scp/entry/@name', 'help-string'=>'SCP profile to use'}, 'scp-path'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'128', 'help-string'=>'Path for files'}} # SCP profile to use def scp_profile prop_get('scp-profile') end # SCP profile to use def scp_profile=(val) prop_set('scp-profile', val) end # Path for files def scp_path prop_get('scp-path') end # Path for files def scp_path=(val) prop_set('scp-path', val) end end def download_and_scp @subclasses['download-and-scp'] ||= DownloadAndScp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def action maybe_register_subclass('action', Action.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'day-of-week'=>{'node-type'=>'element', 'type'=>'enum', 'uiHint-fieldLabel'=>'Day', 'enum'=>[{'value'=>'sunday', 'help-string'=>'Sunday'}, {'value'=>'monday', 'help-string'=>'Monday'}, {'value'=>'tuesday', 'help-string'=>'Tuesday'}, {'value'=>'wednesday', 'help-string'=>'Wednesday'}, {'value'=>'thursday', 'help-string'=>'Thursday'}, {'value'=>'friday', 'help-string'=>'Friday'}, {'value'=>'saturday', 'help-string'=>'Saturday'}]}, 'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3]):([0-5][0-9])', 'minlen'=>'5', 'maxlen'=>'5', 'help-string'=>'Time specification hh:mm (e.g. 20:10)', 'uiHint-fieldLabel'=>'Time'}, 'disable-new-content'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Disable new applications after installation'}} def day_of_week prop_get('day-of-week') end def day_of_week=(val) prop_set('day-of-week', val) end # Time specification hh:mm (e.g. 20:10) def at prop_get('at') end # Time specification hh:mm (e.g. 20:10) def at=(val) prop_set('at', val) end # Disable new applications after installation def disable_new_content prop_get('disable-new-content') end # Disable new applications after installation def disable_new_content=(val) prop_set('disable-new-content', val) end end def weekly @subclasses['weekly'] ||= Weekly.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def recurring @subclasses['recurring'] ||= Recurring.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def wf_content @subclasses['wf-content'] ||= WfContent.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [0-9a-zA-Z._-]'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}} # alphanumeric string [0-9a-zA-Z._-] def name prop_get('@name') end def disabled prop_get('disabled') end def disabled=(val) prop_set('disabled', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def deployment_update_schedule maybe_register_subclass('deployment-update-schedule', DeploymentUpdateSchedule.new(parent_instance: self, client: @client, create_children: @create_children)) end class PushSchedule < XML::ConfigClass def has_multiple_values?; true; end def _section :'push-schedule' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Admin < XML::ConfigClass def has_multiple_values?; true; end def _section :admin end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^[^;|`&\'"<>[:cntrl:]]+$', 'maxlen'=>'63'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def admin maybe_register_subclass('admin', Admin.new(parent_instance: self, client: @client, create_children: @create_children)) end class OneTime < ConfigClass def has_multiple_values?; false; end def _section :'one-time' end @props = {'date'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'no', 'minlen'=>'10', 'maxlen'=>'10', 'regex'=>'[0-9][0-9][0-9][0-9]/([0][1-9]|[1][0-2])/([0-2][0-9]|[3][0-1])', 'help-string'=>'date specification YYYY/MM/DD (e.g. 2006/08/01)'}, 'at'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'no', 'minlen'=>'5', 'maxlen'=>'5', 'regex'=>'([01][0-9]|[2][0-3]):([0-5][0-9])', 'help-string'=>'time specification hh:mm (e.g.23:59)'}} # date specification YYYY/MM/DD (e.g. 2006/08/01) def date prop_get('date') end # date specification YYYY/MM/DD (e.g. 2006/08/01) def date=(val) prop_set('date', val) end # time specification hh:mm (e.g.23:59) def at prop_get('at') end # time specification hh:mm (e.g.23:59) def at=(val) prop_set('at', val) end end def one_time @subclasses['one-time'] ||= OneTime.new(parent_instance: self, client: @client, create_children: @create_children) end class Recurring < ConfigClass def has_multiple_values?; false; end def _section :recurring end class Daily < ConfigClass def has_multiple_values?; false; end def _section :daily end @props = {'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3]):([0-5][0-9])', 'minlen'=>'5', 'maxlen'=>'5', 'help-string'=>'Time specification hh:mm (e.g. 20:10)', 'uiHint-fieldLabel'=>'Time'}} # Time specification hh:mm (e.g. 20:10) def at prop_get('at') end # Time specification hh:mm (e.g. 20:10) def at=(val) prop_set('at', val) end end def daily @subclasses['daily'] ||= Daily.new(parent_instance: self, client: @client, create_children: @create_children) end class Weekly < ConfigClass def has_multiple_values?; false; end def _section :weekly end @props = {'day-of-week'=>{'node-type'=>'element', 'type'=>'enum', 'uiHint-fieldLabel'=>'Day', 'enum'=>[{'value'=>'sunday', 'help-string'=>'Sunday'}, {'value'=>'monday', 'help-string'=>'Monday'}, {'value'=>'tuesday', 'help-string'=>'Tuesday'}, {'value'=>'wednesday', 'help-string'=>'Wednesday'}, {'value'=>'thursday', 'help-string'=>'Thursday'}, {'value'=>'friday', 'help-string'=>'Friday'}, {'value'=>'saturday', 'help-string'=>'Saturday'}]}, 'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3]):([0-5][0-9])', 'minlen'=>'5', 'maxlen'=>'5', 'help-string'=>'Time specification hh:mm (e.g. 20:10)', 'uiHint-fieldLabel'=>'Time'}} def day_of_week prop_get('day-of-week') end def day_of_week=(val) prop_set('day-of-week', val) end # Time specification hh:mm (e.g. 20:10) def at prop_get('at') end # Time specification hh:mm (e.g. 20:10) def at=(val) prop_set('at', val) end end def weekly @subclasses['weekly'] ||= Weekly.new(parent_instance: self, client: @client, create_children: @create_children) end class Monthly < ConfigClass def has_multiple_values?; false; end def _section :monthly end @props = {'day-of-month'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'31'}, 'at'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'no', 'minlen'=>'5', 'maxlen'=>'5', 'regex'=>'([01][0-9]|[2][0-3]):([0-5][0-9])', 'help-string'=>'time specification hh:mm (e.g.23:59)'}} def day_of_month prop_get('day-of-month') end def day_of_month=(val) prop_set('day-of-month', val) end # time specification hh:mm (e.g.23:59) def at prop_get('at') end # time specification hh:mm (e.g.23:59) def at=(val) prop_set('at', val) end end def monthly @subclasses['monthly'] ||= Monthly.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def recurring @subclasses['recurring'] ||= Recurring.new(parent_instance: self, client: @client, create_children: @create_children) end class SharedPolicyPush < ConfigClass def has_multiple_values?; false; end def _section :'shared-policy-push' end class DeviceGroup < XML::ConfigClass def has_multiple_values?; true; end def _section :'device-group' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Vsys < XML::ConfigClass def has_multiple_values?; true; end def _section :vsys end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'vsys name'}} # vsys name def member prop_get('member') end # vsys name def member=(val) prop_set('member', val) end end def vsys maybe_register_subclass('vsys', Vsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'64', 'help-string'=>'Device serial no'}} # Device serial no def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'64', 'help-string'=>'Device group name'}} # Device group name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def device_group maybe_register_subclass('device-group', DeviceGroup.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'merge-with-candidate-cfg'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Merge with candidate configuration'}, 'include-template'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Include relevant template'}} # Merge with candidate configuration def merge_with_candidate_cfg prop_get('merge-with-candidate-cfg') end # Merge with candidate configuration def merge_with_candidate_cfg=(val) prop_set('merge-with-candidate-cfg', val) end # Include relevant template def include_template prop_get('include-template') end # Include relevant template def include_template=(val) prop_set('include-template', val) end end def shared_policy_push @subclasses['shared-policy-push'] ||= SharedPolicyPush.new(parent_instance: self, client: @client, create_children: @create_children) end class TemplatePush < ConfigClass def has_multiple_values?; false; end def _section :'template-push' end class TemplateStack < XML::ConfigClass def has_multiple_values?; true; end def _section :'template-stack' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'device name'}} # device name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'64', 'help-string'=>'template name'}} # template name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def template_stack maybe_register_subclass('template-stack', TemplateStack.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'merge-with-candidate-cfg'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Merge with candidate configuration'}, 'force-template-values'=>{'node-type'=>'element', 'internal'=>'yes', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Force template values by removing overridden objects on device'}} # Merge with candidate configuration def merge_with_candidate_cfg prop_get('merge-with-candidate-cfg') end # Merge with candidate configuration def merge_with_candidate_cfg=(val) prop_set('merge-with-candidate-cfg', val) end # Force template values by removing overridden objects on device def force_template_values prop_get('force-template-values') end # Force template values by removing overridden objects on device def force_template_values=(val) prop_set('force-template-values', val) end end def template_push @subclasses['template-push'] ||= TemplatePush.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def disabled prop_get('disabled') end def disabled=(val) prop_set('disabled', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def push_schedule maybe_register_subclass('push-schedule', PushSchedule.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'login-banner'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'3200'}, 'ack-login-banner'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Force Admins to Acknowledge Login Banner'}, 'hostname'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[a-zA-Z0-9\._-]+$', 'minlen'=>'1', 'maxlen'=>'32'}, 'domain'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'32'}, 'common-name-for-certificate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'Common name recognized by devices, if different from ip-address'}, 'ip-address'=>{'node-type'=>'element', 'optional'=>'yes', 'prune-on-sdb'=>'cfg.general.cloud-vm=', 'type'=>'ipspec', 'unicast-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes', 'help-string'=>'IP address for the management interface'}, 'public-ip-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes', 'help-string'=>'Public IP address for the management interface'}, 'netmask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'prune-on-sdb'=>'cfg.general.cloud-vm=', 'subtype'=>'ip-address', 'help-string'=>'IP netmask for the management interface'}, 'default-gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'prune-on-sdb'=>'cfg.general.cloud-vm=', 'type'=>'ipspec', 'unicast-only'=>'yes', 'help-string'=>'Default gateway'}, 'mtu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'576', 'max'=>'1500', 'default'=>'1500', 'help-string'=>'Maximum Transmission Unit for the managment interface'}, 'tls-mode'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'exclude-tlsv1.3', 'help-string'=>'TLS mode for web server', 'enum'=>[{'value'=>'tlsv1.3-only', 'help-string'=>'TLSv1.3 Only'}, {'value'=>'mixed-mode', 'help-string'=>'Mixed mode'}, {'value'=>'exclude-tlsv1.3', 'help-string'=>'Exclude TLSv1.3'}]}, 'certificate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'complete-handler'=>'system-webserver-certificate-completer', 'help-string'=>'TLS certificate for web server in TLSv1.3 and mixed mode'}, 'ipv6-address'=>{'node-type'=>'element', 'optional'=>'yes', 'prune-on-sdb'=>'cfg.general.cloud-vm=', 'type'=>'ipspec', 'unicast-with-mask'=>'yes', 'ipv6-only'=>'yes', 'help-string'=>'IPv6 address for the management interface'}, 'ipv6-default-gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'prune-on-sdb'=>'cfg.general.cloud-vm=', 'unicast-only'=>'yes', 'type'=>'ipspec', 'help-string'=>'IPv6 Default gateway'}, 'authentication-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'complete-handler'=>'system-auth-profile-completer', 'help-string'=>'Authentication profile to use for non-local admins. Only RADIUS, TACACS+ and SAML methods are supported.'}, 'non-ui-authentication-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Authentication profile to use for non-local admins. Only RADIUS, TACACS+ are supported.'}, 'certificate-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'profile for verifying client certificates'}, 'syslog-certificate'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'client certificate for syslog'}, 'ssl-tls-service-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'255', 'help-string'=>'SSL TLS service profile'}, 'fqdn-refresh-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'help-string'=>'Seconds for Periodic Timer to refresh expired FQDN object entries', 'min'=>'600', 'max'=>'14399', 'default'=>'1800'}, 'fqdn-forcerefresh-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'help-string'=>'Seconds for Periodic Timer to force refresh FQDN object entries', 'min'=>'14400', 'max'=>'86400', 'default'=>'14400'}, 'panorama-server'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-only'=>'yes', 'help-string'=>'Panorama server IP address'}, 'update-server'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^([0-9a-zA-Z:./_-])+$', 'maxlen'=>'63', 'help-string'=>'PaloAlto Networks update server'}, 'server-verification'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Verify update server identity'}, 'secure-proxy-server'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'Secure Proxy server to use'}, 'secure-proxy-port'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Port for secure proxy server'}, 'secure-proxy-user'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Secure Proxy user name to use'}, 'secure-proxy-password'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'encrypt'=>'yes', 'help-string'=>'Secure Proxy password to use'}, 'lcaas-use-proxy'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable proxy access to CDL'}, 'auto-renew-mkey-lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'17520', 'default'=>'720', 'prune-on'=>'fips-mode', 'help-string'=>'Automatically renew master key lifetime when it expires. Extended time in hours. 0 means disable auto-renew lifetime.'}, 'locale'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'system default locale', 'default'=>'en', 'complete-handler'=>'locale-name-completer', 'multi-types'=>{'string'=>{}, 'enum'=>[{'value'=>'en', 'help-string'=>'English'}, {'value'=>'es', 'help-string'=>'Spanish'}, {'value'=>'ja', 'help-string'=>'Japanese'}, {'value'=>'fr', 'help-string'=>'French'}, {'value'=>'zh_CN', 'help-string'=>'Chinese-Simplified'}, {'value'=>'zh_TW', 'help-string'=>'Chinese-Traditional'}, {'value'=>'ko', 'help-string'=>'Korean'}]}}, 'domain-lookup-url'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'512'}, 'ip-address-lookup-url'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'512'}, 'timezone'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'Africa/Abidjan'}, {'value'=>'Africa/Accra'}, {'value'=>'Africa/Addis_Ababa'}, {'value'=>'Africa/Algiers'}, {'value'=>'Africa/Asmara'}, {'value'=>'Africa/Asmera'}, {'value'=>'Africa/Bamako'}, {'value'=>'Africa/Bangui'}, {'value'=>'Africa/Banjul'}, {'value'=>'Africa/Bissau'}, {'value'=>'Africa/Blantyre'}, {'value'=>'Africa/Brazzaville'}, {'value'=>'Africa/Bujumbura'}, {'value'=>'Africa/Cairo'}, {'value'=>'Africa/Casablanca'}, {'value'=>'Africa/Ceuta'}, {'value'=>'Africa/Conakry'}, {'value'=>'Africa/Dakar'}, {'value'=>'Africa/Dar_es_Salaam'}, {'value'=>'Africa/Djibouti'}, {'value'=>'Africa/Douala'}, {'value'=>'Africa/El_Aaiun'}, {'value'=>'Africa/Freetown'}, {'value'=>'Africa/Gaborone'}, {'value'=>'Africa/Harare'}, {'value'=>'Africa/Johannesburg'}, {'value'=>'Africa/Kampala'}, {'value'=>'Africa/Khartoum'}, {'value'=>'Africa/Kigali'}, {'value'=>'Africa/Kinshasa'}, {'value'=>'Africa/Lagos'}, {'value'=>'Africa/Libreville'}, {'value'=>'Africa/Lome'}, {'value'=>'Africa/Luanda'}, {'value'=>'Africa/Lubumbashi'}, {'value'=>'Africa/Lusaka'}, {'value'=>'Africa/Malabo'}, {'value'=>'Africa/Maputo'}, {'value'=>'Africa/Maseru'}, {'value'=>'Africa/Mbabane'}, {'value'=>'Africa/Mogadishu'}, {'value'=>'Africa/Monrovia'}, {'value'=>'Africa/Nairobi'}, {'value'=>'Africa/Ndjamena'}, {'value'=>'Africa/Niamey'}, {'value'=>'Africa/Nouakchott'}, {'value'=>'Africa/Ouagadougou'}, {'value'=>'Africa/Porto-Novo'}, {'value'=>'Africa/Sao_Tome'}, {'value'=>'Africa/Timbuktu'}, {'value'=>'Africa/Tripoli'}, {'value'=>'Africa/Tunis'}, {'value'=>'Africa/Windhoek'}, {'value'=>'America/Adak'}, {'value'=>'America/Anchorage'}, {'value'=>'America/Anguilla'}, {'value'=>'America/Antigua'}, {'value'=>'America/Araguaina'}, {'value'=>'America/Argentina/Buenos_Aires'}, {'value'=>'America/Argentina/Catamarca'}, {'value'=>'America/Argentina/ComodRivadavia'}, {'value'=>'America/Argentina/Cordoba'}, {'value'=>'America/Argentina/Jujuy'}, {'value'=>'America/Argentina/La_Rioja'}, {'value'=>'America/Argentina/Mendoza'}, {'value'=>'America/Argentina/Rio_Gallegos'}, {'value'=>'America/Argentina/Salta'}, {'value'=>'America/Argentina/San_Juan'}, {'value'=>'America/Argentina/San_Luis'}, {'value'=>'America/Argentina/Tucuman'}, {'value'=>'America/Argentina/Ushuaia'}, {'value'=>'America/Aruba'}, {'value'=>'America/Asuncion'}, {'value'=>'America/Atikokan'}, {'value'=>'America/Atka'}, {'value'=>'America/Bahia'}, {'value'=>'America/Barbados'}, {'value'=>'America/Belem'}, {'value'=>'America/Belize'}, {'value'=>'America/Blanc-Sablon'}, {'value'=>'America/Boa_Vista'}, {'value'=>'America/Bogota'}, {'value'=>'America/Boise'}, {'value'=>'America/Buenos_Aires'}, {'value'=>'America/Cambridge_Bay'}, {'value'=>'America/Campo_Grande'}, {'value'=>'America/Cancun'}, {'value'=>'America/Caracas'}, {'value'=>'America/Catamarca'}, {'value'=>'America/Cayenne'}, {'value'=>'America/Cayman'}, {'value'=>'America/Chicago'}, {'value'=>'America/Chihuahua'}, {'value'=>'America/Coral_Harbour'}, {'value'=>'America/Cordoba'}, {'value'=>'America/Costa_Rica'}, {'value'=>'America/Cuiaba'}, {'value'=>'America/Curacao'}, {'value'=>'America/Danmarkshavn'}, {'value'=>'America/Dawson'}, {'value'=>'America/Dawson_Creek'}, {'value'=>'America/Denver'}, {'value'=>'America/Detroit'}, {'value'=>'America/Dominica'}, {'value'=>'America/Edmonton'}, {'value'=>'America/Eirunepe'}, {'value'=>'America/El_Salvador'}, {'value'=>'America/Ensenada'}, {'value'=>'America/Fortaleza'}, {'value'=>'America/Fort_Wayne'}, {'value'=>'America/Glace_Bay'}, {'value'=>'America/Godthab'}, {'value'=>'America/Goose_Bay'}, {'value'=>'America/Grand_Turk'}, {'value'=>'America/Grenada'}, {'value'=>'America/Guadeloupe'}, {'value'=>'America/Guatemala'}, {'value'=>'America/Guayaquil'}, {'value'=>'America/Guyana'}, {'value'=>'America/Halifax'}, {'value'=>'America/Havana'}, {'value'=>'America/Hermosillo'}, {'value'=>'America/Indiana/Indianapolis'}, {'value'=>'America/Indiana/Knox'}, {'value'=>'America/Indiana/Marengo'}, {'value'=>'America/Indiana/Petersburg'}, {'value'=>'America/Indianapolis'}, {'value'=>'America/Indiana/Tell_City'}, {'value'=>'America/Indiana/Vevay'}, {'value'=>'America/Indiana/Vincennes'}, {'value'=>'America/Indiana/Winamac'}, {'value'=>'America/Inuvik'}, {'value'=>'America/Iqaluit'}, {'value'=>'America/Jamaica'}, {'value'=>'America/Jujuy'}, {'value'=>'America/Juneau'}, {'value'=>'America/Kentucky/Louisville'}, {'value'=>'America/Kentucky/Monticello'}, {'value'=>'America/Knox_IN'}, {'value'=>'America/La_Paz'}, {'value'=>'America/Lima'}, {'value'=>'America/Los_Angeles'}, {'value'=>'America/Louisville'}, {'value'=>'America/Maceio'}, {'value'=>'America/Managua'}, {'value'=>'America/Manaus'}, {'value'=>'America/Marigot'}, {'value'=>'America/Martinique'}, {'value'=>'America/Mazatlan'}, {'value'=>'America/Mendoza'}, {'value'=>'America/Menominee'}, {'value'=>'America/Merida'}, {'value'=>'America/Mexico_City'}, {'value'=>'America/Miquelon'}, {'value'=>'America/Moncton'}, {'value'=>'America/Monterrey'}, {'value'=>'America/Montevideo'}, {'value'=>'America/Montreal'}, {'value'=>'America/Montserrat'}, {'value'=>'America/Nassau'}, {'value'=>'America/New_York'}, {'value'=>'America/Nipigon'}, {'value'=>'America/Nome'}, {'value'=>'America/Noronha'}, {'value'=>'America/North_Dakota/Center'}, {'value'=>'America/North_Dakota/New_Salem'}, {'value'=>'America/Panama'}, {'value'=>'America/Pangnirtung'}, {'value'=>'America/Paramaribo'}, {'value'=>'America/Phoenix'}, {'value'=>'America/Port-au-Prince'}, {'value'=>'America/Porto_Acre'}, {'value'=>'America/Port_of_Spain'}, {'value'=>'America/Porto_Velho'}, {'value'=>'America/Puerto_Rico'}, {'value'=>'America/Rainy_River'}, {'value'=>'America/Rankin_Inlet'}, {'value'=>'America/Recife'}, {'value'=>'America/Regina'}, {'value'=>'America/Resolute'}, {'value'=>'America/Rio_Branco'}, {'value'=>'America/Rosario'}, {'value'=>'America/Santarem'}, {'value'=>'America/Santiago'}, {'value'=>'America/Santo_Domingo'}, {'value'=>'America/Sao_Paulo'}, {'value'=>'America/Scoresbysund'}, {'value'=>'America/Shiprock'}, {'value'=>'America/St_Barthelemy'}, {'value'=>'America/St_Johns'}, {'value'=>'America/St_Kitts'}, {'value'=>'America/St_Lucia'}, {'value'=>'America/St_Thomas'}, {'value'=>'America/St_Vincent'}, {'value'=>'America/Swift_Current'}, {'value'=>'America/Tegucigalpa'}, {'value'=>'America/Thule'}, {'value'=>'America/Thunder_Bay'}, {'value'=>'America/Tijuana'}, {'value'=>'America/Toronto'}, {'value'=>'America/Tortola'}, {'value'=>'America/Vancouver'}, {'value'=>'America/Virgin'}, {'value'=>'America/Whitehorse'}, {'value'=>'America/Winnipeg'}, {'value'=>'America/Yakutat'}, {'value'=>'America/Yellowknife'}, {'value'=>'Antarctica/Casey'}, {'value'=>'Antarctica/Davis'}, {'value'=>'Antarctica/DumontDUrville'}, {'value'=>'Antarctica/Mawson'}, {'value'=>'Antarctica/McMurdo'}, {'value'=>'Antarctica/Palmer'}, {'value'=>'Antarctica/Rothera'}, {'value'=>'Antarctica/South_Pole'}, {'value'=>'Antarctica/Syowa'}, {'value'=>'Antarctica/Vostok'}, {'value'=>'Arctic/Longyearbyen'}, {'value'=>'Asia/Aden'}, {'value'=>'Asia/Almaty'}, {'value'=>'Asia/Amman'}, {'value'=>'Asia/Anadyr'}, {'value'=>'Asia/Aqtau'}, {'value'=>'Asia/Aqtobe'}, {'value'=>'Asia/Ashgabat'}, {'value'=>'Asia/Ashkhabad'}, {'value'=>'Asia/Baghdad'}, {'value'=>'Asia/Bahrain'}, {'value'=>'Asia/Baku'}, {'value'=>'Asia/Bangkok'}, {'value'=>'Asia/Beirut'}, {'value'=>'Asia/Bishkek'}, {'value'=>'Asia/Brunei'}, {'value'=>'Asia/Calcutta'}, {'value'=>'Asia/Choibalsan'}, {'value'=>'Asia/Chongqing'}, {'value'=>'Asia/Chungking'}, {'value'=>'Asia/Colombo'}, {'value'=>'Asia/Dacca'}, {'value'=>'Asia/Damascus'}, {'value'=>'Asia/Dhaka'}, {'value'=>'Asia/Dili'}, {'value'=>'Asia/Dubai'}, {'value'=>'Asia/Dushanbe'}, {'value'=>'Asia/Gaza'}, {'value'=>'Asia/Harbin'}, {'value'=>'Asia/Ho_Chi_Minh'}, {'value'=>'Asia/Hong_Kong'}, {'value'=>'Asia/Hovd'}, {'value'=>'Asia/Irkutsk'}, {'value'=>'Asia/Istanbul'}, {'value'=>'Asia/Jakarta'}, {'value'=>'Asia/Jayapura'}, {'value'=>'Asia/Jerusalem'}, {'value'=>'Asia/Kabul'}, {'value'=>'Asia/Kamchatka'}, {'value'=>'Asia/Karachi'}, {'value'=>'Asia/Kashgar'}, {'value'=>'Asia/Kathmandu'}, {'value'=>'Asia/Katmandu'}, {'value'=>'Asia/Kolkata'}, {'value'=>'Asia/Krasnoyarsk'}, {'value'=>'Asia/Kuala_Lumpur'}, {'value'=>'Asia/Kuching'}, {'value'=>'Asia/Kuwait'}, {'value'=>'Asia/Macao'}, {'value'=>'Asia/Macau'}, {'value'=>'Asia/Magadan'}, {'value'=>'Asia/Makassar'}, {'value'=>'Asia/Manila'}, {'value'=>'Asia/Muscat'}, {'value'=>'Asia/Nicosia'}, {'value'=>'Asia/Novokuznetsk'}, {'value'=>'Asia/Novosibirsk'}, {'value'=>'Asia/Omsk'}, {'value'=>'Asia/Oral'}, {'value'=>'Asia/Phnom_Penh'}, {'value'=>'Asia/Pontianak'}, {'value'=>'Asia/Pyongyang'}, {'value'=>'Asia/Qatar'}, {'value'=>'Asia/Qyzylorda'}, {'value'=>'Asia/Rangoon'}, {'value'=>'Asia/Riyadh'}, {'value'=>'Asia/Riyadh87'}, {'value'=>'Asia/Riyadh88'}, {'value'=>'Asia/Riyadh89'}, {'value'=>'Asia/Saigon'}, {'value'=>'Asia/Sakhalin'}, {'value'=>'Asia/Samarkand'}, {'value'=>'Asia/Seoul'}, {'value'=>'Asia/Shanghai'}, {'value'=>'Asia/Singapore'}, {'value'=>'Asia/Taipei'}, {'value'=>'Asia/Tashkent'}, {'value'=>'Asia/Tbilisi'}, {'value'=>'Asia/Tehran'}, {'value'=>'Asia/Tel_Aviv'}, {'value'=>'Asia/Thimbu'}, {'value'=>'Asia/Thimphu'}, {'value'=>'Asia/Tokyo'}, {'value'=>'Asia/Ujung_Pandang'}, {'value'=>'Asia/Ulaanbaatar'}, {'value'=>'Asia/Ulan_Bator'}, {'value'=>'Asia/Urumqi'}, {'value'=>'Asia/Vientiane'}, {'value'=>'Asia/Vladivostok'}, {'value'=>'Asia/Yakutsk'}, {'value'=>'Asia/Yekaterinburg'}, {'value'=>'Asia/Yerevan'}, {'value'=>'Atlantic/Azores'}, {'value'=>'Atlantic/Bermuda'}, {'value'=>'Atlantic/Canary'}, {'value'=>'Atlantic/Cape_Verde'}, {'value'=>'Atlantic/Faeroe'}, {'value'=>'Atlantic/Faroe'}, {'value'=>'Atlantic/Jan_Mayen'}, {'value'=>'Atlantic/Madeira'}, {'value'=>'Atlantic/Reykjavik'}, {'value'=>'Atlantic/South_Georgia'}, {'value'=>'Atlantic/Stanley'}, {'value'=>'Atlantic/St_Helena'}, {'value'=>'Australia/ACT'}, {'value'=>'Australia/Adelaide'}, {'value'=>'Australia/Brisbane'}, {'value'=>'Australia/Broken_Hill'}, {'value'=>'Australia/Canberra'}, {'value'=>'Australia/Currie'}, {'value'=>'Australia/Darwin'}, {'value'=>'Australia/Eucla'}, {'value'=>'Australia/Hobart'}, {'value'=>'Australia/LHI'}, {'value'=>'Australia/Lindeman'}, {'value'=>'Australia/Lord_Howe'}, {'value'=>'Australia/Melbourne'}, {'value'=>'Australia/North'}, {'value'=>'Australia/NSW'}, {'value'=>'Australia/Perth'}, {'value'=>'Australia/Queensland'}, {'value'=>'Australia/South'}, {'value'=>'Australia/Sydney'}, {'value'=>'Australia/Tasmania'}, {'value'=>'Australia/Victoria'}, {'value'=>'Australia/West'}, {'value'=>'Australia/Yancowinna'}, {'value'=>'Brazil/Acre'}, {'value'=>'Brazil/DeNoronha'}, {'value'=>'Brazil/East'}, {'value'=>'Brazil/West'}, {'value'=>'Canada/Atlantic'}, {'value'=>'Canada/Central'}, {'value'=>'Canada/Eastern'}, {'value'=>'Canada/East-Saskatchewan'}, {'value'=>'Canada/Mountain'}, {'value'=>'Canada/Newfoundland'}, {'value'=>'Canada/Pacific'}, {'value'=>'Canada/Saskatchewan'}, {'value'=>'Canada/Yukon'}, {'value'=>'CET'}, {'value'=>'Chile/Continental'}, {'value'=>'Chile/EasterIsland'}, {'value'=>'CST6CDT'}, {'value'=>'Cuba'}, {'value'=>'EET'}, {'value'=>'Egypt'}, {'value'=>'Eire'}, {'value'=>'EST'}, {'value'=>'EST5EDT'}, {'value'=>'Etc/GMT'}, {'value'=>'Etc/GMT0'}, {'value'=>'Etc/GMT-0'}, {'value'=>'Etc/GMT+0'}, {'value'=>'Etc/GMT-1'}, {'value'=>'Etc/GMT+1'}, {'value'=>'Etc/GMT-10'}, {'value'=>'Etc/GMT+10'}, {'value'=>'Etc/GMT-11'}, {'value'=>'Etc/GMT+11'}, {'value'=>'Etc/GMT-12'}, {'value'=>'Etc/GMT+12'}, {'value'=>'Etc/GMT-13'}, {'value'=>'Etc/GMT-14'}, {'value'=>'Etc/GMT-2'}, {'value'=>'Etc/GMT+2'}, {'value'=>'Etc/GMT-3'}, {'value'=>'Etc/GMT+3'}, {'value'=>'Etc/GMT-4'}, {'value'=>'Etc/GMT+4'}, {'value'=>'Etc/GMT-5'}, {'value'=>'Etc/GMT+5'}, {'value'=>'Etc/GMT-6'}, {'value'=>'Etc/GMT+6'}, {'value'=>'Etc/GMT-7'}, {'value'=>'Etc/GMT+7'}, {'value'=>'Etc/GMT-8'}, {'value'=>'Etc/GMT+8'}, {'value'=>'Etc/GMT-9'}, {'value'=>'Etc/GMT+9'}, {'value'=>'Etc/Greenwich'}, {'value'=>'Etc/UCT'}, {'value'=>'Etc/Universal'}, {'value'=>'Etc/UTC'}, {'value'=>'Etc/Zulu'}, {'value'=>'Europe/Amsterdam'}, {'value'=>'Europe/Andorra'}, {'value'=>'Europe/Athens'}, {'value'=>'Europe/Belfast'}, {'value'=>'Europe/Belgrade'}, {'value'=>'Europe/Berlin'}, {'value'=>'Europe/Bratislava'}, {'value'=>'Europe/Brussels'}, {'value'=>'Europe/Bucharest'}, {'value'=>'Europe/Budapest'}, {'value'=>'Europe/Chisinau'}, {'value'=>'Europe/Copenhagen'}, {'value'=>'Europe/Dublin'}, {'value'=>'Europe/Gibraltar'}, {'value'=>'Europe/Guernsey'}, {'value'=>'Europe/Helsinki'}, {'value'=>'Europe/Isle_of_Man'}, {'value'=>'Europe/Istanbul'}, {'value'=>'Europe/Jersey'}, {'value'=>'Europe/Kaliningrad'}, {'value'=>'Europe/Kiev'}, {'value'=>'Europe/Lisbon'}, {'value'=>'Europe/Ljubljana'}, {'value'=>'Europe/London'}, {'value'=>'Europe/Luxembourg'}, {'value'=>'Europe/Madrid'}, {'value'=>'Europe/Malta'}, {'value'=>'Europe/Mariehamn'}, {'value'=>'Europe/Minsk'}, {'value'=>'Europe/Monaco'}, {'value'=>'Europe/Moscow'}, {'value'=>'Europe/Nicosia'}, {'value'=>'Europe/Oslo'}, {'value'=>'Europe/Paris'}, {'value'=>'Europe/Podgorica'}, {'value'=>'Europe/Prague'}, {'value'=>'Europe/Riga'}, {'value'=>'Europe/Rome'}, {'value'=>'Europe/Samara'}, {'value'=>'Europe/San_Marino'}, {'value'=>'Europe/Sarajevo'}, {'value'=>'Europe/Simferopol'}, {'value'=>'Europe/Skopje'}, {'value'=>'Europe/Sofia'}, {'value'=>'Europe/Stockholm'}, {'value'=>'Europe/Tallinn'}, {'value'=>'Europe/Tirane'}, {'value'=>'Europe/Tiraspol'}, {'value'=>'Europe/Uzhgorod'}, {'value'=>'Europe/Vaduz'}, {'value'=>'Europe/Vatican'}, {'value'=>'Europe/Vienna'}, {'value'=>'Europe/Vilnius'}, {'value'=>'Europe/Volgograd'}, {'value'=>'Europe/Warsaw'}, {'value'=>'Europe/Zagreb'}, {'value'=>'Europe/Zaporozhye'}, {'value'=>'Europe/Zurich'}, {'value'=>'Factory'}, {'value'=>'GB'}, {'value'=>'GB-Eire'}, {'value'=>'GMT'}, {'value'=>'GMT0'}, {'value'=>'GMT-0'}, {'value'=>'GMT+0'}, {'value'=>'Greenwich'}, {'value'=>'Hongkong'}, {'value'=>'HST'}, {'value'=>'Iceland'}, {'value'=>'Indian/Antananarivo'}, {'value'=>'Indian/Chagos'}, {'value'=>'Indian/Christmas'}, {'value'=>'Indian/Cocos'}, {'value'=>'Indian/Comoro'}, {'value'=>'Indian/Kerguelen'}, {'value'=>'Indian/Mahe'}, {'value'=>'Indian/Maldives'}, {'value'=>'Indian/Mauritius'}, {'value'=>'Indian/Mayotte'}, {'value'=>'Indian/Reunion'}, {'value'=>'Iran'}, {'value'=>'Israel'}, {'value'=>'Jamaica'}, {'value'=>'Japan'}, {'value'=>'Kwajalein'}, {'value'=>'Libya'}, {'value'=>'MET'}, {'value'=>'Mexico/BajaNorte'}, {'value'=>'Mexico/BajaSur'}, {'value'=>'Mexico/General'}, {'value'=>'Mideast/Riyadh87'}, {'value'=>'Mideast/Riyadh88'}, {'value'=>'Mideast/Riyadh89'}, {'value'=>'MST'}, {'value'=>'MST7MDT'}, {'value'=>'Navajo'}, {'value'=>'NZ'}, {'value'=>'NZ-CHAT'}, {'value'=>'Pacific/Apia'}, {'value'=>'Pacific/Auckland'}, {'value'=>'Pacific/Chatham'}, {'value'=>'Pacific/Easter'}, {'value'=>'Pacific/Efate'}, {'value'=>'Pacific/Enderbury'}, {'value'=>'Pacific/Fakaofo'}, {'value'=>'Pacific/Fiji'}, {'value'=>'Pacific/Funafuti'}, {'value'=>'Pacific/Galapagos'}, {'value'=>'Pacific/Gambier'}, {'value'=>'Pacific/Guadalcanal'}, {'value'=>'Pacific/Guam'}, {'value'=>'Pacific/Honolulu'}, {'value'=>'Pacific/Johnston'}, {'value'=>'Pacific/Kiritimati'}, {'value'=>'Pacific/Kosrae'}, {'value'=>'Pacific/Kwajalein'}, {'value'=>'Pacific/Majuro'}, {'value'=>'Pacific/Marquesas'}, {'value'=>'Pacific/Midway'}, {'value'=>'Pacific/Nauru'}, {'value'=>'Pacific/Niue'}, {'value'=>'Pacific/Norfolk'}, {'value'=>'Pacific/Noumea'}, {'value'=>'Pacific/Pago_Pago'}, {'value'=>'Pacific/Palau'}, {'value'=>'Pacific/Pitcairn'}, {'value'=>'Pacific/Ponape'}, {'value'=>'Pacific/Port_Moresby'}, {'value'=>'Pacific/Rarotonga'}, {'value'=>'Pacific/Saipan'}, {'value'=>'Pacific/Samoa'}, {'value'=>'Pacific/Tahiti'}, {'value'=>'Pacific/Tarawa'}, {'value'=>'Pacific/Tongatapu'}, {'value'=>'Pacific/Truk'}, {'value'=>'Pacific/Wake'}, {'value'=>'Pacific/Wallis'}, {'value'=>'Pacific/Yap'}, {'value'=>'Poland'}, {'value'=>'Portugal'}, {'value'=>'PRC'}, {'value'=>'PST8PDT'}, {'value'=>'ROC'}, {'value'=>'ROK'}, {'value'=>'Singapore'}, {'value'=>'Turkey'}, {'value'=>'UCT'}, {'value'=>'Universal'}, {'value'=>'US/Alaska'}, {'value'=>'US/Aleutian'}, {'value'=>'US/Arizona'}, {'value'=>'US/Central'}, {'value'=>'US/Eastern'}, {'value'=>'US/East-Indiana'}, {'value'=>'US/Hawaii'}, {'value'=>'US/Indiana-Starke'}, {'value'=>'US/Michigan'}, {'value'=>'US/Mountain'}, {'value'=>'US/Pacific'}, {'value'=>'US/Samoa'}, {'value'=>'UTC'}, {'value'=>'WET'}, {'value'=>'W-SU'}, {'value'=>'Zulu'}]}} def login_banner prop_get('login-banner') end def login_banner=(val) prop_set('login-banner', val) end # Force Admins to Acknowledge Login Banner def ack_login_banner prop_get('ack-login-banner') end # Force Admins to Acknowledge Login Banner def ack_login_banner=(val) prop_set('ack-login-banner', val) end def hostname prop_get('hostname') end def hostname=(val) prop_set('hostname', val) end def domain prop_get('domain') end def domain=(val) prop_set('domain', val) end # Common name recognized by devices, if different from ip-address def common_name_for_certificate prop_get('common-name-for-certificate') end # Common name recognized by devices, if different from ip-address def common_name_for_certificate=(val) prop_set('common-name-for-certificate', val) end # IP address for the management interface def ip_address prop_get('ip-address') end # IP address for the management interface def ip_address=(val) prop_set('ip-address', val) end # Public IP address for the management interface def public_ip_address prop_get('public-ip-address') end # Public IP address for the management interface def public_ip_address=(val) prop_set('public-ip-address', val) end # IP netmask for the management interface def netmask prop_get('netmask') end # IP netmask for the management interface def netmask=(val) prop_set('netmask', val) end # Default gateway def default_gateway prop_get('default-gateway') end # Default gateway def default_gateway=(val) prop_set('default-gateway', val) end # Maximum Transmission Unit for the managment interface def mtu prop_get('mtu') end # Maximum Transmission Unit for the managment interface def mtu=(val) prop_set('mtu', val) end # TLS mode for web server def tls_mode prop_get('tls-mode') end # TLS mode for web server def tls_mode=(val) prop_set('tls-mode', val) end # TLS certificate for web server in TLSv1.3 and mixed mode def certificate prop_get('certificate') end # TLS certificate for web server in TLSv1.3 and mixed mode def certificate=(val) prop_set('certificate', val) end # IPv6 address for the management interface def ipv6_address prop_get('ipv6-address') end # IPv6 address for the management interface def ipv6_address=(val) prop_set('ipv6-address', val) end # IPv6 Default gateway def ipv6_default_gateway prop_get('ipv6-default-gateway') end # IPv6 Default gateway def ipv6_default_gateway=(val) prop_set('ipv6-default-gateway', val) end # Authentication profile to use for non-local admins. Only RADIUS, TACACS+ and SAML methods are supported. def authentication_profile prop_get('authentication-profile') end # Authentication profile to use for non-local admins. Only RADIUS, TACACS+ and SAML methods are supported. def authentication_profile=(val) prop_set('authentication-profile', val) end # Authentication profile to use for non-local admins. Only RADIUS, TACACS+ are supported. def non_ui_authentication_profile prop_get('non-ui-authentication-profile') end # Authentication profile to use for non-local admins. Only RADIUS, TACACS+ are supported. def non_ui_authentication_profile=(val) prop_set('non-ui-authentication-profile', val) end # profile for verifying client certificates def certificate_profile prop_get('certificate-profile') end # profile for verifying client certificates def certificate_profile=(val) prop_set('certificate-profile', val) end # client certificate for syslog def syslog_certificate prop_get('syslog-certificate') end # client certificate for syslog def syslog_certificate=(val) prop_set('syslog-certificate', val) end # SSL TLS service profile def ssl_tls_service_profile prop_get('ssl-tls-service-profile') end # SSL TLS service profile def ssl_tls_service_profile=(val) prop_set('ssl-tls-service-profile', val) end # Seconds for Periodic Timer to refresh expired FQDN object entries def fqdn_refresh_time prop_get('fqdn-refresh-time') end # Seconds for Periodic Timer to refresh expired FQDN object entries def fqdn_refresh_time=(val) prop_set('fqdn-refresh-time', val) end # Seconds for Periodic Timer to force refresh FQDN object entries def fqdn_forcerefresh_time prop_get('fqdn-forcerefresh-time') end # Seconds for Periodic Timer to force refresh FQDN object entries def fqdn_forcerefresh_time=(val) prop_set('fqdn-forcerefresh-time', val) end # Panorama server IP address def panorama_server prop_get('panorama-server') end # Panorama server IP address def panorama_server=(val) prop_set('panorama-server', val) end # PaloAlto Networks update server def update_server prop_get('update-server') end # PaloAlto Networks update server def update_server=(val) prop_set('update-server', val) end # Verify update server identity def server_verification prop_get('server-verification') end # Verify update server identity def server_verification=(val) prop_set('server-verification', val) end # Secure Proxy server to use def secure_proxy_server prop_get('secure-proxy-server') end # Secure Proxy server to use def secure_proxy_server=(val) prop_set('secure-proxy-server', val) end # Port for secure proxy server def secure_proxy_port prop_get('secure-proxy-port') end # Port for secure proxy server def secure_proxy_port=(val) prop_set('secure-proxy-port', val) end # Secure Proxy user name to use def secure_proxy_user prop_get('secure-proxy-user') end # Secure Proxy user name to use def secure_proxy_user=(val) prop_set('secure-proxy-user', val) end # Secure Proxy password to use def secure_proxy_password prop_get('secure-proxy-password') end # Secure Proxy password to use def secure_proxy_password=(val) prop_set('secure-proxy-password', val) end # Enable proxy access to CDL def lcaas_use_proxy prop_get('lcaas-use-proxy') end # Enable proxy access to CDL def lcaas_use_proxy=(val) prop_set('lcaas-use-proxy', val) end # Automatically renew master key lifetime when it expires. Extended time in hours. 0 means disable auto-renew lifetime. def auto_renew_mkey_lifetime prop_get('auto-renew-mkey-lifetime') end # Automatically renew master key lifetime when it expires. Extended time in hours. 0 means disable auto-renew lifetime. def auto_renew_mkey_lifetime=(val) prop_set('auto-renew-mkey-lifetime', val) end # system default locale def locale prop_get('locale') end # system default locale def locale=(val) prop_set('locale', val) end def domain_lookup_url prop_get('domain-lookup-url') end def domain_lookup_url=(val) prop_set('domain-lookup-url', val) end def ip_address_lookup_url prop_get('ip-address-lookup-url') end def ip_address_lookup_url=(val) prop_set('ip-address-lookup-url', val) end def timezone prop_get('timezone') end def timezone=(val) prop_set('timezone', val) end end def system @subclasses['system'] ||= System.new(parent_instance: self, client: @client, create_children: @create_children) end class Setting < ConfigClass def has_multiple_values?; false; end def _section :setting end class Management < ConfigClass def has_multiple_values?; false; end def _section :management end class Initcfg < ConfigClass def has_multiple_values?; false; end def _section :initcfg end class Type < ConfigClass def has_multiple_values?; false; end def _section :type end class Static < ConfigClass def has_multiple_values?; false; end def _section :static end @props = {} end def static @subclasses['static'] ||= Static.new(parent_instance: self, client: @client, create_children: @create_children) end class DhcpClient < ConfigClass def has_multiple_values?; false; end def _section :'dhcp-client' end @props = {'send-hostname'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes'}, 'send-client-id'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no'}, 'accept-dhcp-hostname'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no'}, 'accept-dhcp-domain'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no'}} def send_hostname prop_get('send-hostname') end def send_hostname=(val) prop_set('send-hostname', val) end def send_client_id prop_get('send-client-id') end def send_client_id=(val) prop_set('send-client-id', val) end def accept_dhcp_hostname prop_get('accept-dhcp-hostname') end def accept_dhcp_hostname=(val) prop_set('accept-dhcp-hostname', val) end def accept_dhcp_domain prop_get('accept-dhcp-domain') end def accept_dhcp_domain=(val) prop_set('accept-dhcp-domain', val) end end def dhcp_client @subclasses['dhcp-client'] ||= DhcpClient.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type @subclasses['type'] ||= Type.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'ip-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec'}, 'netmask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'subtype'=>'ip-address'}, 'default-gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-only'=>'yes'}, 'panorama-server'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^([0-9a-zA-Z:./_-])+$', 'maxlen'=>'63'}, 'panorama-server-2'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^([0-9a-zA-Z:./_-])+$', 'maxlen'=>'63'}, 'hostname'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[a-zA-Z0-9\._-]+$', 'minlen'=>'1', 'maxlen'=>'32'}, 'dns-primary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^([0-9a-zA-Z:./_-])+$', 'maxlen'=>'63'}, 'dns-secondary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^([0-9a-zA-Z:./_-])+$', 'maxlen'=>'63'}, 'ipv6-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-with-mask'=>'yes', 'ipv6-only'=>'yes'}, 'ipv6-default-gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-only'=>'yes'}, 'auth-key'=>{'node-type'=>'element', 'optional'=>'yes', 'maxlen'=>'255', 'type'=>'string'}, 'username'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string'}, 'userpassword'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string'}, 'agent-name'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'64'}, 'hostInfo-agentId'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'64'}, 'hostInfo-hostName'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'64'}, 'public-key'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'(([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)?){1}', 'maxlen'=>'2048'}, 'op-command-modes'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'64'}, 'vm-auth-key'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string'}} def ip_address prop_get('ip-address') end def ip_address=(val) prop_set('ip-address', val) end def netmask prop_get('netmask') end def netmask=(val) prop_set('netmask', val) end def default_gateway prop_get('default-gateway') end def default_gateway=(val) prop_set('default-gateway', val) end def panorama_server prop_get('panorama-server') end def panorama_server=(val) prop_set('panorama-server', val) end def panorama_server_2 prop_get('panorama-server-2') end def panorama_server_2=(val) prop_set('panorama-server-2', val) end def hostname prop_get('hostname') end def hostname=(val) prop_set('hostname', val) end def dns_primary prop_get('dns-primary') end def dns_primary=(val) prop_set('dns-primary', val) end def dns_secondary prop_get('dns-secondary') end def dns_secondary=(val) prop_set('dns-secondary', val) end def ipv6_address prop_get('ipv6-address') end def ipv6_address=(val) prop_set('ipv6-address', val) end def ipv6_default_gateway prop_get('ipv6-default-gateway') end def ipv6_default_gateway=(val) prop_set('ipv6-default-gateway', val) end def auth_key prop_get('auth-key') end def auth_key=(val) prop_set('auth-key', val) end def username prop_get('username') end def username=(val) prop_set('username', val) end def userpassword prop_get('userpassword') end def userpassword=(val) prop_set('userpassword', val) end def agent_name prop_get('agent-name') end def agent_name=(val) prop_set('agent-name', val) end def hostInfo_agentId prop_get('hostInfo-agentId') end def hostInfo_agentId=(val) prop_set('hostInfo-agentId', val) end def hostInfo_hostName prop_get('hostInfo-hostName') end def hostInfo_hostName=(val) prop_set('hostInfo-hostName', val) end def public_key prop_get('public-key') end def public_key=(val) prop_set('public-key', val) end def op_command_modes prop_get('op-command-modes') end def op_command_modes=(val) prop_set('op-command-modes', val) end def vm_auth_key prop_get('vm-auth-key') end def vm_auth_key=(val) prop_set('vm-auth-key', val) end end def initcfg @subclasses['initcfg'] ||= Initcfg.new(parent_instance: self, client: @client, create_children: @create_children) end class QuotaSettings < ConfigClass def has_multiple_values?; false; end def _section :'quota-settings' end class DiskQuota < ConfigClass def has_multiple_values?; false; end def _section :'disk-quota' end @props = {'traffic'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'traffic logs quota percentage', 'prune-on-sdb'=>'cfg.cms.mode=panorama,cfg.cms.mode=logger,cfg.cms.mode=management-only,cfg.cms.mode=init'}, 'threat'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'threat logs quota percentage', 'prune-on-sdb'=>'cfg.cms.mode=panorama,cfg.cms.mode=logger,cfg.cms.mode=management-only,cfg.cms.mode=init'}, 'config'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'configuration logs quota percentage'}, 'system'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'system logs quota percentage'}, 'globalprotect'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'globalprotect logs quota percentage'}, 'desum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'decryption summary quota percentage', 'prune-on-sdb'=>'cfg.cms.mode=panorama,cfg.cms.mode=logger,cfg.cms.mode=management-only,cfg.cms.mode=init'}, 'decryption'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'decryption logs quota percentage', 'prune-on-sdb'=>'cfg.cms.mode=panorama,cfg.cms.mode=logger,cfg.cms.mode=management-only,cfg.cms.mode=init'}, 'appstat'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'application statistics quota percentage'}, 'trsum'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'traffic summary quota percentage', 'prune-on-sdb'=>'cfg.cms.mode=panorama,cfg.cms.mode=logger,cfg.cms.mode=management-only,cfg.cms.mode=init'}, 'thsum'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'threat summary quota percentage', 'prune-on-sdb'=>'cfg.cms.mode=panorama,cfg.cms.mode=logger,cfg.cms.mode=management-only,cfg.cms.mode=init'}, 'urlsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'url summary quota percentage', 'prune-on-sdb'=>'cfg.cms.mode=panorama,cfg.cms.mode=logger,cfg.cms.mode=management-only,cfg.cms.mode=init'}, 'hipmatch'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Hip match quota percentage', 'prune-on-sdb'=>'cfg.cms.mode=panorama,cfg.cms.mode=logger,cfg.cms.mode=management-only,cfg.cms.mode=init'}, 'hourlytrsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Hourly traffic summary quota percentage', 'prune-on-sdb'=>'cfg.cms.mode=panorama,cfg.cms.mode=logger,cfg.cms.mode=management-only,cfg.cms.mode=init'}, 'dailytrsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Daily traffic summary quota percentage', 'prune-on-sdb'=>'cfg.cms.mode=panorama,cfg.cms.mode=logger,cfg.cms.mode=management-only,cfg.cms.mode=init'}, 'weeklytrsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Weekly traffic summary quota percentage', 'prune-on-sdb'=>'cfg.cms.mode=panorama,cfg.cms.mode=logger,cfg.cms.mode=management-only,cfg.cms.mode=init'}, 'hourlythsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Hourly threat summary quota percentage', 'prune-on-sdb'=>'cfg.cms.mode=panorama,cfg.cms.mode=logger,cfg.cms.mode=management-only,cfg.cms.mode=init'}, 'dailythsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Daily threat summary quota percentage', 'prune-on-sdb'=>'cfg.cms.mode=panorama,cfg.cms.mode=logger,cfg.cms.mode=management-only,cfg.cms.mode=init'}, 'weeklythsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Weekly threat summary quota percentage', 'prune-on-sdb'=>'cfg.cms.mode=panorama,cfg.cms.mode=logger,cfg.cms.mode=management-only,cfg.cms.mode=init'}, 'hourlyurlsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Hourly url summary quota percentage', 'prune-on-sdb'=>'cfg.cms.mode=panorama,cfg.cms.mode=logger,cfg.cms.mode=management-only,cfg.cms.mode=init'}, 'dailyurlsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Daily url summary quota percentage', 'prune-on-sdb'=>'cfg.cms.mode=panorama,cfg.cms.mode=logger,cfg.cms.mode=management-only,cfg.cms.mode=init'}, 'weeklyurlsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Weekly url summary quota percentage', 'prune-on-sdb'=>'cfg.cms.mode=panorama,cfg.cms.mode=logger,cfg.cms.mode=management-only,cfg.cms.mode=init'}, 'threat-pcaps'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'threat packet capture quota percentage', 'prune-on-sdb'=>'cfg.cms.mode=panorama,cfg.cms.mode=logger,cfg.cms.mode=management-only,cfg.cms.mode=init'}, 'gtp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Tunnel and GTP logs quota percentage', 'prune-on-sdb'=>'cfg.cms.mode=panorama,cfg.cms.mode=logger,cfg.cms.mode=management-only,cfg.cms.mode=init'}, 'gtpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Tunnel and GTP summary quota percentage', 'prune-on-sdb'=>'cfg.cms.mode=panorama,cfg.cms.mode=logger,cfg.cms.mode=management-only,cfg.cms.mode=init'}, 'hourlygtpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Hourly Tunnel and GTP summary quota percentage', 'prune-on-sdb'=>'cfg.cms.mode=panorama,cfg.cms.mode=logger,cfg.cms.mode=management-only,cfg.cms.mode=init'}, 'dailygtpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Daily Tunnel and GTP summary quota percentage', 'prune-on-sdb'=>'cfg.cms.mode=panorama,cfg.cms.mode=logger,cfg.cms.mode=management-only,cfg.cms.mode=init'}, 'weeklygtpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Weekly Tunnel and GTP summary quota percentage', 'prune-on-sdb'=>'cfg.cms.mode=panorama,cfg.cms.mode=logger,cfg.cms.mode=management-only,cfg.cms.mode=init'}, 'hourlydesum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Hourly decryption summary quota percentage', 'prune-on-sdb'=>'cfg.cms.mode=panorama,cfg.cms.mode=logger,cfg.cms.mode=management-only,cfg.cms.mode=init'}, 'dailydesum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Daily decryption summary quota percentage', 'prune-on-sdb'=>'cfg.cms.mode=panorama,cfg.cms.mode=logger,cfg.cms.mode=management-only,cfg.cms.mode=init'}, 'weeklydesum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Weekly decryption summary quota percentage', 'prune-on-sdb'=>'cfg.cms.mode=panorama,cfg.cms.mode=logger,cfg.cms.mode=management-only,cfg.cms.mode=init'}, 'sctp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'SCTP logs quota percentage', 'prune-on-sdb'=>'cfg.cms.mode=panorama,cfg.cms.mode=logger,cfg.cms.mode=management-only,cfg.cms.mode=init'}, 'sctpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'SCTP summary quota percentage', 'prune-on-sdb'=>'cfg.cms.mode=panorama,cfg.cms.mode=logger,cfg.cms.mode=management-only,cfg.cms.mode=init'}, 'hourlysctpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Hourly SCTP summary quota percentage', 'prune-on-sdb'=>'cfg.cms.mode=panorama,cfg.cms.mode=logger,cfg.cms.mode=management-only,cfg.cms.mode=init'}, 'dailysctpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Daily SCTP summary quota percentage', 'prune-on-sdb'=>'cfg.cms.mode=panorama,cfg.cms.mode=logger,cfg.cms.mode=management-only,cfg.cms.mode=init'}, 'weeklysctpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Weekly SCTP summary quota percentage', 'prune-on-sdb'=>'cfg.cms.mode=panorama,cfg.cms.mode=logger,cfg.cms.mode=management-only,cfg.cms.mode=init'}, 'userid'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'User ID logs quota percentage', 'prune-on-sdb'=>'cfg.cms.mode=panorama,cfg.cms.mode=logger,cfg.cms.mode=management-only,cfg.cms.mode=init'}, 'auth'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Authentication logs quota percentage', 'prune-on-sdb'=>'cfg.cms.mode=panorama,cfg.cms.mode=logger,cfg.cms.mode=management-only,cfg.cms.mode=init'}, 'iptag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'IP Tag logs quota percentage'}, 'hip-reports'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'host information profile quota percentage'}} # traffic logs quota percentage def traffic prop_get('traffic') end # traffic logs quota percentage def traffic=(val) prop_set('traffic', val) end # threat logs quota percentage def threat prop_get('threat') end # threat logs quota percentage def threat=(val) prop_set('threat', val) end # configuration logs quota percentage def config prop_get('config') end # configuration logs quota percentage def config=(val) prop_set('config', val) end # system logs quota percentage def system prop_get('system') end # system logs quota percentage def system=(val) prop_set('system', val) end # globalprotect logs quota percentage def globalprotect prop_get('globalprotect') end # globalprotect logs quota percentage def globalprotect=(val) prop_set('globalprotect', val) end # decryption summary quota percentage def desum prop_get('desum') end # decryption summary quota percentage def desum=(val) prop_set('desum', val) end # decryption logs quota percentage def decryption prop_get('decryption') end # decryption logs quota percentage def decryption=(val) prop_set('decryption', val) end # application statistics quota percentage def appstat prop_get('appstat') end # application statistics quota percentage def appstat=(val) prop_set('appstat', val) end # traffic summary quota percentage def trsum prop_get('trsum') end # traffic summary quota percentage def trsum=(val) prop_set('trsum', val) end # threat summary quota percentage def thsum prop_get('thsum') end # threat summary quota percentage def thsum=(val) prop_set('thsum', val) end # url summary quota percentage def urlsum prop_get('urlsum') end # url summary quota percentage def urlsum=(val) prop_set('urlsum', val) end # Hip match quota percentage def hipmatch prop_get('hipmatch') end # Hip match quota percentage def hipmatch=(val) prop_set('hipmatch', val) end # Hourly traffic summary quota percentage def hourlytrsum prop_get('hourlytrsum') end # Hourly traffic summary quota percentage def hourlytrsum=(val) prop_set('hourlytrsum', val) end # Daily traffic summary quota percentage def dailytrsum prop_get('dailytrsum') end # Daily traffic summary quota percentage def dailytrsum=(val) prop_set('dailytrsum', val) end # Weekly traffic summary quota percentage def weeklytrsum prop_get('weeklytrsum') end # Weekly traffic summary quota percentage def weeklytrsum=(val) prop_set('weeklytrsum', val) end # Hourly threat summary quota percentage def hourlythsum prop_get('hourlythsum') end # Hourly threat summary quota percentage def hourlythsum=(val) prop_set('hourlythsum', val) end # Daily threat summary quota percentage def dailythsum prop_get('dailythsum') end # Daily threat summary quota percentage def dailythsum=(val) prop_set('dailythsum', val) end # Weekly threat summary quota percentage def weeklythsum prop_get('weeklythsum') end # Weekly threat summary quota percentage def weeklythsum=(val) prop_set('weeklythsum', val) end # Hourly url summary quota percentage def hourlyurlsum prop_get('hourlyurlsum') end # Hourly url summary quota percentage def hourlyurlsum=(val) prop_set('hourlyurlsum', val) end # Daily url summary quota percentage def dailyurlsum prop_get('dailyurlsum') end # Daily url summary quota percentage def dailyurlsum=(val) prop_set('dailyurlsum', val) end # Weekly url summary quota percentage def weeklyurlsum prop_get('weeklyurlsum') end # Weekly url summary quota percentage def weeklyurlsum=(val) prop_set('weeklyurlsum', val) end # threat packet capture quota percentage def threat_pcaps prop_get('threat-pcaps') end # threat packet capture quota percentage def threat_pcaps=(val) prop_set('threat-pcaps', val) end # Tunnel and GTP logs quota percentage def gtp prop_get('gtp') end # Tunnel and GTP logs quota percentage def gtp=(val) prop_set('gtp', val) end # Tunnel and GTP summary quota percentage def gtpsum prop_get('gtpsum') end # Tunnel and GTP summary quota percentage def gtpsum=(val) prop_set('gtpsum', val) end # Hourly Tunnel and GTP summary quota percentage def hourlygtpsum prop_get('hourlygtpsum') end # Hourly Tunnel and GTP summary quota percentage def hourlygtpsum=(val) prop_set('hourlygtpsum', val) end # Daily Tunnel and GTP summary quota percentage def dailygtpsum prop_get('dailygtpsum') end # Daily Tunnel and GTP summary quota percentage def dailygtpsum=(val) prop_set('dailygtpsum', val) end # Weekly Tunnel and GTP summary quota percentage def weeklygtpsum prop_get('weeklygtpsum') end # Weekly Tunnel and GTP summary quota percentage def weeklygtpsum=(val) prop_set('weeklygtpsum', val) end # Hourly decryption summary quota percentage def hourlydesum prop_get('hourlydesum') end # Hourly decryption summary quota percentage def hourlydesum=(val) prop_set('hourlydesum', val) end # Daily decryption summary quota percentage def dailydesum prop_get('dailydesum') end # Daily decryption summary quota percentage def dailydesum=(val) prop_set('dailydesum', val) end # Weekly decryption summary quota percentage def weeklydesum prop_get('weeklydesum') end # Weekly decryption summary quota percentage def weeklydesum=(val) prop_set('weeklydesum', val) end # SCTP logs quota percentage def sctp prop_get('sctp') end # SCTP logs quota percentage def sctp=(val) prop_set('sctp', val) end # SCTP summary quota percentage def sctpsum prop_get('sctpsum') end # SCTP summary quota percentage def sctpsum=(val) prop_set('sctpsum', val) end # Hourly SCTP summary quota percentage def hourlysctpsum prop_get('hourlysctpsum') end # Hourly SCTP summary quota percentage def hourlysctpsum=(val) prop_set('hourlysctpsum', val) end # Daily SCTP summary quota percentage def dailysctpsum prop_get('dailysctpsum') end # Daily SCTP summary quota percentage def dailysctpsum=(val) prop_set('dailysctpsum', val) end # Weekly SCTP summary quota percentage def weeklysctpsum prop_get('weeklysctpsum') end # Weekly SCTP summary quota percentage def weeklysctpsum=(val) prop_set('weeklysctpsum', val) end # User ID logs quota percentage def userid prop_get('userid') end # User ID logs quota percentage def userid=(val) prop_set('userid', val) end # Authentication logs quota percentage def auth prop_get('auth') end # Authentication logs quota percentage def auth=(val) prop_set('auth', val) end # IP Tag logs quota percentage def iptag prop_get('iptag') end # IP Tag logs quota percentage def iptag=(val) prop_set('iptag', val) end # host information profile quota percentage def hip_reports prop_get('hip-reports') end # host information profile quota percentage def hip_reports=(val) prop_set('hip-reports', val) end end def disk_quota @subclasses['disk-quota'] ||= DiskQuota.new(parent_instance: self, client: @client, create_children: @create_children) end class LogExpirationPeriod < ConfigClass def has_multiple_values?; false; end def _section :'log-expiration-period' end @props = {'traffic'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for traffic logs', 'prune-on-sdb'=>'cfg.cms.mode=panorama,cfg.cms.mode=logger,cfg.cms.mode=init'}, 'threat'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for threat logs', 'prune-on-sdb'=>'cfg.cms.mode=panorama,cfg.cms.mode=logger,cfg.cms.mode=init'}, 'decryption'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for decryption logs', 'prune-on-sdb'=>'cfg.cms.mode=panorama,cfg.cms.mode=logger,cfg.cms.mode=init'}, 'config'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for config logs'}, 'system'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for system logs'}, 'appstat'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for appstat logs'}, 'trsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for trsum logs', 'prune-on-sdb'=>'cfg.cms.mode=panorama,cfg.cms.mode=logger,cfg.cms.mode=init'}, 'thsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for trsum logs', 'prune-on-sdb'=>'cfg.cms.mode=panorama,cfg.cms.mode=logger,cfg.cms.mode=init'}, 'urlsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for urlsum logs', 'prune-on-sdb'=>'cfg.cms.mode=panorama,cfg.cms.mode=logger,cfg.cms.mode=init'}, 'desum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for desum logs', 'prune-on-sdb'=>'cfg.cms.mode=panorama,cfg.cms.mode=logger,cfg.cms.mode=init'}, 'hipmatch'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for hipmatch logs', 'prune-on-sdb'=>'cfg.cms.mode=panorama,cfg.cms.mode=logger,cfg.cms.mode=init'}, 'hourlytrsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for hourlytrsum logs', 'prune-on-sdb'=>'cfg.cms.mode=panorama,cfg.cms.mode=logger,cfg.cms.mode=init'}, 'dailytrsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for dailytrsum logs', 'prune-on-sdb'=>'cfg.cms.mode=panorama,cfg.cms.mode=logger,cfg.cms.mode=init'}, 'weeklytrsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for weeklytrsum logs', 'prune-on-sdb'=>'cfg.cms.mode=panorama,cfg.cms.mode=logger,cfg.cms.mode=init'}, 'hourlythsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for hourlythsum logs', 'prune-on-sdb'=>'cfg.cms.mode=panorama,cfg.cms.mode=logger,cfg.cms.mode=init'}, 'dailythsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for dailythsum logs', 'prune-on-sdb'=>'cfg.cms.mode=panorama,cfg.cms.mode=logger,cfg.cms.mode=init'}, 'weeklythsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for weeklythsum logs', 'prune-on-sdb'=>'cfg.cms.mode=panorama,cfg.cms.mode=logger,cfg.cms.mode=init'}, 'hourlyurlsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for hourlyurlsum logs', 'prune-on-sdb'=>'cfg.cms.mode=panorama,cfg.cms.mode=logger,cfg.cms.mode=init'}, 'dailyurlsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for dailyurlsum logs', 'prune-on-sdb'=>'cfg.cms.mode=panorama,cfg.cms.mode=logger,cfg.cms.mode=init'}, 'weeklyurlsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for weeklyurlsum logs', 'prune-on-sdb'=>'cfg.cms.mode=panorama,cfg.cms.mode=logger,cfg.cms.mode=init'}, 'threat-pcaps'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for threat-pcaps logs', 'prune-on-sdb'=>'cfg.cms.mode=panorama,cfg.cms.mode=logger,cfg.cms.mode=init'}, 'gtp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for tunnel and gtp logs', 'prune-on-sdb'=>'cfg.cms.mode=panorama,cfg.cms.mode=logger,cfg.cms.mode=init'}, 'gtpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for tunnel and gtp summary logs', 'prune-on-sdb'=>'cfg.cms.mode=panorama,cfg.cms.mode=logger,cfg.cms.mode=init'}, 'hourlygtpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for hourly tunnel and gtp summmary logs', 'prune-on-sdb'=>'cfg.cms.mode=panorama,cfg.cms.mode=logger,cfg.cms.mode=init'}, 'dailygtpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for daily tunnel and gtp summary logs', 'prune-on-sdb'=>'cfg.cms.mode=panorama,cfg.cms.mode=logger,cfg.cms.mode=init'}, 'weeklygtpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for weekly tunnel and gtp summary logs', 'prune-on-sdb'=>'cfg.cms.mode=panorama,cfg.cms.mode=logger,cfg.cms.mode=init'}, 'hourlydesum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for hourlydesum logs', 'prune-on-sdb'=>'cfg.cms.mode=panorama,cfg.cms.mode=logger,cfg.cms.mode=init'}, 'dailydesum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for dailydesum logs', 'prune-on-sdb'=>'cfg.cms.mode=panorama,cfg.cms.mode=logger,cfg.cms.mode=init'}, 'weeklydesum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for weeklydesum logs', 'prune-on-sdb'=>'cfg.cms.mode=panorama,cfg.cms.mode=logger,cfg.cms.mode=init'}, 'sctp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for sctp logs', 'prune-on-sdb'=>'cfg.cms.mode=panorama,cfg.cms.mode=logger,cfg.cms.mode=init'}, 'sctpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for sctp summary logs', 'prune-on-sdb'=>'cfg.cms.mode=panorama,cfg.cms.mode=logger,cfg.cms.mode=init'}, 'hourlysctpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for hourly sctp summmary logs', 'prune-on-sdb'=>'cfg.cms.mode=panorama,cfg.cms.mode=logger,cfg.cms.mode=init'}, 'dailysctpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for daily sctp summary logs', 'prune-on-sdb'=>'cfg.cms.mode=panorama,cfg.cms.mode=logger,cfg.cms.mode=init'}, 'weeklysctpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for weekly sctp summary logs', 'prune-on-sdb'=>'cfg.cms.mode=panorama,cfg.cms.mode=logger,cfg.cms.mode=init'}, 'userid'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for User-ID logs', 'prune-on-sdb'=>'cfg.cms.mode=panorama,cfg.cms.mode=logger,cfg.cms.mode=init'}, 'iptag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for iptag logs'}, 'auth'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for authentication logs', 'prune-on-sdb'=>'cfg.cms.mode=panorama,cfg.cms.mode=logger,cfg.cms.mode=init'}, 'globalprotect'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for globalprotect logs', 'prune-on-sdb'=>'cfg.cms.mode=panorama,cfg.cms.mode=logger,cfg.cms.mode=init'}, 'hip-reports'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for hip-reports logs'}} # expiration period for traffic logs def traffic prop_get('traffic') end # expiration period for traffic logs def traffic=(val) prop_set('traffic', val) end # expiration period for threat logs def threat prop_get('threat') end # expiration period for threat logs def threat=(val) prop_set('threat', val) end # expiration period for decryption logs def decryption prop_get('decryption') end # expiration period for decryption logs def decryption=(val) prop_set('decryption', val) end # expiration period for config logs def config prop_get('config') end # expiration period for config logs def config=(val) prop_set('config', val) end # expiration period for system logs def system prop_get('system') end # expiration period for system logs def system=(val) prop_set('system', val) end # expiration period for appstat logs def appstat prop_get('appstat') end # expiration period for appstat logs def appstat=(val) prop_set('appstat', val) end # expiration period for trsum logs def trsum prop_get('trsum') end # expiration period for trsum logs def trsum=(val) prop_set('trsum', val) end # expiration period for trsum logs def thsum prop_get('thsum') end # expiration period for trsum logs def thsum=(val) prop_set('thsum', val) end # expiration period for urlsum logs def urlsum prop_get('urlsum') end # expiration period for urlsum logs def urlsum=(val) prop_set('urlsum', val) end # expiration period for desum logs def desum prop_get('desum') end # expiration period for desum logs def desum=(val) prop_set('desum', val) end # expiration period for hipmatch logs def hipmatch prop_get('hipmatch') end # expiration period for hipmatch logs def hipmatch=(val) prop_set('hipmatch', val) end # expiration period for hourlytrsum logs def hourlytrsum prop_get('hourlytrsum') end # expiration period for hourlytrsum logs def hourlytrsum=(val) prop_set('hourlytrsum', val) end # expiration period for dailytrsum logs def dailytrsum prop_get('dailytrsum') end # expiration period for dailytrsum logs def dailytrsum=(val) prop_set('dailytrsum', val) end # expiration period for weeklytrsum logs def weeklytrsum prop_get('weeklytrsum') end # expiration period for weeklytrsum logs def weeklytrsum=(val) prop_set('weeklytrsum', val) end # expiration period for hourlythsum logs def hourlythsum prop_get('hourlythsum') end # expiration period for hourlythsum logs def hourlythsum=(val) prop_set('hourlythsum', val) end # expiration period for dailythsum logs def dailythsum prop_get('dailythsum') end # expiration period for dailythsum logs def dailythsum=(val) prop_set('dailythsum', val) end # expiration period for weeklythsum logs def weeklythsum prop_get('weeklythsum') end # expiration period for weeklythsum logs def weeklythsum=(val) prop_set('weeklythsum', val) end # expiration period for hourlyurlsum logs def hourlyurlsum prop_get('hourlyurlsum') end # expiration period for hourlyurlsum logs def hourlyurlsum=(val) prop_set('hourlyurlsum', val) end # expiration period for dailyurlsum logs def dailyurlsum prop_get('dailyurlsum') end # expiration period for dailyurlsum logs def dailyurlsum=(val) prop_set('dailyurlsum', val) end # expiration period for weeklyurlsum logs def weeklyurlsum prop_get('weeklyurlsum') end # expiration period for weeklyurlsum logs def weeklyurlsum=(val) prop_set('weeklyurlsum', val) end # expiration period for threat-pcaps logs def threat_pcaps prop_get('threat-pcaps') end # expiration period for threat-pcaps logs def threat_pcaps=(val) prop_set('threat-pcaps', val) end # expiration period for tunnel and gtp logs def gtp prop_get('gtp') end # expiration period for tunnel and gtp logs def gtp=(val) prop_set('gtp', val) end # expiration period for tunnel and gtp summary logs def gtpsum prop_get('gtpsum') end # expiration period for tunnel and gtp summary logs def gtpsum=(val) prop_set('gtpsum', val) end # expiration period for hourly tunnel and gtp summmary logs def hourlygtpsum prop_get('hourlygtpsum') end # expiration period for hourly tunnel and gtp summmary logs def hourlygtpsum=(val) prop_set('hourlygtpsum', val) end # expiration period for daily tunnel and gtp summary logs def dailygtpsum prop_get('dailygtpsum') end # expiration period for daily tunnel and gtp summary logs def dailygtpsum=(val) prop_set('dailygtpsum', val) end # expiration period for weekly tunnel and gtp summary logs def weeklygtpsum prop_get('weeklygtpsum') end # expiration period for weekly tunnel and gtp summary logs def weeklygtpsum=(val) prop_set('weeklygtpsum', val) end # expiration period for hourlydesum logs def hourlydesum prop_get('hourlydesum') end # expiration period for hourlydesum logs def hourlydesum=(val) prop_set('hourlydesum', val) end # expiration period for dailydesum logs def dailydesum prop_get('dailydesum') end # expiration period for dailydesum logs def dailydesum=(val) prop_set('dailydesum', val) end # expiration period for weeklydesum logs def weeklydesum prop_get('weeklydesum') end # expiration period for weeklydesum logs def weeklydesum=(val) prop_set('weeklydesum', val) end # expiration period for sctp logs def sctp prop_get('sctp') end # expiration period for sctp logs def sctp=(val) prop_set('sctp', val) end # expiration period for sctp summary logs def sctpsum prop_get('sctpsum') end # expiration period for sctp summary logs def sctpsum=(val) prop_set('sctpsum', val) end # expiration period for hourly sctp summmary logs def hourlysctpsum prop_get('hourlysctpsum') end # expiration period for hourly sctp summmary logs def hourlysctpsum=(val) prop_set('hourlysctpsum', val) end # expiration period for daily sctp summary logs def dailysctpsum prop_get('dailysctpsum') end # expiration period for daily sctp summary logs def dailysctpsum=(val) prop_set('dailysctpsum', val) end # expiration period for weekly sctp summary logs def weeklysctpsum prop_get('weeklysctpsum') end # expiration period for weekly sctp summary logs def weeklysctpsum=(val) prop_set('weeklysctpsum', val) end # expiration period for User-ID logs def userid prop_get('userid') end # expiration period for User-ID logs def userid=(val) prop_set('userid', val) end # expiration period for iptag logs def iptag prop_get('iptag') end # expiration period for iptag logs def iptag=(val) prop_set('iptag', val) end # expiration period for authentication logs def auth prop_get('auth') end # expiration period for authentication logs def auth=(val) prop_set('auth', val) end # expiration period for globalprotect logs def globalprotect prop_get('globalprotect') end # expiration period for globalprotect logs def globalprotect=(val) prop_set('globalprotect', val) end # expiration period for hip-reports logs def hip_reports prop_get('hip-reports') end # expiration period for hip-reports logs def hip_reports=(val) prop_set('hip-reports', val) end end def log_expiration_period @subclasses['log-expiration-period'] ||= LogExpirationPeriod.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def quota_settings @subclasses['quota-settings'] ||= QuotaSettings.new(parent_instance: self, client: @client, create_children: @create_children) end class DisablePredefinedReports < XML::ConfigClass def has_multiple_values?; true; end def _section :'disable-predefined-reports' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'help-string'=>'report element'}} # report element def member prop_get('member') end # report element def member=(val) prop_set('member', val) end end def disable_predefined_reports maybe_register_subclass('disable-predefined-reports', DisablePredefinedReports.new(parent_instance: self, client: @client, create_children: @create_children)) end class DisablePredefinedCorrelationObjs < XML::ConfigClass def has_multiple_values?; true; end def _section :'disable-predefined-correlation-objs' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'32', 'help-string'=>'Correlation objects'}} # Correlation objects def member prop_get('member') end # Correlation objects def member=(val) prop_set('member', val) end end def disable_predefined_correlation_objs maybe_register_subclass('disable-predefined-correlation-objs', DisablePredefinedCorrelationObjs.new(parent_instance: self, client: @client, create_children: @create_children)) end class CommonCriteria < ConfigClass def has_multiple_values?; false; end def _section :'common-criteria' end @props = {'enable-tls-session-logging'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable logging TLS sessions'}, 'enable-ocsp-crl-logs'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable CA (OCSP/CRL) Session Establishment Logging'}} # Enable logging TLS sessions def enable_tls_session_logging prop_get('enable-tls-session-logging') end # Enable logging TLS sessions def enable_tls_session_logging=(val) prop_set('enable-tls-session-logging', val) end # Enable CA (OCSP/CRL) Session Establishment Logging def enable_ocsp_crl_logs prop_get('enable-ocsp-crl-logs') end # Enable CA (OCSP/CRL) Session Establishment Logging def enable_ocsp_crl_logs=(val) prop_set('enable-ocsp-crl-logs', val) end end def common_criteria @subclasses['common-criteria'] ||= CommonCriteria.new(parent_instance: self, client: @client, create_children: @create_children) end class StoragePartition < XML::ConfigClass def has_multiple_values?; true; end def _section :'storage-partition' end class Internal < ConfigClass def has_multiple_values?; false; end def _section :internal end @props = {} end def internal @subclasses['internal'] ||= Internal.new(parent_instance: self, client: @client, create_children: @create_children) end class Nfsv3 < ConfigClass def has_multiple_values?; false; end def _section :nfsv3 end @props = {'server'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'server IP or FQDN', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'regex'=>'^([a-zA-Z0-9\.\_-])+([a-zA-Z]{2,63})$', 'maxlen'=>'255'}}}, 'log-directory'=>{'node-type'=>'element', 'maxlen'=>'255', 'type'=>'string', 'help-string'=>'directory to mount'}, 'protocol'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'udp', 'enum'=>[{'value'=>'udp'}, {'value'=>'tcp'}]}, 'port'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535', 'default'=>'0'}, 'read-size'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'256', 'max'=>'32768', 'default'=>'32768'}, 'write-size'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'256', 'max'=>'32768', 'default'=>'32768'}, 'copy-on-setup'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} # server IP or FQDN def server prop_get('server') end # server IP or FQDN def server=(val) prop_set('server', val) end # directory to mount def log_directory prop_get('log-directory') end # directory to mount def log_directory=(val) prop_set('log-directory', val) end def protocol prop_get('protocol') end def protocol=(val) prop_set('protocol', val) end def port prop_get('port') end def port=(val) prop_set('port', val) end def read_size prop_get('read-size') end def read_size=(val) prop_set('read-size', val) end def write_size prop_get('write-size') end def write_size=(val) prop_set('write-size', val) end def copy_on_setup prop_get('copy-on-setup') end def copy_on_setup=(val) prop_set('copy-on-setup', val) end end def nfsv3 @subclasses['nfsv3'] ||= Nfsv3.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def storage_partition maybe_register_subclass('storage-partition', StoragePartition.new(parent_instance: self, client: @client, create_children: @create_children)) end class SecureConnServer < ConfigClass def has_multiple_values?; false; end def _section :'secure-conn-server' end class AuthorizationList < XML::ConfigClass def has_multiple_values?; true; end def _section :'authorization-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Identifier < XML::ConfigClass def has_multiple_values?; true; end def _section :identifier end class Subject < ConfigClass def has_multiple_values?; false; end def _section :subject end @props = {'common-name'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'.*', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'Subject Common Name'}} # Subject Common Name def common_name prop_get('common-name') end # Subject Common Name def common_name=(val) prop_set('common-name', val) end end def subject @subclasses['subject'] ||= Subject.new(parent_instance: self, client: @client, create_children: @create_children) end class SubjectAltName < ConfigClass def has_multiple_values?; false; end def _section :'subject-alt-name' end @props = {'ip'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'help-string'=>'Subject alternate name IP'}, 'hostname'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'Subject alternate name DNS'}, 'email'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'255', 'help-string'=>'Email address of the contact person'}} # Subject alternate name IP def ip prop_get('ip') end # Subject alternate name IP def ip=(val) prop_set('ip', val) end # Subject alternate name DNS def hostname prop_get('hostname') end # Subject alternate name DNS def hostname=(val) prop_set('hostname', val) end # Email address of the contact person def email prop_get('email') end # Email address of the contact person def email=(val) prop_set('email', val) end end def subject_alt_name @subclasses['subject-alt-name'] ||= SubjectAltName.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def identifier maybe_register_subclass('identifier', Identifier.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def authorization_list maybe_register_subclass('authorization-list', AuthorizationList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'ssl-tls-service-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'optional'=>'yes', 'help-string'=>'SSL TLS service profile'}, 'certificate-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'255', 'help-string'=>'profile for verifying client certificates'}, 'enable-secure-user-id-communication'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Use the secure-server settings for User Identification connections. Default setting : \'no\'', 'optional'=>'yes'}, 'disable-pre-defined-cert'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Disable connections using predefined certificates. Default setting: \'no\''}, 'check-client-identity'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help'=>'Check if the Serial # in Subject common name of the client certificate is part of the user-configured managed device list. Default setting : no.'}, 'check-authorization-list'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'help'=>'Check the authorization table for permitting incoming client connections. Default setting : \'no\'', 'optional'=>'yes'}, 'disconnect-wait-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'44640', 'help-string'=>'Disconnect previously established connections on configuration change after wait time (in minutes, Min: 0(ASAP), Default: 1 min, Max: 44640 i.e 31 days).'}} # SSL TLS service profile def ssl_tls_service_profile prop_get('ssl-tls-service-profile') end # SSL TLS service profile def ssl_tls_service_profile=(val) prop_set('ssl-tls-service-profile', val) end # profile for verifying client certificates def certificate_profile prop_get('certificate-profile') end # profile for verifying client certificates def certificate_profile=(val) prop_set('certificate-profile', val) end # Use the secure-server settings for User Identification connections. Default setting : 'no' def enable_secure_user_id_communication prop_get('enable-secure-user-id-communication') end # Use the secure-server settings for User Identification connections. Default setting : 'no' def enable_secure_user_id_communication=(val) prop_set('enable-secure-user-id-communication', val) end # Disable connections using predefined certificates. Default setting: 'no' def disable_pre_defined_cert prop_get('disable-pre-defined-cert') end # Disable connections using predefined certificates. Default setting: 'no' def disable_pre_defined_cert=(val) prop_set('disable-pre-defined-cert', val) end def check_client_identity prop_get('check-client-identity') end def check_client_identity=(val) prop_set('check-client-identity', val) end def check_authorization_list prop_get('check-authorization-list') end def check_authorization_list=(val) prop_set('check-authorization-list', val) end # Disconnect previously established connections on configuration change after wait time (in minutes, Min: 0(ASAP), Default: 1 min, Max: 44640 i.e 31 days). def disconnect_wait_time prop_get('disconnect-wait-time') end # Disconnect previously established connections on configuration change after wait time (in minutes, Min: 0(ASAP), Default: 1 min, Max: 44640 i.e 31 days). def disconnect_wait_time=(val) prop_set('disconnect-wait-time', val) end end def secure_conn_server @subclasses['secure-conn-server'] ||= SecureConnServer.new(parent_instance: self, client: @client, create_children: @create_children) end class SecureConnClient < ConfigClass def has_multiple_values?; false; end def _section :'secure-conn-client' end class CertificateType < ConfigClass def has_multiple_values?; false; end def _section :'certificate-type' end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end class Local < ConfigClass def has_multiple_values?; false; end def _section :local end @props = {'certificate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'255', 'help-string'=>'Custom certificate used in management connections to Panorama and Log collectors'}, 'certificate-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'optional'=>'yes'}} # Custom certificate used in management connections to Panorama and Log collectors def certificate prop_get('certificate') end # Custom certificate used in management connections to Panorama and Log collectors def certificate=(val) prop_set('certificate', val) end def certificate_profile prop_get('certificate-profile') end def certificate_profile=(val) prop_set('certificate-profile', val) end end def local @subclasses['local'] ||= Local.new(parent_instance: self, client: @client, create_children: @create_children) end class Scep < ConfigClass def has_multiple_values?; false; end def _section :scep end @props = {'scep-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'optional'=>'yes', 'help-string'=>'SCEP profile name'}, 'certificate-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'optional'=>'yes'}} # SCEP profile name def scep_profile prop_get('scep-profile') end # SCEP profile name def scep_profile=(val) prop_set('scep-profile', val) end def certificate_profile prop_get('certificate-profile') end def certificate_profile=(val) prop_set('certificate-profile', val) end end def scep @subclasses['scep'] ||= Scep.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def certificate_type @subclasses['certificate-type'] ||= CertificateType.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable-secure-ha-communication'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Use the secure-client certificate settings for HA connections. Default setting : \'no\'', 'optional'=>'yes'}, 'enable-secure-wildfire-communication'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Use the secure-client certificate settings for Wildfire connections. Default setting : \'no\'', 'optional'=>'yes'}, 'enable-secure-inter-lc-communication'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Use the secure-client certificate settings for Inter LC connections. Default setting : \'no\'', 'optional'=>'yes'}, 'enable-secure-user-id-communication'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Use the secure-client certificate settings for User Identification connections. Default setting : \'no\'', 'optional'=>'yes'}, 'check-server-identity'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Check server certificate Subject common name(IP/FQDN) with the configured servers. Default setting: \'no\''}} # Use the secure-client certificate settings for HA connections. Default setting : 'no' def enable_secure_ha_communication prop_get('enable-secure-ha-communication') end # Use the secure-client certificate settings for HA connections. Default setting : 'no' def enable_secure_ha_communication=(val) prop_set('enable-secure-ha-communication', val) end # Use the secure-client certificate settings for Wildfire connections. Default setting : 'no' def enable_secure_wildfire_communication prop_get('enable-secure-wildfire-communication') end # Use the secure-client certificate settings for Wildfire connections. Default setting : 'no' def enable_secure_wildfire_communication=(val) prop_set('enable-secure-wildfire-communication', val) end # Use the secure-client certificate settings for Inter LC connections. Default setting : 'no' def enable_secure_inter_lc_communication prop_get('enable-secure-inter-lc-communication') end # Use the secure-client certificate settings for Inter LC connections. Default setting : 'no' def enable_secure_inter_lc_communication=(val) prop_set('enable-secure-inter-lc-communication', val) end # Use the secure-client certificate settings for User Identification connections. Default setting : 'no' def enable_secure_user_id_communication prop_get('enable-secure-user-id-communication') end # Use the secure-client certificate settings for User Identification connections. Default setting : 'no' def enable_secure_user_id_communication=(val) prop_set('enable-secure-user-id-communication', val) end # Check server certificate Subject common name(IP/FQDN) with the configured servers. Default setting: 'no' def check_server_identity prop_get('check-server-identity') end # Check server certificate Subject common name(IP/FQDN) with the configured servers. Default setting: 'no' def check_server_identity=(val) prop_set('check-server-identity', val) end end def secure_conn_client @subclasses['secure-conn-client'] ||= SecureConnClient.new(parent_instance: self, client: @client, create_children: @create_children) end class Api < ConfigClass def has_multiple_values?; false; end def _section :api end class Key < ConfigClass def has_multiple_values?; false; end def _section :key end @props = {'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'api key lifetime in minutes', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'525600'}, 'enum'=>[{'value'=>'0', 'help-string'=>'never'}]}}} # api key lifetime in minutes def lifetime prop_get('lifetime') end # api key lifetime in minutes def lifetime=(val) prop_set('lifetime', val) end end def key @subclasses['key'] ||= Key.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def api @subclasses['api'] ||= Api.new(parent_instance: self, client: @client, create_children: @create_children) end class AdminLockout < ConfigClass def has_multiple_values?; false; end def _section :'admin-lockout' end @props = {'failed-attempts'=>{'node-type'=>'element', 'default'=>'0', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'10', 'help-string'=>'Number of failed login attempts to trigger lock-out'}, 'lockout-time'=>{'node-type'=>'element', 'default'=>'0', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'60', 'help-string'=>'Number of minutes to lock-out'}} # Number of failed login attempts to trigger lock-out def failed_attempts prop_get('failed-attempts') end # Number of failed login attempts to trigger lock-out def failed_attempts=(val) prop_set('failed-attempts', val) end # Number of minutes to lock-out def lockout_time prop_get('lockout-time') end # Number of minutes to lock-out def lockout_time=(val) prop_set('lockout-time', val) end end def admin_lockout @subclasses['admin-lockout'] ||= AdminLockout.new(parent_instance: self, client: @client, create_children: @create_children) end class AdminSession < ConfigClass def has_multiple_values?; false; end def _section :'admin-session' end @props = {'max-session-count'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4', 'default'=>'0', 'prune-on'=>'fips-mode', 'help-string'=>'Set the maximum number of sessions administrators are allowed'}, 'max-session-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4', 'default'=>'0', 'prune-on'=>'fips-mode', 'help-string'=>'Set the maximum session time (0, 60-1499 minutes)', 'regex'=>'^((0)|([6-9][0-9])|([1-9][0-9][0-9])|(1[0-4][0-9][0-9]))$'}} # Set the maximum number of sessions administrators are allowed def max_session_count prop_get('max-session-count') end # Set the maximum number of sessions administrators are allowed def max_session_count=(val) prop_set('max-session-count', val) end # Set the maximum session time (0, 60-1499 minutes) def max_session_time prop_get('max-session-time') end # Set the maximum session time (0, 60-1499 minutes) def max_session_time=(val) prop_set('max-session-time', val) end end def admin_session @subclasses['admin-session'] ||= AdminSession.new(parent_instance: self, client: @client, create_children: @create_children) end class BrowseActivityReportSetting < ConfigClass def has_multiple_values?; false; end def _section :'browse-activity-report-setting' end @props = {'average-browse-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'300', 'default'=>'60', 'help-string'=>'Average time in seconds for a browse session'}, 'page-load-threshold'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'60', 'default'=>'20', 'help-string'=>'Average time in seconds to load a URL page'}} # Average time in seconds for a browse session def average_browse_time prop_get('average-browse-time') end # Average time in seconds for a browse session def average_browse_time=(val) prop_set('average-browse-time', val) end # Average time in seconds to load a URL page def page_load_threshold prop_get('page-load-threshold') end # Average time in seconds to load a URL page def page_load_threshold=(val) prop_set('page-load-threshold', val) end end def browse_activity_report_setting @subclasses['browse-activity-report-setting'] ||= BrowseActivityReportSetting.new(parent_instance: self, client: @client, create_children: @create_children) end class LogForwardingFromDevice < ConfigClass def has_multiple_values?; false; end def _section :'log-forwarding-from-device' end @props = {'buffered'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Turn log buffering on or off'}} # Turn log buffering on or off def buffered prop_get('buffered') end # Turn log buffering on or off def buffered=(val) prop_set('buffered', val) end end def log_forwarding_from_device @subclasses['log-forwarding-from-device'] ||= LogForwardingFromDevice.new(parent_instance: self, client: @client, create_children: @create_children) end class AuditTracking < ConfigClass def has_multiple_values?; false; end def _section :'audit-tracking' end @props = {'op-commands'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'ui-actions'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'send-syslog'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string'}} def op_commands prop_get('op-commands') end def op_commands=(val) prop_set('op-commands', val) end def ui_actions prop_get('ui-actions') end def ui_actions=(val) prop_set('ui-actions', val) end def send_syslog prop_get('send-syslog') end def send_syslog=(val) prop_set('send-syslog', val) end end def audit_tracking @subclasses['audit-tracking'] ||= AuditTracking.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'large-core'=>{'node-type'=>'element', 'optional'=>'yes', 'help-string'=>'enable core files to logdb', 'default'=>'no', 'type'=>'enum', 'enum'=>[{'value'=>'yes', 'help-string'=>'2GB is going to be taken from logdb after commit succeeds, Logs in logdb may be removed automatically'}, {'value'=>'no', 'help-string'=>'Space reserved for large-core will be returned to logdb after commit succeeds, also any exiting core files will be deleted on disabling large-core feature.'}]}, 'run-predefined-reports-on-panorama-data'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Run predefined reports on Panorama Data'}, 'idle-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'default administrative session idle timeout in minutes', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'1440', 'help-string'=>'minutes'}, 'enum'=>[{'value'=>'0', 'help-string'=>'never timeout'}]}}, 'appusage-lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'60', 'max'=>'365', 'help-string'=>'application usage data storage time in days'}, 'hostname-type-in-syslog'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'FQDN', 'help-string'=>'Choose type to send in hostname field in syslog header', 'enum'=>[{'value'=>'none', 'help-string'=>'Do not send hostname in syslog header'}, {'value'=>'FQDN', 'help-string'=>'Send FQDN field in header'}, {'value'=>'hostname', 'help-string'=>'Send hostname in header if available otherwise send \'-\' '}, {'value'=>'ipv4-address', 'help-string'=>'Send IPv4 address in header if available otherwise send \'-\''}, {'value'=>'ipv6-address', 'help-string'=>'Send IPv6 address in header if available otherwise send \'-\''}]}, 'report-run-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'([0][2-9]|[1][0-9]|[2][0-3]):00', 'minlen'=>'5', 'maxlen'=>'5', 'default'=>'02:00', 'help-string'=>'Time of day to run the scheduled reports hh:mm (e.g. 23:00)'}, 'report-expiration-period'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'Expiration-period for reports (in days)'}, 'auto-acquire-commit-lock'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Automatically add a commit lock when modifying configuration'}, 'rule-hit-count'=>{'node-type'=>'element', 'default'=>'yes', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Enable/Disable Policy rule hit-count feature'}, 'wildcard-topdown-match-mode'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set/Unset wildcard topdown match mode, by default it is longest-prefix match mode'}, 'rule-require-tag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Require Tag on policies'}, 'rule-require-description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Require description on policies'}, 'rule-fail-commit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Fail commit if policies have no tags/description'}, 'rule-require-audit-comment'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Require audit comment on policies'}, 'rule-audit-comment-regex'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'256', 'help-string'=>'Audit Comment Regular Expression'}, 'appusage-policy'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable/Disable Policy Application usage feature'}, 'canonicalize-block-allow-list'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Enable/Disable canonicalization before matching url to block/allow list'}, 'ancestor-objects-take-precedence'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Objects defined in ancestors will take higher precedence'}, 'enable-reporting-on-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable reporting and filtering on groups'}, 'share-unused-objects-with-devices'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'During device-group commit send address and service objects unused in rules to the devices'}, 'max-rows-in-csv-export'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'1048576', 'default'=>'65535', 'help-string'=>'maximum number of rows in exported csv files'}, 'max-rows-in-pdf-report'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'1048576', 'default'=>'5000', 'help-string'=>'maximum number of rows in user activity report'}, 'max-backup-versions'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'1048576', 'default'=>'100', 'help-string'=>'maximum number of versions of config to back up per device'}, 'max-audit-versions'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'1048576', 'default'=>'100', 'help-string'=>'maximum number of audited versions of config to preserve'}, 'panorama-tcp-receive-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'240', 'help-string'=>'Receive timeout for TCP connection to devices'}, 'panorama-tcp-send-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'240', 'help-string'=>'Send timeout for TCP connection to devices'}, 'panorama-ssl-send-retries'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'64', 'help-string'=>'Retry count for SSL sends to devices'}, 'only-active-primary-logs-to-local-disk'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'prune-on-sdb'=>'cfg.cms.mode=panorama', 'help-string'=>'Only active primary Panorama will receive logs from device and store in local disk'}, 'get-only-new-logs-on-convert-to-primary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'prune-on-sdb'=>'cfg.cms.mode=panorama', 'help-string'=>'When Panorama becomes the primary, get only new logs from device'}, 'threat-vault-access'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Turn threat-vault access on or off'}, 'support-utf8-for-log-output'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Support output log in UTF-8'}} # enable core files to logdb def large_core prop_get('large-core') end # enable core files to logdb def large_core=(val) prop_set('large-core', val) end # Run predefined reports on Panorama Data def run_predefined_reports_on_panorama_data prop_get('run-predefined-reports-on-panorama-data') end # Run predefined reports on Panorama Data def run_predefined_reports_on_panorama_data=(val) prop_set('run-predefined-reports-on-panorama-data', val) end # default administrative session idle timeout in minutes def idle_timeout prop_get('idle-timeout') end # default administrative session idle timeout in minutes def idle_timeout=(val) prop_set('idle-timeout', val) end # application usage data storage time in days def appusage_lifetime prop_get('appusage-lifetime') end # application usage data storage time in days def appusage_lifetime=(val) prop_set('appusage-lifetime', val) end # Choose type to send in hostname field in syslog header def hostname_type_in_syslog prop_get('hostname-type-in-syslog') end # Choose type to send in hostname field in syslog header def hostname_type_in_syslog=(val) prop_set('hostname-type-in-syslog', val) end # Time of day to run the scheduled reports hh:mm (e.g. 23:00) def report_run_time prop_get('report-run-time') end # Time of day to run the scheduled reports hh:mm (e.g. 23:00) def report_run_time=(val) prop_set('report-run-time', val) end # Expiration-period for reports (in days) def report_expiration_period prop_get('report-expiration-period') end # Expiration-period for reports (in days) def report_expiration_period=(val) prop_set('report-expiration-period', val) end # Automatically add a commit lock when modifying configuration def auto_acquire_commit_lock prop_get('auto-acquire-commit-lock') end # Automatically add a commit lock when modifying configuration def auto_acquire_commit_lock=(val) prop_set('auto-acquire-commit-lock', val) end # Enable/Disable Policy rule hit-count feature def rule_hit_count prop_get('rule-hit-count') end # Enable/Disable Policy rule hit-count feature def rule_hit_count=(val) prop_set('rule-hit-count', val) end # Set/Unset wildcard topdown match mode, by default it is longest-prefix match mode def wildcard_topdown_match_mode prop_get('wildcard-topdown-match-mode') end # Set/Unset wildcard topdown match mode, by default it is longest-prefix match mode def wildcard_topdown_match_mode=(val) prop_set('wildcard-topdown-match-mode', val) end # Require Tag on policies def rule_require_tag prop_get('rule-require-tag') end # Require Tag on policies def rule_require_tag=(val) prop_set('rule-require-tag', val) end # Require description on policies def rule_require_description prop_get('rule-require-description') end # Require description on policies def rule_require_description=(val) prop_set('rule-require-description', val) end # Fail commit if policies have no tags/description def rule_fail_commit prop_get('rule-fail-commit') end # Fail commit if policies have no tags/description def rule_fail_commit=(val) prop_set('rule-fail-commit', val) end # Require audit comment on policies def rule_require_audit_comment prop_get('rule-require-audit-comment') end # Require audit comment on policies def rule_require_audit_comment=(val) prop_set('rule-require-audit-comment', val) end # Audit Comment Regular Expression def rule_audit_comment_regex prop_get('rule-audit-comment-regex') end # Audit Comment Regular Expression def rule_audit_comment_regex=(val) prop_set('rule-audit-comment-regex', val) end # Enable/Disable Policy Application usage feature def appusage_policy prop_get('appusage-policy') end # Enable/Disable Policy Application usage feature def appusage_policy=(val) prop_set('appusage-policy', val) end # Enable/Disable canonicalization before matching url to block/allow list def canonicalize_block_allow_list prop_get('canonicalize-block-allow-list') end # Enable/Disable canonicalization before matching url to block/allow list def canonicalize_block_allow_list=(val) prop_set('canonicalize-block-allow-list', val) end # Objects defined in ancestors will take higher precedence def ancestor_objects_take_precedence prop_get('ancestor-objects-take-precedence') end # Objects defined in ancestors will take higher precedence def ancestor_objects_take_precedence=(val) prop_set('ancestor-objects-take-precedence', val) end # Enable reporting and filtering on groups def enable_reporting_on_groups prop_get('enable-reporting-on-groups') end # Enable reporting and filtering on groups def enable_reporting_on_groups=(val) prop_set('enable-reporting-on-groups', val) end # During device-group commit send address and service objects unused in rules to the devices def share_unused_objects_with_devices prop_get('share-unused-objects-with-devices') end # During device-group commit send address and service objects unused in rules to the devices def share_unused_objects_with_devices=(val) prop_set('share-unused-objects-with-devices', val) end # maximum number of rows in exported csv files def max_rows_in_csv_export prop_get('max-rows-in-csv-export') end # maximum number of rows in exported csv files def max_rows_in_csv_export=(val) prop_set('max-rows-in-csv-export', val) end # maximum number of rows in user activity report def max_rows_in_pdf_report prop_get('max-rows-in-pdf-report') end # maximum number of rows in user activity report def max_rows_in_pdf_report=(val) prop_set('max-rows-in-pdf-report', val) end # maximum number of versions of config to back up per device def max_backup_versions prop_get('max-backup-versions') end # maximum number of versions of config to back up per device def max_backup_versions=(val) prop_set('max-backup-versions', val) end # maximum number of audited versions of config to preserve def max_audit_versions prop_get('max-audit-versions') end # maximum number of audited versions of config to preserve def max_audit_versions=(val) prop_set('max-audit-versions', val) end # Receive timeout for TCP connection to devices def panorama_tcp_receive_timeout prop_get('panorama-tcp-receive-timeout') end # Receive timeout for TCP connection to devices def panorama_tcp_receive_timeout=(val) prop_set('panorama-tcp-receive-timeout', val) end # Send timeout for TCP connection to devices def panorama_tcp_send_timeout prop_get('panorama-tcp-send-timeout') end # Send timeout for TCP connection to devices def panorama_tcp_send_timeout=(val) prop_set('panorama-tcp-send-timeout', val) end # Retry count for SSL sends to devices def panorama_ssl_send_retries prop_get('panorama-ssl-send-retries') end # Retry count for SSL sends to devices def panorama_ssl_send_retries=(val) prop_set('panorama-ssl-send-retries', val) end # Only active primary Panorama will receive logs from device and store in local disk def only_active_primary_logs_to_local_disk prop_get('only-active-primary-logs-to-local-disk') end # Only active primary Panorama will receive logs from device and store in local disk def only_active_primary_logs_to_local_disk=(val) prop_set('only-active-primary-logs-to-local-disk', val) end # When Panorama becomes the primary, get only new logs from device def get_only_new_logs_on_convert_to_primary prop_get('get-only-new-logs-on-convert-to-primary') end # When Panorama becomes the primary, get only new logs from device def get_only_new_logs_on_convert_to_primary=(val) prop_set('get-only-new-logs-on-convert-to-primary', val) end # Turn threat-vault access on or off def threat_vault_access prop_get('threat-vault-access') end # Turn threat-vault access on or off def threat_vault_access=(val) prop_set('threat-vault-access', val) end # Support output log in UTF-8 def support_utf8_for_log_output prop_get('support-utf8-for-log-output') end # Support output log in UTF-8 def support_utf8_for_log_output=(val) prop_set('support-utf8-for-log-output', val) end end def management @subclasses['management'] ||= Management.new(parent_instance: self, client: @client, create_children: @create_children) end class Wildfire < ConfigClass def has_multiple_values?; false; end def _section :wildfire end class PrivateCloudSecureConnClient < ConfigClass def has_multiple_values?; false; end def _section :'private-cloud-secure-conn-client' end class CertificateType < ConfigClass def has_multiple_values?; false; end def _section :'certificate-type' end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end class Local < ConfigClass def has_multiple_values?; false; end def _section :local end @props = {'certificate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'255', 'help-string'=>'Custom certificate used in connection to private wildfire cloud'}, 'certificate-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'optional'=>'yes'}} # Custom certificate used in connection to private wildfire cloud def certificate prop_get('certificate') end # Custom certificate used in connection to private wildfire cloud def certificate=(val) prop_set('certificate', val) end def certificate_profile prop_get('certificate-profile') end def certificate_profile=(val) prop_set('certificate-profile', val) end end def local @subclasses['local'] ||= Local.new(parent_instance: self, client: @client, create_children: @create_children) end class Scep < ConfigClass def has_multiple_values?; false; end def _section :scep end @props = {'scep-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'optional'=>'yes', 'help-string'=>'SCEP profile name'}, 'certificate-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'optional'=>'yes'}} # SCEP profile name def scep_profile prop_get('scep-profile') end # SCEP profile name def scep_profile=(val) prop_set('scep-profile', val) end def certificate_profile prop_get('certificate-profile') end def certificate_profile=(val) prop_set('certificate-profile', val) end end def scep @subclasses['scep'] ||= Scep.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def certificate_type @subclasses['certificate-type'] ||= CertificateType.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def private_cloud_secure_conn_client @subclasses['private-cloud-secure-conn-client'] ||= PrivateCloudSecureConnClient.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'private-cloud-use-proxy'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Use global proxy, when configured, to connect to private cloud server.'}, 'cloud-server'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^([a-zA-Z0-9./_-])+$', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'IP address or hostname for the WildFire cloud. Default is wildfire-public-cloud'}} # Use global proxy, when configured, to connect to private cloud server. def private_cloud_use_proxy prop_get('private-cloud-use-proxy') end # Use global proxy, when configured, to connect to private cloud server. def private_cloud_use_proxy=(val) prop_set('private-cloud-use-proxy', val) end # IP address or hostname for the WildFire cloud. Default is wildfire-public-cloud def cloud_server prop_get('cloud-server') end # IP address or hostname for the WildFire cloud. Default is wildfire-public-cloud def cloud_server=(val) prop_set('cloud-server', val) end end def wildfire @subclasses['wildfire'] ||= Wildfire.new(parent_instance: self, client: @client, create_children: @create_children) end class Autofocus < ConfigClass def has_multiple_values?; false; end def _section :autofocus end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable AutoFocus service'}, 'autofocus-url'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'1024', 'default'=>'https://autofocus.paloaltonetworks.com:10443', 'help-string'=>'URL for AutoFocus server'}, 'query-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'15', 'max'=>'3600', 'default'=>'15', 'help-string'=>'Query time out in seconds'}} # Enable AutoFocus service def enabled prop_get('enabled') end # Enable AutoFocus service def enabled=(val) prop_set('enabled', val) end # URL for AutoFocus server def autofocus_url prop_get('autofocus-url') end # URL for AutoFocus server def autofocus_url=(val) prop_set('autofocus-url', val) end # Query time out in seconds def query_timeout prop_get('query-timeout') end # Query time out in seconds def query_timeout=(val) prop_set('query-timeout', val) end end def autofocus @subclasses['autofocus'] ||= Autofocus.new(parent_instance: self, client: @client, create_children: @create_children) end class CustomLogo < ConfigClass def has_multiple_values?; false; end def _section :'custom-logo' end class LoginScreen < ConfigClass def has_multiple_values?; false; end def _section :'login-screen' end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'256', 'help-string'=>'File name'}, 'content'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'base64', 'maxlen'=>'500000', 'help-string'=>'Upload custom login-screen page(base64 encoded).'}} # File name def name prop_get('name') end # File name def name=(val) prop_set('name', val) end # Upload custom login-screen page(base64 encoded). def content prop_get('content') end # Upload custom login-screen page(base64 encoded). def content=(val) prop_set('content', val) end end def login_screen @subclasses['login-screen'] ||= LoginScreen.new(parent_instance: self, client: @client, create_children: @create_children) end class MainUi < ConfigClass def has_multiple_values?; false; end def _section :'main-ui' end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'256', 'help-string'=>'File name'}, 'content'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'base64', 'maxlen'=>'500000', 'help-string'=>'Upload custom main-ui page(base64 encoded).'}} # File name def name prop_get('name') end # File name def name=(val) prop_set('name', val) end # Upload custom main-ui page(base64 encoded). def content prop_get('content') end # Upload custom main-ui page(base64 encoded). def content=(val) prop_set('content', val) end end def main_ui @subclasses['main-ui'] ||= MainUi.new(parent_instance: self, client: @client, create_children: @create_children) end class PdfReportHeader < ConfigClass def has_multiple_values?; false; end def _section :'pdf-report-header' end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'256', 'help-string'=>'File name'}, 'content'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'base64', 'maxlen'=>'500000', 'help-string'=>'Upload custom pdf-report-header page(base64 encoded).'}} # File name def name prop_get('name') end # File name def name=(val) prop_set('name', val) end # Upload custom pdf-report-header page(base64 encoded). def content prop_get('content') end # Upload custom pdf-report-header page(base64 encoded). def content=(val) prop_set('content', val) end end def pdf_report_header @subclasses['pdf-report-header'] ||= PdfReportHeader.new(parent_instance: self, client: @client, create_children: @create_children) end class PdfReportFooter < ConfigClass def has_multiple_values?; false; end def _section :'pdf-report-footer' end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'256', 'help-string'=>'File name'}, 'content'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'base64', 'maxlen'=>'500000', 'help-string'=>'Upload custom pdf-report-footer page(base64 encoded).'}} # File name def name prop_get('name') end # File name def name=(val) prop_set('name', val) end # Upload custom pdf-report-footer page(base64 encoded). def content prop_get('content') end # Upload custom pdf-report-footer page(base64 encoded). def content=(val) prop_set('content', val) end end def pdf_report_footer @subclasses['pdf-report-footer'] ||= PdfReportFooter.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'hide-panorama-header-background'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} def hide_panorama_header_background prop_get('hide-panorama-header-background') end def hide_panorama_header_background=(val) prop_set('hide-panorama-header-background', val) end end def custom_logo @subclasses['custom-logo'] ||= CustomLogo.new(parent_instance: self, client: @client, create_children: @create_children) end class Iot < ConfigClass def has_multiple_values?; false; end def _section :iot end class Edge < ConfigClass def has_multiple_values?; false; end def _section :edge end @props = {'enable-3rd-party'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'disable-device-cert'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'address'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'IP address or hostname for the edge cloud service', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'regex'=>'^([a-zA-Z0-9./_-])+$', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'Host name'}}}} def enable_3rd_party prop_get('enable-3rd-party') end def enable_3rd_party=(val) prop_set('enable-3rd-party', val) end def disable_device_cert prop_get('disable-device-cert') end def disable_device_cert=(val) prop_set('disable-device-cert', val) end # IP address or hostname for the edge cloud service def address prop_get('address') end # IP address or hostname for the edge cloud service def address=(val) prop_set('address', val) end end def edge @subclasses['edge'] ||= Edge.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def iot @subclasses['iot'] ||= Iot.new(parent_instance: self, client: @client, create_children: @create_children) end class Cloudapp < ConfigClass def has_multiple_values?; false; end def _section :cloudapp end class CloudappSrvrAddr < ConfigClass def has_multiple_values?; false; end def _section :'cloudapp-srvr-addr' end @props = {'address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'IP address or hostname for the cloud appid service', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'regex'=>'^([a-zA-Z0-9./_-])+$', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'Host name'}}}} # IP address or hostname for the cloud appid service def address prop_get('address') end # IP address or hostname for the cloud appid service def address=(val) prop_set('address', val) end end def cloudapp_srvr_addr @subclasses['cloudapp-srvr-addr'] ||= CloudappSrvrAddr.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'disable'=>{'node-type'=>'element', 'type'=>'bool', 'help-string'=>'prevent icd from automatically fetching cloud app data', 'optional'=>'yes', 'default'=>'yes'}} # prevent icd from automatically fetching cloud app data def disable prop_get('disable') end # prevent icd from automatically fetching cloud app data def disable=(val) prop_set('disable', val) end end def cloudapp @subclasses['cloudapp'] ||= Cloudapp.new(parent_instance: self, client: @client, create_children: @create_children) end class DhcpSyslogServer < XML::ConfigClass def has_multiple_values?; true; end def _section :'dhcp-syslog-server' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256', 'subtype'=>'object-name', 'optional'=>'yes'}, 'enabled'=>{'node-type'=>'element', 'type'=>'bool', 'help-string'=>'To enable or disable DHCP log collection', 'optional'=>'yes', 'default'=>'no'}, 'ip-address'=>{'node-type'=>'element', 'type'=>'ipspec', 'unicast-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes', 'help-string'=>'IP address for the DHCP server'}, 'protocol'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'SSL', 'enum'=>[{'value'=>'SSL'}, {'value'=>'TCP'}, {'value'=>'UDP'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end # To enable or disable DHCP log collection def enabled prop_get('enabled') end # To enable or disable DHCP log collection def enabled=(val) prop_set('enabled', val) end # IP address for the DHCP server def ip_address prop_get('ip-address') end # IP address for the DHCP server def ip_address=(val) prop_set('ip-address', val) end def protocol prop_get('protocol') end def protocol=(val) prop_set('protocol', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def dhcp_syslog_server maybe_register_subclass('dhcp-syslog-server', DhcpSyslogServer.new(parent_instance: self, client: @client, create_children: @create_children)) end class CloudUserid < ConfigClass def has_multiple_values?; false; end def _section :'cloud-userid' end @props = {'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes'}, 'address'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'IP address or hostname for the edge cloud userid service', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'regex'=>'^([a-zA-Z0-9./_-])+$', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'Host name'}}}} def disabled prop_get('disabled') end def disabled=(val) prop_set('disabled', val) end # IP address or hostname for the edge cloud userid service def address prop_get('address') end # IP address or hostname for the edge cloud userid service def address=(val) prop_set('address', val) end end def cloud_userid @subclasses['cloud-userid'] ||= CloudUserid.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'gtp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'sctp'=>{'node-type'=>'element', 'optional'=>'yes', 'hidden'=>'yes', 'type'=>'bool', 'default'=>'no'}} def gtp prop_get('gtp') end def gtp=(val) prop_set('gtp', val) end def sctp prop_get('sctp') end def sctp=(val) prop_set('sctp', val) end end def setting @subclasses['setting'] ||= Setting.new(parent_instance: self, client: @client, create_children: @create_children) end class HighAvailability < ConfigClass def has_multiple_values?; false; end def _section :'high-availability' end class Peer < ConfigClass def has_multiple_values?; false; end def _section :peer end class Encryption < ConfigClass def has_multiple_values?; false; end def _section :encryption end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} def enabled prop_get('enabled') end def enabled=(val) prop_set('enabled', val) end end def encryption @subclasses['encryption'] ||= Encryption.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'ip-address'=>{'node-type'=>'element', 'optional'=>'yes', 'ipv4-only'=>'yes', 'type'=>'ipspec', 'unicast-only'=>'yes', 'disallow-loopback'=>'yes', 'help-string'=>'HA Peer IP address'}, 'serial'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'64', 'regex'=>'^[0-9A-Z]+$', 'help-string'=>'HA Peer serial number'}, 'monitor-hold-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1000', 'max'=>'60000', 'default'=>'3000', 'help-string'=>'hold time in milliseconds to allow HA peer flapping, default 3000'}} # HA Peer IP address def ip_address prop_get('ip-address') end # HA Peer IP address def ip_address=(val) prop_set('ip-address', val) end # HA Peer serial number def serial prop_get('serial') end # HA Peer serial number def serial=(val) prop_set('serial', val) end # hold time in milliseconds to allow HA peer flapping, default 3000 def monitor_hold_time prop_get('monitor-hold-time') end # hold time in milliseconds to allow HA peer flapping, default 3000 def monitor_hold_time=(val) prop_set('monitor-hold-time', val) end end def peer @subclasses['peer'] ||= Peer.new(parent_instance: self, client: @client, create_children: @create_children) end class ElectionOption < ConfigClass def has_multiple_values?; false; end def _section :'election-option' end class Timers < ConfigClass def has_multiple_values?; false; end def _section :timers end class Recommended < ConfigClass def has_multiple_values?; false; end def _section :recommended end @props = {} end def recommended @subclasses['recommended'] ||= Recommended.new(parent_instance: self, client: @client, create_children: @create_children) end class Aggressive < ConfigClass def has_multiple_values?; false; end def _section :aggressive end @props = {} end def aggressive @subclasses['aggressive'] ||= Aggressive.new(parent_instance: self, client: @client, create_children: @create_children) end class Advanced < ConfigClass def has_multiple_values?; false; end def _section :advanced end @props = {'promotion-hold-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'60000', 'default'=>'2000', 'help-string'=>'Interval in milliseconds to state change from Passive to Active, default 2000'}, 'hello-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'8000', 'max'=>'60000', 'default'=>'8000', 'help-string'=>'Interval in milliseconds to send Hello messages, default 8000'}, 'heartbeat-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1000', 'max'=>'60000', 'default'=>'2000', 'help-string'=>'Interval in milliseconds to send Heartbeat pings, default 2000'}, 'preemption-hold-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'60', 'default'=>'1', 'help-string'=>'Interval in minutes to stay in Passive before preempting Active device, default 1'}, 'monitor-fail-hold-up-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'60000', 'default'=>'0', 'help-string'=>'Interval in milliseconds to wait before honoring a path or link monitor failure on this device, default 0'}, 'additional-master-hold-up-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'60000', 'default'=>'7000', 'help-string'=>'Interval in milliseconds to wait before honoring a path or link monitor failure on the Active device, default 7000'}} # Interval in milliseconds to state change from Passive to Active, default 2000 def promotion_hold_time prop_get('promotion-hold-time') end # Interval in milliseconds to state change from Passive to Active, default 2000 def promotion_hold_time=(val) prop_set('promotion-hold-time', val) end # Interval in milliseconds to send Hello messages, default 8000 def hello_interval prop_get('hello-interval') end # Interval in milliseconds to send Hello messages, default 8000 def hello_interval=(val) prop_set('hello-interval', val) end # Interval in milliseconds to send Heartbeat pings, default 2000 def heartbeat_interval prop_get('heartbeat-interval') end # Interval in milliseconds to send Heartbeat pings, default 2000 def heartbeat_interval=(val) prop_set('heartbeat-interval', val) end # Interval in minutes to stay in Passive before preempting Active device, default 1 def preemption_hold_time prop_get('preemption-hold-time') end # Interval in minutes to stay in Passive before preempting Active device, default 1 def preemption_hold_time=(val) prop_set('preemption-hold-time', val) end # Interval in milliseconds to wait before honoring a path or link monitor failure on this device, default 0 def monitor_fail_hold_up_time prop_get('monitor-fail-hold-up-time') end # Interval in milliseconds to wait before honoring a path or link monitor failure on this device, default 0 def monitor_fail_hold_up_time=(val) prop_set('monitor-fail-hold-up-time', val) end # Interval in milliseconds to wait before honoring a path or link monitor failure on the Active device, default 7000 def additional_master_hold_up_time prop_get('additional-master-hold-up-time') end # Interval in milliseconds to wait before honoring a path or link monitor failure on the Active device, default 7000 def additional_master_hold_up_time=(val) prop_set('additional-master-hold-up-time', val) end end def advanced @subclasses['advanced'] ||= Advanced.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def timers @subclasses['timers'] ||= Timers.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'priority'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-string'=>'Set priority of the local device', 'enum'=>[{'value'=>'primary', 'help-string'=>'Primary HA device'}, {'value'=>'secondary', 'help-string'=>'Secondary HA device'}]}, 'preemptive'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Configure on both HA peers to allow preemption by Passive device based on priority, default yes'}} # Set priority of the local device def priority prop_get('priority') end # Set priority of the local device def priority=(val) prop_set('priority', val) end # Configure on both HA peers to allow preemption by Passive device based on priority, default yes def preemptive prop_get('preemptive') end # Configure on both HA peers to allow preemption by Passive device based on priority, default yes def preemptive=(val) prop_set('preemptive', val) end end def election_option @subclasses['election-option'] ||= ElectionOption.new(parent_instance: self, client: @client, create_children: @create_children) end class PathMonitoring < ConfigClass def has_multiple_values?; false; end def _section :'path-monitoring' end class PathGroup < XML::ConfigClass def has_multiple_values?; true; end def _section :'path-group' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class DestinationIp < XML::ConfigClass def has_multiple_values?; true; end def _section :'destination-ip' end @props = {'member'=>{'node-type'=>'element', 'ipv4-only'=>'yes', 'type'=>'ipspec', 'unicast-only'=>'yes', 'disallow-loopback'=>'yes', 'help-string'=>'IP address'}} # IP address def member prop_get('member') end # IP address def member=(val) prop_set('member', val) end end def destination_ip maybe_register_subclass('destination-ip', DestinationIp.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63'}, 'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'failure-condition'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'any', 'help-string'=>'Condition to determine failure, default any (failure on any monitored IP)', 'enum'=>[{'value'=>'any'}, {'value'=>'all'}]}, 'ping-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1000', 'max'=>'60000', 'default'=>'5000', 'help-string'=>'Interval in milliseconds to ping the destination paths, default 5000'}, 'ping-count'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'3', 'max'=>'10', 'default'=>'3', 'help-string'=>'Number of failures to allow before determining a destination path is down, default 3'}} def name prop_get('@name') end def enabled prop_get('enabled') end def enabled=(val) prop_set('enabled', val) end # Condition to determine failure, default any (failure on any monitored IP) def failure_condition prop_get('failure-condition') end # Condition to determine failure, default any (failure on any monitored IP) def failure_condition=(val) prop_set('failure-condition', val) end # Interval in milliseconds to ping the destination paths, default 5000 def ping_interval prop_get('ping-interval') end # Interval in milliseconds to ping the destination paths, default 5000 def ping_interval=(val) prop_set('ping-interval', val) end # Number of failures to allow before determining a destination path is down, default 3 def ping_count prop_get('ping-count') end # Number of failures to allow before determining a destination path is down, default 3 def ping_count=(val) prop_set('ping-count', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def path_group maybe_register_subclass('path-group', PathGroup.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'failure-condition'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'any', 'help-string'=>'Condition to determine failure, default any (failure on any path group)', 'enum'=>[{'value'=>'any'}, {'value'=>'all'}]}} def enabled prop_get('enabled') end def enabled=(val) prop_set('enabled', val) end # Condition to determine failure, default any (failure on any path group) def failure_condition prop_get('failure-condition') end # Condition to determine failure, default any (failure on any path group) def failure_condition=(val) prop_set('failure-condition', val) end end def path_monitoring @subclasses['path-monitoring'] ||= PathMonitoring.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable high-availability'}} # Enable high-availability def enabled prop_get('enabled') end # Enable high-availability def enabled=(val) prop_set('enabled', val) end end def high_availability @subclasses['high-availability'] ||= HighAvailability.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def deviceconfig @subclasses['deviceconfig'] ||= Deviceconfig.new(parent_instance: self, client: @client, create_children: @create_children) end class DeviceGroup < XML::ConfigClass def has_multiple_values?; true; end def _section :'device-group' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class ReferenceTemplates < XML::ConfigClass def has_multiple_values?; true; end def _section :'reference-templates' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'64', 'help-string'=>'template or stack'}} # template or stack def member prop_get('member') end # template or stack def member=(val) prop_set('member', val) end end def reference_templates maybe_register_subclass('reference-templates', ReferenceTemplates.new(parent_instance: self, client: @client, create_children: @create_children)) end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Vsys < XML::ConfigClass def has_multiple_values?; true; end def _section :vsys end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vsys maybe_register_subclass('vsys', Vsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'64', 'regex'=>'^[0-9A-Z]+$', 'help-string'=>'device name'}} # device name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class UserGroupSource < ConfigClass def has_multiple_values?; false; end def _section :'user-group-source' end class MasterDevice < ConfigClass def has_multiple_values?; false; end def _section :'master-device' end @props = {'device'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'64'}, 'vsys'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes'}, 'sync-group'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'optional'=>'yes'}} def device prop_get('device') end def device=(val) prop_set('device', val) end def vsys prop_get('vsys') end def vsys=(val) prop_set('vsys', val) end def sync_group prop_get('sync-group') end def sync_group=(val) prop_set('sync-group', val) end end def master_device @subclasses['master-device'] ||= MasterDevice.new(parent_instance: self, client: @client, create_children: @create_children) end class CloudIdentityEngine < XML::ConfigClass def has_multiple_values?; true; end def _section :'cloud-identity-engine' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'cloud identity engine instance'}} # cloud identity engine instance def member prop_get('member') end # cloud identity engine instance def member=(val) prop_set('member', val) end end def cloud_identity_engine maybe_register_subclass('cloud-identity-engine', CloudIdentityEngine.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def user_group_source @subclasses['user-group-source'] ||= UserGroupSource.new(parent_instance: self, client: @client, create_children: @create_children) end class LogSettings < ConfigClass def has_multiple_values?; false; end def _section :'log-settings' end class Profiles < XML::ConfigClass def has_multiple_values?; true; end def _section :profiles end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class MatchList < XML::ConfigClass def has_multiple_values?; true; end def _section :'match-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SendSnmptrap < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-snmptrap' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_snmptrap maybe_register_subclass('send-snmptrap', SendSnmptrap.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendEmail < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-email' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_email maybe_register_subclass('send-email', SendEmail.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendSyslog < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-syslog' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_syslog maybe_register_subclass('send-syslog', SendSyslog.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendHttp < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-http' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_http maybe_register_subclass('send-http', SendHttp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Actions < XML::ConfigClass def has_multiple_values?; true; end def _section :actions end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Integration < ConfigClass def has_multiple_values?; false; end def _section :integration end @props = {'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'Azure-Security-Center-Integration', 'enum'=>[{'value'=>'Azure-Security-Center-Integration', 'help-string'=>'Azure Security Center Integration'}]}} def action prop_get('action') end def action=(val) prop_set('action', val) end end def integration @subclasses['integration'] ||= Integration.new(parent_instance: self, client: @client, create_children: @create_children) end class Tagging < ConfigClass def has_multiple_values?; false; end def _section :tagging end class Registration < XML::ConfigClass def has_multiple_values?; true; end def _section :registration end class Localhost < ConfigClass def has_multiple_values?; false; end def _section :localhost end @props = {} end def localhost @subclasses['localhost'] ||= Localhost.new(parent_instance: self, client: @client, create_children: @create_children) end class Panorama < ConfigClass def has_multiple_values?; false; end def _section :panorama end @props = {} end def panorama @subclasses['panorama'] ||= Panorama.new(parent_instance: self, client: @client, create_children: @create_children) end class Remote < ConfigClass def has_multiple_values?; false; end def _section :remote end @props = {'http-profile'=>{'node-type'=>'element', 'type'=>'string'}} def http_profile prop_get('http-profile') end def http_profile=(val) prop_set('http-profile', val) end end def remote @subclasses['remote'] ||= Remote.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def registration maybe_register_subclass('registration', Registration.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'127', 'regex'=>'^[^\]\'\[]*$'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'target'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'source-address', 'enum'=>[{'value'=>'source-address', 'help-string'=>'Source Address'}, {'value'=>'destination-address', 'help-string'=>'Destination Address'}, {'value'=>'xff-address', 'help-string'=>'X-Forwarded-For Address'}, {'value'=>'user', 'help-string'=>'User'}]}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'add-tag', 'enum'=>[{'value'=>'add-tag', 'help-string'=>'Add Tag'}, {'value'=>'remove-tag', 'help-string'=>'Remove Tag'}]}, 'timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'43200', 'optional'=>'yes', 'default'=>'0', 'help-string'=>'timeout in minutes'}} def target prop_get('target') end def target=(val) prop_set('target', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # timeout in minutes def timeout prop_get('timeout') end # timeout in minutes def timeout=(val) prop_set('timeout', val) end end def tagging @subclasses['tagging'] ||= Tagging.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def actions maybe_register_subclass('actions', Actions.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'action-desc'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'1023'}, 'log-type'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'traffic', 'help-string'=>'Pick log type', 'enum'=>[{'value'=>'traffic'}, {'value'=>'threat'}, {'value'=>'wildfire'}, {'value'=>'url'}, {'value'=>'data'}, {'value'=>'gtp', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420,cfg.platform.model=PA-1410,cfg.platform.model=PA-1420'}, {'value'=>'sctp', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420,cfg.platform.model=PA-1410,cfg.platform.model=PA-1420'}, {'value'=>'tunnel'}, {'value'=>'auth'}, {'value'=>'decryption'}]}, 'filter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1023'}, 'send-to-panorama'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'quarantine'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def action_desc prop_get('action-desc') end def action_desc=(val) prop_set('action-desc', val) end # Pick log type def log_type prop_get('log-type') end # Pick log type def log_type=(val) prop_set('log-type', val) end def filter prop_get('filter') end def filter=(val) prop_set('filter', val) end def send_to_panorama prop_get('send-to-panorama') end def send_to_panorama=(val) prop_set('send-to-panorama', val) end def quarantine prop_get('quarantine') end def quarantine=(val) prop_set('quarantine', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def match_list maybe_register_subclass('match-list', MatchList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'yes'}, {'value'=>'no'}]}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'1023'}, 'enhanced-application-logging'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enabling enhanced-application-logging'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end # Enabling enhanced-application-logging def enhanced_application_logging prop_get('enhanced-application-logging') end # Enabling enhanced-application-logging def enhanced_application_logging=(val) prop_set('enhanced-application-logging', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def profiles maybe_register_subclass('profiles', Profiles.new(parent_instance: self, client: @client, create_children: @create_children)) end class Email < XML::ConfigClass def has_multiple_values?; true; end def _section :email end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'display-name'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes'}, 'from'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([a-zA-Z0-9_?~^\'`.\+/=|#$!*%{}\&-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$', 'maxlen'=>'128', 'help-string'=>'email address (e.g. admin@mycompany.com)'}, 'to'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([a-zA-Z0-9_?~^\'`.\+/=|#$!*%{}\&-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$', 'maxlen'=>'128', 'help-string'=>'email address (e.g. admin@mycompany.com)'}, 'and-also-to'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^([a-zA-Z0-9_?~^\'`.\+/=|#$!*%{}\&-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$', 'maxlen'=>'128', 'help-string'=>'email address (e.g. admin@mycompany.com)'}, 'gateway'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'regex'=>'^([a-zA-Z0-9:\.\_-])+([a-zA-Z0-9:\_-])$', 'help-string'=>'IP address or FQDN of SMTP gateway to use'}, 'protocol'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'SMTP', 'enum'=>[{'value'=>'SMTP'}, {'value'=>'TLS'}]}, 'port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'optional'=>'yes', 'default'=>'25', 'help-string'=>'Port number (Standard EMAIL ports SMTP:25, TLS:587)'}, 'tls-version'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'1.2', 'help-string'=>'TLS handshake protocol version', 'enum'=>[{'value'=>'1.2'}, {'value'=>'1.1'}]}, 'auth'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'Auto'}, {'value'=>'Login'}, {'value'=>'Plain'}]}, 'certificate-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'default'=>'None', 'help-string'=>'Certificate Profile for validating server certificate'}, 'username'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'username for authentication', 'minlen'=>'0', 'maxlen'=>'255', 'regex'=>'[^\']*'}, 'password'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'regex'=>'[^\']*', 'encrypt'=>'yes'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def display_name prop_get('display-name') end def display_name=(val) prop_set('display-name', val) end # email address (e.g. admin@mycompany.com) def from prop_get('from') end # email address (e.g. admin@mycompany.com) def from=(val) prop_set('from', val) end # email address (e.g. admin@mycompany.com) def to prop_get('to') end # email address (e.g. admin@mycompany.com) def to=(val) prop_set('to', val) end # email address (e.g. admin@mycompany.com) def and_also_to prop_get('and-also-to') end # email address (e.g. admin@mycompany.com) def and_also_to=(val) prop_set('and-also-to', val) end # IP address or FQDN of SMTP gateway to use def gateway prop_get('gateway') end # IP address or FQDN of SMTP gateway to use def gateway=(val) prop_set('gateway', val) end def protocol prop_get('protocol') end def protocol=(val) prop_set('protocol', val) end # Port number (Standard EMAIL ports SMTP:25, TLS:587) def port prop_get('port') end # Port number (Standard EMAIL ports SMTP:25, TLS:587) def port=(val) prop_set('port', val) end # TLS handshake protocol version def tls_version prop_get('tls-version') end # TLS handshake protocol version def tls_version=(val) prop_set('tls-version', val) end def auth prop_get('auth') end def auth=(val) prop_set('auth', val) end # Certificate Profile for validating server certificate def certificate_profile prop_get('certificate-profile') end # Certificate Profile for validating server certificate def certificate_profile=(val) prop_set('certificate-profile', val) end # username for authentication def username prop_get('username') end # username for authentication def username=(val) prop_set('username', val) end def password prop_get('password') end def password=(val) prop_set('password', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end class Format < ConfigClass def has_multiple_values?; false; end def _section :format end class Escaping < ConfigClass def has_multiple_values?; false; end def _section :escaping end @props = {'escaped-characters'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'help-string'=>'List of characters to be escaped'}, 'escape-character'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'1', 'help-string'=>'Escape character'}} # List of characters to be escaped def escaped_characters prop_get('escaped-characters') end # List of characters to be escaped def escaped_characters=(val) prop_set('escaped-characters', val) end # Escape character def escape_character prop_get('escape-character') end # Escape character def escape_character=(val) prop_set('escape-character', val) end end def escaping @subclasses['escaping'] ||= Escaping.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'traffic'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'threat'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'wildfire'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'url'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'data'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'gtp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420,cfg.platform.model=PA-1410,cfg.platform.model=PA-1420'}, 'sctp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420,cfg.platform.model=PA-1410,cfg.platform.model=PA-1420'}, 'tunnel'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'auth'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'userid'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'iptag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'decryption'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'config'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'system'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'globalprotect'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'hip-match'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'correlation'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}} def traffic prop_get('traffic') end def traffic=(val) prop_set('traffic', val) end def threat prop_get('threat') end def threat=(val) prop_set('threat', val) end def wildfire prop_get('wildfire') end def wildfire=(val) prop_set('wildfire', val) end def url prop_get('url') end def url=(val) prop_set('url', val) end def data prop_get('data') end def data=(val) prop_set('data', val) end def gtp prop_get('gtp') end def gtp=(val) prop_set('gtp', val) end def sctp prop_get('sctp') end def sctp=(val) prop_set('sctp', val) end def tunnel prop_get('tunnel') end def tunnel=(val) prop_set('tunnel', val) end def auth prop_get('auth') end def auth=(val) prop_set('auth', val) end def userid prop_get('userid') end def userid=(val) prop_set('userid', val) end def iptag prop_get('iptag') end def iptag=(val) prop_set('iptag', val) end def decryption prop_get('decryption') end def decryption=(val) prop_set('decryption', val) end def config prop_get('config') end def config=(val) prop_set('config', val) end def system prop_get('system') end def system=(val) prop_set('system', val) end def globalprotect prop_get('globalprotect') end def globalprotect=(val) prop_set('globalprotect', val) end def hip_match prop_get('hip-match') end def hip_match=(val) prop_set('hip-match', val) end def correlation prop_get('correlation') end def correlation=(val) prop_set('correlation', val) end end def format @subclasses['format'] ||= Format.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def email maybe_register_subclass('email', Email.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def log_settings @subclasses['log-settings'] ||= LogSettings.new(parent_instance: self, client: @client, create_children: @create_children) end class Address < XML::ConfigClass def has_multiple_values?; true; end def _section :address end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'yes'}, {'value'=>'no'}]}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'ip-netmask'=>{'node-type'=>'element', 'type'=>'ipspec'}, 'ip-range'=>{'node-type'=>'element', 'type'=>'iprangespec'}, 'ip-wildcard'=>{'node-type'=>'element', 'type'=>'ipdiscontmask'}, 'fqdn'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'255', 'regex'=>'^[a-zA-Z0-9_]([a-zA-Z0-9._-])+[a-zA-Z0-9]$'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end def ip_netmask prop_get('ip-netmask') end def ip_netmask=(val) prop_set('ip-netmask', val) end def ip_range prop_get('ip-range') end def ip_range=(val) prop_set('ip-range', val) end def ip_wildcard prop_get('ip-wildcard') end def ip_wildcard=(val) prop_set('ip-wildcard', val) end def fqdn prop_get('fqdn') end def fqdn=(val) prop_set('fqdn', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def address maybe_register_subclass('address', Address.new(parent_instance: self, client: @client, create_children: @create_children)) end class AddressGroup < XML::ConfigClass def has_multiple_values?; true; end def _section :'address-group' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Static < XML::ConfigClass def has_multiple_values?; true; end def _section :static end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def static maybe_register_subclass('static', Static.new(parent_instance: self, client: @client, create_children: @create_children)) end class Dynamic < ConfigClass def has_multiple_values?; false; end def _section :dynamic end @props = {'filter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2047', 'help-string'=>'tag-based filter'}} # tag-based filter def filter prop_get('filter') end # tag-based filter def filter=(val) prop_set('filter', val) end end def dynamic @subclasses['dynamic'] ||= Dynamic.new(parent_instance: self, client: @client, create_children: @create_children) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'yes'}, {'value'=>'no'}]}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def address_group maybe_register_subclass('address-group', AddressGroup.new(parent_instance: self, client: @client, create_children: @create_children)) end class DynamicUserGroup < XML::ConfigClass def has_multiple_values?; true; end def _section :'dynamic-user-group' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'yes'}, {'value'=>'no'}]}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'filter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2047', 'help-string'=>'tag-based filter'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end # tag-based filter def filter prop_get('filter') end # tag-based filter def filter=(val) prop_set('filter', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def dynamic_user_group maybe_register_subclass('dynamic-user-group', DynamicUserGroup.new(parent_instance: self, client: @client, create_children: @create_children)) end class DeviceObject < XML::ConfigClass def has_multiple_values?; true; end def _section :'device-object' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Category < XML::ConfigClass def has_multiple_values?; true; end def _section :category end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'128', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def category maybe_register_subclass('category', Category.new(parent_instance: self, client: @client, create_children: @create_children)) end class Profile < XML::ConfigClass def has_multiple_values?; true; end def _section :profile end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'128', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def profile maybe_register_subclass('profile', Profile.new(parent_instance: self, client: @client, create_children: @create_children)) end class Osfamily < XML::ConfigClass def has_multiple_values?; true; end def _section :osfamily end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'128', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def osfamily maybe_register_subclass('osfamily', Osfamily.new(parent_instance: self, client: @client, create_children: @create_children)) end class Os < XML::ConfigClass def has_multiple_values?; true; end def _section :os end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'128', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def os maybe_register_subclass('os', Os.new(parent_instance: self, client: @client, create_children: @create_children)) end class Model < XML::ConfigClass def has_multiple_values?; true; end def _section :model end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'128', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def model maybe_register_subclass('model', Model.new(parent_instance: self, client: @client, create_children: @create_children)) end class Vendor < XML::ConfigClass def has_multiple_values?; true; end def _section :vendor end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'128', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def vendor maybe_register_subclass('vendor', Vendor.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'yes'}, {'value'=>'no'}]}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def device_object maybe_register_subclass('device-object', DeviceObject.new(parent_instance: self, client: @client, create_children: @create_children)) end class Threats < ConfigClass def has_multiple_values?; false; end def _section :threats end class Vulnerability < XML::ConfigClass def has_multiple_values?; true; end def _section :vulnerability end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class AffectedHost < ConfigClass def has_multiple_values?; false; end def _section :'affected-host' end @props = {'client'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool'}, 'server'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool'}} def client prop_get('client') end def client=(val) prop_set('client', val) end def server prop_get('server') end def server=(val) prop_set('server', val) end end def affected_host @subclasses['affected-host'] ||= AffectedHost.new(parent_instance: self, client: @client, create_children: @create_children) end class DefaultAction < XML::ConfigClass def has_multiple_values?; true; end def _section :'default-action' end class Alert < ConfigClass def has_multiple_values?; false; end def _section :alert end @props = {} end def alert @subclasses['alert'] ||= Alert.new(parent_instance: self, client: @client, create_children: @create_children) end class Drop < ConfigClass def has_multiple_values?; false; end def _section :drop end @props = {} end def drop @subclasses['drop'] ||= Drop.new(parent_instance: self, client: @client, create_children: @create_children) end class ResetClient < ConfigClass def has_multiple_values?; false; end def _section :'reset-client' end @props = {} end def reset_client @subclasses['reset-client'] ||= ResetClient.new(parent_instance: self, client: @client, create_children: @create_children) end class ResetServer < ConfigClass def has_multiple_values?; false; end def _section :'reset-server' end @props = {} end def reset_server @subclasses['reset-server'] ||= ResetServer.new(parent_instance: self, client: @client, create_children: @create_children) end class ResetBoth < ConfigClass def has_multiple_values?; false; end def _section :'reset-both' end @props = {} end def reset_both @subclasses['reset-both'] ||= ResetBoth.new(parent_instance: self, client: @client, create_children: @create_children) end class BlockIp < ConfigClass def has_multiple_values?; false; end def _section :'block-ip' end @props = {'track-by'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'source'}, {'value'=>'source-and-destination'}]}, 'duration'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'help-string'=>'Duration for block ip'}} def track_by prop_get('track-by') end def track_by=(val) prop_set('track-by', val) end # Duration for block ip def duration prop_get('duration') end # Duration for block ip def duration=(val) prop_set('duration', val) end end def block_ip @subclasses['block-ip'] ||= BlockIp.new(parent_instance: self, client: @client, create_children: @create_children) end class Allow < ConfigClass def has_multiple_values?; false; end def _section :allow end @props = {} end def allow @subclasses['allow'] ||= Allow.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def default_action maybe_register_subclass('default-action', DefaultAction.new(parent_instance: self, client: @client, create_children: @create_children)) end class Cve < XML::ConfigClass def has_multiple_values?; true; end def _section :cve end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'CVE #, CVE-1999-0001 etc'}} # CVE #, CVE-1999-0001 etc def member prop_get('member') end # CVE #, CVE-1999-0001 etc def member=(val) prop_set('member', val) end end def cve maybe_register_subclass('cve', Cve.new(parent_instance: self, client: @client, create_children: @create_children)) end class Bugtraq < XML::ConfigClass def has_multiple_values?; true; end def _section :bugtraq end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'bugtraq id'}} # bugtraq id def member prop_get('member') end # bugtraq id def member=(val) prop_set('member', val) end end def bugtraq maybe_register_subclass('bugtraq', Bugtraq.new(parent_instance: self, client: @client, create_children: @create_children)) end class Vendor < XML::ConfigClass def has_multiple_values?; true; end def _section :vendor end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'Vendor\'s refer id, for example, MS03-026'}} # Vendor's refer id, for example, MS03-026 def member prop_get('member') end # Vendor's refer id, for example, MS03-026 def member=(val) prop_set('member', val) end end def vendor maybe_register_subclass('vendor', Vendor.new(parent_instance: self, client: @client, create_children: @create_children)) end class Reference < XML::ConfigClass def has_multiple_values?; true; end def _section :reference end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256', 'help-string'=>'URL'}} # URL def member prop_get('member') end # URL def member=(val) prop_set('member', val) end end def reference maybe_register_subclass('reference', Reference.new(parent_instance: self, client: @client, create_children: @create_children)) end class Signature < XML::ConfigClass def has_multiple_values?; true; end def _section :signature end class Standard < XML::ConfigClass def has_multiple_values?; true; end def _section :standard end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class AndCondition < XML::ConfigClass def has_multiple_values?; true; end def _section :'and-condition' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class OrCondition < XML::ConfigClass def has_multiple_values?; true; end def _section :'or-condition' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Operator < XML::ConfigClass def has_multiple_values?; true; end def _section :operator end class LessThan < ConfigClass def has_multiple_values?; false; end def _section :'less-than' end class Qualifier < XML::ConfigClass def has_multiple_values?; true; end def _section :qualifier end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'value'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'127'}, 'string'=>{'content-dependent'=>'yes'}}}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def qualifier maybe_register_subclass('qualifier', Qualifier.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'context'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}, 'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} def context prop_get('context') end def context=(val) prop_set('context', val) end def value prop_get('value') end def value=(val) prop_set('value', val) end end def less_than @subclasses['less-than'] ||= LessThan.new(parent_instance: self, client: @client, create_children: @create_children) end class EqualTo < ConfigClass def has_multiple_values?; false; end def _section :'equal-to' end class Qualifier < XML::ConfigClass def has_multiple_values?; true; end def _section :qualifier end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'value'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'127'}, 'string'=>{'content-dependent'=>'yes'}}}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def qualifier maybe_register_subclass('qualifier', Qualifier.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'context'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}, 'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}, 'negate'=>{'node-type'=>'element', 'type'=>'bool', 'internal'=>'yes', 'optional'=>'yes', 'default'=>'no'}} def context prop_get('context') end def context=(val) prop_set('context', val) end def value prop_get('value') end def value=(val) prop_set('value', val) end def negate prop_get('negate') end def negate=(val) prop_set('negate', val) end end def equal_to @subclasses['equal-to'] ||= EqualTo.new(parent_instance: self, client: @client, create_children: @create_children) end class GreaterThan < ConfigClass def has_multiple_values?; false; end def _section :'greater-than' end class Qualifier < XML::ConfigClass def has_multiple_values?; true; end def _section :qualifier end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'value'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'127'}, 'string'=>{'content-dependent'=>'yes'}}}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def qualifier maybe_register_subclass('qualifier', Qualifier.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'context'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}, 'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} def context prop_get('context') end def context=(val) prop_set('context', val) end def value prop_get('value') end def value=(val) prop_set('value', val) end end def greater_than @subclasses['greater-than'] ||= GreaterThan.new(parent_instance: self, client: @client, create_children: @create_children) end class PatternMatch < ConfigClass def has_multiple_values?; false; end def _section :'pattern-match' end class Qualifier < XML::ConfigClass def has_multiple_values?; true; end def _section :qualifier end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'value'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'127'}, 'string'=>{'content-dependent'=>'yes'}}}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def qualifier maybe_register_subclass('qualifier', Qualifier.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'context'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}, 'pattern'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}, 'negate'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}} def context prop_get('context') end def context=(val) prop_set('context', val) end def pattern prop_get('pattern') end def pattern=(val) prop_set('pattern', val) end def negate prop_get('negate') end def negate=(val) prop_set('negate', val) end end def pattern_match @subclasses['pattern-match'] ||= PatternMatch.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def operator maybe_register_subclass('operator', Operator.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def or_condition maybe_register_subclass('or-condition', OrCondition.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def and_condition maybe_register_subclass('and-condition', AndCondition.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'comment'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'256'}, 'scope'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'protocol-data-unit', 'enum'=>[{'value'=>'protocol-data-unit', 'help-string'=>'transaction'}, {'value'=>'session'}]}, 'order-free'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def comment prop_get('comment') end def comment=(val) prop_set('comment', val) end def scope prop_get('scope') end def scope=(val) prop_set('scope', val) end def order_free prop_get('order-free') end def order_free=(val) prop_set('order-free', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def standard maybe_register_subclass('standard', Standard.new(parent_instance: self, client: @client, create_children: @create_children)) end class Combination < ConfigClass def has_multiple_values?; false; end def _section :combination end class TimeAttribute < ConfigClass def has_multiple_values?; false; end def _section :'time-attribute' end @props = {'interval'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600'}, 'threshold'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255'}, 'track-by'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'source-and-destination', 'enum'=>[{'value'=>'source'}, {'value'=>'destination'}, {'value'=>'source-and-destination'}]}} def interval prop_get('interval') end def interval=(val) prop_set('interval', val) end def threshold prop_get('threshold') end def threshold=(val) prop_set('threshold', val) end def track_by prop_get('track-by') end def track_by=(val) prop_set('track-by', val) end end def time_attribute @subclasses['time-attribute'] ||= TimeAttribute.new(parent_instance: self, client: @client, create_children: @create_children) end class AndCondition < XML::ConfigClass def has_multiple_values?; true; end def _section :'and-condition' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class OrCondition < XML::ConfigClass def has_multiple_values?; true; end def _section :'or-condition' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'threat-id'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'10', 'regex'=>'^[0-9]+$', 'help-string'=>'threat id'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # threat id def threat_id prop_get('threat-id') end # threat id def threat_id=(val) prop_set('threat-id', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def or_condition maybe_register_subclass('or-condition', OrCondition.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def and_condition maybe_register_subclass('and-condition', AndCondition.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'order-free'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}} def order_free prop_get('order-free') end def order_free=(val) prop_set('order-free', val) end end def combination @subclasses['combination'] ||= Combination.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def signature maybe_register_subclass('signature', Signature.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'min'=>'41000', 'max'=>'6900000', 'help-string'=>'threat id range <41000-45000> and <6800001-6900000>'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'yes'}, {'value'=>'no'}]}, 'threatname'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1024', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'comment'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'256'}, 'severity'=>{'node-type'=>'element', 'type'=>'string'}, 'direction'=>{'node-type'=>'element', 'type'=>'string'}} # threat id range <41000-45000> and <6800001-6900000> def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end # alphanumeric string [ 0-9a-zA-Z._-] def threatname prop_get('threatname') end # alphanumeric string [ 0-9a-zA-Z._-] def threatname=(val) prop_set('threatname', val) end def comment prop_get('comment') end def comment=(val) prop_set('comment', val) end def severity prop_get('severity') end def severity=(val) prop_set('severity', val) end def direction prop_get('direction') end def direction=(val) prop_set('direction', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vulnerability maybe_register_subclass('vulnerability', Vulnerability.new(parent_instance: self, client: @client, create_children: @create_children)) end class Spyware < XML::ConfigClass def has_multiple_values?; true; end def _section :spyware end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class DefaultAction < XML::ConfigClass def has_multiple_values?; true; end def _section :'default-action' end class Alert < ConfigClass def has_multiple_values?; false; end def _section :alert end @props = {} end def alert @subclasses['alert'] ||= Alert.new(parent_instance: self, client: @client, create_children: @create_children) end class Drop < ConfigClass def has_multiple_values?; false; end def _section :drop end @props = {} end def drop @subclasses['drop'] ||= Drop.new(parent_instance: self, client: @client, create_children: @create_children) end class ResetClient < ConfigClass def has_multiple_values?; false; end def _section :'reset-client' end @props = {} end def reset_client @subclasses['reset-client'] ||= ResetClient.new(parent_instance: self, client: @client, create_children: @create_children) end class ResetServer < ConfigClass def has_multiple_values?; false; end def _section :'reset-server' end @props = {} end def reset_server @subclasses['reset-server'] ||= ResetServer.new(parent_instance: self, client: @client, create_children: @create_children) end class ResetBoth < ConfigClass def has_multiple_values?; false; end def _section :'reset-both' end @props = {} end def reset_both @subclasses['reset-both'] ||= ResetBoth.new(parent_instance: self, client: @client, create_children: @create_children) end class BlockIp < ConfigClass def has_multiple_values?; false; end def _section :'block-ip' end @props = {'track-by'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'source'}, {'value'=>'source-and-destination'}]}, 'duration'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'help-string'=>'Duration for block ip'}} def track_by prop_get('track-by') end def track_by=(val) prop_set('track-by', val) end # Duration for block ip def duration prop_get('duration') end # Duration for block ip def duration=(val) prop_set('duration', val) end end def block_ip @subclasses['block-ip'] ||= BlockIp.new(parent_instance: self, client: @client, create_children: @create_children) end class Allow < ConfigClass def has_multiple_values?; false; end def _section :allow end @props = {} end def allow @subclasses['allow'] ||= Allow.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def default_action maybe_register_subclass('default-action', DefaultAction.new(parent_instance: self, client: @client, create_children: @create_children)) end class Cve < XML::ConfigClass def has_multiple_values?; true; end def _section :cve end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'CVE #, CVE-1999-0001 etc'}} # CVE #, CVE-1999-0001 etc def member prop_get('member') end # CVE #, CVE-1999-0001 etc def member=(val) prop_set('member', val) end end def cve maybe_register_subclass('cve', Cve.new(parent_instance: self, client: @client, create_children: @create_children)) end class Bugtraq < XML::ConfigClass def has_multiple_values?; true; end def _section :bugtraq end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'bugtraq id'}} # bugtraq id def member prop_get('member') end # bugtraq id def member=(val) prop_set('member', val) end end def bugtraq maybe_register_subclass('bugtraq', Bugtraq.new(parent_instance: self, client: @client, create_children: @create_children)) end class Vendor < XML::ConfigClass def has_multiple_values?; true; end def _section :vendor end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'Vendor\'s refer id, for example, MS03-026'}} # Vendor's refer id, for example, MS03-026 def member prop_get('member') end # Vendor's refer id, for example, MS03-026 def member=(val) prop_set('member', val) end end def vendor maybe_register_subclass('vendor', Vendor.new(parent_instance: self, client: @client, create_children: @create_children)) end class Reference < XML::ConfigClass def has_multiple_values?; true; end def _section :reference end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256', 'help-string'=>'URL'}} # URL def member prop_get('member') end # URL def member=(val) prop_set('member', val) end end def reference maybe_register_subclass('reference', Reference.new(parent_instance: self, client: @client, create_children: @create_children)) end class Signature < XML::ConfigClass def has_multiple_values?; true; end def _section :signature end class Standard < XML::ConfigClass def has_multiple_values?; true; end def _section :standard end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class AndCondition < XML::ConfigClass def has_multiple_values?; true; end def _section :'and-condition' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class OrCondition < XML::ConfigClass def has_multiple_values?; true; end def _section :'or-condition' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Operator < XML::ConfigClass def has_multiple_values?; true; end def _section :operator end class LessThan < ConfigClass def has_multiple_values?; false; end def _section :'less-than' end class Qualifier < XML::ConfigClass def has_multiple_values?; true; end def _section :qualifier end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'value'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'127'}, 'string'=>{'content-dependent'=>'yes'}}}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def qualifier maybe_register_subclass('qualifier', Qualifier.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}, 'context'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def value prop_get('value') end def value=(val) prop_set('value', val) end def context prop_get('context') end def context=(val) prop_set('context', val) end end def less_than @subclasses['less-than'] ||= LessThan.new(parent_instance: self, client: @client, create_children: @create_children) end class EqualTo < ConfigClass def has_multiple_values?; false; end def _section :'equal-to' end class Qualifier < XML::ConfigClass def has_multiple_values?; true; end def _section :qualifier end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'value'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'127'}, 'string'=>{'content-dependent'=>'yes'}}}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def qualifier maybe_register_subclass('qualifier', Qualifier.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}, 'negate'=>{'node-type'=>'element', 'type'=>'bool', 'internal'=>'yes', 'optional'=>'yes', 'default'=>'no'}, 'context'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def value prop_get('value') end def value=(val) prop_set('value', val) end def negate prop_get('negate') end def negate=(val) prop_set('negate', val) end def context prop_get('context') end def context=(val) prop_set('context', val) end end def equal_to @subclasses['equal-to'] ||= EqualTo.new(parent_instance: self, client: @client, create_children: @create_children) end class GreaterThan < ConfigClass def has_multiple_values?; false; end def _section :'greater-than' end class Qualifier < XML::ConfigClass def has_multiple_values?; true; end def _section :qualifier end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'value'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'127'}, 'string'=>{'content-dependent'=>'yes'}}}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def qualifier maybe_register_subclass('qualifier', Qualifier.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}, 'context'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def value prop_get('value') end def value=(val) prop_set('value', val) end def context prop_get('context') end def context=(val) prop_set('context', val) end end def greater_than @subclasses['greater-than'] ||= GreaterThan.new(parent_instance: self, client: @client, create_children: @create_children) end class PatternMatch < ConfigClass def has_multiple_values?; false; end def _section :'pattern-match' end class Qualifier < XML::ConfigClass def has_multiple_values?; true; end def _section :qualifier end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'value'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'127'}, 'string'=>{'content-dependent'=>'yes'}}}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def qualifier maybe_register_subclass('qualifier', Qualifier.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'context'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}, 'pattern'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}, 'negate'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}} def context prop_get('context') end def context=(val) prop_set('context', val) end def pattern prop_get('pattern') end def pattern=(val) prop_set('pattern', val) end def negate prop_get('negate') end def negate=(val) prop_set('negate', val) end end def pattern_match @subclasses['pattern-match'] ||= PatternMatch.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def operator maybe_register_subclass('operator', Operator.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def or_condition maybe_register_subclass('or-condition', OrCondition.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def and_condition maybe_register_subclass('and-condition', AndCondition.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'comment'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'256'}, 'scope'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'protocol-data-unit', 'enum'=>[{'value'=>'protocol-data-unit', 'help-string'=>'transaction'}, {'value'=>'session'}]}, 'order-free'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def comment prop_get('comment') end def comment=(val) prop_set('comment', val) end def scope prop_get('scope') end def scope=(val) prop_set('scope', val) end def order_free prop_get('order-free') end def order_free=(val) prop_set('order-free', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def standard maybe_register_subclass('standard', Standard.new(parent_instance: self, client: @client, create_children: @create_children)) end class Combination < ConfigClass def has_multiple_values?; false; end def _section :combination end class TimeAttribute < ConfigClass def has_multiple_values?; false; end def _section :'time-attribute' end @props = {'interval'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600'}, 'threshold'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255'}, 'track-by'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'source-and-destination', 'enum'=>[{'value'=>'source'}, {'value'=>'destination'}, {'value'=>'source-and-destination'}]}} def interval prop_get('interval') end def interval=(val) prop_set('interval', val) end def threshold prop_get('threshold') end def threshold=(val) prop_set('threshold', val) end def track_by prop_get('track-by') end def track_by=(val) prop_set('track-by', val) end end def time_attribute @subclasses['time-attribute'] ||= TimeAttribute.new(parent_instance: self, client: @client, create_children: @create_children) end class AndCondition < XML::ConfigClass def has_multiple_values?; true; end def _section :'and-condition' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class OrCondition < XML::ConfigClass def has_multiple_values?; true; end def _section :'or-condition' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'threat-id'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'10', 'regex'=>'^[0-9]+$', 'help-string'=>'threat id'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # threat id def threat_id prop_get('threat-id') end # threat id def threat_id=(val) prop_set('threat-id', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def or_condition maybe_register_subclass('or-condition', OrCondition.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def and_condition maybe_register_subclass('and-condition', AndCondition.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'order-free'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}} def order_free prop_get('order-free') end def order_free=(val) prop_set('order-free', val) end end def combination @subclasses['combination'] ||= Combination.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def signature maybe_register_subclass('signature', Signature.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'min'=>'15000', 'max'=>'7000000', 'help-string'=>'threat id range <15000-18000> and <6900001-7000000>'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'yes'}, {'value'=>'no'}]}, 'threatname'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1024', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'comment'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'256'}, 'severity'=>{'node-type'=>'element', 'type'=>'string'}, 'direction'=>{'node-type'=>'element', 'type'=>'string'}} # threat id range <15000-18000> and <6900001-7000000> def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end # alphanumeric string [ 0-9a-zA-Z._-] def threatname prop_get('threatname') end # alphanumeric string [ 0-9a-zA-Z._-] def threatname=(val) prop_set('threatname', val) end def comment prop_get('comment') end def comment=(val) prop_set('comment', val) end def severity prop_get('severity') end def severity=(val) prop_set('severity', val) end def direction prop_get('direction') end def direction=(val) prop_set('direction', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def spyware maybe_register_subclass('spyware', Spyware.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def threats @subclasses['threats'] ||= Threats.new(parent_instance: self, client: @client, create_children: @create_children) end class Profiles < ConfigClass def has_multiple_values?; false; end def _section :profiles end class HipObjects < XML::ConfigClass def has_multiple_values?; true; end def _section :'hip-objects' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class HostInfo < ConfigClass def has_multiple_values?; false; end def _section :'host-info' end class Criteria < ConfigClass def has_multiple_values?; false; end def _section :criteria end class Domain < ConfigClass def has_multiple_values?; false; end def _section :domain end @props = {'contains'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'is'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'is-not'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}} def contains prop_get('contains') end def contains=(val) prop_set('contains', val) end def is prop_get('is') end def is=(val) prop_set('is', val) end def is_not prop_get('is-not') end def is_not=(val) prop_set('is-not', val) end end def domain @subclasses['domain'] ||= Domain.new(parent_instance: self, client: @client, create_children: @create_children) end class Os < ConfigClass def has_multiple_values?; false; end def _section :os end class Contains < ConfigClass def has_multiple_values?; false; end def _section :contains end @props = {'Microsoft'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'default'=>'All', 'help-string'=>'Microsoft vendor'}, 'Apple'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'default'=>'All', 'help-string'=>'Apple vendor'}, 'Google'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'default'=>'All', 'help-string'=>'Google vendor'}, 'Linux'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'default'=>'All', 'help-string'=>'Linux vendor'}, 'Other'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'help-string'=>'Other vendor'}} # Microsoft vendor def Microsoft prop_get('Microsoft') end # Microsoft vendor def Microsoft=(val) prop_set('Microsoft', val) end # Apple vendor def Apple prop_get('Apple') end # Apple vendor def Apple=(val) prop_set('Apple', val) end # Google vendor def Google prop_get('Google') end # Google vendor def Google=(val) prop_set('Google', val) end # Linux vendor def Linux prop_get('Linux') end # Linux vendor def Linux=(val) prop_set('Linux', val) end # Other vendor def Other prop_get('Other') end # Other vendor def Other=(val) prop_set('Other', val) end end def contains @subclasses['contains'] ||= Contains.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def os @subclasses['os'] ||= Os.new(parent_instance: self, client: @client, create_children: @create_children) end class ClientVersion < ConfigClass def has_multiple_values?; false; end def _section :'client-version' end @props = {'contains'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'is'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'is-not'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}} def contains prop_get('contains') end def contains=(val) prop_set('contains', val) end def is prop_get('is') end def is=(val) prop_set('is', val) end def is_not prop_get('is-not') end def is_not=(val) prop_set('is-not', val) end end def client_version @subclasses['client-version'] ||= ClientVersion.new(parent_instance: self, client: @client, create_children: @create_children) end class HostName < ConfigClass def has_multiple_values?; false; end def _section :'host-name' end @props = {'contains'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'is'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'is-not'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}} def contains prop_get('contains') end def contains=(val) prop_set('contains', val) end def is prop_get('is') end def is=(val) prop_set('is', val) end def is_not prop_get('is-not') end def is_not=(val) prop_set('is-not', val) end end def host_name @subclasses['host-name'] ||= HostName.new(parent_instance: self, client: @client, create_children: @create_children) end class HostId < ConfigClass def has_multiple_values?; false; end def _section :'host-id' end @props = {'contains'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'is'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'is-not'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}} def contains prop_get('contains') end def contains=(val) prop_set('contains', val) end def is prop_get('is') end def is=(val) prop_set('is', val) end def is_not prop_get('is-not') end def is_not=(val) prop_set('is-not', val) end end def host_id @subclasses['host-id'] ||= HostId.new(parent_instance: self, client: @client, create_children: @create_children) end class SerialNumber < ConfigClass def has_multiple_values?; false; end def _section :'serial-number' end @props = {'contains'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'is'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'is-not'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}} def contains prop_get('contains') end def contains=(val) prop_set('contains', val) end def is prop_get('is') end def is=(val) prop_set('is', val) end def is_not prop_get('is-not') end def is_not=(val) prop_set('is-not', val) end end def serial_number @subclasses['serial-number'] ||= SerialNumber.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'managed'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-string'=>'If device is managed', 'enum'=>[{'value'=>'no', 'help-string'=>'No'}, {'value'=>'yes', 'help-string'=>'Yes'}]}} # If device is managed def managed prop_get('managed') end # If device is managed def managed=(val) prop_set('managed', val) end end def criteria @subclasses['criteria'] ||= Criteria.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def host_info @subclasses['host-info'] ||= HostInfo.new(parent_instance: self, client: @client, create_children: @create_children) end class NetworkInfo < ConfigClass def has_multiple_values?; false; end def _section :'network-info' end class Criteria < ConfigClass def has_multiple_values?; false; end def _section :criteria end class Network < XML::ConfigClass def has_multiple_values?; true; end def _section :network end class Is < XML::ConfigClass def has_multiple_values?; true; end def _section :is end class Wifi < ConfigClass def has_multiple_values?; false; end def _section :wifi end @props = {'ssid'=>{'node-type'=>'element', 'type'=>'string', 'uiHint-fieldLabel'=>'SSID', 'maxlen'=>'1023', 'regex'=>'.*', 'optional'=>'yes', 'help-string'=>'SSID'}} # SSID def ssid prop_get('ssid') end # SSID def ssid=(val) prop_set('ssid', val) end end def wifi @subclasses['wifi'] ||= Wifi.new(parent_instance: self, client: @client, create_children: @create_children) end class Mobile < ConfigClass def has_multiple_values?; false; end def _section :mobile end @props = {'carrier'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1023', 'regex'=>'.*', 'optional'=>'yes'}} def carrier prop_get('carrier') end def carrier=(val) prop_set('carrier', val) end end def mobile @subclasses['mobile'] ||= Mobile.new(parent_instance: self, client: @client, create_children: @create_children) end class Unknown < ConfigClass def has_multiple_values?; false; end def _section :unknown end @props = {} end def unknown @subclasses['unknown'] ||= Unknown.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def is maybe_register_subclass('is', Is.new(parent_instance: self, client: @client, create_children: @create_children)) end class IsNot < XML::ConfigClass def has_multiple_values?; true; end def _section :'is-not' end class Wifi < ConfigClass def has_multiple_values?; false; end def _section :wifi end @props = {'ssid'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1023', 'uiHint-fieldLabel'=>'SSID', 'regex'=>'.*', 'optional'=>'yes', 'help-string'=>'SSID'}} # SSID def ssid prop_get('ssid') end # SSID def ssid=(val) prop_set('ssid', val) end end def wifi @subclasses['wifi'] ||= Wifi.new(parent_instance: self, client: @client, create_children: @create_children) end class Mobile < ConfigClass def has_multiple_values?; false; end def _section :mobile end @props = {'carrier'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1023', 'regex'=>'.*', 'optional'=>'yes'}} def carrier prop_get('carrier') end def carrier=(val) prop_set('carrier', val) end end def mobile @subclasses['mobile'] ||= Mobile.new(parent_instance: self, client: @client, create_children: @create_children) end class Ethernet < ConfigClass def has_multiple_values?; false; end def _section :ethernet end @props = {} end def ethernet @subclasses['ethernet'] ||= Ethernet.new(parent_instance: self, client: @client, create_children: @create_children) end class Unknown < ConfigClass def has_multiple_values?; false; end def _section :unknown end @props = {} end def unknown @subclasses['unknown'] ||= Unknown.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def is_not maybe_register_subclass('is-not', IsNot.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def network maybe_register_subclass('network', Network.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def criteria @subclasses['criteria'] ||= Criteria.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def network_info @subclasses['network-info'] ||= NetworkInfo.new(parent_instance: self, client: @client, create_children: @create_children) end class PatchManagement < ConfigClass def has_multiple_values?; false; end def _section :'patch-management' end class Criteria < ConfigClass def has_multiple_values?; false; end def _section :criteria end class MissingPatches < ConfigClass def has_multiple_values?; false; end def _section :'missing-patches' end class Severity < ConfigClass def has_multiple_values?; false; end def _section :severity end @props = {'greater-equal'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'100000'}, 'greater-than'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'100000'}, 'is'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'100000'}, 'is-not'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'100000'}, 'less-equal'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'100000'}, 'less-than'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'100000'}} def greater_equal prop_get('greater-equal') end def greater_equal=(val) prop_set('greater-equal', val) end def greater_than prop_get('greater-than') end def greater_than=(val) prop_set('greater-than', val) end def is prop_get('is') end def is=(val) prop_set('is', val) end def is_not prop_get('is-not') end def is_not=(val) prop_set('is-not', val) end def less_equal prop_get('less-equal') end def less_equal=(val) prop_set('less-equal', val) end def less_than prop_get('less-than') end def less_than=(val) prop_set('less-than', val) end end def severity @subclasses['severity'] ||= Severity.new(parent_instance: self, client: @client, create_children: @create_children) end class Patches < XML::ConfigClass def has_multiple_values?; true; end def _section :patches end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1023', 'regex'=>'.*', 'help-string'=>'patch security-bulletin-id or kb-article-id'}} # patch security-bulletin-id or kb-article-id def member prop_get('member') end # patch security-bulletin-id or kb-article-id def member=(val) prop_set('member', val) end end def patches maybe_register_subclass('patches', Patches.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'check'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'has-any', 'enum'=>[{'value'=>'has-any'}, {'value'=>'has-none'}, {'value'=>'has-all'}]}} def check prop_get('check') end def check=(val) prop_set('check', val) end end def missing_patches @subclasses['missing-patches'] ||= MissingPatches.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'is-installed'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Is Installed'}, 'is-enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-string'=>'is enabled', 'enum'=>[{'value'=>'no', 'help-string'=>'No'}, {'value'=>'yes', 'help-string'=>'Yes'}, {'value'=>'not-available', 'help-string'=>'Not Available'}]}} # Is Installed def is_installed prop_get('is-installed') end # Is Installed def is_installed=(val) prop_set('is-installed', val) end # is enabled def is_enabled prop_get('is-enabled') end # is enabled def is_enabled=(val) prop_set('is-enabled', val) end end def criteria @subclasses['criteria'] ||= Criteria.new(parent_instance: self, client: @client, create_children: @create_children) end class Vendor < XML::ConfigClass def has_multiple_values?; true; end def _section :vendor end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Product < XML::ConfigClass def has_multiple_values?; true; end def _section :product end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'1023'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def product maybe_register_subclass('product', Product.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'103', 'regex'=>'.*'}} def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vendor maybe_register_subclass('vendor', Vendor.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'exclude-vendor'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}} def exclude_vendor prop_get('exclude-vendor') end def exclude_vendor=(val) prop_set('exclude-vendor', val) end end def patch_management @subclasses['patch-management'] ||= PatchManagement.new(parent_instance: self, client: @client, create_children: @create_children) end class DataLossPrevention < ConfigClass def has_multiple_values?; false; end def _section :'data-loss-prevention' end class Criteria < ConfigClass def has_multiple_values?; false; end def _section :criteria end @props = {'is-installed'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Is Installed'}, 'is-enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-string'=>'is enabled', 'enum'=>[{'value'=>'no', 'help-string'=>'No'}, {'value'=>'yes', 'help-string'=>'Yes'}, {'value'=>'not-available', 'help-string'=>'Not Available'}]}} # Is Installed def is_installed prop_get('is-installed') end # Is Installed def is_installed=(val) prop_set('is-installed', val) end # is enabled def is_enabled prop_get('is-enabled') end # is enabled def is_enabled=(val) prop_set('is-enabled', val) end end def criteria @subclasses['criteria'] ||= Criteria.new(parent_instance: self, client: @client, create_children: @create_children) end class Vendor < XML::ConfigClass def has_multiple_values?; true; end def _section :vendor end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Product < XML::ConfigClass def has_multiple_values?; true; end def _section :product end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'1023'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def product maybe_register_subclass('product', Product.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'103', 'regex'=>'.*'}} def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vendor maybe_register_subclass('vendor', Vendor.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'exclude-vendor'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}} def exclude_vendor prop_get('exclude-vendor') end def exclude_vendor=(val) prop_set('exclude-vendor', val) end end def data_loss_prevention @subclasses['data-loss-prevention'] ||= DataLossPrevention.new(parent_instance: self, client: @client, create_children: @create_children) end class Firewall < ConfigClass def has_multiple_values?; false; end def _section :firewall end class Criteria < ConfigClass def has_multiple_values?; false; end def _section :criteria end @props = {'is-installed'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Is Installed'}, 'is-enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-string'=>'is enabled', 'enum'=>[{'value'=>'no', 'help-string'=>'No'}, {'value'=>'yes', 'help-string'=>'Yes'}, {'value'=>'not-available', 'help-string'=>'Not Available'}]}} # Is Installed def is_installed prop_get('is-installed') end # Is Installed def is_installed=(val) prop_set('is-installed', val) end # is enabled def is_enabled prop_get('is-enabled') end # is enabled def is_enabled=(val) prop_set('is-enabled', val) end end def criteria @subclasses['criteria'] ||= Criteria.new(parent_instance: self, client: @client, create_children: @create_children) end class Vendor < XML::ConfigClass def has_multiple_values?; true; end def _section :vendor end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Product < XML::ConfigClass def has_multiple_values?; true; end def _section :product end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'1023'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def product maybe_register_subclass('product', Product.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'103', 'regex'=>'.*'}} def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vendor maybe_register_subclass('vendor', Vendor.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'exclude-vendor'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}} def exclude_vendor prop_get('exclude-vendor') end def exclude_vendor=(val) prop_set('exclude-vendor', val) end end def firewall @subclasses['firewall'] ||= Firewall.new(parent_instance: self, client: @client, create_children: @create_children) end class AntiMalware < ConfigClass def has_multiple_values?; false; end def _section :'anti-malware' end class Criteria < ConfigClass def has_multiple_values?; false; end def _section :criteria end class VirdefVersion < ConfigClass def has_multiple_values?; false; end def _section :'virdef-version' end class Within < XML::ConfigClass def has_multiple_values?; true; end def _section :within end @props = {'days'=>{'node-type'=>'element', 'help-string'=>'specify time in days', 'type'=>'rangedint', 'max'=>'65535', 'min'=>'1', 'default'=>'1'}, 'versions'=>{'node-type'=>'element', 'help-string'=>'specify versions range', 'type'=>'rangedint', 'max'=>'65535', 'min'=>'1', 'default'=>'1'}} # specify time in days def days prop_get('days') end # specify time in days def days=(val) prop_set('days', val) end # specify versions range def versions prop_get('versions') end # specify versions range def versions=(val) prop_set('versions', val) end end def within maybe_register_subclass('within', Within.new(parent_instance: self, client: @client, create_children: @create_children)) end class NotWithin < XML::ConfigClass def has_multiple_values?; true; end def _section :'not-within' end @props = {'days'=>{'node-type'=>'element', 'help-string'=>'specify time in days', 'type'=>'rangedint', 'max'=>'65535', 'min'=>'1', 'default'=>'1'}, 'versions'=>{'node-type'=>'element', 'help-string'=>'specify versions range', 'type'=>'rangedint', 'max'=>'65535', 'min'=>'1', 'default'=>'1'}} # specify time in days def days prop_get('days') end # specify time in days def days=(val) prop_set('days', val) end # specify versions range def versions prop_get('versions') end # specify versions range def versions=(val) prop_set('versions', val) end end def not_within maybe_register_subclass('not-within', NotWithin.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def virdef_version @subclasses['virdef-version'] ||= VirdefVersion.new(parent_instance: self, client: @client, create_children: @create_children) end class ProductVersion < ConfigClass def has_multiple_values?; false; end def _section :'product-version' end class Within < ConfigClass def has_multiple_values?; false; end def _section :within end @props = {'versions'=>{'node-type'=>'element', 'help-string'=>'versions range', 'type'=>'rangedint', 'max'=>'1', 'min'=>'1', 'default'=>'1'}} # versions range def versions prop_get('versions') end # versions range def versions=(val) prop_set('versions', val) end end def within @subclasses['within'] ||= Within.new(parent_instance: self, client: @client, create_children: @create_children) end class NotWithin < ConfigClass def has_multiple_values?; false; end def _section :'not-within' end @props = {'versions'=>{'node-type'=>'element', 'help-string'=>'versions range', 'type'=>'rangedint', 'max'=>'1', 'min'=>'1', 'default'=>'1'}} # versions range def versions prop_get('versions') end # versions range def versions=(val) prop_set('versions', val) end end def not_within @subclasses['not-within'] ||= NotWithin.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'greater-equal'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'greater-than'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'is'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'is-not'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'less-equal'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'less-than'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'contains'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}} def greater_equal prop_get('greater-equal') end def greater_equal=(val) prop_set('greater-equal', val) end def greater_than prop_get('greater-than') end def greater_than=(val) prop_set('greater-than', val) end def is prop_get('is') end def is=(val) prop_set('is', val) end def is_not prop_get('is-not') end def is_not=(val) prop_set('is-not', val) end def less_equal prop_get('less-equal') end def less_equal=(val) prop_set('less-equal', val) end def less_than prop_get('less-than') end def less_than=(val) prop_set('less-than', val) end def contains prop_get('contains') end def contains=(val) prop_set('contains', val) end end def product_version @subclasses['product-version'] ||= ProductVersion.new(parent_instance: self, client: @client, create_children: @create_children) end class LastScanTime < ConfigClass def has_multiple_values?; false; end def _section :'last-scan-time' end class NotAvailable < ConfigClass def has_multiple_values?; false; end def _section :'not-available' end @props = {} end def not_available @subclasses['not-available'] ||= NotAvailable.new(parent_instance: self, client: @client, create_children: @create_children) end class Within < XML::ConfigClass def has_multiple_values?; true; end def _section :within end @props = {'days'=>{'node-type'=>'element', 'help-string'=>'specify time in days', 'type'=>'rangedint', 'max'=>'65535', 'min'=>'1', 'default'=>'1'}, 'hours'=>{'node-type'=>'element', 'help-string'=>'specify time in hours', 'type'=>'rangedint', 'max'=>'65535', 'min'=>'1', 'default'=>'24'}} # specify time in days def days prop_get('days') end # specify time in days def days=(val) prop_set('days', val) end # specify time in hours def hours prop_get('hours') end # specify time in hours def hours=(val) prop_set('hours', val) end end def within maybe_register_subclass('within', Within.new(parent_instance: self, client: @client, create_children: @create_children)) end class NotWithin < XML::ConfigClass def has_multiple_values?; true; end def _section :'not-within' end @props = {'days'=>{'node-type'=>'element', 'help-string'=>'specify time in days', 'type'=>'rangedint', 'max'=>'65535', 'min'=>'1', 'default'=>'1'}, 'hours'=>{'node-type'=>'element', 'help-string'=>'specify time in hours', 'type'=>'rangedint', 'max'=>'65535', 'min'=>'1', 'default'=>'24'}} # specify time in days def days prop_get('days') end # specify time in days def days=(val) prop_set('days', val) end # specify time in hours def hours prop_get('hours') end # specify time in hours def hours=(val) prop_set('hours', val) end end def not_within maybe_register_subclass('not-within', NotWithin.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def last_scan_time @subclasses['last-scan-time'] ||= LastScanTime.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'is-installed'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Is Installed'}, 'real-time-protection'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-string'=>'real time protection', 'enum'=>[{'value'=>'no', 'help-string'=>'No'}, {'value'=>'yes', 'help-string'=>'Yes'}, {'value'=>'not-available', 'help-string'=>'Not Available'}]}} # Is Installed def is_installed prop_get('is-installed') end # Is Installed def is_installed=(val) prop_set('is-installed', val) end # real time protection def real_time_protection prop_get('real-time-protection') end # real time protection def real_time_protection=(val) prop_set('real-time-protection', val) end end def criteria @subclasses['criteria'] ||= Criteria.new(parent_instance: self, client: @client, create_children: @create_children) end class Vendor < XML::ConfigClass def has_multiple_values?; true; end def _section :vendor end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Product < XML::ConfigClass def has_multiple_values?; true; end def _section :product end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'1023'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def product maybe_register_subclass('product', Product.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'103', 'regex'=>'.*'}} def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vendor maybe_register_subclass('vendor', Vendor.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'exclude-vendor'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}} def exclude_vendor prop_get('exclude-vendor') end def exclude_vendor=(val) prop_set('exclude-vendor', val) end end def anti_malware @subclasses['anti-malware'] ||= AntiMalware.new(parent_instance: self, client: @client, create_children: @create_children) end class DiskBackup < ConfigClass def has_multiple_values?; false; end def _section :'disk-backup' end class Criteria < ConfigClass def has_multiple_values?; false; end def _section :criteria end class LastBackupTime < ConfigClass def has_multiple_values?; false; end def _section :'last-backup-time' end class NotAvailable < ConfigClass def has_multiple_values?; false; end def _section :'not-available' end @props = {} end def not_available @subclasses['not-available'] ||= NotAvailable.new(parent_instance: self, client: @client, create_children: @create_children) end class Within < XML::ConfigClass def has_multiple_values?; true; end def _section :within end @props = {'days'=>{'node-type'=>'element', 'help-string'=>'specify time in days', 'type'=>'rangedint', 'max'=>'65535', 'min'=>'1', 'default'=>'1'}, 'hours'=>{'node-type'=>'element', 'help-string'=>'specify time in hours', 'type'=>'rangedint', 'max'=>'65535', 'min'=>'1', 'default'=>'24'}} # specify time in days def days prop_get('days') end # specify time in days def days=(val) prop_set('days', val) end # specify time in hours def hours prop_get('hours') end # specify time in hours def hours=(val) prop_set('hours', val) end end def within maybe_register_subclass('within', Within.new(parent_instance: self, client: @client, create_children: @create_children)) end class NotWithin < XML::ConfigClass def has_multiple_values?; true; end def _section :'not-within' end @props = {'days'=>{'node-type'=>'element', 'help-string'=>'specify time in days', 'type'=>'rangedint', 'max'=>'65535', 'min'=>'1', 'default'=>'1'}, 'hours'=>{'node-type'=>'element', 'help-string'=>'specify time in hours', 'type'=>'rangedint', 'max'=>'65535', 'min'=>'1', 'default'=>'24'}} # specify time in days def days prop_get('days') end # specify time in days def days=(val) prop_set('days', val) end # specify time in hours def hours prop_get('hours') end # specify time in hours def hours=(val) prop_set('hours', val) end end def not_within maybe_register_subclass('not-within', NotWithin.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def last_backup_time @subclasses['last-backup-time'] ||= LastBackupTime.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'is-installed'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Is Installed'}} # Is Installed def is_installed prop_get('is-installed') end # Is Installed def is_installed=(val) prop_set('is-installed', val) end end def criteria @subclasses['criteria'] ||= Criteria.new(parent_instance: self, client: @client, create_children: @create_children) end class Vendor < XML::ConfigClass def has_multiple_values?; true; end def _section :vendor end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Product < XML::ConfigClass def has_multiple_values?; true; end def _section :product end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'1023'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def product maybe_register_subclass('product', Product.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'103', 'regex'=>'.*'}} def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vendor maybe_register_subclass('vendor', Vendor.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'exclude-vendor'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}} def exclude_vendor prop_get('exclude-vendor') end def exclude_vendor=(val) prop_set('exclude-vendor', val) end end def disk_backup @subclasses['disk-backup'] ||= DiskBackup.new(parent_instance: self, client: @client, create_children: @create_children) end class DiskEncryption < ConfigClass def has_multiple_values?; false; end def _section :'disk-encryption' end class Criteria < ConfigClass def has_multiple_values?; false; end def _section :criteria end class EncryptedLocations < XML::ConfigClass def has_multiple_values?; true; end def _section :'encrypted-locations' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class EncryptionState < XML::ConfigClass def has_multiple_values?; true; end def _section :'encryption-state' end @props = {'is'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'encrypted', 'enum'=>[{'value'=>'encrypted'}, {'value'=>'unencrypted'}, {'value'=>'partial'}, {'value'=>'unknown'}]}, 'is-not'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'encrypted', 'enum'=>[{'value'=>'encrypted'}, {'value'=>'unencrypted'}, {'value'=>'partial'}, {'value'=>'unknown'}]}} def is prop_get('is') end def is=(val) prop_set('is', val) end def is_not prop_get('is-not') end def is_not=(val) prop_set('is-not', val) end end def encryption_state maybe_register_subclass('encryption-state', EncryptionState.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'encryption location', 'maxlen'=>'1023', 'regex'=>'.*'}} # encryption location def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def encrypted_locations maybe_register_subclass('encrypted-locations', EncryptedLocations.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'is-installed'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Is Installed'}} # Is Installed def is_installed prop_get('is-installed') end # Is Installed def is_installed=(val) prop_set('is-installed', val) end end def criteria @subclasses['criteria'] ||= Criteria.new(parent_instance: self, client: @client, create_children: @create_children) end class Vendor < XML::ConfigClass def has_multiple_values?; true; end def _section :vendor end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Product < XML::ConfigClass def has_multiple_values?; true; end def _section :product end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'1023'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def product maybe_register_subclass('product', Product.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'103', 'regex'=>'.*'}} def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vendor maybe_register_subclass('vendor', Vendor.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'exclude-vendor'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}} def exclude_vendor prop_get('exclude-vendor') end def exclude_vendor=(val) prop_set('exclude-vendor', val) end end def disk_encryption @subclasses['disk-encryption'] ||= DiskEncryption.new(parent_instance: self, client: @client, create_children: @create_children) end class CustomChecks < ConfigClass def has_multiple_values?; false; end def _section :'custom-checks' end class Criteria < ConfigClass def has_multiple_values?; false; end def _section :criteria end class ProcessList < XML::ConfigClass def has_multiple_values?; true; end def _section :'process-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'1023', 'regex'=>'.*', 'help-string'=>'Process Name'}, 'running'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'optional'=>'yes'}} # Process Name def name prop_get('@name') end def running prop_get('running') end def running=(val) prop_set('running', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def process_list maybe_register_subclass('process-list', ProcessList.new(parent_instance: self, client: @client, create_children: @create_children)) end class RegistryKey < XML::ConfigClass def has_multiple_values?; true; end def _section :'registry-key' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class RegistryValue < XML::ConfigClass def has_multiple_values?; true; end def _section :'registry-value' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'1023', 'regex'=>'.*', 'help-string'=>'Registry value name'}, 'value-data'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'1024', 'help-string'=>'Registry value data'}, 'negate'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Value does not exist'}} # Registry value name def name prop_get('@name') end # Registry value data def value_data prop_get('value-data') end # Registry value data def value_data=(val) prop_set('value-data', val) end # Value does not exist def negate prop_get('negate') end # Value does not exist def negate=(val) prop_set('negate', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def registry_value maybe_register_subclass('registry-value', RegistryValue.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'1023', 'regex'=>'.*', 'help-string'=>'Registry key'}, 'default-value-data'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'1024', 'help-string'=>'Registry key default value data'}, 'negate'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Key does not exist'}} # Registry key def name prop_get('@name') end # Registry key default value data def default_value_data prop_get('default-value-data') end # Registry key default value data def default_value_data=(val) prop_set('default-value-data', val) end # Key does not exist def negate prop_get('negate') end # Key does not exist def negate=(val) prop_set('negate', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def registry_key maybe_register_subclass('registry-key', RegistryKey.new(parent_instance: self, client: @client, create_children: @create_children)) end class Plist < XML::ConfigClass def has_multiple_values?; true; end def _section :plist end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Key < XML::ConfigClass def has_multiple_values?; true; end def _section :key end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'1023', 'regex'=>'.*', 'help-string'=>'Key name'}, 'value'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'1024', 'help-string'=>'Key value'}, 'negate'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Value does not exist or match specified value data'}} # Key name def name prop_get('@name') end # Key value def value prop_get('value') end # Key value def value=(val) prop_set('value', val) end # Value does not exist or match specified value data def negate prop_get('negate') end # Value does not exist or match specified value data def negate=(val) prop_set('negate', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def key maybe_register_subclass('key', Key.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'1023', 'regex'=>'.*', 'help-string'=>'Preference list'}, 'negate'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Plist does not exist'}} # Preference list def name prop_get('@name') end # Plist does not exist def negate prop_get('negate') end # Plist does not exist def negate=(val) prop_set('negate', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def plist maybe_register_subclass('plist', Plist.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def criteria @subclasses['criteria'] ||= Criteria.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def custom_checks @subclasses['custom-checks'] ||= CustomChecks.new(parent_instance: self, client: @client, create_children: @create_children) end class MobileDevice < ConfigClass def has_multiple_values?; false; end def _section :'mobile-device' end class Criteria < ConfigClass def has_multiple_values?; false; end def _section :criteria end class LastCheckinTime < ConfigClass def has_multiple_values?; false; end def _section :'last-checkin-time' end class Within < ConfigClass def has_multiple_values?; false; end def _section :within end @props = {'days'=>{'node-type'=>'element', 'help-string'=>'specify time in days', 'type'=>'rangedint', 'max'=>'365', 'min'=>'1', 'default'=>'30'}} # specify time in days def days prop_get('days') end # specify time in days def days=(val) prop_set('days', val) end end def within @subclasses['within'] ||= Within.new(parent_instance: self, client: @client, create_children: @create_children) end class NotWithin < ConfigClass def has_multiple_values?; false; end def _section :'not-within' end @props = {'days'=>{'node-type'=>'element', 'help-string'=>'specify time in days', 'type'=>'rangedint', 'max'=>'365', 'min'=>'1', 'default'=>'30'}} # specify time in days def days prop_get('days') end # specify time in days def days=(val) prop_set('days', val) end end def not_within @subclasses['not-within'] ||= NotWithin.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def last_checkin_time @subclasses['last-checkin-time'] ||= LastCheckinTime.new(parent_instance: self, client: @client, create_children: @create_children) end class Imei < ConfigClass def has_multiple_values?; false; end def _section :imei end @props = {'contains'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'is'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'is-not'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}} def contains prop_get('contains') end def contains=(val) prop_set('contains', val) end def is prop_get('is') end def is=(val) prop_set('is', val) end def is_not prop_get('is-not') end def is_not=(val) prop_set('is-not', val) end end def imei @subclasses['imei'] ||= Imei.new(parent_instance: self, client: @client, create_children: @create_children) end class Model < ConfigClass def has_multiple_values?; false; end def _section :model end @props = {'contains'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'is'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'is-not'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}} def contains prop_get('contains') end def contains=(val) prop_set('contains', val) end def is prop_get('is') end def is=(val) prop_set('is', val) end def is_not prop_get('is-not') end def is_not=(val) prop_set('is-not', val) end end def model @subclasses['model'] ||= Model.new(parent_instance: self, client: @client, create_children: @create_children) end class PhoneNumber < ConfigClass def has_multiple_values?; false; end def _section :'phone-number' end @props = {'contains'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'is'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'is-not'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}} def contains prop_get('contains') end def contains=(val) prop_set('contains', val) end def is prop_get('is') end def is=(val) prop_set('is', val) end def is_not prop_get('is-not') end def is_not=(val) prop_set('is-not', val) end end def phone_number @subclasses['phone-number'] ||= PhoneNumber.new(parent_instance: self, client: @client, create_children: @create_children) end class Tag < ConfigClass def has_multiple_values?; false; end def _section :tag end @props = {'contains'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'is'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'is-not'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}} def contains prop_get('contains') end def contains=(val) prop_set('contains', val) end def is prop_get('is') end def is=(val) prop_set('is', val) end def is_not prop_get('is-not') end def is_not=(val) prop_set('is-not', val) end end def tag @subclasses['tag'] ||= Tag.new(parent_instance: self, client: @client, create_children: @create_children) end class Applications < ConfigClass def has_multiple_values?; false; end def _section :applications end class HasMalware < XML::ConfigClass def has_multiple_values?; true; end def _section :'has-malware' end class No < ConfigClass def has_multiple_values?; false; end def _section :no end @props = {} end def no @subclasses['no'] ||= No.new(parent_instance: self, client: @client, create_children: @create_children) end class Yes < ConfigClass def has_multiple_values?; false; end def _section :yes end class Excludes < XML::ConfigClass def has_multiple_values?; true; end def _section :excludes end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31'}, 'package'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'1024', 'help-string'=>'application package name'}, 'hash'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'1024', 'help-string'=>'application hash'}} def name prop_get('@name') end # application package name def package prop_get('package') end # application package name def package=(val) prop_set('package', val) end # application hash def hash prop_get('hash') end # application hash def hash=(val) prop_set('hash', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def excludes maybe_register_subclass('excludes', Excludes.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def yes @subclasses['yes'] ||= Yes.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def has_malware maybe_register_subclass('has-malware', HasMalware.new(parent_instance: self, client: @client, create_children: @create_children)) end class Includes < XML::ConfigClass def has_multiple_values?; true; end def _section :includes end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31'}, 'package'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'1024', 'help-string'=>'application package name'}, 'hash'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'1024', 'help-string'=>'application hash'}} def name prop_get('@name') end # application package name def package prop_get('package') end # application package name def package=(val) prop_set('package', val) end # application hash def hash prop_get('hash') end # application hash def hash=(val) prop_set('hash', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def includes maybe_register_subclass('includes', Includes.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'has-unmanaged-app'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-string'=>'Has apps that are not managed', 'enum'=>[{'value'=>'no', 'help-string'=>'No'}, {'value'=>'yes', 'help-string'=>'Yes'}]}} # Has apps that are not managed def has_unmanaged_app prop_get('has-unmanaged-app') end # Has apps that are not managed def has_unmanaged_app=(val) prop_set('has-unmanaged-app', val) end end def applications @subclasses['applications'] ||= Applications.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'jailbroken'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-string'=>'If device is by rooted/jailbroken', 'enum'=>[{'value'=>'no', 'help-string'=>'No'}, {'value'=>'yes', 'help-string'=>'Yes'}]}, 'disk-encrypted'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-string'=>'If device\'s disk is encrypted', 'enum'=>[{'value'=>'no', 'help-string'=>'No'}, {'value'=>'yes', 'help-string'=>'Yes'}]}, 'passcode-set'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-string'=>'If device\'s passcode is present', 'enum'=>[{'value'=>'no', 'help-string'=>'No'}, {'value'=>'yes', 'help-string'=>'Yes'}]}} # If device is by rooted/jailbroken def jailbroken prop_get('jailbroken') end # If device is by rooted/jailbroken def jailbroken=(val) prop_set('jailbroken', val) end # If device's disk is encrypted def disk_encrypted prop_get('disk-encrypted') end # If device's disk is encrypted def disk_encrypted=(val) prop_set('disk-encrypted', val) end # If device's passcode is present def passcode_set prop_get('passcode-set') end # If device's passcode is present def passcode_set=(val) prop_set('passcode-set', val) end end def criteria @subclasses['criteria'] ||= Criteria.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def mobile_device @subclasses['mobile-device'] ||= MobileDevice.new(parent_instance: self, client: @client, create_children: @create_children) end class Certificate < ConfigClass def has_multiple_values?; false; end def _section :certificate end class Criteria < ConfigClass def has_multiple_values?; false; end def _section :criteria end class CertificateAttributes < XML::ConfigClass def has_multiple_values?; true; end def _section :'certificate-attributes' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'enum', 'maxlen'=>'1023', 'regex'=>'.*', 'help-string'=>'Attribute Name', 'enum'=>[{'value'=>'serial-no'}, {'value'=>'signature-algorithm'}, {'value'=>'issuer'}, {'value'=>'valid-from'}, {'value'=>'valid-to'}, {'value'=>'subject'}, {'value'=>'certificate-template-name'}, {'value'=>'certificate-template-oid'}, {'value'=>'extended-key-usage'}, {'value'=>'subject-key-identifier'}, {'value'=>'authority-key-identifier'}, {'value'=>'subject-alternative-name-url'}, {'value'=>'subject-alternative-name-email'}, {'value'=>'subject-alternative-name-ip'}, {'value'=>'key-usage'}]}, 'value'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'1024', 'help-string'=>'Key value'}} # Attribute Name def name prop_get('@name') end # Key value def value prop_get('value') end # Key value def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def certificate_attributes maybe_register_subclass('certificate-attributes', CertificateAttributes.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'certificate-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Profile for authenticating client certificates'}} # Profile for authenticating client certificates def certificate_profile prop_get('certificate-profile') end # Profile for authenticating client certificates def certificate_profile=(val) prop_set('certificate-profile', val) end end def criteria @subclasses['criteria'] ||= Criteria.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def certificate @subclasses['certificate'] ||= Certificate.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'yes'}, {'value'=>'no'}]}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def hip_objects maybe_register_subclass('hip-objects', HipObjects.new(parent_instance: self, client: @client, create_children: @create_children)) end class Virus < XML::ConfigClass def has_multiple_values?; true; end def _section :virus end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class MlavEngineFilebasedEnabled < XML::ConfigClass def has_multiple_values?; true; end def _section :'mlav-engine-filebased-enabled' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'128'}, 'mlav-policy-action'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'enable(alert-only)'}, {'value'=>'disable'}]}} def name prop_get('@name') end def mlav_policy_action prop_get('mlav-policy-action') end def mlav_policy_action=(val) prop_set('mlav-policy-action', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def mlav_engine_filebased_enabled maybe_register_subclass('mlav-engine-filebased-enabled', MlavEngineFilebasedEnabled.new(parent_instance: self, client: @client, create_children: @create_children)) end class Decoder < XML::ConfigClass def has_multiple_values?; true; end def _section :decoder end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'content-dependent'=>'yes', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'default', 'enum'=>[{'value'=>'default'}, {'value'=>'allow'}, {'value'=>'alert'}, {'value'=>'drop'}, {'value'=>'reset-client'}, {'value'=>'reset-server'}, {'value'=>'reset-both'}]}, 'wildfire-action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'default', 'enum'=>[{'value'=>'default'}, {'value'=>'allow'}, {'value'=>'alert'}, {'value'=>'drop'}, {'value'=>'reset-client'}, {'value'=>'reset-server'}, {'value'=>'reset-both'}]}, 'mlav-action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'default', 'enum'=>[{'value'=>'default'}, {'value'=>'allow'}, {'value'=>'alert'}, {'value'=>'drop'}, {'value'=>'reset-client'}, {'value'=>'reset-server'}, {'value'=>'reset-both'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def action prop_get('action') end def action=(val) prop_set('action', val) end def wildfire_action prop_get('wildfire-action') end def wildfire_action=(val) prop_set('wildfire-action', val) end def mlav_action prop_get('mlav-action') end def mlav_action=(val) prop_set('mlav-action', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def decoder maybe_register_subclass('decoder', Decoder.new(parent_instance: self, client: @client, create_children: @create_children)) end class Application < XML::ConfigClass def has_multiple_values?; true; end def _section :application end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'content-dependent'=>'yes', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'default', 'enum'=>[{'value'=>'default'}, {'value'=>'allow'}, {'value'=>'alert'}, {'value'=>'drop'}, {'value'=>'reset-client'}, {'value'=>'reset-server'}, {'value'=>'reset-both'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def action prop_get('action') end def action=(val) prop_set('action', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def application maybe_register_subclass('application', Application.new(parent_instance: self, client: @client, create_children: @create_children)) end class ThreatException < XML::ConfigClass def has_multiple_values?; true; end def _section :'threat-exception' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'^[0-9]+$', 'help-string'=>'threat id'}} # threat id def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def threat_exception maybe_register_subclass('threat-exception', ThreatException.new(parent_instance: self, client: @client, create_children: @create_children)) end class MlavException < XML::ConfigClass def has_multiple_values?; true; end def _section :'mlav-exception' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'mlav exception feature vector'}, 'filename'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}} # mlav exception feature vector def name prop_get('@name') end def filename prop_get('filename') end def filename=(val) prop_set('filename', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def mlav_exception maybe_register_subclass('mlav-exception', MlavException.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'yes'}, {'value'=>'no'}]}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'packet-capture'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'wfrt-hold-mode'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end def packet_capture prop_get('packet-capture') end def packet_capture=(val) prop_set('packet-capture', val) end def wfrt_hold_mode prop_get('wfrt-hold-mode') end def wfrt_hold_mode=(val) prop_set('wfrt-hold-mode', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def virus maybe_register_subclass('virus', Virus.new(parent_instance: self, client: @client, create_children: @create_children)) end class Spyware < XML::ConfigClass def has_multiple_values?; true; end def _section :spyware end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class BotnetDomains < ConfigClass def has_multiple_values?; false; end def _section :'botnet-domains' end class Lists < XML::ConfigClass def has_multiple_values?; true; end def _section :lists end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Action < XML::ConfigClass def has_multiple_values?; true; end def _section :action end class Alert < ConfigClass def has_multiple_values?; false; end def _section :alert end @props = {} end def alert @subclasses['alert'] ||= Alert.new(parent_instance: self, client: @client, create_children: @create_children) end class Allow < ConfigClass def has_multiple_values?; false; end def _section :allow end @props = {} end def allow @subclasses['allow'] ||= Allow.new(parent_instance: self, client: @client, create_children: @create_children) end class Block < ConfigClass def has_multiple_values?; false; end def _section :block end @props = {} end def block @subclasses['block'] ||= Block.new(parent_instance: self, client: @client, create_children: @create_children) end class Sinkhole < ConfigClass def has_multiple_values?; false; end def _section :sinkhole end @props = {} end def sinkhole @subclasses['sinkhole'] ||= Sinkhole.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def action maybe_register_subclass('action', Action.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'List name, alphanumeric string [ 0-9a-zA-Z._-]'}, 'packet-capture'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'disable', 'enum'=>[{'value'=>'disable'}, {'value'=>'single-packet'}, {'value'=>'extended-capture'}]}} # List name, alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def packet_capture prop_get('packet-capture') end def packet_capture=(val) prop_set('packet-capture', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def lists maybe_register_subclass('lists', Lists.new(parent_instance: self, client: @client, create_children: @create_children)) end class DnsSecurityCategories < XML::ConfigClass def has_multiple_values?; true; end def _section :'dns-security-categories' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'default', 'enum'=>[{'value'=>'default'}, {'value'=>'allow'}, {'value'=>'block'}, {'value'=>'sinkhole'}]}, 'log-level'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'default', 'enum'=>[{'value'=>'default'}, {'value'=>'none'}, {'value'=>'low'}, {'value'=>'informational'}, {'value'=>'medium'}, {'value'=>'high'}, {'value'=>'critical'}]}, 'packet-capture'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'disable', 'enum'=>[{'value'=>'disable'}, {'value'=>'single-packet'}, {'value'=>'extended-capture'}]}} def name prop_get('@name') end def action prop_get('action') end def action=(val) prop_set('action', val) end def log_level prop_get('log-level') end def log_level=(val) prop_set('log-level', val) end def packet_capture prop_get('packet-capture') end def packet_capture=(val) prop_set('packet-capture', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def dns_security_categories maybe_register_subclass('dns-security-categories', DnsSecurityCategories.new(parent_instance: self, client: @client, create_children: @create_children)) end class Whitelist < XML::ConfigClass def has_multiple_values?; true; end def _section :whitelist end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'256', 'regex'=>'^(\*\.)?([a-zA-Z0-9_-]+\.)*([a-zA-Z0-9_-]+)$'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}} def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def whitelist maybe_register_subclass('whitelist', Whitelist.new(parent_instance: self, client: @client, create_children: @create_children)) end class Sinkhole < ConfigClass def has_multiple_values?; false; end def _section :sinkhole end @props = {'ipv4-address'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'pan-sinkhole-default-ip', 'multi-types'=>{'string'=>{}, 'enum'=>[{'value'=>'127.0.0.1', 'help-string'=>'IPv4 Loopback IP'}, {'value'=>'pan-sinkhole-default-ip', 'help-string'=>'Palo Alto Networks Sinkhole IP'}]}}, 'ipv6-address'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'::1', 'multi-types'=>{'ipspec'=>{}, 'enum'=>[{'value'=>'::1', 'help-string'=>'IPv6 Loopback IP'}]}}} def ipv4_address prop_get('ipv4-address') end def ipv4_address=(val) prop_set('ipv4-address', val) end def ipv6_address prop_get('ipv6-address') end def ipv6_address=(val) prop_set('ipv6-address', val) end end def sinkhole @subclasses['sinkhole'] ||= Sinkhole.new(parent_instance: self, client: @client, create_children: @create_children) end class RtypeAction < ConfigClass def has_multiple_values?; false; end def _section :'rtype-action' end @props = {'svcb'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'allow', 'help-string'=>'SVCB(64)', 'enum'=>[{'value'=>'allow'}, {'value'=>'block'}]}, 'https'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'allow', 'help-string'=>'HTTPS(65)', 'enum'=>[{'value'=>'allow'}, {'value'=>'block'}]}, 'any'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'allow', 'help-string'=>'ANY(255)', 'enum'=>[{'value'=>'allow'}, {'value'=>'block'}]}} # SVCB(64) def svcb prop_get('svcb') end # SVCB(64) def svcb=(val) prop_set('svcb', val) end # HTTPS(65) def https prop_get('https') end # HTTPS(65) def https=(val) prop_set('https', val) end # ANY(255) def any prop_get('any') end # ANY(255) def any=(val) prop_set('any', val) end end def rtype_action @subclasses['rtype-action'] ||= RtypeAction.new(parent_instance: self, client: @client, create_children: @create_children) end class ThreatException < XML::ConfigClass def has_multiple_values?; true; end def _section :'threat-exception' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'threat id'}} # threat id def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def threat_exception maybe_register_subclass('threat-exception', ThreatException.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def botnet_domains @subclasses['botnet-domains'] ||= BotnetDomains.new(parent_instance: self, client: @client, create_children: @create_children) end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Severity < XML::ConfigClass def has_multiple_values?; true; end def _section :severity end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'content-dependent'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'All severities'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def severity maybe_register_subclass('severity', Severity.new(parent_instance: self, client: @client, create_children: @create_children)) end class Action < XML::ConfigClass def has_multiple_values?; true; end def _section :action end class Default < ConfigClass def has_multiple_values?; false; end def _section :default end @props = {} end def default @subclasses['default'] ||= Default.new(parent_instance: self, client: @client, create_children: @create_children) end class Allow < ConfigClass def has_multiple_values?; false; end def _section :allow end @props = {} end def allow @subclasses['allow'] ||= Allow.new(parent_instance: self, client: @client, create_children: @create_children) end class Alert < ConfigClass def has_multiple_values?; false; end def _section :alert end @props = {} end def alert @subclasses['alert'] ||= Alert.new(parent_instance: self, client: @client, create_children: @create_children) end class Drop < ConfigClass def has_multiple_values?; false; end def _section :drop end @props = {} end def drop @subclasses['drop'] ||= Drop.new(parent_instance: self, client: @client, create_children: @create_children) end class ResetClient < ConfigClass def has_multiple_values?; false; end def _section :'reset-client' end @props = {} end def reset_client @subclasses['reset-client'] ||= ResetClient.new(parent_instance: self, client: @client, create_children: @create_children) end class ResetServer < ConfigClass def has_multiple_values?; false; end def _section :'reset-server' end @props = {} end def reset_server @subclasses['reset-server'] ||= ResetServer.new(parent_instance: self, client: @client, create_children: @create_children) end class ResetBoth < ConfigClass def has_multiple_values?; false; end def _section :'reset-both' end @props = {} end def reset_both @subclasses['reset-both'] ||= ResetBoth.new(parent_instance: self, client: @client, create_children: @create_children) end class BlockIp < ConfigClass def has_multiple_values?; false; end def _section :'block-ip' end @props = {'track-by'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'source'}, {'value'=>'source-and-destination'}]}, 'duration'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'help-string'=>'Duration for block ip'}} def track_by prop_get('track-by') end def track_by=(val) prop_set('track-by', val) end # Duration for block ip def duration prop_get('duration') end # Duration for block ip def duration=(val) prop_set('duration', val) end end def block_ip @subclasses['block-ip'] ||= BlockIp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def action maybe_register_subclass('action', Action.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'threat-name'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'optional'=>'yes', 'help-string'=>'Threat name', 'multi-types'=>{'string'=>{}, 'enum'=>[{'value'=>'any'}]}}, 'category'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'content-dependent'=>'yes'}, 'enum'=>[{'value'=>'any'}]}}, 'packet-capture'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'disable', 'enum'=>[{'value'=>'disable'}, {'value'=>'single-packet'}, {'value'=>'extended-capture'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # Threat name def threat_name prop_get('threat-name') end # Threat name def threat_name=(val) prop_set('threat-name', val) end def category prop_get('category') end def category=(val) prop_set('category', val) end def packet_capture prop_get('packet-capture') end def packet_capture=(val) prop_set('packet-capture', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end class ThreatException < XML::ConfigClass def has_multiple_values?; true; end def _section :'threat-exception' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Action < XML::ConfigClass def has_multiple_values?; true; end def _section :action end class Default < ConfigClass def has_multiple_values?; false; end def _section :default end @props = {} end def default @subclasses['default'] ||= Default.new(parent_instance: self, client: @client, create_children: @create_children) end class Allow < ConfigClass def has_multiple_values?; false; end def _section :allow end @props = {} end def allow @subclasses['allow'] ||= Allow.new(parent_instance: self, client: @client, create_children: @create_children) end class Alert < ConfigClass def has_multiple_values?; false; end def _section :alert end @props = {} end def alert @subclasses['alert'] ||= Alert.new(parent_instance: self, client: @client, create_children: @create_children) end class Drop < ConfigClass def has_multiple_values?; false; end def _section :drop end @props = {} end def drop @subclasses['drop'] ||= Drop.new(parent_instance: self, client: @client, create_children: @create_children) end class ResetBoth < ConfigClass def has_multiple_values?; false; end def _section :'reset-both' end @props = {} end def reset_both @subclasses['reset-both'] ||= ResetBoth.new(parent_instance: self, client: @client, create_children: @create_children) end class ResetClient < ConfigClass def has_multiple_values?; false; end def _section :'reset-client' end @props = {} end def reset_client @subclasses['reset-client'] ||= ResetClient.new(parent_instance: self, client: @client, create_children: @create_children) end class ResetServer < ConfigClass def has_multiple_values?; false; end def _section :'reset-server' end @props = {} end def reset_server @subclasses['reset-server'] ||= ResetServer.new(parent_instance: self, client: @client, create_children: @create_children) end class BlockIp < ConfigClass def has_multiple_values?; false; end def _section :'block-ip' end @props = {'track-by'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'source'}, {'value'=>'source-and-destination'}]}, 'duration'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'help-string'=>'Duration for block ip'}} def track_by prop_get('track-by') end def track_by=(val) prop_set('track-by', val) end # Duration for block ip def duration prop_get('duration') end # Duration for block ip def duration=(val) prop_set('duration', val) end end def block_ip @subclasses['block-ip'] ||= BlockIp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def action maybe_register_subclass('action', Action.new(parent_instance: self, client: @client, create_children: @create_children)) end class ExemptIp < XML::ConfigClass def has_multiple_values?; true; end def _section :'exempt-ip' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'optional'=>'no', 'type'=>'ipspec', 'unicast-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes', 'help-string'=>'Exempt IP address'}} # Exempt IP address def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def exempt_ip maybe_register_subclass('exempt-ip', ExemptIp.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'10', 'regex'=>'^[0-9]+$', 'help-string'=>'threat id'}, 'packet-capture'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'disable', 'enum'=>[{'value'=>'disable'}, {'value'=>'single-packet'}, {'value'=>'extended-capture'}]}} # threat id def name prop_get('@name') end def packet_capture prop_get('packet-capture') end def packet_capture=(val) prop_set('packet-capture', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def threat_exception maybe_register_subclass('threat-exception', ThreatException.new(parent_instance: self, client: @client, create_children: @create_children)) end class MicaEngineSpywareEnabled < XML::ConfigClass def has_multiple_values?; true; end def _section :'mica-engine-spyware-enabled' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'128'}, 'inline-policy-action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'alert', 'enum'=>[{'value'=>'drop'}, {'value'=>'alert'}, {'value'=>'allow'}, {'value'=>'reset-both'}, {'value'=>'reset-client'}, {'value'=>'reset-server'}]}} def name prop_get('@name') end def inline_policy_action prop_get('inline-policy-action') end def inline_policy_action=(val) prop_set('inline-policy-action', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def mica_engine_spyware_enabled maybe_register_subclass('mica-engine-spyware-enabled', MicaEngineSpywareEnabled.new(parent_instance: self, client: @client, create_children: @create_children)) end class InlineExceptionEdlUrl < XML::ConfigClass def has_multiple_values?; true; end def _section :'inline-exception-edl-url' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def inline_exception_edl_url maybe_register_subclass('inline-exception-edl-url', InlineExceptionEdlUrl.new(parent_instance: self, client: @client, create_children: @create_children)) end class InlineExceptionIpAddress < XML::ConfigClass def has_multiple_values?; true; end def _section :'inline-exception-ip-address' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'MICA inline exception IP objects', 'maxlen'=>'63'}} # MICA inline exception IP objects def member prop_get('member') end # MICA inline exception IP objects def member=(val) prop_set('member', val) end end def inline_exception_ip_address maybe_register_subclass('inline-exception-ip-address', InlineExceptionIpAddress.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'yes'}, {'value'=>'no'}]}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'cloud-inline-analysis'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable cloud inline analysis'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end # Enable cloud inline analysis def cloud_inline_analysis prop_get('cloud-inline-analysis') end # Enable cloud inline analysis def cloud_inline_analysis=(val) prop_set('cloud-inline-analysis', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def spyware maybe_register_subclass('spyware', Spyware.new(parent_instance: self, client: @client, create_children: @create_children)) end class Vulnerability < XML::ConfigClass def has_multiple_values?; true; end def _section :vulnerability end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Cve < XML::ConfigClass def has_multiple_values?; true; end def _section :cve end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'maxlen'=>'63', 'optional'=>'yes', 'default'=>'any', 'help-string'=>'CVE #, CVE-1999-0001 etc', 'multi-types'=>{'string'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'All CVE'}]}}} # CVE #, CVE-1999-0001 etc def member prop_get('member') end # CVE #, CVE-1999-0001 etc def member=(val) prop_set('member', val) end end def cve maybe_register_subclass('cve', Cve.new(parent_instance: self, client: @client, create_children: @create_children)) end class VendorId < XML::ConfigClass def has_multiple_values?; true; end def _section :'vendor-id' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'maxlen'=>'63', 'optional'=>'yes', 'default'=>'any', 'help-string'=>'Vendor ID', 'multi-types'=>{'string'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'All vendors'}]}}} # Vendor ID def member prop_get('member') end # Vendor ID def member=(val) prop_set('member', val) end end def vendor_id maybe_register_subclass('vendor-id', VendorId.new(parent_instance: self, client: @client, create_children: @create_children)) end class Severity < XML::ConfigClass def has_multiple_values?; true; end def _section :severity end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'content-dependent'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'All severities'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def severity maybe_register_subclass('severity', Severity.new(parent_instance: self, client: @client, create_children: @create_children)) end class Action < XML::ConfigClass def has_multiple_values?; true; end def _section :action end class Default < ConfigClass def has_multiple_values?; false; end def _section :default end @props = {} end def default @subclasses['default'] ||= Default.new(parent_instance: self, client: @client, create_children: @create_children) end class Allow < ConfigClass def has_multiple_values?; false; end def _section :allow end @props = {} end def allow @subclasses['allow'] ||= Allow.new(parent_instance: self, client: @client, create_children: @create_children) end class Alert < ConfigClass def has_multiple_values?; false; end def _section :alert end @props = {} end def alert @subclasses['alert'] ||= Alert.new(parent_instance: self, client: @client, create_children: @create_children) end class Drop < ConfigClass def has_multiple_values?; false; end def _section :drop end @props = {} end def drop @subclasses['drop'] ||= Drop.new(parent_instance: self, client: @client, create_children: @create_children) end class ResetClient < ConfigClass def has_multiple_values?; false; end def _section :'reset-client' end @props = {} end def reset_client @subclasses['reset-client'] ||= ResetClient.new(parent_instance: self, client: @client, create_children: @create_children) end class ResetServer < ConfigClass def has_multiple_values?; false; end def _section :'reset-server' end @props = {} end def reset_server @subclasses['reset-server'] ||= ResetServer.new(parent_instance: self, client: @client, create_children: @create_children) end class ResetBoth < ConfigClass def has_multiple_values?; false; end def _section :'reset-both' end @props = {} end def reset_both @subclasses['reset-both'] ||= ResetBoth.new(parent_instance: self, client: @client, create_children: @create_children) end class BlockIp < ConfigClass def has_multiple_values?; false; end def _section :'block-ip' end @props = {'track-by'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'source'}, {'value'=>'source-and-destination'}]}, 'duration'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'help-string'=>'Duration for block ip'}} def track_by prop_get('track-by') end def track_by=(val) prop_set('track-by', val) end # Duration for block ip def duration prop_get('duration') end # Duration for block ip def duration=(val) prop_set('duration', val) end end def block_ip @subclasses['block-ip'] ||= BlockIp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def action maybe_register_subclass('action', Action.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'threat-name'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'optional'=>'yes', 'help-string'=>'Threat name', 'multi-types'=>{'string'=>{}, 'enum'=>[{'value'=>'any'}]}}, 'host'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'any', 'enum'=>[{'value'=>'any'}, {'value'=>'client'}, {'value'=>'server'}]}, 'category'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'content-dependent'=>'yes'}, 'enum'=>[{'value'=>'any'}]}}, 'packet-capture'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'disable', 'enum'=>[{'value'=>'disable'}, {'value'=>'single-packet'}, {'value'=>'extended-capture'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # Threat name def threat_name prop_get('threat-name') end # Threat name def threat_name=(val) prop_set('threat-name', val) end def host prop_get('host') end def host=(val) prop_set('host', val) end def category prop_get('category') end def category=(val) prop_set('category', val) end def packet_capture prop_get('packet-capture') end def packet_capture=(val) prop_set('packet-capture', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end class ThreatException < XML::ConfigClass def has_multiple_values?; true; end def _section :'threat-exception' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Action < XML::ConfigClass def has_multiple_values?; true; end def _section :action end class Default < ConfigClass def has_multiple_values?; false; end def _section :default end @props = {} end def default @subclasses['default'] ||= Default.new(parent_instance: self, client: @client, create_children: @create_children) end class Allow < ConfigClass def has_multiple_values?; false; end def _section :allow end @props = {} end def allow @subclasses['allow'] ||= Allow.new(parent_instance: self, client: @client, create_children: @create_children) end class Alert < ConfigClass def has_multiple_values?; false; end def _section :alert end @props = {} end def alert @subclasses['alert'] ||= Alert.new(parent_instance: self, client: @client, create_children: @create_children) end class Drop < ConfigClass def has_multiple_values?; false; end def _section :drop end @props = {} end def drop @subclasses['drop'] ||= Drop.new(parent_instance: self, client: @client, create_children: @create_children) end class ResetClient < ConfigClass def has_multiple_values?; false; end def _section :'reset-client' end @props = {} end def reset_client @subclasses['reset-client'] ||= ResetClient.new(parent_instance: self, client: @client, create_children: @create_children) end class ResetServer < ConfigClass def has_multiple_values?; false; end def _section :'reset-server' end @props = {} end def reset_server @subclasses['reset-server'] ||= ResetServer.new(parent_instance: self, client: @client, create_children: @create_children) end class ResetBoth < ConfigClass def has_multiple_values?; false; end def _section :'reset-both' end @props = {} end def reset_both @subclasses['reset-both'] ||= ResetBoth.new(parent_instance: self, client: @client, create_children: @create_children) end class BlockIp < ConfigClass def has_multiple_values?; false; end def _section :'block-ip' end @props = {'track-by'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'source'}, {'value'=>'source-and-destination'}]}, 'duration'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'help-string'=>'Duration for block ip'}} def track_by prop_get('track-by') end def track_by=(val) prop_set('track-by', val) end # Duration for block ip def duration prop_get('duration') end # Duration for block ip def duration=(val) prop_set('duration', val) end end def block_ip @subclasses['block-ip'] ||= BlockIp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def action maybe_register_subclass('action', Action.new(parent_instance: self, client: @client, create_children: @create_children)) end class TimeAttribute < ConfigClass def has_multiple_values?; false; end def _section :'time-attribute' end @props = {'interval'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600'}, 'threshold'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535'}, 'track-by'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'source'}, {'value'=>'destination'}, {'value'=>'source-and-destination'}]}} def interval prop_get('interval') end def interval=(val) prop_set('interval', val) end def threshold prop_get('threshold') end def threshold=(val) prop_set('threshold', val) end def track_by prop_get('track-by') end def track_by=(val) prop_set('track-by', val) end end def time_attribute @subclasses['time-attribute'] ||= TimeAttribute.new(parent_instance: self, client: @client, create_children: @create_children) end class ExemptIp < XML::ConfigClass def has_multiple_values?; true; end def _section :'exempt-ip' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'optional'=>'no', 'type'=>'ipspec', 'unicast-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes', 'help-string'=>'Exempt IP address'}} # Exempt IP address def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def exempt_ip maybe_register_subclass('exempt-ip', ExemptIp.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'10', 'regex'=>'^[0-9]+$', 'help-string'=>'threat id'}, 'packet-capture'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'disable', 'enum'=>[{'value'=>'disable'}, {'value'=>'single-packet'}, {'value'=>'extended-capture'}]}} # threat id def name prop_get('@name') end def packet_capture prop_get('packet-capture') end def packet_capture=(val) prop_set('packet-capture', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def threat_exception maybe_register_subclass('threat-exception', ThreatException.new(parent_instance: self, client: @client, create_children: @create_children)) end class MicaEngineVulnerabilityEnabled < XML::ConfigClass def has_multiple_values?; true; end def _section :'mica-engine-vulnerability-enabled' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'128'}, 'inline-policy-action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'alert', 'enum'=>[{'value'=>'alert'}, {'value'=>'allow'}, {'value'=>'reset-both'}, {'value'=>'reset-client'}, {'value'=>'reset-server'}]}} def name prop_get('@name') end def inline_policy_action prop_get('inline-policy-action') end def inline_policy_action=(val) prop_set('inline-policy-action', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def mica_engine_vulnerability_enabled maybe_register_subclass('mica-engine-vulnerability-enabled', MicaEngineVulnerabilityEnabled.new(parent_instance: self, client: @client, create_children: @create_children)) end class InlineExceptionEdlUrl < XML::ConfigClass def has_multiple_values?; true; end def _section :'inline-exception-edl-url' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def inline_exception_edl_url maybe_register_subclass('inline-exception-edl-url', InlineExceptionEdlUrl.new(parent_instance: self, client: @client, create_children: @create_children)) end class InlineExceptionIpAddress < XML::ConfigClass def has_multiple_values?; true; end def _section :'inline-exception-ip-address' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'MICA inline exception IP objects', 'maxlen'=>'63'}} # MICA inline exception IP objects def member prop_get('member') end # MICA inline exception IP objects def member=(val) prop_set('member', val) end end def inline_exception_ip_address maybe_register_subclass('inline-exception-ip-address', InlineExceptionIpAddress.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'yes'}, {'value'=>'no'}]}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'cloud-inline-analysis'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable cloud inline analysis'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end # Enable cloud inline analysis def cloud_inline_analysis prop_get('cloud-inline-analysis') end # Enable cloud inline analysis def cloud_inline_analysis=(val) prop_set('cloud-inline-analysis', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vulnerability maybe_register_subclass('vulnerability', Vulnerability.new(parent_instance: self, client: @client, create_children: @create_children)) end class UrlFiltering < XML::ConfigClass def has_multiple_values?; true; end def _section :'url-filtering' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Allow < XML::ConfigClass def has_multiple_values?; true; end def _section :allow end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def allow maybe_register_subclass('allow', Allow.new(parent_instance: self, client: @client, create_children: @create_children)) end class Alert < XML::ConfigClass def has_multiple_values?; true; end def _section :alert end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def alert maybe_register_subclass('alert', Alert.new(parent_instance: self, client: @client, create_children: @create_children)) end class Block < XML::ConfigClass def has_multiple_values?; true; end def _section :block end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def block maybe_register_subclass('block', Block.new(parent_instance: self, client: @client, create_children: @create_children)) end class Continue < XML::ConfigClass def has_multiple_values?; true; end def _section :continue end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def continue maybe_register_subclass('continue', Continue.new(parent_instance: self, client: @client, create_children: @create_children)) end class Override < XML::ConfigClass def has_multiple_values?; true; end def _section :override end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def override maybe_register_subclass('override', Override.new(parent_instance: self, client: @client, create_children: @create_children)) end class CredentialEnforcement < ConfigClass def has_multiple_values?; false; end def _section :'credential-enforcement' end class Mode < XML::ConfigClass def has_multiple_values?; true; end def _section :mode end class Disabled < ConfigClass def has_multiple_values?; false; end def _section :disabled end @props = {} end def disabled @subclasses['disabled'] ||= Disabled.new(parent_instance: self, client: @client, create_children: @create_children) end class IpUser < ConfigClass def has_multiple_values?; false; end def _section :'ip-user' end @props = {} end def ip_user @subclasses['ip-user'] ||= IpUser.new(parent_instance: self, client: @client, create_children: @create_children) end class DomainCredentials < ConfigClass def has_multiple_values?; false; end def _section :'domain-credentials' end @props = {} end def domain_credentials @subclasses['domain-credentials'] ||= DomainCredentials.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'group-mapping'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'default'=>'any', 'help-string'=>'Use Group Mapping'}} # Use Group Mapping def group_mapping prop_get('group-mapping') end # Use Group Mapping def group_mapping=(val) prop_set('group-mapping', val) end end def mode maybe_register_subclass('mode', Mode.new(parent_instance: self, client: @client, create_children: @create_children)) end class Allow < XML::ConfigClass def has_multiple_values?; true; end def _section :allow end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def allow maybe_register_subclass('allow', Allow.new(parent_instance: self, client: @client, create_children: @create_children)) end class Alert < XML::ConfigClass def has_multiple_values?; true; end def _section :alert end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def alert maybe_register_subclass('alert', Alert.new(parent_instance: self, client: @client, create_children: @create_children)) end class Block < XML::ConfigClass def has_multiple_values?; true; end def _section :block end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def block maybe_register_subclass('block', Block.new(parent_instance: self, client: @client, create_children: @create_children)) end class Continue < XML::ConfigClass def has_multiple_values?; true; end def _section :continue end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def continue maybe_register_subclass('continue', Continue.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'log-severity'=>{'node-type'=>'element', 'type'=>'string', 'default'=>'medium', 'help-string'=>'Log severity when credential matched'}} # Log severity when credential matched def log_severity prop_get('log-severity') end # Log severity when credential matched def log_severity=(val) prop_set('log-severity', val) end end def credential_enforcement @subclasses['credential-enforcement'] ||= CredentialEnforcement.new(parent_instance: self, client: @client, create_children: @create_children) end class HttpHeaderInsertion < XML::ConfigClass def has_multiple_values?; true; end def _section :'http-header-insertion' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'100', 'help-string'=>'Header name'}, 'header'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'100', 'complete-handler'=>'http-header-insertion-hdr-name-completer'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'16384', 'regex'=>'[^\s].*', 'complete-handler'=>'http-header-insertion-hdr-val-completer'}, 'log'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} # Header name def name prop_get('@name') end def header prop_get('header') end def header=(val) prop_set('header', val) end def value prop_get('value') end def value=(val) prop_set('value', val) end def log prop_get('log') end def log=(val) prop_set('log', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Domains < XML::ConfigClass def has_multiple_values?; true; end def _section :domains end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'254', 'max-count'=>'50', 'complete-handler'=>'http-header-insertion-host-completer'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def domains maybe_register_subclass('domains', Domains.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'128', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string begin with non-digit: [ 0-9a-zA-Z._-]', 'regex'=>'^[a-zA-Z._-]{1}[ 0-9a-zA-Z._-]*$', 'complete-handler'=>'http-header-insertion-type-completer'}} # alphanumeric string begin with non-digit: [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'256', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string begin with non-digit: [ 0-9a-zA-Z._-]', 'regex'=>'^[a-zA-Z._-]{1}[ 0-9a-zA-Z._-]*$'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'yes'}, {'value'=>'no'}]}} # alphanumeric string begin with non-digit: [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def http_header_insertion maybe_register_subclass('http-header-insertion', HttpHeaderInsertion.new(parent_instance: self, client: @client, create_children: @create_children)) end class MlavCategoryException < XML::ConfigClass def has_multiple_values?; true; end def _section :'mlav-category-exception' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def mlav_category_exception maybe_register_subclass('mlav-category-exception', MlavCategoryException.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'yes'}, {'value'=>'no'}]}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'enable-container-page'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Track container page'}, 'log-container-page-only'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Log container page only'}, 'safe-search-enforcement'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Safe-Search will be enforced if it is set '}, 'log-http-hdr-xff'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Log HTTP Header X-Forwarded-For field'}, 'log-http-hdr-user-agent'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Log HTTP Header User-Agent field'}, 'log-http-hdr-referer'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Log HTTP Header Referer field'}, 'local-inline-cat'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable local inline categorization'}, 'cloud-inline-cat'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable cloud inline categorization'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end # Track container page def enable_container_page prop_get('enable-container-page') end # Track container page def enable_container_page=(val) prop_set('enable-container-page', val) end # Log container page only def log_container_page_only prop_get('log-container-page-only') end # Log container page only def log_container_page_only=(val) prop_set('log-container-page-only', val) end # Safe-Search will be enforced if it is set def safe_search_enforcement prop_get('safe-search-enforcement') end # Safe-Search will be enforced if it is set def safe_search_enforcement=(val) prop_set('safe-search-enforcement', val) end # Log HTTP Header X-Forwarded-For field def log_http_hdr_xff prop_get('log-http-hdr-xff') end # Log HTTP Header X-Forwarded-For field def log_http_hdr_xff=(val) prop_set('log-http-hdr-xff', val) end # Log HTTP Header User-Agent field def log_http_hdr_user_agent prop_get('log-http-hdr-user-agent') end # Log HTTP Header User-Agent field def log_http_hdr_user_agent=(val) prop_set('log-http-hdr-user-agent', val) end # Log HTTP Header Referer field def log_http_hdr_referer prop_get('log-http-hdr-referer') end # Log HTTP Header Referer field def log_http_hdr_referer=(val) prop_set('log-http-hdr-referer', val) end # Enable local inline categorization def local_inline_cat prop_get('local-inline-cat') end # Enable local inline categorization def local_inline_cat=(val) prop_set('local-inline-cat', val) end # Enable cloud inline categorization def cloud_inline_cat prop_get('cloud-inline-cat') end # Enable cloud inline categorization def cloud_inline_cat=(val) prop_set('cloud-inline-cat', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def url_filtering maybe_register_subclass('url-filtering', UrlFiltering.new(parent_instance: self, client: @client, create_children: @create_children)) end class FileBlocking < XML::ConfigClass def has_multiple_values?; true; end def _section :'file-blocking' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Application < XML::ConfigClass def has_multiple_values?; true; end def _section :application end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'content-dependent'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'All applications'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def application maybe_register_subclass('application', Application.new(parent_instance: self, client: @client, create_children: @create_children)) end class FileType < XML::ConfigClass def has_multiple_values?; true; end def _section :'file-type' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'content-dependent'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'All file types'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def file_type maybe_register_subclass('file-type', FileType.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'direction'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'upload'}, {'value'=>'download'}, {'value'=>'both'}]}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'alert', 'enum'=>[{'value'=>'alert'}, {'value'=>'block'}, {'value'=>'continue'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def direction prop_get('direction') end def direction=(val) prop_set('direction', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'yes'}, {'value'=>'no'}]}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def file_blocking maybe_register_subclass('file-blocking', FileBlocking.new(parent_instance: self, client: @client, create_children: @create_children)) end class WildfireAnalysis < XML::ConfigClass def has_multiple_values?; true; end def _section :'wildfire-analysis' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Application < XML::ConfigClass def has_multiple_values?; true; end def _section :application end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'content-dependent'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'All applications'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def application maybe_register_subclass('application', Application.new(parent_instance: self, client: @client, create_children: @create_children)) end class FileType < XML::ConfigClass def has_multiple_values?; true; end def _section :'file-type' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'content-dependent'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'All types'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def file_type maybe_register_subclass('file-type', FileType.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'direction'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'upload'}, {'value'=>'download'}, {'value'=>'both'}]}, 'analysis'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'public-cloud', 'enum'=>[{'value'=>'public-cloud'}, {'value'=>'private-cloud'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def direction prop_get('direction') end def direction=(val) prop_set('direction', val) end def analysis prop_get('analysis') end def analysis=(val) prop_set('analysis', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'47', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'yes'}, {'value'=>'no'}]}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def wildfire_analysis maybe_register_subclass('wildfire-analysis', WildfireAnalysis.new(parent_instance: self, client: @client, create_children: @create_children)) end class CustomUrlCategory < XML::ConfigClass def has_multiple_values?; true; end def _section :'custom-url-category' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class List < XML::ConfigClass def has_multiple_values?; true; end def _section :list end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'complete-handler'=>'custom-url-category-member-completer'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def list maybe_register_subclass('list', List.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string begin with non-digit: [ 0-9a-zA-Z._-]', 'regex'=>'^[a-zA-Z._-]{1}[ 0-9a-zA-Z._-]*$'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'yes'}, {'value'=>'no'}]}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'type'=>{'node-type'=>'element', 'type'=>'string', 'default'=>'URL List'}} # alphanumeric string begin with non-digit: [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end def type prop_get('type') end def type=(val) prop_set('type', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def custom_url_category maybe_register_subclass('custom-url-category', CustomUrlCategory.new(parent_instance: self, client: @client, create_children: @create_children)) end class MlavCategoryExceptionQuickset < XML::ConfigClass def has_multiple_values?; true; end def _section :'mlav-category-exception-quickset' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def mlav_category_exception_quickset maybe_register_subclass('mlav-category-exception-quickset', MlavCategoryExceptionQuickset.new(parent_instance: self, client: @client, create_children: @create_children)) end class DataObjects < XML::ConfigClass def has_multiple_values?; true; end def _section :'data-objects' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class PatternType < XML::ConfigClass def has_multiple_values?; true; end def _section :'pattern-type' end class Predefined < ConfigClass def has_multiple_values?; false; end def _section :predefined end class Pattern < XML::ConfigClass def has_multiple_values?; true; end def _section :pattern end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class FileType < XML::ConfigClass def has_multiple_values?; true; end def _section :'file-type' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'any', 'multi-types'=>{'string'=>{'content-dependent'=>'yes'}, 'enum'=>[{'value'=>'any'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def file_type maybe_register_subclass('file-type', FileType.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'1024', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def pattern maybe_register_subclass('pattern', Pattern.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def predefined @subclasses['predefined'] ||= Predefined.new(parent_instance: self, client: @client, create_children: @create_children) end class Regex < ConfigClass def has_multiple_values?; false; end def _section :regex end class Pattern < XML::ConfigClass def has_multiple_values?; true; end def _section :pattern end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class FileType < XML::ConfigClass def has_multiple_values?; true; end def _section :'file-type' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'any', 'multi-types'=>{'string'=>{'content-dependent'=>'yes'}, 'enum'=>[{'value'=>'any'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def file_type maybe_register_subclass('file-type', FileType.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'regex'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1024'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def regex prop_get('regex') end def regex=(val) prop_set('regex', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def pattern maybe_register_subclass('pattern', Pattern.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def regex @subclasses['regex'] ||= Regex.new(parent_instance: self, client: @client, create_children: @create_children) end class FileProperties < ConfigClass def has_multiple_values?; false; end def _section :'file-properties' end class Pattern < XML::ConfigClass def has_multiple_values?; true; end def _section :pattern end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'file-type'=>{'node-type'=>'element', 'type'=>'string'}, 'file-property'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}, 'property-value'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'256'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def file_type prop_get('file-type') end def file_type=(val) prop_set('file-type', val) end def file_property prop_get('file-property') end def file_property=(val) prop_set('file-property', val) end def property_value prop_get('property-value') end def property_value=(val) prop_set('property-value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def pattern maybe_register_subclass('pattern', Pattern.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def file_properties @subclasses['file-properties'] ||= FileProperties.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def pattern_type maybe_register_subclass('pattern-type', PatternType.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'yes'}, {'value'=>'no'}]}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def data_objects maybe_register_subclass('data-objects', DataObjects.new(parent_instance: self, client: @client, create_children: @create_children)) end class DataFiltering < XML::ConfigClass def has_multiple_values?; true; end def _section :'data-filtering' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Application < XML::ConfigClass def has_multiple_values?; true; end def _section :application end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'content-dependent'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'All applications'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def application maybe_register_subclass('application', Application.new(parent_instance: self, client: @client, create_children: @create_children)) end class FileType < XML::ConfigClass def has_multiple_values?; true; end def _section :'file-type' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'multi-types'=>{'string'=>{'content-dependent'=>'yes'}, 'enum'=>[{'value'=>'any'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def file_type maybe_register_subclass('file-type', FileType.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'data-object'=>{'node-type'=>'element', 'type'=>'string'}, 'direction'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'upload'}, {'value'=>'download'}, {'value'=>'both'}]}, 'alert-threshold'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535', 'default'=>'1', 'optional'=>'yes'}, 'block-threshold'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535', 'default'=>'1', 'optional'=>'yes'}, 'log-severity'=>{'node-type'=>'element', 'type'=>'string', 'default'=>'informational', 'optional'=>'yes'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def data_object prop_get('data-object') end def data_object=(val) prop_set('data-object', val) end def direction prop_get('direction') end def direction=(val) prop_set('direction', val) end def alert_threshold prop_get('alert-threshold') end def alert_threshold=(val) prop_set('alert-threshold', val) end def block_threshold prop_get('block-threshold') end def block_threshold=(val) prop_set('block-threshold', val) end def log_severity prop_get('log-severity') end def log_severity=(val) prop_set('log-severity', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'64', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'yes'}, {'value'=>'no'}]}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'data-capture'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end def data_capture prop_get('data-capture') end def data_capture=(val) prop_set('data-capture', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def data_filtering maybe_register_subclass('data-filtering', DataFiltering.new(parent_instance: self, client: @client, create_children: @create_children)) end class HipProfiles < XML::ConfigClass def has_multiple_values?; true; end def _section :'hip-profiles' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'yes'}, {'value'=>'no'}]}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'match'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end def match prop_get('match') end def match=(val) prop_set('match', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def hip_profiles maybe_register_subclass('hip-profiles', HipProfiles.new(parent_instance: self, client: @client, create_children: @create_children)) end class Gtp < XML::ConfigClass def has_multiple_values?; true; end def _section :gtp end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class GtpInspection < ConfigClass def has_multiple_values?; false; end def _section :'gtp-inspection' end class GtpC < ConfigClass def has_multiple_values?; false; end def _section :'gtp-c' end class Gtpv1C < ConfigClass def has_multiple_values?; false; end def _section :'gtpv1-c' end class ValidityChecks < ConfigClass def has_multiple_values?; false; end def _section :'validity-checks' end @props = {'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'alert', 'enum'=>[{'value'=>'block'}, {'value'=>'alert'}]}, 'reserved-ie'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'order-of-ie'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'length-of-ie'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'reserved-hdr-field'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'spare flag'}, 'unknown-message'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} def action prop_get('action') end def action=(val) prop_set('action', val) end def reserved_ie prop_get('reserved-ie') end def reserved_ie=(val) prop_set('reserved-ie', val) end def order_of_ie prop_get('order-of-ie') end def order_of_ie=(val) prop_set('order-of-ie', val) end def length_of_ie prop_get('length-of-ie') end def length_of_ie=(val) prop_set('length-of-ie', val) end # spare flag def reserved_hdr_field prop_get('reserved-hdr-field') end # spare flag def reserved_hdr_field=(val) prop_set('reserved-hdr-field', val) end def unknown_message prop_get('unknown-message') end def unknown_message=(val) prop_set('unknown-message', val) end end def validity_checks @subclasses['validity-checks'] ||= ValidityChecks.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'stateful-inspection'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} def stateful_inspection prop_get('stateful-inspection') end def stateful_inspection=(val) prop_set('stateful-inspection', val) end end def gtpv1_c @subclasses['gtpv1-c'] ||= Gtpv1C.new(parent_instance: self, client: @client, create_children: @create_children) end class Gtpv2C < ConfigClass def has_multiple_values?; false; end def _section :'gtpv2-c' end class ValidityChecks < ConfigClass def has_multiple_values?; false; end def _section :'validity-checks' end @props = {'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'alert', 'enum'=>[{'value'=>'block'}, {'value'=>'alert'}]}, 'reserved-ie'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'length-of-ie'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'reserved-hdr-field'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'spare flags OR spare field'}, 'unknown-message'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} def action prop_get('action') end def action=(val) prop_set('action', val) end def reserved_ie prop_get('reserved-ie') end def reserved_ie=(val) prop_set('reserved-ie', val) end def length_of_ie prop_get('length-of-ie') end def length_of_ie=(val) prop_set('length-of-ie', val) end # spare flags OR spare field def reserved_hdr_field prop_get('reserved-hdr-field') end # spare flags OR spare field def reserved_hdr_field=(val) prop_set('reserved-hdr-field', val) end def unknown_message prop_get('unknown-message') end def unknown_message=(val) prop_set('unknown-message', val) end end def validity_checks @subclasses['validity-checks'] ||= ValidityChecks.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'stateful-inspection'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} def stateful_inspection prop_get('stateful-inspection') end def stateful_inspection=(val) prop_set('stateful-inspection', val) end end def gtpv2_c @subclasses['gtpv2-c'] ||= Gtpv2C.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def gtp_c @subclasses['gtp-c'] ||= GtpC.new(parent_instance: self, client: @client, create_children: @create_children) end class GtpU < ConfigClass def has_multiple_values?; false; end def _section :'gtp-u' end class ValidityChecks < ConfigClass def has_multiple_values?; false; end def _section :'validity-checks' end @props = {'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'alert', 'enum'=>[{'value'=>'block'}, {'value'=>'alert'}]}, 'reserved-ie'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'order-of-ie'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'length-of-ie'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'reserved-hdr-field'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'spare flag'}, 'unknown-message'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} def action prop_get('action') end def action=(val) prop_set('action', val) end def reserved_ie prop_get('reserved-ie') end def reserved_ie=(val) prop_set('reserved-ie', val) end def order_of_ie prop_get('order-of-ie') end def order_of_ie=(val) prop_set('order-of-ie', val) end def length_of_ie prop_get('length-of-ie') end def length_of_ie=(val) prop_set('length-of-ie', val) end # spare flag def reserved_hdr_field prop_get('reserved-hdr-field') end # spare flag def reserved_hdr_field=(val) prop_set('reserved-hdr-field', val) end def unknown_message prop_get('unknown-message') end def unknown_message=(val) prop_set('unknown-message', val) end end def validity_checks @subclasses['validity-checks'] ||= ValidityChecks.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'gtp-in-gtp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'block', 'enum'=>[{'value'=>'allow'}, {'value'=>'block'}, {'value'=>'alert'}]}, 'user-ip-spoofing'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'block', 'enum'=>[{'value'=>'allow'}, {'value'=>'block'}, {'value'=>'alert'}]}, 'log-at-session-start'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'log-at-session-end'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'gtpu-content-inspection'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'GTPv1-C, GTPv2-C and/or 5G-C Stateful Inspection with GTP-U Content Inspection provides IMSI and IMEI correlation with IP traffic encapsulated in GTP-U packets'}} def gtp_in_gtp prop_get('gtp-in-gtp') end def gtp_in_gtp=(val) prop_set('gtp-in-gtp', val) end def user_ip_spoofing prop_get('user-ip-spoofing') end def user_ip_spoofing=(val) prop_set('user-ip-spoofing', val) end def log_at_session_start prop_get('log-at-session-start') end def log_at_session_start=(val) prop_set('log-at-session-start', val) end def log_at_session_end prop_get('log-at-session-end') end def log_at_session_end=(val) prop_set('log-at-session-end', val) end # GTPv1-C, GTPv2-C and/or 5G-C Stateful Inspection with GTP-U Content Inspection provides IMSI and IMEI correlation with IP traffic encapsulated in GTP-U packets def gtpu_content_inspection prop_get('gtpu-content-inspection') end # GTPv1-C, GTPv2-C and/or 5G-C Stateful Inspection with GTP-U Content Inspection provides IMSI and IMEI correlation with IP traffic encapsulated in GTP-U packets def gtpu_content_inspection=(val) prop_set('gtpu-content-inspection', val) end end def gtp_u @subclasses['gtp-u'] ||= GtpU.new(parent_instance: self, client: @client, create_children: @create_children) end class Gtp5gC < ConfigClass def has_multiple_values?; false; end def _section :'gtp-5g-c' end @props = {'gtp-5g-http2'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'5g http2 inspection'}} # 5g http2 inspection def gtp_5g_http2 prop_get('gtp-5g-http2') end # 5g http2 inspection def gtp_5g_http2=(val) prop_set('gtp-5g-http2', val) end end def gtp_5g_c @subclasses['gtp-5g-c'] ||= Gtp5gC.new(parent_instance: self, client: @client, create_children: @create_children) end class Pfcp < ConfigClass def has_multiple_values?; false; end def _section :pfcp end @props = {'stateful-inspection'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'pfcp inspection'}, 'check-association-msg'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'allow', 'enum'=>[{'value'=>'allow'}, {'value'=>'block'}, {'value'=>'alert'}]}, 'check-session-msg'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'allow', 'enum'=>[{'value'=>'allow'}, {'value'=>'block'}, {'value'=>'alert'}]}, 'check-seq-num'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'allow', 'enum'=>[{'value'=>'allow'}, {'value'=>'block'}, {'value'=>'alert'}]}, 'log-at-association-start'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'log-at-association-end'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'log-at-session-start'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'log-at-session-end'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} # pfcp inspection def stateful_inspection prop_get('stateful-inspection') end # pfcp inspection def stateful_inspection=(val) prop_set('stateful-inspection', val) end def check_association_msg prop_get('check-association-msg') end def check_association_msg=(val) prop_set('check-association-msg', val) end def check_session_msg prop_get('check-session-msg') end def check_session_msg=(val) prop_set('check-session-msg', val) end def check_seq_num prop_get('check-seq-num') end def check_seq_num=(val) prop_set('check-seq-num', val) end def log_at_association_start prop_get('log-at-association-start') end def log_at_association_start=(val) prop_set('log-at-association-start', val) end def log_at_association_end prop_get('log-at-association-end') end def log_at_association_end=(val) prop_set('log-at-association-end', val) end def log_at_session_start prop_get('log-at-session-start') end def log_at_session_start=(val) prop_set('log-at-session-start', val) end def log_at_session_end prop_get('log-at-session-end') end def log_at_session_end=(val) prop_set('log-at-session-end', val) end end def pfcp @subclasses['pfcp'] ||= Pfcp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def gtp_inspection @subclasses['gtp-inspection'] ||= GtpInspection.new(parent_instance: self, client: @client, create_children: @create_children) end class Correlation < ConfigClass def has_multiple_values?; false; end def _section :correlation end @props = {'ueip-correlation'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'UEIP correlation'}, 'mode'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'loose', 'enum'=>[{'value'=>'loose'}, {'value'=>'strict'}]}, 'source'=>{'node-type'=>'element', 'optional'=>'no', 'type'=>'enum', 'default'=>'pfcp', 'enum'=>[{'value'=>'pfcp'}, {'value'=>'radius'}]}, 'log-at-ueip-start'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'log-at-ueip-end'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} # UEIP correlation def ueip_correlation prop_get('ueip-correlation') end # UEIP correlation def ueip_correlation=(val) prop_set('ueip-correlation', val) end def mode prop_get('mode') end def mode=(val) prop_set('mode', val) end def source prop_get('source') end def source=(val) prop_set('source', val) end def log_at_ueip_start prop_get('log-at-ueip-start') end def log_at_ueip_start=(val) prop_set('log-at-ueip-start', val) end def log_at_ueip_end prop_get('log-at-ueip-end') end def log_at_ueip_end=(val) prop_set('log-at-ueip-end', val) end end def correlation @subclasses['correlation'] ||= Correlation.new(parent_instance: self, client: @client, create_children: @create_children) end class Filtering < ConfigClass def has_multiple_values?; false; end def _section :filtering end class ImsiPrefix < XML::ConfigClass def has_multiple_values?; true; end def _section :'imsi-prefix' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'15', 'help-string'=>'digit string followed by an optional *', 'regex'=>'^([*]|[0-9][0-9]+[* 0-9])$'}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'0', 'maxlen'=>'36'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'allow', 'enum'=>[{'value'=>'allow'}, {'value'=>'block'}, {'value'=>'alert'}]}} # digit string followed by an optional * def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def imsi_prefix maybe_register_subclass('imsi-prefix', ImsiPrefix.new(parent_instance: self, client: @client, create_children: @create_children)) end class Apn < XML::ConfigClass def has_multiple_values?; true; end def _section :apn end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'100', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]', 'regex'=>'^([*]|[ -)+-~]+)$'}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'0', 'maxlen'=>'36'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'allow', 'enum'=>[{'value'=>'allow'}, {'value'=>'block'}, {'value'=>'alert'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def apn maybe_register_subclass('apn', Apn.new(parent_instance: self, client: @client, create_children: @create_children)) end class Rat < ConfigClass def has_multiple_values?; false; end def _section :rat end @props = {'utran'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'allow', 'enum'=>[{'value'=>'allow'}, {'value'=>'block'}, {'value'=>'alert'}]}, 'geran'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'allow', 'enum'=>[{'value'=>'allow'}, {'value'=>'block'}, {'value'=>'alert'}]}, 'wlan'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'allow', 'enum'=>[{'value'=>'allow'}, {'value'=>'block'}, {'value'=>'alert'}]}, 'gan'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'allow', 'enum'=>[{'value'=>'allow'}, {'value'=>'block'}, {'value'=>'alert'}]}, 'hspa-evolution'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'allow', 'enum'=>[{'value'=>'allow'}, {'value'=>'block'}, {'value'=>'alert'}]}, 'eutran'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'allow', 'enum'=>[{'value'=>'allow'}, {'value'=>'block'}, {'value'=>'alert'}]}, 'virtual'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'allow', 'enum'=>[{'value'=>'allow'}, {'value'=>'block'}, {'value'=>'alert'}]}, 'eutran-nb-iot'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'allow', 'enum'=>[{'value'=>'allow'}, {'value'=>'block'}, {'value'=>'alert'}]}, 'lte-m'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'allow', 'enum'=>[{'value'=>'allow'}, {'value'=>'block'}, {'value'=>'alert'}]}, 'nr'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'allow', 'enum'=>[{'value'=>'allow'}, {'value'=>'block'}, {'value'=>'alert'}]}} def utran prop_get('utran') end def utran=(val) prop_set('utran', val) end def geran prop_get('geran') end def geran=(val) prop_set('geran', val) end def wlan prop_get('wlan') end def wlan=(val) prop_set('wlan', val) end def gan prop_get('gan') end def gan=(val) prop_set('gan', val) end def hspa_evolution prop_get('hspa-evolution') end def hspa_evolution=(val) prop_set('hspa-evolution', val) end def eutran prop_get('eutran') end def eutran=(val) prop_set('eutran', val) end def virtual prop_get('virtual') end def virtual=(val) prop_set('virtual', val) end def eutran_nb_iot prop_get('eutran-nb-iot') end def eutran_nb_iot=(val) prop_set('eutran-nb-iot', val) end def lte_m prop_get('lte-m') end def lte_m=(val) prop_set('lte-m', val) end def nr prop_get('nr') end def nr=(val) prop_set('nr', val) end end def rat @subclasses['rat'] ||= Rat.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def filtering @subclasses['filtering'] ||= Filtering.new(parent_instance: self, client: @client, create_children: @create_children) end class TunnelLimit < ConfigClass def has_multiple_values?; false; end def _section :'tunnel-limit' end class GtpU < ConfigClass def has_multiple_values?; false; end def _section :'gtp-u' end @props = {'max-tunnel-limit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'100000000', 'default'=>'0'}, 'alert-tunnel-limit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'100000000', 'default'=>'0'}} def max_tunnel_limit prop_get('max-tunnel-limit') end def max_tunnel_limit=(val) prop_set('max-tunnel-limit', val) end def alert_tunnel_limit prop_get('alert-tunnel-limit') end def alert_tunnel_limit=(val) prop_set('alert-tunnel-limit', val) end end def gtp_u @subclasses['gtp-u'] ||= GtpU.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'log-frequency'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'10000000', 'default'=>'100'}} def log_frequency prop_get('log-frequency') end def log_frequency=(val) prop_set('log-frequency', val) end end def tunnel_limit @subclasses['tunnel-limit'] ||= TunnelLimit.new(parent_instance: self, client: @client, create_children: @create_children) end class Overbilling < ConfigClass def has_multiple_values?; false; end def _section :overbilling end @props = {'vsys'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'no-default'=>'yes', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def vsys prop_get('vsys') end # alphanumeric string [ 0-9a-zA-Z._-] def vsys=(val) prop_set('vsys', val) end end def overbilling @subclasses['overbilling'] ||= Overbilling.new(parent_instance: self, client: @client, create_children: @create_children) end class GtpLog < ConfigClass def has_multiple_values?; false; end def _section :'gtp-log' end class Gtpv1cAllowedMessages < ConfigClass def has_multiple_values?; false; end def _section :'gtpv1c-allowed-messages' end @props = {'tunnel-management'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool'}, 'path-management'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool'}, 'others'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool'}} def tunnel_management prop_get('tunnel-management') end def tunnel_management=(val) prop_set('tunnel-management', val) end def path_management prop_get('path-management') end def path_management=(val) prop_set('path-management', val) end def others prop_get('others') end def others=(val) prop_set('others', val) end end def gtpv1c_allowed_messages @subclasses['gtpv1c-allowed-messages'] ||= Gtpv1cAllowedMessages.new(parent_instance: self, client: @client, create_children: @create_children) end class Gtpv2cAllowedMessages < ConfigClass def has_multiple_values?; false; end def _section :'gtpv2c-allowed-messages' end @props = {'tunnel-management'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool'}, 'path-management'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool'}, 'others'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool'}} def tunnel_management prop_get('tunnel-management') end def tunnel_management=(val) prop_set('tunnel-management', val) end def path_management prop_get('path-management') end def path_management=(val) prop_set('path-management', val) end def others prop_get('others') end def others=(val) prop_set('others', val) end end def gtpv2c_allowed_messages @subclasses['gtpv2c-allowed-messages'] ||= Gtpv2cAllowedMessages.new(parent_instance: self, client: @client, create_children: @create_children) end class GtpuAllowedMessages < ConfigClass def has_multiple_values?; false; end def _section :'gtpu-allowed-messages' end @props = {'tunnel-management'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool'}, 'path-management'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool'}, 'g-pdu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool'}, 'packets-per-tunnel'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'10', 'default'=>'1'}} def tunnel_management prop_get('tunnel-management') end def tunnel_management=(val) prop_set('tunnel-management', val) end def path_management prop_get('path-management') end def path_management=(val) prop_set('path-management', val) end def g_pdu prop_get('g-pdu') end def g_pdu=(val) prop_set('g-pdu', val) end def packets_per_tunnel prop_get('packets-per-tunnel') end def packets_per_tunnel=(val) prop_set('packets-per-tunnel', val) end end def gtpu_allowed_messages @subclasses['gtpu-allowed-messages'] ||= GtpuAllowedMessages.new(parent_instance: self, client: @client, create_children: @create_children) end class Gtp5gAllowedMessages < ConfigClass def has_multiple_values?; false; end def _section :'gtp-5g-allowed-messages' end @props = {'N11'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool'}} def N11 prop_get('N11') end def N11=(val) prop_set('N11', val) end end def gtp_5g_allowed_messages @subclasses['gtp-5g-allowed-messages'] ||= Gtp5gAllowedMessages.new(parent_instance: self, client: @client, create_children: @create_children) end class PfcpAllowedMessages < ConfigClass def has_multiple_values?; false; end def _section :'pfcp-allowed-messages' end @props = {'session-establishment'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool'}, 'session-modification'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool'}, 'session-deletion'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool'}} def session_establishment prop_get('session-establishment') end def session_establishment=(val) prop_set('session-establishment', val) end def session_modification prop_get('session-modification') end def session_modification=(val) prop_set('session-modification', val) end def session_deletion prop_get('session-deletion') end def session_deletion=(val) prop_set('session-deletion', val) end end def pfcp_allowed_messages @subclasses['pfcp-allowed-messages'] ||= PfcpAllowedMessages.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'user-location'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'packet-capture'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} def user_location prop_get('user-location') end def user_location=(val) prop_set('user-location', val) end def packet_capture prop_get('packet-capture') end def packet_capture=(val) prop_set('packet-capture', val) end end def gtp_log @subclasses['gtp-log'] ||= GtpLog.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'128'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def gtp maybe_register_subclass('gtp', Gtp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Sctp < XML::ConfigClass def has_multiple_values?; true; end def _section :sctp end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SctpInspection < ConfigClass def has_multiple_values?; false; end def _section :'sctp-inspection' end class ValidityChecks < ConfigClass def has_multiple_values?; false; end def _section :'validity-checks' end @props = {'unknown-chunk'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'allow', 'enum'=>[{'value'=>'allow'}, {'value'=>'alert'}, {'value'=>'block'}]}, 'chunk-flags'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'allow', 'enum'=>[{'value'=>'allow'}, {'value'=>'alert'}, {'value'=>'block'}]}, 'invalid-length'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'allow', 'enum'=>[{'value'=>'allow'}, {'value'=>'block'}]}} def unknown_chunk prop_get('unknown-chunk') end def unknown_chunk=(val) prop_set('unknown-chunk', val) end def chunk_flags prop_get('chunk-flags') end def chunk_flags=(val) prop_set('chunk-flags', val) end def invalid_length prop_get('invalid-length') end def invalid_length=(val) prop_set('invalid-length', val) end end def validity_checks @subclasses['validity-checks'] ||= ValidityChecks.new(parent_instance: self, client: @client, create_children: @create_children) end class LogSetting < ConfigClass def has_multiple_values?; false; end def _section :'log-setting' end @props = {'sctp-start'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Log at Association Start'}, 'sctp-end'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Log at Association End'}, 'init-chunks'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Log Allowed Association Initialization Chunks'}, 'heartbeat-chunks'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Log Allowed Heartbeat Chunks'}, 'termination-chunks'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Log Allowed Association Termination Chunks'}, 'all-control-chunks'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Log All Control Chunks'}, 'state-failure-events'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Log State Failure Events'}} # Log at Association Start def sctp_start prop_get('sctp-start') end # Log at Association Start def sctp_start=(val) prop_set('sctp-start', val) end # Log at Association End def sctp_end prop_get('sctp-end') end # Log at Association End def sctp_end=(val) prop_set('sctp-end', val) end # Log Allowed Association Initialization Chunks def init_chunks prop_get('init-chunks') end # Log Allowed Association Initialization Chunks def init_chunks=(val) prop_set('init-chunks', val) end # Log Allowed Heartbeat Chunks def heartbeat_chunks prop_get('heartbeat-chunks') end # Log Allowed Heartbeat Chunks def heartbeat_chunks=(val) prop_set('heartbeat-chunks', val) end # Log Allowed Association Termination Chunks def termination_chunks prop_get('termination-chunks') end # Log Allowed Association Termination Chunks def termination_chunks=(val) prop_set('termination-chunks', val) end # Log All Control Chunks def all_control_chunks prop_get('all-control-chunks') end # Log All Control Chunks def all_control_chunks=(val) prop_set('all-control-chunks', val) end # Log State Failure Events def state_failure_events prop_get('state-failure-events') end # Log State Failure Events def state_failure_events=(val) prop_set('state-failure-events', val) end end def log_setting @subclasses['log-setting'] ||= LogSetting.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'multihoming'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'8', 'default'=>'4'}} def multihoming prop_get('multihoming') end def multihoming=(val) prop_set('multihoming', val) end end def sctp_inspection @subclasses['sctp-inspection'] ||= SctpInspection.new(parent_instance: self, client: @client, create_children: @create_children) end class SctpFiltering < ConfigClass def has_multiple_values?; false; end def _section :'sctp-filtering' end class SctpPpid < XML::ConfigClass def has_multiple_values?; true; end def _section :'sctp-ppid' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'20', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'ppid'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'default'=>'any'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'allow', 'enum'=>[{'value'=>'allow'}, {'value'=>'alert'}, {'value'=>'block'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def ppid prop_get('ppid') end def ppid=(val) prop_set('ppid', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def sctp_ppid maybe_register_subclass('sctp-ppid', SctpPpid.new(parent_instance: self, client: @client, create_children: @create_children)) end class SctpSs7 < XML::ConfigClass def has_multiple_values?; true; end def _section :'sctp-ss7' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Ss7CpSsn < XML::ConfigClass def has_multiple_values?; true; end def _section :'ss7-cp-ssn' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Ss7OpCode < XML::ConfigClass def has_multiple_values?; true; end def _section :'ss7-op-code' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'max-count'=>'256', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def ss7_op_code maybe_register_subclass('ss7-op-code', Ss7OpCode.new(parent_instance: self, client: @client, create_children: @create_children)) end class Ss7CpGt < XML::ConfigClass def has_multiple_values?; true; end def _section :'ss7-cp-gt' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'max-count'=>'512', 'multi-types'=>{'string'=>{'minlen'=>'1', 'maxlen'=>'15', 'help-string'=>'digit string followed by an optional *', 'regex'=>'^([0-9])*[* 0-9]$'}, 'enum'=>[{'value'=>'any'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def ss7_cp_gt maybe_register_subclass('ss7-cp-gt', Ss7CpGt.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'20', 'help-string'=>'SCCP SSN name'}} # SCCP SSN name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ss7_cp_ssn maybe_register_subclass('ss7-cp-ssn', Ss7CpSsn.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'20', 'sub-type'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'allow', 'enum'=>[{'value'=>'allow'}, {'value'=>'alert'}, {'value'=>'block'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def action prop_get('action') end def action=(val) prop_set('action', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def sctp_ss7 maybe_register_subclass('sctp-ss7', SctpSs7.new(parent_instance: self, client: @client, create_children: @create_children)) end class SctpDiameter < XML::ConfigClass def has_multiple_values?; true; end def _section :'sctp-diameter' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class DiameterApplicationId < XML::ConfigClass def has_multiple_values?; true; end def _section :'diameter-application-id' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class DiameterCmdCode < XML::ConfigClass def has_multiple_values?; true; end def _section :'diameter-cmd-code' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'max-count'=>'128', 'multi-types'=>{'string'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def diameter_cmd_code maybe_register_subclass('diameter-cmd-code', DiameterCmdCode.new(parent_instance: self, client: @client, create_children: @create_children)) end class DiameterAvp < XML::ConfigClass def has_multiple_values?; true; end def _section :'diameter-avp' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'max-count'=>'512', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'16777215'}, 'enum'=>[{'value'=>'any'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def diameter_avp maybe_register_subclass('diameter-avp', DiameterAvp.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'64', 'help-string'=>'appid name'}} # appid name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def diameter_application_id maybe_register_subclass('diameter-application-id', DiameterApplicationId.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'20', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'allow', 'enum'=>[{'value'=>'allow'}, {'value'=>'alert'}, {'value'=>'block'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def action prop_get('action') end def action=(val) prop_set('action', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def sctp_diameter maybe_register_subclass('sctp-diameter', SctpDiameter.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def sctp_filtering @subclasses['sctp-filtering'] ||= SctpFiltering.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'20', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def sctp maybe_register_subclass('sctp', Sctp.new(parent_instance: self, client: @client, create_children: @create_children)) end class DosProtection < XML::ConfigClass def has_multiple_values?; true; end def _section :'dos-protection' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Flood < ConfigClass def has_multiple_values?; false; end def _section :flood end class TcpSyn < ConfigClass def has_multiple_values?; false; end def _section :'tcp-syn' end class Red < ConfigClass def has_multiple_values?; false; end def _section :red end class Block < ConfigClass def has_multiple_values?; false; end def _section :block end @props = {'duration'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'1', 'max'=>'21600', 'default'=>'300'}} def duration prop_get('duration') end def duration=(val) prop_set('duration', val) end end def block @subclasses['block'] ||= Block.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'alarm-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'2000000', 'default'=>'10000', 'help-string'=>'Connection rate (cps) to generate alarm'}, 'activate-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000000', 'default'=>'10000', 'help-string'=>'Connection rate (cps) to start RED'}, 'maximal-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000000', 'default'=>'40000', 'help-string'=>'Maximal connection rate (cps) allowed'}} # Connection rate (cps) to generate alarm def alarm_rate prop_get('alarm-rate') end # Connection rate (cps) to generate alarm def alarm_rate=(val) prop_set('alarm-rate', val) end # Connection rate (cps) to start RED def activate_rate prop_get('activate-rate') end # Connection rate (cps) to start RED def activate_rate=(val) prop_set('activate-rate', val) end # Maximal connection rate (cps) allowed def maximal_rate prop_get('maximal-rate') end # Maximal connection rate (cps) allowed def maximal_rate=(val) prop_set('maximal-rate', val) end end def red @subclasses['red'] ||= Red.new(parent_instance: self, client: @client, create_children: @create_children) end class SynCookies < ConfigClass def has_multiple_values?; false; end def _section :'syn-cookies' end class Block < ConfigClass def has_multiple_values?; false; end def _section :block end @props = {'duration'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'1', 'max'=>'21600', 'default'=>'300'}} def duration prop_get('duration') end def duration=(val) prop_set('duration', val) end end def block @subclasses['block'] ||= Block.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'alarm-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'2000000', 'default'=>'10000', 'help-string'=>'Connection rate (cps) to generate alarm'}, 'activate-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'2000000', 'default'=>'0', 'help-string'=>'Connection rate (cps) to activate SYN cookies proxy'}, 'maximal-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000000', 'default'=>'1000000', 'help-string'=>'Maximal connection rate (cps) allowed'}} # Connection rate (cps) to generate alarm def alarm_rate prop_get('alarm-rate') end # Connection rate (cps) to generate alarm def alarm_rate=(val) prop_set('alarm-rate', val) end # Connection rate (cps) to activate SYN cookies proxy def activate_rate prop_get('activate-rate') end # Connection rate (cps) to activate SYN cookies proxy def activate_rate=(val) prop_set('activate-rate', val) end # Maximal connection rate (cps) allowed def maximal_rate prop_get('maximal-rate') end # Maximal connection rate (cps) allowed def maximal_rate=(val) prop_set('maximal-rate', val) end end def syn_cookies @subclasses['syn-cookies'] ||= SynCookies.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def tcp_syn @subclasses['tcp-syn'] ||= TcpSyn.new(parent_instance: self, client: @client, create_children: @create_children) end class Udp < ConfigClass def has_multiple_values?; false; end def _section :udp end class Red < ConfigClass def has_multiple_values?; false; end def _section :red end class Block < ConfigClass def has_multiple_values?; false; end def _section :block end @props = {'duration'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'1', 'max'=>'21600', 'default'=>'300'}} def duration prop_get('duration') end def duration=(val) prop_set('duration', val) end end def block @subclasses['block'] ||= Block.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'alarm-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'2000000', 'default'=>'10000', 'help-string'=>'Connection rate (cps) to generate alarm'}, 'activate-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000000', 'default'=>'10000', 'help-string'=>'Connection rate (cps) to start RED'}, 'maximal-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000000', 'default'=>'40000', 'help-string'=>'Maximal connection rate (cps) allowed'}} # Connection rate (cps) to generate alarm def alarm_rate prop_get('alarm-rate') end # Connection rate (cps) to generate alarm def alarm_rate=(val) prop_set('alarm-rate', val) end # Connection rate (cps) to start RED def activate_rate prop_get('activate-rate') end # Connection rate (cps) to start RED def activate_rate=(val) prop_set('activate-rate', val) end # Maximal connection rate (cps) allowed def maximal_rate prop_get('maximal-rate') end # Maximal connection rate (cps) allowed def maximal_rate=(val) prop_set('maximal-rate', val) end end def red @subclasses['red'] ||= Red.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def udp @subclasses['udp'] ||= Udp.new(parent_instance: self, client: @client, create_children: @create_children) end class Icmp < ConfigClass def has_multiple_values?; false; end def _section :icmp end class Red < ConfigClass def has_multiple_values?; false; end def _section :red end class Block < ConfigClass def has_multiple_values?; false; end def _section :block end @props = {'duration'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'1', 'max'=>'21600', 'default'=>'300'}} def duration prop_get('duration') end def duration=(val) prop_set('duration', val) end end def block @subclasses['block'] ||= Block.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'alarm-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'2000000', 'default'=>'10000', 'help-string'=>'Connection rate (cps) to generate alarm'}, 'activate-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000000', 'default'=>'10000', 'help-string'=>'Connection rate (cps) to start RED'}, 'maximal-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000000', 'default'=>'40000', 'help-string'=>'Maximal connection rate (cps) allowed'}} # Connection rate (cps) to generate alarm def alarm_rate prop_get('alarm-rate') end # Connection rate (cps) to generate alarm def alarm_rate=(val) prop_set('alarm-rate', val) end # Connection rate (cps) to start RED def activate_rate prop_get('activate-rate') end # Connection rate (cps) to start RED def activate_rate=(val) prop_set('activate-rate', val) end # Maximal connection rate (cps) allowed def maximal_rate prop_get('maximal-rate') end # Maximal connection rate (cps) allowed def maximal_rate=(val) prop_set('maximal-rate', val) end end def red @subclasses['red'] ||= Red.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def icmp @subclasses['icmp'] ||= Icmp.new(parent_instance: self, client: @client, create_children: @create_children) end class Icmpv6 < ConfigClass def has_multiple_values?; false; end def _section :icmpv6 end class Red < ConfigClass def has_multiple_values?; false; end def _section :red end class Block < ConfigClass def has_multiple_values?; false; end def _section :block end @props = {'duration'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'1', 'max'=>'21600', 'default'=>'300'}} def duration prop_get('duration') end def duration=(val) prop_set('duration', val) end end def block @subclasses['block'] ||= Block.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'alarm-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'2000000', 'default'=>'10000', 'help-string'=>'Connection rate (cps) to generate alarm'}, 'activate-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000000', 'default'=>'10000', 'help-string'=>'Connection rate (cps) to start RED'}, 'maximal-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000000', 'default'=>'40000', 'help-string'=>'Maximal connection rate (cps) allowed'}} # Connection rate (cps) to generate alarm def alarm_rate prop_get('alarm-rate') end # Connection rate (cps) to generate alarm def alarm_rate=(val) prop_set('alarm-rate', val) end # Connection rate (cps) to start RED def activate_rate prop_get('activate-rate') end # Connection rate (cps) to start RED def activate_rate=(val) prop_set('activate-rate', val) end # Maximal connection rate (cps) allowed def maximal_rate prop_get('maximal-rate') end # Maximal connection rate (cps) allowed def maximal_rate=(val) prop_set('maximal-rate', val) end end def red @subclasses['red'] ||= Red.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def icmpv6 @subclasses['icmpv6'] ||= Icmpv6.new(parent_instance: self, client: @client, create_children: @create_children) end class OtherIp < ConfigClass def has_multiple_values?; false; end def _section :'other-ip' end class Red < ConfigClass def has_multiple_values?; false; end def _section :red end class Block < ConfigClass def has_multiple_values?; false; end def _section :block end @props = {'duration'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'1', 'max'=>'21600', 'default'=>'300'}} def duration prop_get('duration') end def duration=(val) prop_set('duration', val) end end def block @subclasses['block'] ||= Block.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'alarm-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'2000000', 'default'=>'10000', 'help-string'=>'Connection rate (cps) to generate alarm'}, 'activate-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000000', 'default'=>'10000', 'help-string'=>'Connection rate (cps) to start RED'}, 'maximal-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000000', 'default'=>'40000', 'help-string'=>'Maximal connection rate (cps) allowed'}} # Connection rate (cps) to generate alarm def alarm_rate prop_get('alarm-rate') end # Connection rate (cps) to generate alarm def alarm_rate=(val) prop_set('alarm-rate', val) end # Connection rate (cps) to start RED def activate_rate prop_get('activate-rate') end # Connection rate (cps) to start RED def activate_rate=(val) prop_set('activate-rate', val) end # Maximal connection rate (cps) allowed def maximal_rate prop_get('maximal-rate') end # Maximal connection rate (cps) allowed def maximal_rate=(val) prop_set('maximal-rate', val) end end def red @subclasses['red'] ||= Red.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def other_ip @subclasses['other-ip'] ||= OtherIp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def flood @subclasses['flood'] ||= Flood.new(parent_instance: self, client: @client, create_children: @create_children) end class Resource < ConfigClass def has_multiple_values?; false; end def _section :resource end class Sessions < ConfigClass def has_multiple_values?; false; end def _section :sessions end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'max-concurrent-limit'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'1', 'max'=>'4194304', 'platform-max'=>'cfg.general.max-session', 'default'=>'32768'}} def enabled prop_get('enabled') end def enabled=(val) prop_set('enabled', val) end def max_concurrent_limit prop_get('max-concurrent-limit') end def max_concurrent_limit=(val) prop_set('max-concurrent-limit', val) end end def sessions @subclasses['sessions'] ||= Sessions.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def resource @subclasses['resource'] ||= Resource.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'yes'}, {'value'=>'no'}]}, 'type'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'aggregate'}, {'value'=>'classified'}]}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end def type prop_get('type') end def type=(val) prop_set('type', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def dos_protection maybe_register_subclass('dos-protection', DosProtection.new(parent_instance: self, client: @client, create_children: @create_children)) end class SdwanPathQuality < XML::ConfigClass def has_multiple_values?; true; end def _section :'sdwan-path-quality' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Metric < ConfigClass def has_multiple_values?; false; end def _section :metric end class Latency < ConfigClass def has_multiple_values?; false; end def _section :latency end @props = {'threshold'=>{'node-type'=>'element', 'help-string'=>'latency threshold in ms', 'type'=>'rangedint', 'max'=>'3000', 'min'=>'10', 'default'=>'100'}, 'sensitivity'=>{'node-type'=>'element', 'help-string'=>'latency sensitivity', 'type'=>'enum', 'default'=>'medium', 'enum'=>[{'value'=>'low', 'help-string'=>'low latency sensitivity'}, {'value'=>'medium', 'help-string'=>'medium latency sensitivity'}, {'value'=>'high', 'help-string'=>'high latency sensitivity'}]}} # latency threshold in ms def threshold prop_get('threshold') end # latency threshold in ms def threshold=(val) prop_set('threshold', val) end # latency sensitivity def sensitivity prop_get('sensitivity') end # latency sensitivity def sensitivity=(val) prop_set('sensitivity', val) end end def latency @subclasses['latency'] ||= Latency.new(parent_instance: self, client: @client, create_children: @create_children) end class PktLoss < ConfigClass def has_multiple_values?; false; end def _section :'pkt-loss' end @props = {'threshold'=>{'node-type'=>'element', 'help-string'=>'percentage pkt-loss', 'type'=>'rangedint', 'max'=>'100', 'min'=>'1', 'default'=>'1'}, 'sensitivity'=>{'node-type'=>'element', 'help-string'=>'pkt-loss sensitivity', 'type'=>'enum', 'default'=>'medium', 'enum'=>[{'value'=>'low', 'help-string'=>'low pkt-loss sensitivity'}, {'value'=>'medium', 'help-string'=>'medium pkt-loss sensitivity'}, {'value'=>'high', 'help-string'=>'high pkt-loss sensitivity'}]}} # percentage pkt-loss def threshold prop_get('threshold') end # percentage pkt-loss def threshold=(val) prop_set('threshold', val) end # pkt-loss sensitivity def sensitivity prop_get('sensitivity') end # pkt-loss sensitivity def sensitivity=(val) prop_set('sensitivity', val) end end def pkt_loss @subclasses['pkt-loss'] ||= PktLoss.new(parent_instance: self, client: @client, create_children: @create_children) end class Jitter < ConfigClass def has_multiple_values?; false; end def _section :jitter end @props = {'threshold'=>{'node-type'=>'element', 'help-string'=>'jitter threshold in ms', 'type'=>'rangedint', 'max'=>'2000', 'min'=>'10', 'default'=>'100'}, 'sensitivity'=>{'node-type'=>'element', 'help-string'=>'jitter sensitivity', 'type'=>'enum', 'default'=>'medium', 'enum'=>[{'value'=>'low', 'help-string'=>'low jitter sensitivity'}, {'value'=>'medium', 'help-string'=>'medium jitter sensitivity'}, {'value'=>'high', 'help-string'=>'high jitter sensitivity'}]}} # jitter threshold in ms def threshold prop_get('threshold') end # jitter threshold in ms def threshold=(val) prop_set('threshold', val) end # jitter sensitivity def sensitivity prop_get('sensitivity') end # jitter sensitivity def sensitivity=(val) prop_set('sensitivity', val) end end def jitter @subclasses['jitter'] ||= Jitter.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def metric @subclasses['metric'] ||= Metric.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'yes'}, {'value'=>'no'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def sdwan_path_quality maybe_register_subclass('sdwan-path-quality', SdwanPathQuality.new(parent_instance: self, client: @client, create_children: @create_children)) end class SdwanTrafficDistribution < XML::ConfigClass def has_multiple_values?; true; end def _section :'sdwan-traffic-distribution' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class LinkTags < XML::ConfigClass def has_multiple_values?; true; end def _section :'link-tags' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'255', 'help-string'=>'Link-Group identifying set of interfaces'}, 'weight'=>{'node-type'=>'element', 'optional'=>'yes', 'help-string'=>'grade weight in percentage', 'type'=>'rangedint', 'min'=>'0', 'max'=>'100'}} # Link-Group identifying set of interfaces def name prop_get('@name') end # grade weight in percentage def weight prop_get('weight') end # grade weight in percentage def weight=(val) prop_set('weight', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def link_tags maybe_register_subclass('link-tags', LinkTags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'yes'}, {'value'=>'no'}]}, 'traffic-distribution'=>{'node-type'=>'element', 'help-string'=>'Enable Session Distribution across Links', 'type'=>'enum', 'default'=>'Best Available Path', 'enum'=>[{'value'=>'Best Available Path', 'help-string'=>'Best Available Path'}, {'value'=>'Top Down Priority', 'help-string'=>'Top Down Priority'}, {'value'=>'Weighted Session Distribution', 'help-string'=>'Weighted Session Distribution'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end # Enable Session Distribution across Links def traffic_distribution prop_get('traffic-distribution') end # Enable Session Distribution across Links def traffic_distribution=(val) prop_set('traffic-distribution', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def sdwan_traffic_distribution maybe_register_subclass('sdwan-traffic-distribution', SdwanTrafficDistribution.new(parent_instance: self, client: @client, create_children: @create_children)) end class SdwanSaasQuality < XML::ConfigClass def has_multiple_values?; true; end def _section :'sdwan-saas-quality' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class MonitorMode < ConfigClass def has_multiple_values?; false; end def _section :'monitor-mode' end class Adaptive < ConfigClass def has_multiple_values?; false; end def _section :adaptive end @props = {} end def adaptive @subclasses['adaptive'] ||= Adaptive.new(parent_instance: self, client: @client, create_children: @create_children) end class StaticIp < ConfigClass def has_multiple_values?; false; end def _section :'static-ip' end class IpAddress < XML::ConfigClass def has_multiple_values?; true; end def _section :'ip-address' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'multiple', 'help-string'=>'Monitor IP address', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'ipspec'=>{'unicast-only'=>'yes', 'ipv4-only'=>'yes'}}}, 'probe-interval'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'60', 'default'=>'3', 'help-string'=>'Interval in seconds between two probes'}} # Monitor IP address def name prop_get('@name') end # Interval in seconds between two probes def probe_interval prop_get('probe-interval') end # Interval in seconds between two probes def probe_interval=(val) prop_set('probe-interval', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ip_address maybe_register_subclass('ip-address', IpAddress.new(parent_instance: self, client: @client, create_children: @create_children)) end class Fqdn < ConfigClass def has_multiple_values?; false; end def _section :fqdn end @props = {'fqdn-name'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'regex'=>'^([a-zA-Z0-9._-])+$', 'help-string'=>'FQDN to be monitored'}, 'probe-interval'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'60', 'default'=>'3', 'help-string'=>'Interval in seconds between two probes'}} # FQDN to be monitored def fqdn_name prop_get('fqdn-name') end # FQDN to be monitored def fqdn_name=(val) prop_set('fqdn-name', val) end # Interval in seconds between two probes def probe_interval prop_get('probe-interval') end # Interval in seconds between two probes def probe_interval=(val) prop_set('probe-interval', val) end end def fqdn @subclasses['fqdn'] ||= Fqdn.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def static_ip @subclasses['static-ip'] ||= StaticIp.new(parent_instance: self, client: @client, create_children: @create_children) end class HttpHttps < ConfigClass def has_multiple_values?; false; end def _section :'http-https' end @props = {'monitored-url'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'255', 'regex'=>'^http(s)?://.+$', 'help-string'=>'http or https URL : Ex : https://www.paloaltonetworks.com'}, 'probe-interval'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'3', 'max'=>'60', 'default'=>'3', 'help-string'=>'Interval in seconds between two probes'}} # http or https URL : Ex : https://www.paloaltonetworks.com def monitored_url prop_get('monitored-url') end # http or https URL : Ex : https://www.paloaltonetworks.com def monitored_url=(val) prop_set('monitored-url', val) end # Interval in seconds between two probes def probe_interval prop_get('probe-interval') end # Interval in seconds between two probes def probe_interval=(val) prop_set('probe-interval', val) end end def http_https @subclasses['http-https'] ||= HttpHttps.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def monitor_mode @subclasses['monitor-mode'] ||= MonitorMode.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'yes'}, {'value'=>'no'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def sdwan_saas_quality maybe_register_subclass('sdwan-saas-quality', SdwanSaasQuality.new(parent_instance: self, client: @client, create_children: @create_children)) end class SdwanErrorCorrection < XML::ConfigClass def has_multiple_values?; true; end def _section :'sdwan-error-correction' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Mode < ConfigClass def has_multiple_values?; false; end def _section :mode end class ForwardErrorCorrection < ConfigClass def has_multiple_values?; false; end def _section :'forward-error-correction' end @props = {'ratio'=>{'node-type'=>'element', 'help-string'=>'Packet Loss Correction Ratio', 'type'=>'enum', 'default'=>'10% (20:2)', 'enum'=>[{'value'=>'10% (20:2)', 'help-string'=>'2 parity pkts for every 20 data packets'}, {'value'=>'20% (20:4)', 'help-string'=>'4 parity pkts for every 20 data packets'}, {'value'=>'30% (20:6)', 'help-string'=>'6 parity pkts for every 20 data packets'}, {'value'=>'40% (20:8)', 'help-string'=>'8 parity pkts for every 20 data packets'}, {'value'=>'50% (20:10)', 'help-string'=>'10 parity pkts for every 20 data packets'}]}, 'recovery-duration'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'5000', 'default'=>'1000', 'help-string'=>'Time in ms for which FEC packets can remain in the firewall'}} # Packet Loss Correction Ratio def ratio prop_get('ratio') end # Packet Loss Correction Ratio def ratio=(val) prop_set('ratio', val) end # Time in ms for which FEC packets can remain in the firewall def recovery_duration prop_get('recovery-duration') end # Time in ms for which FEC packets can remain in the firewall def recovery_duration=(val) prop_set('recovery-duration', val) end end def forward_error_correction @subclasses['forward-error-correction'] ||= ForwardErrorCorrection.new(parent_instance: self, client: @client, create_children: @create_children) end class PacketDuplication < ConfigClass def has_multiple_values?; false; end def _section :'packet-duplication' end @props = {'recovery-duration-pd'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'5000', 'default'=>'1000', 'help-string'=>'Time in ms for which PD packets can remain in the firewall'}} # Time in ms for which PD packets can remain in the firewall def recovery_duration_pd prop_get('recovery-duration-pd') end # Time in ms for which PD packets can remain in the firewall def recovery_duration_pd=(val) prop_set('recovery-duration-pd', val) end end def packet_duplication @subclasses['packet-duplication'] ||= PacketDuplication.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def mode @subclasses['mode'] ||= Mode.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'yes'}, {'value'=>'no'}]}, 'activation-threshold'=>{'node-type'=>'element', 'help-string'=>'Activate when pkt loss exceeds this threshold percentage', 'type'=>'rangedint', 'min'=>'1', 'max'=>'99', 'default'=>'2'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end # Activate when pkt loss exceeds this threshold percentage def activation_threshold prop_get('activation-threshold') end # Activate when pkt loss exceeds this threshold percentage def activation_threshold=(val) prop_set('activation-threshold', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def sdwan_error_correction maybe_register_subclass('sdwan-error-correction', SdwanErrorCorrection.new(parent_instance: self, client: @client, create_children: @create_children)) end class Decryption < XML::ConfigClass def has_multiple_values?; true; end def _section :decryption end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SslForwardProxy < ConfigClass def has_multiple_values?; false; end def _section :'ssl-forward-proxy' end @props = {'block-expired-certificate'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'whether to block sessions if server\'s certificate is expired'}, 'block-untrusted-issuer'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'whether to block sessions if server\'s certificate is issued by untrusted CA'}, 'block-tls13-downgrade-no-resource'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'whether to downgrade from tls1.3 if device has not enough resources'}, 'restrict-cert-exts'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'whether to restrict certificates\' extensions'}, 'block-unsupported-version'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'whether to block sessions if ssl version is not supported'}, 'block-unsupported-cipher'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'whether to block sessions if ssl cipher suite is not supported'}, 'block-client-cert'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'whether to block sessions if client certificate authentication is used'}, 'block-if-no-resource'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'whether to block sessions if device has no enough resources'}, 'block-if-hsm-unavailable'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'whether to block sessions if HSM is unavailable'}, 'block-unknown-cert'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'whether to block a session if cert. status is unknown'}, 'block-if-sni-mismatch'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'whether to block a session when certificate\'s subject name or SAN doesn\'t match SNI'}, 'block-timeout-cert'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'whether to block a session if cert. status can\'t be retrieved within timeout'}, 'auto-include-altname'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'whether to automatically append SAN to impersonating certificate if server certificate is missing SAN'}, 'strip-alpn'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Strip ALPN extension in client hello'}} # whether to block sessions if server's certificate is expired def block_expired_certificate prop_get('block-expired-certificate') end # whether to block sessions if server's certificate is expired def block_expired_certificate=(val) prop_set('block-expired-certificate', val) end # whether to block sessions if server's certificate is issued by untrusted CA def block_untrusted_issuer prop_get('block-untrusted-issuer') end # whether to block sessions if server's certificate is issued by untrusted CA def block_untrusted_issuer=(val) prop_set('block-untrusted-issuer', val) end # whether to downgrade from tls1.3 if device has not enough resources def block_tls13_downgrade_no_resource prop_get('block-tls13-downgrade-no-resource') end # whether to downgrade from tls1.3 if device has not enough resources def block_tls13_downgrade_no_resource=(val) prop_set('block-tls13-downgrade-no-resource', val) end # whether to restrict certificates' extensions def restrict_cert_exts prop_get('restrict-cert-exts') end # whether to restrict certificates' extensions def restrict_cert_exts=(val) prop_set('restrict-cert-exts', val) end # whether to block sessions if ssl version is not supported def block_unsupported_version prop_get('block-unsupported-version') end # whether to block sessions if ssl version is not supported def block_unsupported_version=(val) prop_set('block-unsupported-version', val) end # whether to block sessions if ssl cipher suite is not supported def block_unsupported_cipher prop_get('block-unsupported-cipher') end # whether to block sessions if ssl cipher suite is not supported def block_unsupported_cipher=(val) prop_set('block-unsupported-cipher', val) end # whether to block sessions if client certificate authentication is used def block_client_cert prop_get('block-client-cert') end # whether to block sessions if client certificate authentication is used def block_client_cert=(val) prop_set('block-client-cert', val) end # whether to block sessions if device has no enough resources def block_if_no_resource prop_get('block-if-no-resource') end # whether to block sessions if device has no enough resources def block_if_no_resource=(val) prop_set('block-if-no-resource', val) end # whether to block sessions if HSM is unavailable def block_if_hsm_unavailable prop_get('block-if-hsm-unavailable') end # whether to block sessions if HSM is unavailable def block_if_hsm_unavailable=(val) prop_set('block-if-hsm-unavailable', val) end # whether to block a session if cert. status is unknown def block_unknown_cert prop_get('block-unknown-cert') end # whether to block a session if cert. status is unknown def block_unknown_cert=(val) prop_set('block-unknown-cert', val) end # whether to block a session when certificate's subject name or SAN doesn't match SNI def block_if_sni_mismatch prop_get('block-if-sni-mismatch') end # whether to block a session when certificate's subject name or SAN doesn't match SNI def block_if_sni_mismatch=(val) prop_set('block-if-sni-mismatch', val) end # whether to block a session if cert. status can't be retrieved within timeout def block_timeout_cert prop_get('block-timeout-cert') end # whether to block a session if cert. status can't be retrieved within timeout def block_timeout_cert=(val) prop_set('block-timeout-cert', val) end # whether to automatically append SAN to impersonating certificate if server certificate is missing SAN def auto_include_altname prop_get('auto-include-altname') end # whether to automatically append SAN to impersonating certificate if server certificate is missing SAN def auto_include_altname=(val) prop_set('auto-include-altname', val) end # Strip ALPN extension in client hello def strip_alpn prop_get('strip-alpn') end # Strip ALPN extension in client hello def strip_alpn=(val) prop_set('strip-alpn', val) end end def ssl_forward_proxy @subclasses['ssl-forward-proxy'] ||= SslForwardProxy.new(parent_instance: self, client: @client, create_children: @create_children) end class SslInboundProxy < ConfigClass def has_multiple_values?; false; end def _section :'ssl-inbound-proxy' end @props = {'block-unsupported-version'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'whether to block sessions if ssl version is not supported'}, 'block-unsupported-cipher'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'whether to block sessions if ssl cipher suite is not supported'}, 'block-if-no-resource'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'whether to block sessions if device has no enough resources'}, 'block-tls13-downgrade-no-resource'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'whether to downgrade from tls1.3 if device has not enough resources'}, 'block-if-hsm-unavailable'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'whether to block sessions if HSM is unavailable'}} # whether to block sessions if ssl version is not supported def block_unsupported_version prop_get('block-unsupported-version') end # whether to block sessions if ssl version is not supported def block_unsupported_version=(val) prop_set('block-unsupported-version', val) end # whether to block sessions if ssl cipher suite is not supported def block_unsupported_cipher prop_get('block-unsupported-cipher') end # whether to block sessions if ssl cipher suite is not supported def block_unsupported_cipher=(val) prop_set('block-unsupported-cipher', val) end # whether to block sessions if device has no enough resources def block_if_no_resource prop_get('block-if-no-resource') end # whether to block sessions if device has no enough resources def block_if_no_resource=(val) prop_set('block-if-no-resource', val) end # whether to downgrade from tls1.3 if device has not enough resources def block_tls13_downgrade_no_resource prop_get('block-tls13-downgrade-no-resource') end # whether to downgrade from tls1.3 if device has not enough resources def block_tls13_downgrade_no_resource=(val) prop_set('block-tls13-downgrade-no-resource', val) end # whether to block sessions if HSM is unavailable def block_if_hsm_unavailable prop_get('block-if-hsm-unavailable') end # whether to block sessions if HSM is unavailable def block_if_hsm_unavailable=(val) prop_set('block-if-hsm-unavailable', val) end end def ssl_inbound_proxy @subclasses['ssl-inbound-proxy'] ||= SslInboundProxy.new(parent_instance: self, client: @client, create_children: @create_children) end class SslProtocolSettings < ConfigClass def has_multiple_values?; false; end def _section :'ssl-protocol-settings' end @props = {'min-version'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'tls1-0', 'enum'=>[{'value'=>'sslv3', 'prune-on'=>'fips-mode', 'help-string'=>'SSLv3.0'}, {'value'=>'tls1-0', 'help-string'=>'TLSv1.0'}, {'value'=>'tls1-1', 'help-string'=>'TLSv1.1'}, {'value'=>'tls1-2', 'help-string'=>'TLSv1.2'}, {'value'=>'tls1-3', 'help-string'=>'TLSv1.3'}]}, 'max-version'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'tls1-2', 'enum'=>[{'value'=>'sslv3', 'prune-on'=>'fips-mode', 'help-string'=>'SSLv3.0'}, {'value'=>'tls1-0', 'help-string'=>'TLSv1.0'}, {'value'=>'tls1-1', 'help-string'=>'TLSv1.1'}, {'value'=>'tls1-2', 'help-string'=>'TLSv1.2'}, {'value'=>'tls1-3', 'help-string'=>'TLSv1.3'}, {'value'=>'max', 'help-string'=>'Max'}]}, 'keyxchg-algo-rsa'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm RSA'}, 'keyxchg-algo-dhe'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm DHE'}, 'keyxchg-algo-ecdhe'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm ECDHE'}, 'enc-algo-3des'=>{'node-type'=>'element', 'prune-on'=>'fips-mode', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm 3DES'}, 'enc-algo-rc4'=>{'node-type'=>'element', 'prune-on'=>'fips-mode', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm RC4'}, 'enc-algo-aes-128-cbc'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm AES-128-CBC'}, 'enc-algo-aes-256-cbc'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm AES-256-CBC'}, 'enc-algo-aes-128-gcm'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm AES-128-GCM'}, 'enc-algo-aes-256-gcm'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm AES-256-GCM'}, 'enc-algo-chacha20-poly1305'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm chacha20-poly1305'}, 'auth-algo-md5'=>{'node-type'=>'element', 'prune-on'=>'fips-mode', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Allow authentication MD5'}, 'auth-algo-sha1'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow authentication SHA1'}, 'auth-algo-sha256'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow authentication SHA256'}, 'auth-algo-sha384'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow authentication SHA384'}} def min_version prop_get('min-version') end def min_version=(val) prop_set('min-version', val) end def max_version prop_get('max-version') end def max_version=(val) prop_set('max-version', val) end # Allow algorithm RSA def keyxchg_algo_rsa prop_get('keyxchg-algo-rsa') end # Allow algorithm RSA def keyxchg_algo_rsa=(val) prop_set('keyxchg-algo-rsa', val) end # Allow algorithm DHE def keyxchg_algo_dhe prop_get('keyxchg-algo-dhe') end # Allow algorithm DHE def keyxchg_algo_dhe=(val) prop_set('keyxchg-algo-dhe', val) end # Allow algorithm ECDHE def keyxchg_algo_ecdhe prop_get('keyxchg-algo-ecdhe') end # Allow algorithm ECDHE def keyxchg_algo_ecdhe=(val) prop_set('keyxchg-algo-ecdhe', val) end # Allow algorithm 3DES def enc_algo_3des prop_get('enc-algo-3des') end # Allow algorithm 3DES def enc_algo_3des=(val) prop_set('enc-algo-3des', val) end # Allow algorithm RC4 def enc_algo_rc4 prop_get('enc-algo-rc4') end # Allow algorithm RC4 def enc_algo_rc4=(val) prop_set('enc-algo-rc4', val) end # Allow algorithm AES-128-CBC def enc_algo_aes_128_cbc prop_get('enc-algo-aes-128-cbc') end # Allow algorithm AES-128-CBC def enc_algo_aes_128_cbc=(val) prop_set('enc-algo-aes-128-cbc', val) end # Allow algorithm AES-256-CBC def enc_algo_aes_256_cbc prop_get('enc-algo-aes-256-cbc') end # Allow algorithm AES-256-CBC def enc_algo_aes_256_cbc=(val) prop_set('enc-algo-aes-256-cbc', val) end # Allow algorithm AES-128-GCM def enc_algo_aes_128_gcm prop_get('enc-algo-aes-128-gcm') end # Allow algorithm AES-128-GCM def enc_algo_aes_128_gcm=(val) prop_set('enc-algo-aes-128-gcm', val) end # Allow algorithm AES-256-GCM def enc_algo_aes_256_gcm prop_get('enc-algo-aes-256-gcm') end # Allow algorithm AES-256-GCM def enc_algo_aes_256_gcm=(val) prop_set('enc-algo-aes-256-gcm', val) end # Allow algorithm chacha20-poly1305 def enc_algo_chacha20_poly1305 prop_get('enc-algo-chacha20-poly1305') end # Allow algorithm chacha20-poly1305 def enc_algo_chacha20_poly1305=(val) prop_set('enc-algo-chacha20-poly1305', val) end # Allow authentication MD5 def auth_algo_md5 prop_get('auth-algo-md5') end # Allow authentication MD5 def auth_algo_md5=(val) prop_set('auth-algo-md5', val) end # Allow authentication SHA1 def auth_algo_sha1 prop_get('auth-algo-sha1') end # Allow authentication SHA1 def auth_algo_sha1=(val) prop_set('auth-algo-sha1', val) end # Allow authentication SHA256 def auth_algo_sha256 prop_get('auth-algo-sha256') end # Allow authentication SHA256 def auth_algo_sha256=(val) prop_set('auth-algo-sha256', val) end # Allow authentication SHA384 def auth_algo_sha384 prop_get('auth-algo-sha384') end # Allow authentication SHA384 def auth_algo_sha384=(val) prop_set('auth-algo-sha384', val) end end def ssl_protocol_settings @subclasses['ssl-protocol-settings'] ||= SslProtocolSettings.new(parent_instance: self, client: @client, create_children: @create_children) end class SslNoProxy < ConfigClass def has_multiple_values?; false; end def _section :'ssl-no-proxy' end @props = {'block-expired-certificate'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'whether to block sessions if server\'s certificate is expired'}, 'block-untrusted-issuer'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'whether to block sessions if server\'s certificate is issued by untrusted CA'}} # whether to block sessions if server's certificate is expired def block_expired_certificate prop_get('block-expired-certificate') end # whether to block sessions if server's certificate is expired def block_expired_certificate=(val) prop_set('block-expired-certificate', val) end # whether to block sessions if server's certificate is issued by untrusted CA def block_untrusted_issuer prop_get('block-untrusted-issuer') end # whether to block sessions if server's certificate is issued by untrusted CA def block_untrusted_issuer=(val) prop_set('block-untrusted-issuer', val) end end def ssl_no_proxy @subclasses['ssl-no-proxy'] ||= SslNoProxy.new(parent_instance: self, client: @client, create_children: @create_children) end class SshProxy < ConfigClass def has_multiple_values?; false; end def _section :'ssh-proxy' end @props = {'block-unsupported-version'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'whether to block sessions if ssh version is not supported'}, 'block-unsupported-alg'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'whether to block sessions if ssh algorithm is not supported'}, 'block-ssh-errors'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'whether to block sessions if ssh errors are encountered'}, 'block-if-no-resource'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'whether to block sessions if device has no enough resources'}} # whether to block sessions if ssh version is not supported def block_unsupported_version prop_get('block-unsupported-version') end # whether to block sessions if ssh version is not supported def block_unsupported_version=(val) prop_set('block-unsupported-version', val) end # whether to block sessions if ssh algorithm is not supported def block_unsupported_alg prop_get('block-unsupported-alg') end # whether to block sessions if ssh algorithm is not supported def block_unsupported_alg=(val) prop_set('block-unsupported-alg', val) end # whether to block sessions if ssh errors are encountered def block_ssh_errors prop_get('block-ssh-errors') end # whether to block sessions if ssh errors are encountered def block_ssh_errors=(val) prop_set('block-ssh-errors', val) end # whether to block sessions if device has no enough resources def block_if_no_resource prop_get('block-if-no-resource') end # whether to block sessions if device has no enough resources def block_if_no_resource=(val) prop_set('block-if-no-resource', val) end end def ssh_proxy @subclasses['ssh-proxy'] ||= SshProxy.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'yes'}, {'value'=>'no'}]}, 'interface'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'decrypt mirror port'}, 'forwarded-only'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'mirror after security policy allow'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end # decrypt mirror port def interface prop_get('interface') end # decrypt mirror port def interface=(val) prop_set('interface', val) end # mirror after security policy allow def forwarded_only prop_get('forwarded-only') end # mirror after security policy allow def forwarded_only=(val) prop_set('forwarded-only', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def decryption maybe_register_subclass('decryption', Decryption.new(parent_instance: self, client: @client, create_children: @create_children)) end class PacketBroker < XML::ConfigClass def has_multiple_values?; true; end def _section :'packet-broker' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Transparent < ConfigClass def has_multiple_values?; false; end def _section :transparent end @props = {'enable-ipv6'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable IPv6'}} # Enable IPv6 def enable_ipv6 prop_get('enable-ipv6') end # Enable IPv6 def enable_ipv6=(val) prop_set('enable-ipv6', val) end end def transparent @subclasses['transparent'] ||= Transparent.new(parent_instance: self, client: @client, create_children: @create_children) end class Routed < ConfigClass def has_multiple_values?; false; end def _section :routed end class SecurityChain < XML::ConfigClass def has_multiple_values?; true; end def _section :'security-chain' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name'}, 'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'first-device'=>{'node-type'=>'element', 'type'=>'ipspec', 'unicast-only'=>'yes', 'ipv4-only'=>'yes'}, 'first-device-description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'31'}, 'last-device'=>{'node-type'=>'element', 'type'=>'ipspec', 'unicast-only'=>'yes', 'ipv4-only'=>'yes'}, 'last-device-description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'31'}} def name prop_get('@name') end def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end def first_device prop_get('first-device') end def first_device=(val) prop_set('first-device', val) end def first_device_description prop_get('first-device-description') end def first_device_description=(val) prop_set('first-device-description', val) end def last_device prop_get('last-device') end def last_device=(val) prop_set('last-device', val) end def last_device_description prop_get('last-device-description') end def last_device_description=(val) prop_set('last-device-description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def security_chain maybe_register_subclass('security-chain', SecurityChain.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'distribution'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'round-robin', 'enum'=>[{'value'=>'round-robin', 'help-string'=>'Round Robin'}, {'value'=>'ip-modulo', 'help-string'=>'IP Modulo'}, {'value'=>'ip-hash', 'help-string'=>'IP Hash'}, {'value'=>'lowest-latency', 'help-string'=>'Lowest Latency'}]}} def distribution prop_get('distribution') end def distribution=(val) prop_set('distribution', val) end end def routed @subclasses['routed'] ||= Routed.new(parent_instance: self, client: @client, create_children: @create_children) end class HealthCheck < ConfigClass def has_multiple_values?; false; end def _section :'health-check' end @props = {'failure-action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'bypass', 'enum'=>[{'value'=>'bypass', 'help-string'=>'Bypass Security Chain'}, {'value'=>'block', 'help-string'=>'Block Session'}]}, 'failure-condition'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'any', 'enum'=>[{'value'=>'any', 'help-string'=>'OR condition'}, {'value'=>'all', 'help-string'=>'AND condition'}]}, 'path-enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'path-count'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'10', 'default'=>'3'}, 'path-interval-s'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'60', 'default'=>'3'}, 'path-recovery-hold-s'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535', 'default'=>'30'}, 'http-enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'http-count'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'10', 'default'=>'3'}, 'http-interval-s'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'60', 'default'=>'3'}, 'http-latency-enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'http-latency-maximum-ms'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'10', 'max'=>'65535', 'default'=>'500'}, 'http-latency-duration-s'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'60'}, 'http-latency-log-exceeded'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}} def failure_action prop_get('failure-action') end def failure_action=(val) prop_set('failure-action', val) end def failure_condition prop_get('failure-condition') end def failure_condition=(val) prop_set('failure-condition', val) end def path_enable prop_get('path-enable') end def path_enable=(val) prop_set('path-enable', val) end def path_count prop_get('path-count') end def path_count=(val) prop_set('path-count', val) end def path_interval_s prop_get('path-interval-s') end def path_interval_s=(val) prop_set('path-interval-s', val) end def path_recovery_hold_s prop_get('path-recovery-hold-s') end def path_recovery_hold_s=(val) prop_set('path-recovery-hold-s', val) end def http_enable prop_get('http-enable') end def http_enable=(val) prop_set('http-enable', val) end def http_count prop_get('http-count') end def http_count=(val) prop_set('http-count', val) end def http_interval_s prop_get('http-interval-s') end def http_interval_s=(val) prop_set('http-interval-s', val) end def http_latency_enable prop_get('http-latency-enable') end def http_latency_enable=(val) prop_set('http-latency-enable', val) end def http_latency_maximum_ms prop_get('http-latency-maximum-ms') end def http_latency_maximum_ms=(val) prop_set('http-latency-maximum-ms', val) end def http_latency_duration_s prop_get('http-latency-duration-s') end def http_latency_duration_s=(val) prop_set('http-latency-duration-s', val) end def http_latency_log_exceeded prop_get('http-latency-log-exceeded') end def http_latency_log_exceeded=(val) prop_set('http-latency-log-exceeded', val) end end def health_check @subclasses['health-check'] ||= HealthCheck.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'yes'}, {'value'=>'no'}]}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'interface-primary'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'primary interface (Interface #1)'}, 'interface-secondary'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'secondary interface (Interface #2)'}, 'flow'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'bidirectional', 'enum'=>[{'value'=>'unidirectional', 'help-string'=>'all packets egressed from primary interface'}, {'value'=>'bidirectional', 'help-string'=>'server packets egressed from secondary interface'}]}} def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end # primary interface (Interface #1) def interface_primary prop_get('interface-primary') end # primary interface (Interface #1) def interface_primary=(val) prop_set('interface-primary', val) end # secondary interface (Interface #2) def interface_secondary prop_get('interface-secondary') end # secondary interface (Interface #2) def interface_secondary=(val) prop_set('interface-secondary', val) end def flow prop_get('flow') end def flow=(val) prop_set('flow', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def packet_broker maybe_register_subclass('packet-broker', PacketBroker.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def profiles @subclasses['profiles'] ||= Profiles.new(parent_instance: self, client: @client, create_children: @create_children) end class ProfileGroup < XML::ConfigClass def has_multiple_values?; true; end def _section :'profile-group' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Virus < XML::ConfigClass def has_multiple_values?; true; end def _section :virus end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def virus maybe_register_subclass('virus', Virus.new(parent_instance: self, client: @client, create_children: @create_children)) end class Spyware < XML::ConfigClass def has_multiple_values?; true; end def _section :spyware end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def spyware maybe_register_subclass('spyware', Spyware.new(parent_instance: self, client: @client, create_children: @create_children)) end class Vulnerability < XML::ConfigClass def has_multiple_values?; true; end def _section :vulnerability end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def vulnerability maybe_register_subclass('vulnerability', Vulnerability.new(parent_instance: self, client: @client, create_children: @create_children)) end class Gtp < XML::ConfigClass def has_multiple_values?; true; end def _section :gtp end @props = {'member'=>{'node-type'=>'element', 'hidden'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def gtp maybe_register_subclass('gtp', Gtp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Sctp < XML::ConfigClass def has_multiple_values?; true; end def _section :sctp end @props = {'member'=>{'node-type'=>'element', 'hidden'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def sctp maybe_register_subclass('sctp', Sctp.new(parent_instance: self, client: @client, create_children: @create_children)) end class UrlFiltering < XML::ConfigClass def has_multiple_values?; true; end def _section :'url-filtering' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def url_filtering maybe_register_subclass('url-filtering', UrlFiltering.new(parent_instance: self, client: @client, create_children: @create_children)) end class FileBlocking < XML::ConfigClass def has_multiple_values?; true; end def _section :'file-blocking' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def file_blocking maybe_register_subclass('file-blocking', FileBlocking.new(parent_instance: self, client: @client, create_children: @create_children)) end class WildfireAnalysis < XML::ConfigClass def has_multiple_values?; true; end def _section :'wildfire-analysis' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def wildfire_analysis maybe_register_subclass('wildfire-analysis', WildfireAnalysis.new(parent_instance: self, client: @client, create_children: @create_children)) end class DataFiltering < XML::ConfigClass def has_multiple_values?; true; end def _section :'data-filtering' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def data_filtering maybe_register_subclass('data-filtering', DataFiltering.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'yes'}, {'value'=>'no'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def profile_group maybe_register_subclass('profile-group', ProfileGroup.new(parent_instance: self, client: @client, create_children: @create_children)) end class Service < XML::ConfigClass def has_multiple_values?; true; end def _section :service end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Protocol < XML::ConfigClass def has_multiple_values?; true; end def _section :protocol end class Tcp < ConfigClass def has_multiple_values?; false; end def _section :tcp end class Override < XML::ConfigClass def has_multiple_values?; true; end def _section :override end class No < ConfigClass def has_multiple_values?; false; end def _section :no end @props = {} end def no @subclasses['no'] ||= No.new(parent_instance: self, client: @client, create_children: @create_children) end class Yes < ConfigClass def has_multiple_values?; false; end def _section :yes end @props = {'timeout'=>{'node-type'=>'element', 'help-string'=>'tcp session timeout value (in second)', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'604800'}, 'halfclose-timeout'=>{'node-type'=>'element', 'help-string'=>'tcp session half-close timeout value (in second)', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'604800'}, 'timewait-timeout'=>{'node-type'=>'element', 'help-string'=>'tcp session time-wait timeout value (in second)', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'600'}} # tcp session timeout value (in second) def timeout prop_get('timeout') end # tcp session timeout value (in second) def timeout=(val) prop_set('timeout', val) end # tcp session half-close timeout value (in second) def halfclose_timeout prop_get('halfclose-timeout') end # tcp session half-close timeout value (in second) def halfclose_timeout=(val) prop_set('halfclose-timeout', val) end # tcp session time-wait timeout value (in second) def timewait_timeout prop_get('timewait-timeout') end # tcp session time-wait timeout value (in second) def timewait_timeout=(val) prop_set('timewait-timeout', val) end end def yes @subclasses['yes'] ||= Yes.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def override maybe_register_subclass('override', Override.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'port'=>{'node-type'=>'element', 'type'=>'rangelistspec', 'min'=>'0', 'maxlen'=>'1023'}, 'source-port'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangelistspec', 'min'=>'0', 'maxlen'=>'1023'}} def port prop_get('port') end def port=(val) prop_set('port', val) end def source_port prop_get('source-port') end def source_port=(val) prop_set('source-port', val) end end def tcp @subclasses['tcp'] ||= Tcp.new(parent_instance: self, client: @client, create_children: @create_children) end class Udp < ConfigClass def has_multiple_values?; false; end def _section :udp end class Override < XML::ConfigClass def has_multiple_values?; true; end def _section :override end class No < ConfigClass def has_multiple_values?; false; end def _section :no end @props = {} end def no @subclasses['no'] ||= No.new(parent_instance: self, client: @client, create_children: @create_children) end class Yes < ConfigClass def has_multiple_values?; false; end def _section :yes end @props = {'timeout'=>{'node-type'=>'element', 'help-string'=>'udp session timeout value (in second)', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'604800', 'default'=>'30'}} # udp session timeout value (in second) def timeout prop_get('timeout') end # udp session timeout value (in second) def timeout=(val) prop_set('timeout', val) end end def yes @subclasses['yes'] ||= Yes.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def override maybe_register_subclass('override', Override.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'port'=>{'node-type'=>'element', 'type'=>'rangelistspec', 'min'=>'0', 'maxlen'=>'1023'}, 'source-port'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangelistspec', 'min'=>'0', 'maxlen'=>'1023'}} def port prop_get('port') end def port=(val) prop_set('port', val) end def source_port prop_get('source-port') end def source_port=(val) prop_set('source-port', val) end end def udp @subclasses['udp'] ||= Udp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def protocol maybe_register_subclass('protocol', Protocol.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'yes'}, {'value'=>'no'}]}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def service maybe_register_subclass('service', Service.new(parent_instance: self, client: @client, create_children: @create_children)) end class ServiceGroup < XML::ConfigClass def has_multiple_values?; true; end def _section :'service-group' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Members < XML::ConfigClass def has_multiple_values?; true; end def _section :members end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def members maybe_register_subclass('members', Members.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'yes'}, {'value'=>'no'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def service_group maybe_register_subclass('service-group', ServiceGroup.new(parent_instance: self, client: @client, create_children: @create_children)) end class Schedule < XML::ConfigClass def has_multiple_values?; true; end def _section :schedule end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class ScheduleType < XML::ConfigClass def has_multiple_values?; true; end def _section :'schedule-type' end class Recurring < XML::ConfigClass def has_multiple_values?; true; end def _section :recurring end class Weekly < ConfigClass def has_multiple_values?; false; end def _section :weekly end class Sunday < XML::ConfigClass def has_multiple_values?; true; end def _section :sunday end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3]):([0-5][0-9])-([01][0-9]|[2][0-3]):([0-5][0-9])', 'minlen'=>'11', 'maxlen'=>'11', 'help-string'=>'Time range specification hh:mm-hh:mm (e.g. 10:00-23:59)'}} # Time range specification hh:mm-hh:mm (e.g. 10:00-23:59) def member prop_get('member') end # Time range specification hh:mm-hh:mm (e.g. 10:00-23:59) def member=(val) prop_set('member', val) end end def sunday maybe_register_subclass('sunday', Sunday.new(parent_instance: self, client: @client, create_children: @create_children)) end class Monday < XML::ConfigClass def has_multiple_values?; true; end def _section :monday end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3]):([0-5][0-9])-([01][0-9]|[2][0-3]):([0-5][0-9])', 'minlen'=>'11', 'maxlen'=>'11', 'help-string'=>'Time range specification hh:mm-hh:mm (e.g. 10:00-23:59)'}} # Time range specification hh:mm-hh:mm (e.g. 10:00-23:59) def member prop_get('member') end # Time range specification hh:mm-hh:mm (e.g. 10:00-23:59) def member=(val) prop_set('member', val) end end def monday maybe_register_subclass('monday', Monday.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tuesday < XML::ConfigClass def has_multiple_values?; true; end def _section :tuesday end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3]):([0-5][0-9])-([01][0-9]|[2][0-3]):([0-5][0-9])', 'minlen'=>'11', 'maxlen'=>'11', 'help-string'=>'Time range specification hh:mm-hh:mm (e.g. 10:00-23:59)'}} # Time range specification hh:mm-hh:mm (e.g. 10:00-23:59) def member prop_get('member') end # Time range specification hh:mm-hh:mm (e.g. 10:00-23:59) def member=(val) prop_set('member', val) end end def tuesday maybe_register_subclass('tuesday', Tuesday.new(parent_instance: self, client: @client, create_children: @create_children)) end class Wednesday < XML::ConfigClass def has_multiple_values?; true; end def _section :wednesday end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3]):([0-5][0-9])-([01][0-9]|[2][0-3]):([0-5][0-9])', 'minlen'=>'11', 'maxlen'=>'11', 'help-string'=>'Time range specification hh:mm-hh:mm (e.g. 10:00-23:59)'}} # Time range specification hh:mm-hh:mm (e.g. 10:00-23:59) def member prop_get('member') end # Time range specification hh:mm-hh:mm (e.g. 10:00-23:59) def member=(val) prop_set('member', val) end end def wednesday maybe_register_subclass('wednesday', Wednesday.new(parent_instance: self, client: @client, create_children: @create_children)) end class Thursday < XML::ConfigClass def has_multiple_values?; true; end def _section :thursday end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3]):([0-5][0-9])-([01][0-9]|[2][0-3]):([0-5][0-9])', 'minlen'=>'11', 'maxlen'=>'11', 'help-string'=>'Time range specification hh:mm-hh:mm (e.g. 10:00-23:59)'}} # Time range specification hh:mm-hh:mm (e.g. 10:00-23:59) def member prop_get('member') end # Time range specification hh:mm-hh:mm (e.g. 10:00-23:59) def member=(val) prop_set('member', val) end end def thursday maybe_register_subclass('thursday', Thursday.new(parent_instance: self, client: @client, create_children: @create_children)) end class Friday < XML::ConfigClass def has_multiple_values?; true; end def _section :friday end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3]):([0-5][0-9])-([01][0-9]|[2][0-3]):([0-5][0-9])', 'minlen'=>'11', 'maxlen'=>'11', 'help-string'=>'Time range specification hh:mm-hh:mm (e.g. 10:00-23:59)'}} # Time range specification hh:mm-hh:mm (e.g. 10:00-23:59) def member prop_get('member') end # Time range specification hh:mm-hh:mm (e.g. 10:00-23:59) def member=(val) prop_set('member', val) end end def friday maybe_register_subclass('friday', Friday.new(parent_instance: self, client: @client, create_children: @create_children)) end class Saturday < XML::ConfigClass def has_multiple_values?; true; end def _section :saturday end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3]):([0-5][0-9])-([01][0-9]|[2][0-3]):([0-5][0-9])', 'minlen'=>'11', 'maxlen'=>'11', 'help-string'=>'Time range specification hh:mm-hh:mm (e.g. 10:00-23:59)'}} # Time range specification hh:mm-hh:mm (e.g. 10:00-23:59) def member prop_get('member') end # Time range specification hh:mm-hh:mm (e.g. 10:00-23:59) def member=(val) prop_set('member', val) end end def saturday maybe_register_subclass('saturday', Saturday.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def weekly @subclasses['weekly'] ||= Weekly.new(parent_instance: self, client: @client, create_children: @create_children) end class Daily < XML::ConfigClass def has_multiple_values?; true; end def _section :daily end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3]):([0-5][0-9])-([01][0-9]|[2][0-3]):([0-5][0-9])', 'minlen'=>'11', 'maxlen'=>'11', 'help-string'=>'Time range specification hh:mm-hh:mm (e.g. 10:00-23:59)'}} # Time range specification hh:mm-hh:mm (e.g. 10:00-23:59) def member prop_get('member') end # Time range specification hh:mm-hh:mm (e.g. 10:00-23:59) def member=(val) prop_set('member', val) end end def daily maybe_register_subclass('daily', Daily.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def recurring maybe_register_subclass('recurring', Recurring.new(parent_instance: self, client: @client, create_children: @create_children)) end class NonRecurring < XML::ConfigClass def has_multiple_values?; true; end def _section :'non-recurring' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Datetime range specification YYYY/MM/DD@hh:mm-YYYY/MM/DD@hh:mm (e.g. 2006/08/01@10:00-2007/12/31@23:59)', 'regex'=>'[0-9][0-9][0-9][0-9]/([0][1-9]|[1][0-2])/([0-2][0-9]|[3][0-1])@([01][0-9]|[2][0-3]):([0-5][0-9])-[0-9][0-9][0-9][0-9]/([0][1-9]|[1][0-2])/([0-2][0-9]|[3][0-1])@([01][0-9]|[2][0-3]):([0-5][0-9])', 'minlen'=>'33', 'maxlen'=>'33'}} # Datetime range specification YYYY/MM/DD@hh:mm-YYYY/MM/DD@hh:mm (e.g. 2006/08/01@10:00-2007/12/31@23:59) def member prop_get('member') end # Datetime range specification YYYY/MM/DD@hh:mm-YYYY/MM/DD@hh:mm (e.g. 2006/08/01@10:00-2007/12/31@23:59) def member=(val) prop_set('member', val) end end def non_recurring maybe_register_subclass('non-recurring', NonRecurring.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def schedule_type maybe_register_subclass('schedule-type', ScheduleType.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'yes'}, {'value'=>'no'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def schedule maybe_register_subclass('schedule', Schedule.new(parent_instance: self, client: @client, create_children: @create_children)) end class ApplicationStatus < XML::ConfigClass def has_multiple_values?; true; end def _section :'application-status' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, '@status'=>{'node-type'=>'attr-req', 'type'=>'enum', 'enum'=>[{'value'=>'enabled'}, {'value'=>'disabled'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def status prop_get('@status') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def application_status maybe_register_subclass('application-status', ApplicationStatus.new(parent_instance: self, client: @client, create_children: @create_children)) end class Application < XML::ConfigClass def has_multiple_values?; true; end def _section :application end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Default < XML::ConfigClass def has_multiple_values?; true; end def _section :default end class Port < XML::ConfigClass def has_multiple_values?; true; end def _section :port end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'protocol port specification : {tcp|udp}/{dynamic|port range list} (e.g. tcp/8080, tcp/80,443, tcp/0-1024,10000, udp/dynamic)'}} # protocol port specification : {tcp|udp}/{dynamic|port range list} (e.g. tcp/8080, tcp/80,443, tcp/0-1024,10000, udp/dynamic) def member prop_get('member') end # protocol port specification : {tcp|udp}/{dynamic|port range list} (e.g. tcp/8080, tcp/80,443, tcp/0-1024,10000, udp/dynamic) def member=(val) prop_set('member', val) end end def port maybe_register_subclass('port', Port.new(parent_instance: self, client: @client, create_children: @create_children)) end class IdentByIcmpType < ConfigClass def has_multiple_values?; false; end def _section :'ident-by-icmp-type' end @props = {'type'=>{'node-type'=>'element', 'type'=>'rangelistspec', 'min'=>'0', 'max'=>'255'}, 'code'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangelistspec', 'min'=>'0', 'max'=>'255'}} def type prop_get('type') end def type=(val) prop_set('type', val) end def code prop_get('code') end def code=(val) prop_set('code', val) end end def ident_by_icmp_type @subclasses['ident-by-icmp-type'] ||= IdentByIcmpType.new(parent_instance: self, client: @client, create_children: @create_children) end class IdentByIcmp6Type < ConfigClass def has_multiple_values?; false; end def _section :'ident-by-icmp6-type' end @props = {'type'=>{'node-type'=>'element', 'type'=>'rangelistspec', 'min'=>'0', 'max'=>'255'}, 'code'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangelistspec', 'min'=>'0', 'max'=>'255'}} def type prop_get('type') end def type=(val) prop_set('type', val) end def code prop_get('code') end def code=(val) prop_set('code', val) end end def ident_by_icmp6_type @subclasses['ident-by-icmp6-type'] ||= IdentByIcmp6Type.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'ident-by-ip-protocol'=>{'node-type'=>'element', 'type'=>'rangelistspec', 'min'=>'0', 'max'=>'255'}} def ident_by_ip_protocol prop_get('ident-by-ip-protocol') end def ident_by_ip_protocol=(val) prop_set('ident-by-ip-protocol', val) end end def default maybe_register_subclass('default', Default.new(parent_instance: self, client: @client, create_children: @create_children)) end class Signature < XML::ConfigClass def has_multiple_values?; true; end def _section :signature end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class AndCondition < XML::ConfigClass def has_multiple_values?; true; end def _section :'and-condition' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class OrCondition < XML::ConfigClass def has_multiple_values?; true; end def _section :'or-condition' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Operator < XML::ConfigClass def has_multiple_values?; true; end def _section :operator end class PatternMatch < ConfigClass def has_multiple_values?; false; end def _section :'pattern-match' end class Qualifier < XML::ConfigClass def has_multiple_values?; true; end def _section :qualifier end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'value'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'127'}, 'string'=>{'content-dependent'=>'yes'}}}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def qualifier maybe_register_subclass('qualifier', Qualifier.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'context'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}, 'pattern'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def context prop_get('context') end def context=(val) prop_set('context', val) end def pattern prop_get('pattern') end def pattern=(val) prop_set('pattern', val) end end def pattern_match @subclasses['pattern-match'] ||= PatternMatch.new(parent_instance: self, client: @client, create_children: @create_children) end class GreaterThan < ConfigClass def has_multiple_values?; false; end def _section :'greater-than' end class Qualifier < XML::ConfigClass def has_multiple_values?; true; end def _section :qualifier end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'value'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'127'}, 'string'=>{'content-dependent'=>'yes'}}}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def qualifier maybe_register_subclass('qualifier', Qualifier.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'context'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}, 'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} def context prop_get('context') end def context=(val) prop_set('context', val) end def value prop_get('value') end def value=(val) prop_set('value', val) end end def greater_than @subclasses['greater-than'] ||= GreaterThan.new(parent_instance: self, client: @client, create_children: @create_children) end class LessThan < ConfigClass def has_multiple_values?; false; end def _section :'less-than' end class Qualifier < XML::ConfigClass def has_multiple_values?; true; end def _section :qualifier end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'value'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'127'}, 'string'=>{'content-dependent'=>'yes'}}}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def qualifier maybe_register_subclass('qualifier', Qualifier.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'context'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}, 'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} def context prop_get('context') end def context=(val) prop_set('context', val) end def value prop_get('value') end def value=(val) prop_set('value', val) end end def less_than @subclasses['less-than'] ||= LessThan.new(parent_instance: self, client: @client, create_children: @create_children) end class EqualTo < ConfigClass def has_multiple_values?; false; end def _section :'equal-to' end @props = {'context'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'maxlen'=>'127'}, 'enum'=>[{'value'=>'unknown-req-tcp'}, {'value'=>'unknown-rsp-tcp'}, {'value'=>'unknown-req-udp'}, {'value'=>'unknown-rsp-udp'}]}}, 'position'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'127'}, 'mask'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{8}$', 'maxlen'=>'10', 'help-string'=>'4-byte hex value', 'optional'=>'yes'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'10'}} def context prop_get('context') end def context=(val) prop_set('context', val) end def position prop_get('position') end def position=(val) prop_set('position', val) end # 4-byte hex value def mask prop_get('mask') end # 4-byte hex value def mask=(val) prop_set('mask', val) end def value prop_get('value') end def value=(val) prop_set('value', val) end end def equal_to @subclasses['equal-to'] ||= EqualTo.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def operator maybe_register_subclass('operator', Operator.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def or_condition maybe_register_subclass('or-condition', OrCondition.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def and_condition maybe_register_subclass('and-condition', AndCondition.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'comment'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'256'}, 'scope'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'protocol-data-unit', 'enum'=>[{'value'=>'protocol-data-unit', 'help-string'=>'transaction'}, {'value'=>'session'}]}, 'order-free'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def comment prop_get('comment') end def comment=(val) prop_set('comment', val) end def scope prop_get('scope') end def scope=(val) prop_set('scope', val) end def order_free prop_get('order-free') end def order_free=(val) prop_set('order-free', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def signature maybe_register_subclass('signature', Signature.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'yes'}, {'value'=>'no'}]}, 'category'=>{'node-type'=>'element', 'type'=>'string'}, 'subcategory'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63'}, 'technology'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'604800', 'optional'=>'yes', 'help-string'=>'timeout in seconds'}, 'tcp-timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'604800', 'optional'=>'yes', 'help-string'=>'timeout in seconds'}, 'udp-timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'604800', 'optional'=>'yes', 'help-string'=>'timeout in seconds'}, 'tcp-half-closed-timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'604800', 'optional'=>'yes', 'help-string'=>'timeout for half-close session in seconds'}, 'tcp-time-wait-timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'600', 'optional'=>'yes', 'help-string'=>'timeout for session in time_wait state in seconds'}, 'risk'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'5'}, 'evasive-behavior'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'consume-big-bandwidth'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'used-by-malware'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'able-to-transfer-file'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'has-known-vulnerability'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'tunnel-other-application'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'tunnel-applications'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'prone-to-misuse'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'pervasive-use'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'file-type-ident'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'virus-ident'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'data-ident'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'no-appid-caching'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'alg-disable-capability'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127', 'optional'=>'yes'}, 'parent-app'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127', 'optional'=>'yes'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end def category prop_get('category') end def category=(val) prop_set('category', val) end def subcategory prop_get('subcategory') end def subcategory=(val) prop_set('subcategory', val) end def technology prop_get('technology') end def technology=(val) prop_set('technology', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end # timeout in seconds def timeout prop_get('timeout') end # timeout in seconds def timeout=(val) prop_set('timeout', val) end # timeout in seconds def tcp_timeout prop_get('tcp-timeout') end # timeout in seconds def tcp_timeout=(val) prop_set('tcp-timeout', val) end # timeout in seconds def udp_timeout prop_get('udp-timeout') end # timeout in seconds def udp_timeout=(val) prop_set('udp-timeout', val) end # timeout for half-close session in seconds def tcp_half_closed_timeout prop_get('tcp-half-closed-timeout') end # timeout for half-close session in seconds def tcp_half_closed_timeout=(val) prop_set('tcp-half-closed-timeout', val) end # timeout for session in time_wait state in seconds def tcp_time_wait_timeout prop_get('tcp-time-wait-timeout') end # timeout for session in time_wait state in seconds def tcp_time_wait_timeout=(val) prop_set('tcp-time-wait-timeout', val) end def risk prop_get('risk') end def risk=(val) prop_set('risk', val) end def evasive_behavior prop_get('evasive-behavior') end def evasive_behavior=(val) prop_set('evasive-behavior', val) end def consume_big_bandwidth prop_get('consume-big-bandwidth') end def consume_big_bandwidth=(val) prop_set('consume-big-bandwidth', val) end def used_by_malware prop_get('used-by-malware') end def used_by_malware=(val) prop_set('used-by-malware', val) end def able_to_transfer_file prop_get('able-to-transfer-file') end def able_to_transfer_file=(val) prop_set('able-to-transfer-file', val) end def has_known_vulnerability prop_get('has-known-vulnerability') end def has_known_vulnerability=(val) prop_set('has-known-vulnerability', val) end def tunnel_other_application prop_get('tunnel-other-application') end def tunnel_other_application=(val) prop_set('tunnel-other-application', val) end def tunnel_applications prop_get('tunnel-applications') end def tunnel_applications=(val) prop_set('tunnel-applications', val) end def prone_to_misuse prop_get('prone-to-misuse') end def prone_to_misuse=(val) prop_set('prone-to-misuse', val) end def pervasive_use prop_get('pervasive-use') end def pervasive_use=(val) prop_set('pervasive-use', val) end def file_type_ident prop_get('file-type-ident') end def file_type_ident=(val) prop_set('file-type-ident', val) end def virus_ident prop_get('virus-ident') end def virus_ident=(val) prop_set('virus-ident', val) end def data_ident prop_get('data-ident') end def data_ident=(val) prop_set('data-ident', val) end def no_appid_caching prop_get('no-appid-caching') end def no_appid_caching=(val) prop_set('no-appid-caching', val) end def alg_disable_capability prop_get('alg-disable-capability') end def alg_disable_capability=(val) prop_set('alg-disable-capability', val) end def parent_app prop_get('parent-app') end def parent_app=(val) prop_set('parent-app', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def application maybe_register_subclass('application', Application.new(parent_instance: self, client: @client, create_children: @create_children)) end class ApplicationTag < XML::ConfigClass def has_multiple_values?; true; end def _section :'application-tag' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127', 'max-count'=>'64', 'optional'=>'yes'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'yes'}, {'value'=>'no'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def application_tag maybe_register_subclass('application-tag', ApplicationTag.new(parent_instance: self, client: @client, create_children: @create_children)) end class ApplicationFilter < XML::ConfigClass def has_multiple_values?; true; end def _section :'application-filter' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Category < XML::ConfigClass def has_multiple_values?; true; end def _section :category end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'128'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def category maybe_register_subclass('category', Category.new(parent_instance: self, client: @client, create_children: @create_children)) end class Subcategory < XML::ConfigClass def has_multiple_values?; true; end def _section :subcategory end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'128'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def subcategory maybe_register_subclass('subcategory', Subcategory.new(parent_instance: self, client: @client, create_children: @create_children)) end class Technology < XML::ConfigClass def has_multiple_values?; true; end def _section :technology end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'128'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def technology maybe_register_subclass('technology', Technology.new(parent_instance: self, client: @client, create_children: @create_children)) end class Risk < XML::ConfigClass def has_multiple_values?; true; end def _section :risk end @props = {'member'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'5'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def risk maybe_register_subclass('risk', Risk.new(parent_instance: self, client: @client, create_children: @create_children)) end class SaasCertifications < XML::ConfigClass def has_multiple_values?; true; end def _section :'saas-certifications' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'32'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def saas_certifications maybe_register_subclass('saas-certifications', SaasCertifications.new(parent_instance: self, client: @client, create_children: @create_children)) end class SaasRisk < XML::ConfigClass def has_multiple_values?; true; end def _section :'saas-risk' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'32'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def saas_risk maybe_register_subclass('saas-risk', SaasRisk.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tagging < XML::ConfigClass def has_multiple_values?; true; end def _section :tagging end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'no-tag'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'yes'}]}} def no_tag prop_get('no-tag') end def no_tag=(val) prop_set('no-tag', val) end end def tagging maybe_register_subclass('tagging', Tagging.new(parent_instance: self, client: @client, create_children: @create_children)) end class Exclude < XML::ConfigClass def has_multiple_values?; true; end def _section :exclude end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'63'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def exclude maybe_register_subclass('exclude', Exclude.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'yes'}, {'value'=>'no'}]}, 'evasive'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'yes'}]}, 'excessive-bandwidth-use'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'yes'}]}, 'used-by-malware'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'yes'}]}, 'transfers-files'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'yes'}]}, 'has-known-vulnerabilities'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'yes'}]}, 'tunnels-other-apps'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'yes'}]}, 'prone-to-misuse'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'yes'}]}, 'pervasive'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'yes'}]}, 'is-saas'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'yes'}]}, 'new-appid'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'yes'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end def evasive prop_get('evasive') end def evasive=(val) prop_set('evasive', val) end def excessive_bandwidth_use prop_get('excessive-bandwidth-use') end def excessive_bandwidth_use=(val) prop_set('excessive-bandwidth-use', val) end def used_by_malware prop_get('used-by-malware') end def used_by_malware=(val) prop_set('used-by-malware', val) end def transfers_files prop_get('transfers-files') end def transfers_files=(val) prop_set('transfers-files', val) end def has_known_vulnerabilities prop_get('has-known-vulnerabilities') end def has_known_vulnerabilities=(val) prop_set('has-known-vulnerabilities', val) end def tunnels_other_apps prop_get('tunnels-other-apps') end def tunnels_other_apps=(val) prop_set('tunnels-other-apps', val) end def prone_to_misuse prop_get('prone-to-misuse') end def prone_to_misuse=(val) prop_set('prone-to-misuse', val) end def pervasive prop_get('pervasive') end def pervasive=(val) prop_set('pervasive', val) end def is_saas prop_get('is-saas') end def is_saas=(val) prop_set('is-saas', val) end def new_appid prop_get('new-appid') end def new_appid=(val) prop_set('new-appid', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def application_filter maybe_register_subclass('application-filter', ApplicationFilter.new(parent_instance: self, client: @client, create_children: @create_children)) end class ApplicationGroup < XML::ConfigClass def has_multiple_values?; true; end def _section :'application-group' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Members < XML::ConfigClass def has_multiple_values?; true; end def _section :members end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def members maybe_register_subclass('members', Members.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'yes'}, {'value'=>'no'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def application_group maybe_register_subclass('application-group', ApplicationGroup.new(parent_instance: self, client: @client, create_children: @create_children)) end class Region < XML::ConfigClass def has_multiple_values?; true; end def _section :region end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class GeoLocation < ConfigClass def has_multiple_values?; false; end def _section :'geo-location' end @props = {'latitude'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'-90.0', 'max'=>'90.0', 'help-string'=>'latitude coordinate'}, 'longitude'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'-180.0', 'max'=>'180.0', 'help-string'=>'longitude coordinate'}} # latitude coordinate def latitude prop_get('latitude') end # latitude coordinate def latitude=(val) prop_set('latitude', val) end # longitude coordinate def longitude prop_get('longitude') end # longitude coordinate def longitude=(val) prop_set('longitude', val) end end def geo_location @subclasses['geo-location'] ||= GeoLocation.new(parent_instance: self, client: @client, create_children: @create_children) end class Address < XML::ConfigClass def has_multiple_values?; true; end def _section :address end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{}, 'iprangespec'=>{}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def address maybe_register_subclass('address', Address.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'yes'}, {'value'=>'no'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def region maybe_register_subclass('region', Region.new(parent_instance: self, client: @client, create_children: @create_children)) end class ExternalList < XML::ConfigClass def has_multiple_values?; true; end def _section :'external-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class PredefinedIp < ConfigClass def has_multiple_values?; false; end def _section :'predefined-ip' end class ExceptionList < XML::ConfigClass def has_multiple_values?; true; end def _section :'exception-list' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'max-count'=>'100'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def exception_list maybe_register_subclass('exception-list', ExceptionList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'ui-hint'=>'"xtype": "pan-textarea"'}, 'url'=>{'node-type'=>'element', 'type'=>'string', 'uiHint-fieldLabel'=>'Source'}} def description prop_get('description') end def description=(val) prop_set('description', val) end def url prop_get('url') end def url=(val) prop_set('url', val) end end def predefined_ip @subclasses['predefined-ip'] ||= PredefinedIp.new(parent_instance: self, client: @client, create_children: @create_children) end class PredefinedUrl < ConfigClass def has_multiple_values?; false; end def _section :'predefined-url' end class ExceptionList < XML::ConfigClass def has_multiple_values?; true; end def _section :'exception-list' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'max-count'=>'100'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def exception_list maybe_register_subclass('exception-list', ExceptionList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'ui-hint'=>'"xtype": "pan-textarea"'}, 'url'=>{'node-type'=>'element', 'type'=>'string', 'uiHint-fieldLabel'=>'Source'}} def description prop_get('description') end def description=(val) prop_set('description', val) end def url prop_get('url') end def url=(val) prop_set('url', val) end end def predefined_url @subclasses['predefined-url'] ||= PredefinedUrl.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip < ConfigClass def has_multiple_values?; false; end def _section :ip end class ExceptionList < XML::ConfigClass def has_multiple_values?; true; end def _section :'exception-list' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'max-count'=>'100'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def exception_list maybe_register_subclass('exception-list', ExceptionList.new(parent_instance: self, client: @client, create_children: @create_children)) end class Auth < ConfigClass def has_multiple_values?; false; end def _section :auth end @props = {'username'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'255'}, 'password'=>{'node-type'=>'element', 'type'=>'string', 'encrypt'=>'yes', 'maxlen'=>'255'}} def username prop_get('username') end def username=(val) prop_set('username', val) end def password prop_get('password') end def password=(val) prop_set('password', val) end end def auth @subclasses['auth'] ||= Auth.new(parent_instance: self, client: @client, create_children: @create_children) end class Recurring < ConfigClass def has_multiple_values?; false; end def _section :recurring end class FiveMinute < ConfigClass def has_multiple_values?; false; end def _section :'five-minute' end @props = {} end def five_minute @subclasses['five-minute'] ||= FiveMinute.new(parent_instance: self, client: @client, create_children: @create_children) end class Hourly < ConfigClass def has_multiple_values?; false; end def _section :hourly end @props = {} end def hourly @subclasses['hourly'] ||= Hourly.new(parent_instance: self, client: @client, create_children: @create_children) end class Daily < ConfigClass def has_multiple_values?; false; end def _section :daily end @props = {'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3])', 'default'=>'00', 'minlen'=>'2', 'maxlen'=>'2', 'help-string'=>'Time specification hh (e.g. 20)'}} # Time specification hh (e.g. 20) def at prop_get('at') end # Time specification hh (e.g. 20) def at=(val) prop_set('at', val) end end def daily @subclasses['daily'] ||= Daily.new(parent_instance: self, client: @client, create_children: @create_children) end class Weekly < ConfigClass def has_multiple_values?; false; end def _section :weekly end @props = {'day-of-week'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'sunday', 'help-string'=>'Sunday'}, {'value'=>'monday', 'help-string'=>'Monday'}, {'value'=>'tuesday', 'help-string'=>'Tuesday'}, {'value'=>'wednesday', 'help-string'=>'Wednesday'}, {'value'=>'thursday', 'help-string'=>'Thursday'}, {'value'=>'friday', 'help-string'=>'Friday'}, {'value'=>'saturday', 'help-string'=>'Saturday'}]}, 'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3])', 'default'=>'00', 'minlen'=>'2', 'maxlen'=>'2', 'help-string'=>'Time specification hh (e.g. 20)'}} def day_of_week prop_get('day-of-week') end def day_of_week=(val) prop_set('day-of-week', val) end # Time specification hh (e.g. 20) def at prop_get('at') end # Time specification hh (e.g. 20) def at=(val) prop_set('at', val) end end def weekly @subclasses['weekly'] ||= Weekly.new(parent_instance: self, client: @client, create_children: @create_children) end class Monthly < ConfigClass def has_multiple_values?; false; end def _section :monthly end @props = {'day-of-month'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'31'}, 'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3])', 'default'=>'00', 'minlen'=>'2', 'maxlen'=>'2', 'help-string'=>'Time specification hh (e.g. 20)'}} def day_of_month prop_get('day-of-month') end def day_of_month=(val) prop_set('day-of-month', val) end # Time specification hh (e.g. 20) def at prop_get('at') end # Time specification hh (e.g. 20) def at=(val) prop_set('at', val) end end def monthly @subclasses['monthly'] ||= Monthly.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def recurring @subclasses['recurring'] ||= Recurring.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'ui-hint'=>'"xtype": "pan-textarea"'}, 'url'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'uiHint-fieldLabel'=>'Source', 'default'=>'http://'}, 'certificate-profile'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'None', 'optional'=>'yes', 'help-string'=>'Profile for authenticating client certificates', 'multi-types'=>{'string'=>{}, 'enum'=>[{'value'=>'None', 'help-string'=>'Disable Cert profile'}]}}} def description prop_get('description') end def description=(val) prop_set('description', val) end def url prop_get('url') end def url=(val) prop_set('url', val) end # Profile for authenticating client certificates def certificate_profile prop_get('certificate-profile') end # Profile for authenticating client certificates def certificate_profile=(val) prop_set('certificate-profile', val) end end def ip @subclasses['ip'] ||= Ip.new(parent_instance: self, client: @client, create_children: @create_children) end class Domain < ConfigClass def has_multiple_values?; false; end def _section :domain end class ExceptionList < XML::ConfigClass def has_multiple_values?; true; end def _section :'exception-list' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'max-count'=>'100'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def exception_list maybe_register_subclass('exception-list', ExceptionList.new(parent_instance: self, client: @client, create_children: @create_children)) end class Auth < ConfigClass def has_multiple_values?; false; end def _section :auth end @props = {'username'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'255'}, 'password'=>{'node-type'=>'element', 'type'=>'string', 'encrypt'=>'yes', 'maxlen'=>'255'}} def username prop_get('username') end def username=(val) prop_set('username', val) end def password prop_get('password') end def password=(val) prop_set('password', val) end end def auth @subclasses['auth'] ||= Auth.new(parent_instance: self, client: @client, create_children: @create_children) end class Recurring < ConfigClass def has_multiple_values?; false; end def _section :recurring end class Hourly < ConfigClass def has_multiple_values?; false; end def _section :hourly end @props = {} end def hourly @subclasses['hourly'] ||= Hourly.new(parent_instance: self, client: @client, create_children: @create_children) end class FiveMinute < ConfigClass def has_multiple_values?; false; end def _section :'five-minute' end @props = {} end def five_minute @subclasses['five-minute'] ||= FiveMinute.new(parent_instance: self, client: @client, create_children: @create_children) end class Daily < ConfigClass def has_multiple_values?; false; end def _section :daily end @props = {'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3])', 'default'=>'00', 'minlen'=>'2', 'maxlen'=>'2', 'help-string'=>'Time specification hh (e.g. 20)'}} # Time specification hh (e.g. 20) def at prop_get('at') end # Time specification hh (e.g. 20) def at=(val) prop_set('at', val) end end def daily @subclasses['daily'] ||= Daily.new(parent_instance: self, client: @client, create_children: @create_children) end class Weekly < ConfigClass def has_multiple_values?; false; end def _section :weekly end @props = {'day-of-week'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'sunday', 'help-string'=>'Sunday'}, {'value'=>'monday', 'help-string'=>'Monday'}, {'value'=>'tuesday', 'help-string'=>'Tuesday'}, {'value'=>'wednesday', 'help-string'=>'Wednesday'}, {'value'=>'thursday', 'help-string'=>'Thursday'}, {'value'=>'friday', 'help-string'=>'Friday'}, {'value'=>'saturday', 'help-string'=>'Saturday'}]}, 'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3])', 'default'=>'00', 'minlen'=>'2', 'maxlen'=>'2', 'help-string'=>'Time specification hh (e.g. 20)'}} def day_of_week prop_get('day-of-week') end def day_of_week=(val) prop_set('day-of-week', val) end # Time specification hh (e.g. 20) def at prop_get('at') end # Time specification hh (e.g. 20) def at=(val) prop_set('at', val) end end def weekly @subclasses['weekly'] ||= Weekly.new(parent_instance: self, client: @client, create_children: @create_children) end class Monthly < ConfigClass def has_multiple_values?; false; end def _section :monthly end @props = {'day-of-month'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'31'}, 'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3])', 'default'=>'00', 'minlen'=>'2', 'maxlen'=>'2', 'help-string'=>'Time specification hh (e.g. 20)'}} def day_of_month prop_get('day-of-month') end def day_of_month=(val) prop_set('day-of-month', val) end # Time specification hh (e.g. 20) def at prop_get('at') end # Time specification hh (e.g. 20) def at=(val) prop_set('at', val) end end def monthly @subclasses['monthly'] ||= Monthly.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def recurring @subclasses['recurring'] ||= Recurring.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'ui-hint'=>'"xtype": "pan-textarea"'}, 'url'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'uiHint-fieldLabel'=>'Source', 'default'=>'http://'}, 'certificate-profile'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'None', 'optional'=>'yes', 'help-string'=>'Profile for authenticating client certificates', 'multi-types'=>{'string'=>{}, 'enum'=>[{'value'=>'None', 'help-string'=>'Disable Cert profile'}]}}, 'expand-domain'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable/Disable expand domain'}} def description prop_get('description') end def description=(val) prop_set('description', val) end def url prop_get('url') end def url=(val) prop_set('url', val) end # Profile for authenticating client certificates def certificate_profile prop_get('certificate-profile') end # Profile for authenticating client certificates def certificate_profile=(val) prop_set('certificate-profile', val) end # Enable/Disable expand domain def expand_domain prop_get('expand-domain') end # Enable/Disable expand domain def expand_domain=(val) prop_set('expand-domain', val) end end def domain @subclasses['domain'] ||= Domain.new(parent_instance: self, client: @client, create_children: @create_children) end class Url < ConfigClass def has_multiple_values?; false; end def _section :url end class ExceptionList < XML::ConfigClass def has_multiple_values?; true; end def _section :'exception-list' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'max-count'=>'100'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def exception_list maybe_register_subclass('exception-list', ExceptionList.new(parent_instance: self, client: @client, create_children: @create_children)) end class Auth < ConfigClass def has_multiple_values?; false; end def _section :auth end @props = {'username'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'255'}, 'password'=>{'node-type'=>'element', 'type'=>'string', 'encrypt'=>'yes', 'maxlen'=>'255'}} def username prop_get('username') end def username=(val) prop_set('username', val) end def password prop_get('password') end def password=(val) prop_set('password', val) end end def auth @subclasses['auth'] ||= Auth.new(parent_instance: self, client: @client, create_children: @create_children) end class Recurring < ConfigClass def has_multiple_values?; false; end def _section :recurring end class Hourly < ConfigClass def has_multiple_values?; false; end def _section :hourly end @props = {} end def hourly @subclasses['hourly'] ||= Hourly.new(parent_instance: self, client: @client, create_children: @create_children) end class FiveMinute < ConfigClass def has_multiple_values?; false; end def _section :'five-minute' end @props = {} end def five_minute @subclasses['five-minute'] ||= FiveMinute.new(parent_instance: self, client: @client, create_children: @create_children) end class Daily < ConfigClass def has_multiple_values?; false; end def _section :daily end @props = {'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3])', 'default'=>'00', 'minlen'=>'2', 'maxlen'=>'2', 'help-string'=>'Time specification hh (e.g. 20)'}} # Time specification hh (e.g. 20) def at prop_get('at') end # Time specification hh (e.g. 20) def at=(val) prop_set('at', val) end end def daily @subclasses['daily'] ||= Daily.new(parent_instance: self, client: @client, create_children: @create_children) end class Weekly < ConfigClass def has_multiple_values?; false; end def _section :weekly end @props = {'day-of-week'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'sunday', 'help-string'=>'Sunday'}, {'value'=>'monday', 'help-string'=>'Monday'}, {'value'=>'tuesday', 'help-string'=>'Tuesday'}, {'value'=>'wednesday', 'help-string'=>'Wednesday'}, {'value'=>'thursday', 'help-string'=>'Thursday'}, {'value'=>'friday', 'help-string'=>'Friday'}, {'value'=>'saturday', 'help-string'=>'Saturday'}]}, 'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3])', 'default'=>'00', 'minlen'=>'2', 'maxlen'=>'2', 'help-string'=>'Time specification hh (e.g. 20)'}} def day_of_week prop_get('day-of-week') end def day_of_week=(val) prop_set('day-of-week', val) end # Time specification hh (e.g. 20) def at prop_get('at') end # Time specification hh (e.g. 20) def at=(val) prop_set('at', val) end end def weekly @subclasses['weekly'] ||= Weekly.new(parent_instance: self, client: @client, create_children: @create_children) end class Monthly < ConfigClass def has_multiple_values?; false; end def _section :monthly end @props = {'day-of-month'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'31'}, 'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3])', 'default'=>'00', 'minlen'=>'2', 'maxlen'=>'2', 'help-string'=>'Time specification hh (e.g. 20)'}} def day_of_month prop_get('day-of-month') end def day_of_month=(val) prop_set('day-of-month', val) end # Time specification hh (e.g. 20) def at prop_get('at') end # Time specification hh (e.g. 20) def at=(val) prop_set('at', val) end end def monthly @subclasses['monthly'] ||= Monthly.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def recurring @subclasses['recurring'] ||= Recurring.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'ui-hint'=>'"xtype": "pan-textarea"'}, 'url'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'uiHint-fieldLabel'=>'Source', 'default'=>'http://'}, 'certificate-profile'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'None', 'optional'=>'yes', 'help-string'=>'Profile for authenticating client certificates', 'multi-types'=>{'string'=>{}, 'enum'=>[{'value'=>'None', 'help-string'=>'Disable Cert profile'}]}}} def description prop_get('description') end def description=(val) prop_set('description', val) end def url prop_get('url') end def url=(val) prop_set('url', val) end # Profile for authenticating client certificates def certificate_profile prop_get('certificate-profile') end # Profile for authenticating client certificates def certificate_profile=(val) prop_set('certificate-profile', val) end end def url @subclasses['url'] ||= Url.new(parent_instance: self, client: @client, create_children: @create_children) end class Imsi < ConfigClass def has_multiple_values?; false; end def _section :imsi end class ExceptionList < XML::ConfigClass def has_multiple_values?; true; end def _section :'exception-list' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'34', 'max-count'=>'100'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def exception_list maybe_register_subclass('exception-list', ExceptionList.new(parent_instance: self, client: @client, create_children: @create_children)) end class Auth < ConfigClass def has_multiple_values?; false; end def _section :auth end @props = {'username'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'255'}, 'password'=>{'node-type'=>'element', 'type'=>'string', 'encrypt'=>'yes', 'maxlen'=>'255'}} def username prop_get('username') end def username=(val) prop_set('username', val) end def password prop_get('password') end def password=(val) prop_set('password', val) end end def auth @subclasses['auth'] ||= Auth.new(parent_instance: self, client: @client, create_children: @create_children) end class Recurring < ConfigClass def has_multiple_values?; false; end def _section :recurring end class FiveMinute < ConfigClass def has_multiple_values?; false; end def _section :'five-minute' end @props = {} end def five_minute @subclasses['five-minute'] ||= FiveMinute.new(parent_instance: self, client: @client, create_children: @create_children) end class Hourly < ConfigClass def has_multiple_values?; false; end def _section :hourly end @props = {} end def hourly @subclasses['hourly'] ||= Hourly.new(parent_instance: self, client: @client, create_children: @create_children) end class Daily < ConfigClass def has_multiple_values?; false; end def _section :daily end @props = {'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3])', 'default'=>'00', 'minlen'=>'2', 'maxlen'=>'2', 'help-string'=>'Time specification hh (e.g. 20)'}} # Time specification hh (e.g. 20) def at prop_get('at') end # Time specification hh (e.g. 20) def at=(val) prop_set('at', val) end end def daily @subclasses['daily'] ||= Daily.new(parent_instance: self, client: @client, create_children: @create_children) end class Weekly < ConfigClass def has_multiple_values?; false; end def _section :weekly end @props = {'day-of-week'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'sunday', 'help-string'=>'Sunday'}, {'value'=>'monday', 'help-string'=>'Monday'}, {'value'=>'tuesday', 'help-string'=>'Tuesday'}, {'value'=>'wednesday', 'help-string'=>'Wednesday'}, {'value'=>'thursday', 'help-string'=>'Thursday'}, {'value'=>'friday', 'help-string'=>'Friday'}, {'value'=>'saturday', 'help-string'=>'Saturday'}]}, 'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3])', 'default'=>'00', 'minlen'=>'2', 'maxlen'=>'2', 'help-string'=>'Time specification hh (e.g. 20)'}} def day_of_week prop_get('day-of-week') end def day_of_week=(val) prop_set('day-of-week', val) end # Time specification hh (e.g. 20) def at prop_get('at') end # Time specification hh (e.g. 20) def at=(val) prop_set('at', val) end end def weekly @subclasses['weekly'] ||= Weekly.new(parent_instance: self, client: @client, create_children: @create_children) end class Monthly < ConfigClass def has_multiple_values?; false; end def _section :monthly end @props = {'day-of-month'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'31'}, 'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3])', 'default'=>'00', 'minlen'=>'2', 'maxlen'=>'2', 'help-string'=>'Time specification hh (e.g. 20)'}} def day_of_month prop_get('day-of-month') end def day_of_month=(val) prop_set('day-of-month', val) end # Time specification hh (e.g. 20) def at prop_get('at') end # Time specification hh (e.g. 20) def at=(val) prop_set('at', val) end end def monthly @subclasses['monthly'] ||= Monthly.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def recurring @subclasses['recurring'] ||= Recurring.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'ui-hint'=>'"xtype": "pan-textarea"'}, 'url'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'uiHint-fieldLabel'=>'Source', 'default'=>'http://'}, 'certificate-profile'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'None', 'optional'=>'yes', 'help-string'=>'Profile for authenticating client certificates', 'multi-types'=>{'string'=>{}, 'enum'=>[{'value'=>'None', 'help-string'=>'Disable Cert profile'}]}}} def description prop_get('description') end def description=(val) prop_set('description', val) end def url prop_get('url') end def url=(val) prop_set('url', val) end # Profile for authenticating client certificates def certificate_profile prop_get('certificate-profile') end # Profile for authenticating client certificates def certificate_profile=(val) prop_set('certificate-profile', val) end end def imsi @subclasses['imsi'] ||= Imsi.new(parent_instance: self, client: @client, create_children: @create_children) end class Imei < ConfigClass def has_multiple_values?; false; end def _section :imei end class ExceptionList < XML::ConfigClass def has_multiple_values?; true; end def _section :'exception-list' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'32', 'max-count'=>'100'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def exception_list maybe_register_subclass('exception-list', ExceptionList.new(parent_instance: self, client: @client, create_children: @create_children)) end class Auth < ConfigClass def has_multiple_values?; false; end def _section :auth end @props = {'username'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'255'}, 'password'=>{'node-type'=>'element', 'type'=>'string', 'encrypt'=>'yes', 'maxlen'=>'255'}} def username prop_get('username') end def username=(val) prop_set('username', val) end def password prop_get('password') end def password=(val) prop_set('password', val) end end def auth @subclasses['auth'] ||= Auth.new(parent_instance: self, client: @client, create_children: @create_children) end class Recurring < ConfigClass def has_multiple_values?; false; end def _section :recurring end class FiveMinute < ConfigClass def has_multiple_values?; false; end def _section :'five-minute' end @props = {} end def five_minute @subclasses['five-minute'] ||= FiveMinute.new(parent_instance: self, client: @client, create_children: @create_children) end class Hourly < ConfigClass def has_multiple_values?; false; end def _section :hourly end @props = {} end def hourly @subclasses['hourly'] ||= Hourly.new(parent_instance: self, client: @client, create_children: @create_children) end class Daily < ConfigClass def has_multiple_values?; false; end def _section :daily end @props = {'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3])', 'default'=>'00', 'minlen'=>'2', 'maxlen'=>'2', 'help-string'=>'Time specification hh (e.g. 20)'}} # Time specification hh (e.g. 20) def at prop_get('at') end # Time specification hh (e.g. 20) def at=(val) prop_set('at', val) end end def daily @subclasses['daily'] ||= Daily.new(parent_instance: self, client: @client, create_children: @create_children) end class Weekly < ConfigClass def has_multiple_values?; false; end def _section :weekly end @props = {'day-of-week'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'sunday', 'help-string'=>'Sunday'}, {'value'=>'monday', 'help-string'=>'Monday'}, {'value'=>'tuesday', 'help-string'=>'Tuesday'}, {'value'=>'wednesday', 'help-string'=>'Wednesday'}, {'value'=>'thursday', 'help-string'=>'Thursday'}, {'value'=>'friday', 'help-string'=>'Friday'}, {'value'=>'saturday', 'help-string'=>'Saturday'}]}, 'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3])', 'default'=>'00', 'minlen'=>'2', 'maxlen'=>'2', 'help-string'=>'Time specification hh (e.g. 20)'}} def day_of_week prop_get('day-of-week') end def day_of_week=(val) prop_set('day-of-week', val) end # Time specification hh (e.g. 20) def at prop_get('at') end # Time specification hh (e.g. 20) def at=(val) prop_set('at', val) end end def weekly @subclasses['weekly'] ||= Weekly.new(parent_instance: self, client: @client, create_children: @create_children) end class Monthly < ConfigClass def has_multiple_values?; false; end def _section :monthly end @props = {'day-of-month'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'31'}, 'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3])', 'default'=>'00', 'minlen'=>'2', 'maxlen'=>'2', 'help-string'=>'Time specification hh (e.g. 20)'}} def day_of_month prop_get('day-of-month') end def day_of_month=(val) prop_set('day-of-month', val) end # Time specification hh (e.g. 20) def at prop_get('at') end # Time specification hh (e.g. 20) def at=(val) prop_set('at', val) end end def monthly @subclasses['monthly'] ||= Monthly.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def recurring @subclasses['recurring'] ||= Recurring.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'ui-hint'=>'"xtype": "pan-textarea"'}, 'url'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'uiHint-fieldLabel'=>'Source', 'default'=>'http://'}, 'certificate-profile'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'None', 'optional'=>'yes', 'help-string'=>'Profile for authenticating client certificates', 'multi-types'=>{'string'=>{}, 'enum'=>[{'value'=>'None', 'help-string'=>'Disable Cert profile'}]}}} def description prop_get('description') end def description=(val) prop_set('description', val) end def url prop_get('url') end def url=(val) prop_set('url', val) end # Profile for authenticating client certificates def certificate_profile prop_get('certificate-profile') end # Profile for authenticating client certificates def certificate_profile=(val) prop_set('certificate-profile', val) end end def imei @subclasses['imei'] ||= Imei.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'yes'}, {'value'=>'no'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def external_list maybe_register_subclass('external-list', ExternalList.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'127', 'regex'=>'^[^\]\'\[]*$'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'yes'}, {'value'=>'no'}]}, 'color'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'color1'}, {'value'=>'color2'}, {'value'=>'color3'}, {'value'=>'color4'}, {'value'=>'color5'}, {'value'=>'color6'}, {'value'=>'color7'}, {'value'=>'color8'}, {'value'=>'color9'}, {'value'=>'color10'}, {'value'=>'color11'}, {'value'=>'color12'}, {'value'=>'color13'}, {'value'=>'color14'}, {'value'=>'color15'}, {'value'=>'color16'}, {'value'=>'color17'}, {'value'=>'color19'}, {'value'=>'color20'}, {'value'=>'color21'}, {'value'=>'color22'}, {'value'=>'color23'}, {'value'=>'color24'}, {'value'=>'color25'}, {'value'=>'color26'}, {'value'=>'color27'}, {'value'=>'color28'}, {'value'=>'color29'}, {'value'=>'color30'}, {'value'=>'color31'}, {'value'=>'color32'}, {'value'=>'color33'}, {'value'=>'color34'}, {'value'=>'color35'}, {'value'=>'color36'}, {'value'=>'color37'}, {'value'=>'color38'}, {'value'=>'color39'}, {'value'=>'color40'}, {'value'=>'color41'}, {'value'=>'color42'}]}, 'comments'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}} def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end def color prop_get('color') end def color=(val) prop_set('color', val) end def comments prop_get('comments') end def comments=(val) prop_set('comments', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end class AuthenticationObject < XML::ConfigClass def has_multiple_values?; true; end def _section :'authentication-object' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'regex'=>'^[a-zA-Z0-9\ ._-]+$', 'help-string'=>'object name'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'yes'}, {'value'=>'no'}]}, 'authentication-method'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'no-captive-portal', 'enum'=>[{'value'=>'web-form'}, {'value'=>'no-captive-portal'}, {'value'=>'browser-challenge'}]}, 'authentication-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Authentication profile to use for authentication.'}, 'message'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'3200', 'default'=>'This is a customizable authentication message shown to the user to allow customers to provide authentication instructions based on the authentication rule in effect', 'help-string'=>'Customizable message'}} # object name def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end def authentication_method prop_get('authentication-method') end def authentication_method=(val) prop_set('authentication-method', val) end # Authentication profile to use for authentication. def authentication_profile prop_get('authentication-profile') end # Authentication profile to use for authentication. def authentication_profile=(val) prop_set('authentication-profile', val) end # Customizable message def message prop_get('message') end # Customizable message def message=(val) prop_set('message', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def authentication_object maybe_register_subclass('authentication-object', AuthenticationObject.new(parent_instance: self, client: @client, create_children: @create_children)) end class PreRulebase < ConfigClass def has_multiple_values?; false; end def _section :'pre-rulebase' end class Security < ConfigClass def has_multiple_values?; false; end def _section :security end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Target < ConfigClass def has_multiple_values?; false; end def _section :target end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Vsys < XML::ConfigClass def has_multiple_values?; true; end def _section :vsys end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vsys maybe_register_subclass('vsys', Vsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'complete-handler'=>'dg-device-tags-completer'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'negate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Target to all but these specified devices and tags'}} # Target to all but these specified devices and tags def negate prop_get('negate') end # Target to all but these specified devices and tags def negate=(val) prop_set('negate', val) end end def target @subclasses['target'] ||= Target.new(parent_instance: self, client: @client, create_children: @create_children) end class From < XML::ConfigClass def has_multiple_values?; true; end def _section :from end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def from maybe_register_subclass('from', From.new(parent_instance: self, client: @client, create_children: @create_children)) end class To < XML::ConfigClass def has_multiple_values?; true; end def _section :to end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'multicast', 'help-string'=>'multicast zone'}, {'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def to maybe_register_subclass('to', To.new(parent_instance: self, client: @client, create_children: @create_children)) end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceUser < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-user' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'1023', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any user'}, {'value'=>'pre-logon', 'help-string'=>'prelogon client machine'}, {'value'=>'known-user', 'help-string'=>'any known user'}, {'value'=>'unknown', 'help-string'=>'unknown user'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_user maybe_register_subclass('source-user', SourceUser.new(parent_instance: self, client: @client, create_children: @create_children)) end class Destination < XML::ConfigClass def has_multiple_values?; true; end def _section :destination end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../source/member', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination maybe_register_subclass('destination', Destination.new(parent_instance: self, client: @client, create_children: @create_children)) end class Service < XML::ConfigClass def has_multiple_values?; true; end def _section :service end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'application-default', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'application-default', 'help-string'=>'default service for selected application'}, {'value'=>'any', 'help-string'=>'any service'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def service maybe_register_subclass('service', Service.new(parent_instance: self, client: @client, create_children: @create_children)) end class Category < XML::ConfigClass def has_multiple_values?; true; end def _section :category end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'128'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any url category'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def category maybe_register_subclass('category', Category.new(parent_instance: self, client: @client, create_children: @create_children)) end class Application < XML::ConfigClass def has_multiple_values?; true; end def _section :application end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any application'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def application maybe_register_subclass('application', Application.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceImsi < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-imsi' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'imsi'=>{}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any IMSI'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_imsi maybe_register_subclass('source-imsi', SourceImsi.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceImei < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-imei' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'imei'=>{}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any IMEI'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_imei maybe_register_subclass('source-imei', SourceImei.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceNwSlice < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-nw-slice' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'nssai'=>{}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any NSSAI ST value'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_nw_slice maybe_register_subclass('source-nw-slice', SourceNwSlice.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceHip < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-hip' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any hip-profile'}, {'value'=>'no-hip', 'help-string'=>'no hip-profile'}, {'value'=>'quarantine', 'help-string'=>'quarantined device'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_hip maybe_register_subclass('source-hip', SourceHip.new(parent_instance: self, client: @client, create_children: @create_children)) end class DestinationHip < XML::ConfigClass def has_multiple_values?; true; end def _section :'destination-hip' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any device'}, {'value'=>'quarantine', 'help-string'=>'quarantined device'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination_hip maybe_register_subclass('destination-hip', DestinationHip.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end class Option < ConfigClass def has_multiple_values?; false; end def _section :option end @props = {'disable-server-response-inspection'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable inspection of server side traffic'}} # Disable inspection of server side traffic def disable_server_response_inspection prop_get('disable-server-response-inspection') end # Disable inspection of server side traffic def disable_server_response_inspection=(val) prop_set('disable-server-response-inspection', val) end end def option @subclasses['option'] ||= Option.new(parent_instance: self, client: @client, create_children: @create_children) end class ProfileSetting < XML::ConfigClass def has_multiple_values?; true; end def _section :'profile-setting' end class Profiles < ConfigClass def has_multiple_values?; false; end def _section :profiles end class UrlFiltering < XML::ConfigClass def has_multiple_values?; true; end def _section :'url-filtering' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def url_filtering maybe_register_subclass('url-filtering', UrlFiltering.new(parent_instance: self, client: @client, create_children: @create_children)) end class DataFiltering < XML::ConfigClass def has_multiple_values?; true; end def _section :'data-filtering' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def data_filtering maybe_register_subclass('data-filtering', DataFiltering.new(parent_instance: self, client: @client, create_children: @create_children)) end class FileBlocking < XML::ConfigClass def has_multiple_values?; true; end def _section :'file-blocking' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def file_blocking maybe_register_subclass('file-blocking', FileBlocking.new(parent_instance: self, client: @client, create_children: @create_children)) end class WildfireAnalysis < XML::ConfigClass def has_multiple_values?; true; end def _section :'wildfire-analysis' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'47', 'no-default'=>'yes', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def wildfire_analysis maybe_register_subclass('wildfire-analysis', WildfireAnalysis.new(parent_instance: self, client: @client, create_children: @create_children)) end class Virus < XML::ConfigClass def has_multiple_values?; true; end def _section :virus end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'default'=>'default', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def virus maybe_register_subclass('virus', Virus.new(parent_instance: self, client: @client, create_children: @create_children)) end class Spyware < XML::ConfigClass def has_multiple_values?; true; end def _section :spyware end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'default'=>'default', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def spyware maybe_register_subclass('spyware', Spyware.new(parent_instance: self, client: @client, create_children: @create_children)) end class Vulnerability < XML::ConfigClass def has_multiple_values?; true; end def _section :vulnerability end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'default'=>'default', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def vulnerability maybe_register_subclass('vulnerability', Vulnerability.new(parent_instance: self, client: @client, create_children: @create_children)) end class Gtp < XML::ConfigClass def has_multiple_values?; true; end def _section :gtp end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'maxlen'=>'63', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def gtp maybe_register_subclass('gtp', Gtp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Sctp < XML::ConfigClass def has_multiple_values?; true; end def _section :sctp end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'maxlen'=>'63', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def sctp maybe_register_subclass('sctp', Sctp.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def profiles @subclasses['profiles'] ||= Profiles.new(parent_instance: self, client: @client, create_children: @create_children) end class Group < XML::ConfigClass def has_multiple_values?; true; end def _section :group end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def group maybe_register_subclass('group', Group.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def profile_setting maybe_register_subclass('profile-setting', ProfileSetting.new(parent_instance: self, client: @client, create_children: @create_children)) end class Qos < ConfigClass def has_multiple_values?; false; end def _section :qos end class Marking < XML::ConfigClass def has_multiple_values?; true; end def _section :marking end class FollowC2sFlow < ConfigClass def has_multiple_values?; false; end def _section :'follow-c2s-flow' end @props = {} end def follow_c2s_flow @subclasses['follow-c2s-flow'] ||= FollowC2sFlow.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'ip-dscp'=>{'node-type'=>'element', 'help-string'=>'IP DSCP', 'type'=>'multiple', 'multi-types'=>{'string'=>{'regex'=>'^([0-1]){6}$', 'help-string'=>'specify codepoint in format of \'xxxxxx\' where x is {0|1}'}, 'enum'=>[{'value'=>'ef', 'help-string'=>'codepoint 101110, expedited forwarding'}, {'value'=>'af11', 'help-string'=>'codepoint 001010'}, {'value'=>'af12', 'help-string'=>'codepoint 001100'}, {'value'=>'af13', 'help-string'=>'codepoint 001110'}, {'value'=>'af21', 'help-string'=>'codepoint 010010'}, {'value'=>'af22', 'help-string'=>'codepoint 010100'}, {'value'=>'af23', 'help-string'=>'codepoint 010110'}, {'value'=>'af31', 'help-string'=>'codepoint 011010'}, {'value'=>'af32', 'help-string'=>'codepoint 011100'}, {'value'=>'af33', 'help-string'=>'codepoint 011110'}, {'value'=>'af41', 'help-string'=>'codepoint 100010'}, {'value'=>'af42', 'help-string'=>'codepoint 100100'}, {'value'=>'af43', 'help-string'=>'codepoint 100110'}, {'value'=>'cs0', 'help-string'=>'codepoint 000000'}, {'value'=>'cs1', 'help-string'=>'codepoint 001000'}, {'value'=>'cs2', 'help-string'=>'codepoint 010000'}, {'value'=>'cs3', 'help-string'=>'codepoint 011000'}, {'value'=>'cs4', 'help-string'=>'codepoint 100000'}, {'value'=>'cs5', 'help-string'=>'codepoint 101000'}, {'value'=>'cs6', 'help-string'=>'codepoint 110000'}, {'value'=>'cs7', 'help-string'=>'codepoint 111000'}]}}, 'ip-precedence'=>{'node-type'=>'element', 'help-string'=>'IP Precedence', 'type'=>'multiple', 'multi-types'=>{'string'=>{'regex'=>'^([0-1]){3}$', 'help-string'=>'specify codepoint in format of \'xxx\''}, 'enum'=>[{'value'=>'cs0', 'help-string'=>'codepoint 000'}, {'value'=>'cs1', 'help-string'=>'codepoint 001'}, {'value'=>'cs2', 'help-string'=>'codepoint 010'}, {'value'=>'cs3', 'help-string'=>'codepoint 011'}, {'value'=>'cs4', 'help-string'=>'codepoint 100'}, {'value'=>'cs5', 'help-string'=>'codepoint 101'}, {'value'=>'cs6', 'help-string'=>'codepoint 110'}, {'value'=>'cs7', 'help-string'=>'codepoint 111'}]}}} # IP DSCP def ip_dscp prop_get('ip-dscp') end # IP DSCP def ip_dscp=(val) prop_set('ip-dscp', val) end # IP Precedence def ip_precedence prop_get('ip-precedence') end # IP Precedence def ip_precedence=(val) prop_set('ip-precedence', val) end end def marking maybe_register_subclass('marking', Marking.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def qos @subclasses['qos'] ||= Qos.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'schedule'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'optional'=>'yes'}, 'negate-source'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'negate-destination'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable the rule'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'no-default'=>'yes'}, 'group-tag'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'127'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'allow', 'enum'=>[{'value'=>'deny', 'help-string'=>'Deny', 'show-help-tip'=>'block, use App Deny action'}, {'value'=>'allow', 'help-string'=>'Allow'}, {'value'=>'drop', 'help-string'=>'Drop', 'show-help-tip'=>'silent drop, send optional ICMP Unreachable'}, {'value'=>'reset-client', 'help-string'=>'Reset client'}, {'value'=>'reset-server', 'help-string'=>'Reset server'}, {'value'=>'reset-both', 'help-string'=>'Reset both client and server'}]}, 'icmp-unreachable'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Send ICMP unreachable error when action is drop or reset'}, 'disable-inspect'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'rule-type'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'universal', 'optional'=>'yes', 'enum'=>[{'value'=>'universal', 'help-string'=>'default', 'show-help-tip'=>'Applies to both interzone and intrazone traffic.'}, {'value'=>'intrazone', 'help-string'=>'Devices with PAN-OS 6.1 or later', 'show-help-tip'=>'Only applies to traffic within one of the specified zones.'}, {'value'=>'interzone', 'help-string'=>'Devices with PAN-OS 6.1 or later', 'show-help-tip'=>'Applies to traffic from any source zone to any destination zone. It does not apply to traffic within a zone, even if the same zone is in source and destination columns.'}]}, 'log-setting'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'maxlen'=>'63', 'optional'=>'yes'}, 'log-start'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Log at session start'}, 'log-end'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'optional'=>'yes', 'help-string'=>'Log at session end (required for certain ACC tables)'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def schedule prop_get('schedule') end def schedule=(val) prop_set('schedule', val) end def negate_source prop_get('negate-source') end def negate_source=(val) prop_set('negate-source', val) end def negate_destination prop_get('negate-destination') end def negate_destination=(val) prop_set('negate-destination', val) end # Disable the rule def disabled prop_get('disabled') end # Disable the rule def disabled=(val) prop_set('disabled', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end def group_tag prop_get('group-tag') end def group_tag=(val) prop_set('group-tag', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # Send ICMP unreachable error when action is drop or reset def icmp_unreachable prop_get('icmp-unreachable') end # Send ICMP unreachable error when action is drop or reset def icmp_unreachable=(val) prop_set('icmp-unreachable', val) end def disable_inspect prop_get('disable-inspect') end def disable_inspect=(val) prop_set('disable-inspect', val) end def rule_type prop_get('rule-type') end def rule_type=(val) prop_set('rule-type', val) end def log_setting prop_get('log-setting') end def log_setting=(val) prop_set('log-setting', val) end # Log at session start def log_start prop_get('log-start') end # Log at session start def log_start=(val) prop_set('log-start', val) end # Log at session end (required for certain ACC tables) def log_end prop_get('log-end') end # Log at session end (required for certain ACC tables) def log_end=(val) prop_set('log-end', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def security @subclasses['security'] ||= Security.new(parent_instance: self, client: @client, create_children: @create_children) end class ApplicationOverride < ConfigClass def has_multiple_values?; false; end def _section :'application-override' end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Target < ConfigClass def has_multiple_values?; false; end def _section :target end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Vsys < XML::ConfigClass def has_multiple_values?; true; end def _section :vsys end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vsys maybe_register_subclass('vsys', Vsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'complete-handler'=>'dg-device-tags-completer'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'negate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Target to all but these specified devices and tags'}} # Target to all but these specified devices and tags def negate prop_get('negate') end # Target to all but these specified devices and tags def negate=(val) prop_set('negate', val) end end def target @subclasses['target'] ||= Target.new(parent_instance: self, client: @client, create_children: @create_children) end class From < XML::ConfigClass def has_multiple_values?; true; end def _section :from end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def from maybe_register_subclass('from', From.new(parent_instance: self, client: @client, create_children: @create_children)) end class To < XML::ConfigClass def has_multiple_values?; true; end def _section :to end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'multicast', 'help-string'=>'multicast zone'}, {'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def to maybe_register_subclass('to', To.new(parent_instance: self, client: @client, create_children: @create_children)) end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceUser < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-user' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'1023', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any user'}, {'value'=>'pre-logon', 'help-string'=>'prelogon client machine'}, {'value'=>'known-user', 'help-string'=>'any known user'}, {'value'=>'unknown', 'help-string'=>'unknown user'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_user maybe_register_subclass('source-user', SourceUser.new(parent_instance: self, client: @client, create_children: @create_children)) end class Destination < XML::ConfigClass def has_multiple_values?; true; end def _section :destination end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../source/member', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination maybe_register_subclass('destination', Destination.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'negate-source'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'negate-destination'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable the rule'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'no-default'=>'yes'}, 'group-tag'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'127'}, 'protocol'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'tcp', 'enum'=>[{'value'=>'tcp', 'help-string'=>'TCP'}, {'value'=>'udp', 'help-string'=>'UDP'}]}, 'port'=>{'node-type'=>'element', 'type'=>'rangelistspec', 'min'=>'0'}, 'application'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'no-default'=>'yes'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def negate_source prop_get('negate-source') end def negate_source=(val) prop_set('negate-source', val) end def negate_destination prop_get('negate-destination') end def negate_destination=(val) prop_set('negate-destination', val) end # Disable the rule def disabled prop_get('disabled') end # Disable the rule def disabled=(val) prop_set('disabled', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end def group_tag prop_get('group-tag') end def group_tag=(val) prop_set('group-tag', val) end def protocol prop_get('protocol') end def protocol=(val) prop_set('protocol', val) end def port prop_get('port') end def port=(val) prop_set('port', val) end def application prop_get('application') end def application=(val) prop_set('application', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def application_override @subclasses['application-override'] ||= ApplicationOverride.new(parent_instance: self, client: @client, create_children: @create_children) end class Decryption < ConfigClass def has_multiple_values?; false; end def _section :decryption end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Target < ConfigClass def has_multiple_values?; false; end def _section :target end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Vsys < XML::ConfigClass def has_multiple_values?; true; end def _section :vsys end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vsys maybe_register_subclass('vsys', Vsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'complete-handler'=>'dg-device-tags-completer'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'negate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Target to all but these specified devices and tags'}} # Target to all but these specified devices and tags def negate prop_get('negate') end # Target to all but these specified devices and tags def negate=(val) prop_set('negate', val) end end def target @subclasses['target'] ||= Target.new(parent_instance: self, client: @client, create_children: @create_children) end class From < XML::ConfigClass def has_multiple_values?; true; end def _section :from end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def from maybe_register_subclass('from', From.new(parent_instance: self, client: @client, create_children: @create_children)) end class To < XML::ConfigClass def has_multiple_values?; true; end def _section :to end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../from/member', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def to maybe_register_subclass('to', To.new(parent_instance: self, client: @client, create_children: @create_children)) end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceUser < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-user' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'1023', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any user'}, {'value'=>'pre-logon', 'help-string'=>'prelogon client machine'}, {'value'=>'known-user', 'help-string'=>'any known user'}, {'value'=>'unknown', 'help-string'=>'unknown user'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_user maybe_register_subclass('source-user', SourceUser.new(parent_instance: self, client: @client, create_children: @create_children)) end class Destination < XML::ConfigClass def has_multiple_values?; true; end def _section :destination end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../source/member', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination maybe_register_subclass('destination', Destination.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceHip < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-hip' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any hip-profile'}, {'value'=>'no-hip', 'help-string'=>'no hip-profile'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_hip maybe_register_subclass('source-hip', SourceHip.new(parent_instance: self, client: @client, create_children: @create_children)) end class DestinationHip < XML::ConfigClass def has_multiple_values?; true; end def _section :'destination-hip' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any device'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination_hip maybe_register_subclass('destination-hip', DestinationHip.new(parent_instance: self, client: @client, create_children: @create_children)) end class Service < XML::ConfigClass def has_multiple_values?; true; end def _section :service end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'application-default', 'help-string'=>'default service for selected application'}, {'value'=>'any', 'help-string'=>'any service'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def service maybe_register_subclass('service', Service.new(parent_instance: self, client: @client, create_children: @create_children)) end class Category < XML::ConfigClass def has_multiple_values?; true; end def _section :category end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'128'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any url category'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def category maybe_register_subclass('category', Category.new(parent_instance: self, client: @client, create_children: @create_children)) end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class SslForwardProxy < ConfigClass def has_multiple_values?; false; end def _section :'ssl-forward-proxy' end @props = {} end def ssl_forward_proxy @subclasses['ssl-forward-proxy'] ||= SslForwardProxy.new(parent_instance: self, client: @client, create_children: @create_children) end class SshProxy < ConfigClass def has_multiple_values?; false; end def _section :'ssh-proxy' end @props = {} end def ssh_proxy @subclasses['ssh-proxy'] ||= SshProxy.new(parent_instance: self, client: @client, create_children: @create_children) end class SslInboundInspection < ConfigClass def has_multiple_values?; false; end def _section :'ssl-inbound-inspection' end class Certificates < XML::ConfigClass def has_multiple_values?; true; end def _section :certificates end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'maxlen'=>'63'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def certificates maybe_register_subclass('certificates', Certificates.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def ssl_inbound_inspection @subclasses['ssl-inbound-inspection'] ||= SslInboundInspection.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'negate-source'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'negate-destination'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable the rule'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'no-default'=>'yes'}, 'group-tag'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'127'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'no-decrypt', 'enum'=>[{'value'=>'no-decrypt'}, {'value'=>'decrypt'}, {'value'=>'decrypt-and-forward'}]}, 'profile'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'help-string'=>'decryption profile', 'optional'=>'yes'}, 'packet-broker-profile'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'help-string'=>'packet-broker profile', 'optional'=>'yes'}, 'log-success'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Log successful TLS handshakes'}, 'log-fail'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'optional'=>'yes', 'help-string'=>'Log unsuccessful TLS handshakes'}, 'log-setting'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'maxlen'=>'63', 'optional'=>'yes'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def negate_source prop_get('negate-source') end def negate_source=(val) prop_set('negate-source', val) end def negate_destination prop_get('negate-destination') end def negate_destination=(val) prop_set('negate-destination', val) end # Disable the rule def disabled prop_get('disabled') end # Disable the rule def disabled=(val) prop_set('disabled', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end def group_tag prop_get('group-tag') end def group_tag=(val) prop_set('group-tag', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # decryption profile def profile prop_get('profile') end # decryption profile def profile=(val) prop_set('profile', val) end # packet-broker profile def packet_broker_profile prop_get('packet-broker-profile') end # packet-broker profile def packet_broker_profile=(val) prop_set('packet-broker-profile', val) end # Log successful TLS handshakes def log_success prop_get('log-success') end # Log successful TLS handshakes def log_success=(val) prop_set('log-success', val) end # Log unsuccessful TLS handshakes def log_fail prop_get('log-fail') end # Log unsuccessful TLS handshakes def log_fail=(val) prop_set('log-fail', val) end def log_setting prop_get('log-setting') end def log_setting=(val) prop_set('log-setting', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def decryption @subclasses['decryption'] ||= Decryption.new(parent_instance: self, client: @client, create_children: @create_children) end class Authentication < ConfigClass def has_multiple_values?; false; end def _section :authentication end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Target < ConfigClass def has_multiple_values?; false; end def _section :target end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Vsys < XML::ConfigClass def has_multiple_values?; true; end def _section :vsys end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vsys maybe_register_subclass('vsys', Vsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'complete-handler'=>'dg-device-tags-completer'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'negate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Target to all but these specified devices and tags'}} # Target to all but these specified devices and tags def negate prop_get('negate') end # Target to all but these specified devices and tags def negate=(val) prop_set('negate', val) end end def target @subclasses['target'] ||= Target.new(parent_instance: self, client: @client, create_children: @create_children) end class From < XML::ConfigClass def has_multiple_values?; true; end def _section :from end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def from maybe_register_subclass('from', From.new(parent_instance: self, client: @client, create_children: @create_children)) end class To < XML::ConfigClass def has_multiple_values?; true; end def _section :to end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../from/member', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def to maybe_register_subclass('to', To.new(parent_instance: self, client: @client, create_children: @create_children)) end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceUser < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-user' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'1023', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any user'}, {'value'=>'pre-logon', 'help-string'=>'prelogon client machine'}, {'value'=>'known-user', 'help-string'=>'any known user'}, {'value'=>'unknown', 'help-string'=>'unknown user'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_user maybe_register_subclass('source-user', SourceUser.new(parent_instance: self, client: @client, create_children: @create_children)) end class Destination < XML::ConfigClass def has_multiple_values?; true; end def _section :destination end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../source/member', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination maybe_register_subclass('destination', Destination.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceHip < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-hip' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any hip-profile'}, {'value'=>'no-hip', 'help-string'=>'no hip-profile'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_hip maybe_register_subclass('source-hip', SourceHip.new(parent_instance: self, client: @client, create_children: @create_children)) end class DestinationHip < XML::ConfigClass def has_multiple_values?; true; end def _section :'destination-hip' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any device'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination_hip maybe_register_subclass('destination-hip', DestinationHip.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end class Service < XML::ConfigClass def has_multiple_values?; true; end def _section :service end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'service-http', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'default', 'help-string'=>'default service for selected application'}, {'value'=>'any', 'help-string'=>'any service'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def service maybe_register_subclass('service', Service.new(parent_instance: self, client: @client, create_children: @create_children)) end class Category < XML::ConfigClass def has_multiple_values?; true; end def _section :category end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'128'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any url category'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def category maybe_register_subclass('category', Category.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'negate-source'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'negate-destination'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable the rule'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'no-default'=>'yes'}, 'group-tag'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'127'}, 'authentication-enforcement'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Authentication enforcement object to use for authentication.'}, 'log-setting'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'Log setting for forwarding authentication logs'}, 'timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'1440', 'default'=>'60', 'help-string'=>'expiration timer (minutes)'}, 'log-authentication-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def negate_source prop_get('negate-source') end def negate_source=(val) prop_set('negate-source', val) end def negate_destination prop_get('negate-destination') end def negate_destination=(val) prop_set('negate-destination', val) end # Disable the rule def disabled prop_get('disabled') end # Disable the rule def disabled=(val) prop_set('disabled', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end def group_tag prop_get('group-tag') end def group_tag=(val) prop_set('group-tag', val) end # Authentication enforcement object to use for authentication. def authentication_enforcement prop_get('authentication-enforcement') end # Authentication enforcement object to use for authentication. def authentication_enforcement=(val) prop_set('authentication-enforcement', val) end # Log setting for forwarding authentication logs def log_setting prop_get('log-setting') end # Log setting for forwarding authentication logs def log_setting=(val) prop_set('log-setting', val) end # expiration timer (minutes) def timeout prop_get('timeout') end # expiration timer (minutes) def timeout=(val) prop_set('timeout', val) end def log_authentication_timeout prop_get('log-authentication-timeout') end def log_authentication_timeout=(val) prop_set('log-authentication-timeout', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def authentication @subclasses['authentication'] ||= Authentication.new(parent_instance: self, client: @client, create_children: @create_children) end class Qos < ConfigClass def has_multiple_values?; false; end def _section :qos end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Target < ConfigClass def has_multiple_values?; false; end def _section :target end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Vsys < XML::ConfigClass def has_multiple_values?; true; end def _section :vsys end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vsys maybe_register_subclass('vsys', Vsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'complete-handler'=>'dg-device-tags-completer'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'negate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Target to all but these specified devices and tags'}} # Target to all but these specified devices and tags def negate prop_get('negate') end # Target to all but these specified devices and tags def negate=(val) prop_set('negate', val) end end def target @subclasses['target'] ||= Target.new(parent_instance: self, client: @client, create_children: @create_children) end class From < XML::ConfigClass def has_multiple_values?; true; end def _section :from end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def from maybe_register_subclass('from', From.new(parent_instance: self, client: @client, create_children: @create_children)) end class To < XML::ConfigClass def has_multiple_values?; true; end def _section :to end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'multicast', 'help-string'=>'multicast zone'}, {'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def to maybe_register_subclass('to', To.new(parent_instance: self, client: @client, create_children: @create_children)) end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceUser < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-user' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'1023', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any user'}, {'value'=>'pre-logon', 'help-string'=>'prelogon client machine'}, {'value'=>'known-user', 'help-string'=>'any known user'}, {'value'=>'unknown', 'help-string'=>'unknown user'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_user maybe_register_subclass('source-user', SourceUser.new(parent_instance: self, client: @client, create_children: @create_children)) end class Destination < XML::ConfigClass def has_multiple_values?; true; end def _section :destination end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../source/member', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination maybe_register_subclass('destination', Destination.new(parent_instance: self, client: @client, create_children: @create_children)) end class Service < XML::ConfigClass def has_multiple_values?; true; end def _section :service end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'application-default', 'help-string'=>'default service for selected application'}, {'value'=>'any', 'help-string'=>'any service'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def service maybe_register_subclass('service', Service.new(parent_instance: self, client: @client, create_children: @create_children)) end class Category < XML::ConfigClass def has_multiple_values?; true; end def _section :category end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'128'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any url category'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def category maybe_register_subclass('category', Category.new(parent_instance: self, client: @client, create_children: @create_children)) end class Application < XML::ConfigClass def has_multiple_values?; true; end def _section :application end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any application'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def application maybe_register_subclass('application', Application.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceHip < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-hip' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any hip-profile'}, {'value'=>'no-hip', 'help-string'=>'no hip-profile'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_hip maybe_register_subclass('source-hip', SourceHip.new(parent_instance: self, client: @client, create_children: @create_children)) end class DestinationHip < XML::ConfigClass def has_multiple_values?; true; end def _section :'destination-hip' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any device'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination_hip maybe_register_subclass('destination-hip', DestinationHip.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end class DscpTos < XML::ConfigClass def has_multiple_values?; true; end def _section :'dscp-tos' end class Any < ConfigClass def has_multiple_values?; false; end def _section :any end @props = {} end def any @subclasses['any'] ||= Any.new(parent_instance: self, client: @client, create_children: @create_children) end class Codepoints < XML::ConfigClass def has_multiple_values?; true; end def _section :codepoints end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Ef < ConfigClass def has_multiple_values?; false; end def _section :ef end @props = {'codepoint'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'ef', 'help-string'=>'101110'}]}} def codepoint prop_get('codepoint') end def codepoint=(val) prop_set('codepoint', val) end end def ef @subclasses['ef'] ||= Ef.new(parent_instance: self, client: @client, create_children: @create_children) end class Af < ConfigClass def has_multiple_values?; false; end def _section :af end @props = {'codepoint'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'af11', 'help-string'=>'af11 (001010)'}, {'value'=>'af12', 'help-string'=>'af12 (001100)'}, {'value'=>'af13', 'help-string'=>'af13 (001110)'}, {'value'=>'af21', 'help-string'=>'af21 (010010)'}, {'value'=>'af22', 'help-string'=>'af22 (010100)'}, {'value'=>'af23', 'help-string'=>'af23 (010110)'}, {'value'=>'af31', 'help-string'=>'af31 (011010)'}, {'value'=>'af32', 'help-string'=>'af32 (011100)'}, {'value'=>'af33', 'help-string'=>'af33 (011110)'}, {'value'=>'af41', 'help-string'=>'af41 (100010)'}, {'value'=>'af42', 'help-string'=>'af42 (100100)'}, {'value'=>'af43', 'help-string'=>'af43 (100110)'}]}} def codepoint prop_get('codepoint') end def codepoint=(val) prop_set('codepoint', val) end end def af @subclasses['af'] ||= Af.new(parent_instance: self, client: @client, create_children: @create_children) end class Cs < ConfigClass def has_multiple_values?; false; end def _section :cs end @props = {'codepoint'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'cs0', 'help-string'=>'cs0 (000000)'}, {'value'=>'cs1', 'help-string'=>'cs1 (001000)'}, {'value'=>'cs2', 'help-string'=>'cs2 (010000)'}, {'value'=>'cs3', 'help-string'=>'cs3 (011000)'}, {'value'=>'cs4', 'help-string'=>'cs4 (100000)'}, {'value'=>'cs5', 'help-string'=>'cs5 (101000)'}, {'value'=>'cs6', 'help-string'=>'cs6 (110000)'}, {'value'=>'cs7', 'help-string'=>'cs7 (111000)'}]}} def codepoint prop_get('codepoint') end def codepoint=(val) prop_set('codepoint', val) end end def cs @subclasses['cs'] ||= Cs.new(parent_instance: self, client: @client, create_children: @create_children) end class Tos < ConfigClass def has_multiple_values?; false; end def _section :tos end @props = {'codepoint'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'cs0', 'help-string'=>'cs0 (000)'}, {'value'=>'cs1', 'help-string'=>'cs1 (001)'}, {'value'=>'cs2', 'help-string'=>'cs2 (010)'}, {'value'=>'cs3', 'help-string'=>'cs3 (011)'}, {'value'=>'cs4', 'help-string'=>'cs4 (100)'}, {'value'=>'cs5', 'help-string'=>'cs5 (101)'}, {'value'=>'cs6', 'help-string'=>'cs6 (110)'}, {'value'=>'cs7', 'help-string'=>'cs7 (111)'}]}} def codepoint prop_get('codepoint') end def codepoint=(val) prop_set('codepoint', val) end end def tos @subclasses['tos'] ||= Tos.new(parent_instance: self, client: @client, create_children: @create_children) end class Custom < ConfigClass def has_multiple_values?; false; end def _section :custom end class Codepoint < ConfigClass def has_multiple_values?; false; end def _section :codepoint end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'optional'=>'yes', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'codepoint in format \'xxxxxx\' where x is {0|1}'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('name') end # alphanumeric string [ 0-9a-zA-Z._-] def name=(val) prop_set('name', val) end # codepoint in format 'xxxxxx' where x is {0|1} def value prop_get('value') end # codepoint in format 'xxxxxx' where x is {0|1} def value=(val) prop_set('value', val) end end def codepoint @subclasses['codepoint'] ||= Codepoint.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def custom @subclasses['custom'] ||= Custom.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'codepoint name, alphanumeric string [ 0-9a-zA-Z._-]'}} # codepoint name, alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def codepoints maybe_register_subclass('codepoints', Codepoints.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def dscp_tos maybe_register_subclass('dscp-tos', DscpTos.new(parent_instance: self, client: @client, create_children: @create_children)) end class Action < ConfigClass def has_multiple_values?; false; end def _section :action end @props = {'class'=>{'node-type'=>'element', 'type'=>'enum', 'help-string'=>'assigned class', 'enum'=>[{'value'=>'1'}, {'value'=>'2'}, {'value'=>'3'}, {'value'=>'4'}, {'value'=>'5'}, {'value'=>'6'}, {'value'=>'7'}, {'value'=>'8'}]}} # assigned class def class prop_get('class') end # assigned class def class=(val) prop_set('class', val) end end def action @subclasses['action'] ||= Action.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'schedule'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'optional'=>'yes'}, 'negate-source'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'negate-destination'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable the rule'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'no-default'=>'yes'}, 'group-tag'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'127'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def schedule prop_get('schedule') end def schedule=(val) prop_set('schedule', val) end def negate_source prop_get('negate-source') end def negate_source=(val) prop_set('negate-source', val) end def negate_destination prop_get('negate-destination') end def negate_destination=(val) prop_set('negate-destination', val) end # Disable the rule def disabled prop_get('disabled') end # Disable the rule def disabled=(val) prop_set('disabled', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end def group_tag prop_get('group-tag') end def group_tag=(val) prop_set('group-tag', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def qos @subclasses['qos'] ||= Qos.new(parent_instance: self, client: @client, create_children: @create_children) end class Nat < ConfigClass def has_multiple_values?; false; end def _section :nat end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Target < ConfigClass def has_multiple_values?; false; end def _section :target end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Vsys < XML::ConfigClass def has_multiple_values?; true; end def _section :vsys end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vsys maybe_register_subclass('vsys', Vsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'complete-handler'=>'dg-device-tags-completer'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'negate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Target to all but these specified devices and tags'}} # Target to all but these specified devices and tags def negate prop_get('negate') end # Target to all but these specified devices and tags def negate=(val) prop_set('negate', val) end end def target @subclasses['target'] ||= Target.new(parent_instance: self, client: @client, create_children: @create_children) end class From < XML::ConfigClass def has_multiple_values?; true; end def _section :from end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def from maybe_register_subclass('from', From.new(parent_instance: self, client: @client, create_children: @create_children)) end class To < XML::ConfigClass def has_multiple_values?; true; end def _section :to end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'max-count'=>'1', 'multi-types'=>{'string'=>{'maxlen'=>'31', 'disallow-keyword-any'=>'yes'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def to maybe_register_subclass('to', To.new(parent_instance: self, client: @client, create_children: @create_children)) end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end class Destination < XML::ConfigClass def has_multiple_values?; true; end def _section :destination end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../source/member', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination maybe_register_subclass('destination', Destination.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceTranslation < ConfigClass def has_multiple_values?; false; end def _section :'source-translation' end class DynamicIpAndPort < ConfigClass def has_multiple_values?; false; end def _section :'dynamic-ip-and-port' end class TranslatedAddress < XML::ConfigClass def has_multiple_values?; true; end def _section :'translated-address' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'no-default'=>'yes', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'ipspec'=>{}, 'iprangespec'=>{}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def translated_address maybe_register_subclass('translated-address', TranslatedAddress.new(parent_instance: self, client: @client, create_children: @create_children)) end class InterfaceAddress < ConfigClass def has_multiple_values?; false; end def _section :'interface-address' end @props = {'interface'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'Interface name'}, 'ip'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'specify exact IP address if interface has multiple addresses'}, 'floating-ip'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.nat.rules.interface-address.floating-ip-disable=True', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Floating IP address in HA Active-Active configuration'}} # Interface name def interface prop_get('interface') end # Interface name def interface=(val) prop_set('interface', val) end # specify exact IP address if interface has multiple addresses def ip prop_get('ip') end # specify exact IP address if interface has multiple addresses def ip=(val) prop_set('ip', val) end # Floating IP address in HA Active-Active configuration def floating_ip prop_get('floating-ip') end # Floating IP address in HA Active-Active configuration def floating_ip=(val) prop_set('floating-ip', val) end end def interface_address @subclasses['interface-address'] ||= InterfaceAddress.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def dynamic_ip_and_port @subclasses['dynamic-ip-and-port'] ||= DynamicIpAndPort.new(parent_instance: self, client: @client, create_children: @create_children) end class DynamicIp < ConfigClass def has_multiple_values?; false; end def _section :'dynamic-ip' end class TranslatedAddress < XML::ConfigClass def has_multiple_values?; true; end def _section :'translated-address' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'no-default'=>'yes', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'ipspec'=>{}, 'iprangespec'=>{}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def translated_address maybe_register_subclass('translated-address', TranslatedAddress.new(parent_instance: self, client: @client, create_children: @create_children)) end class Fallback < ConfigClass def has_multiple_values?; false; end def _section :fallback end class TranslatedAddress < XML::ConfigClass def has_multiple_values?; true; end def _section :'translated-address' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'no-default'=>'yes', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'ipspec'=>{}, 'iprangespec'=>{}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def translated_address maybe_register_subclass('translated-address', TranslatedAddress.new(parent_instance: self, client: @client, create_children: @create_children)) end class InterfaceAddress < ConfigClass def has_multiple_values?; false; end def _section :'interface-address' end @props = {'interface'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'Interface name'}, 'ip'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'specify exact IP address if interface has multiple addresses'}, 'floating-ip'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Floating IP address in HA Active-Active configuration'}} # Interface name def interface prop_get('interface') end # Interface name def interface=(val) prop_set('interface', val) end # specify exact IP address if interface has multiple addresses def ip prop_get('ip') end # specify exact IP address if interface has multiple addresses def ip=(val) prop_set('ip', val) end # Floating IP address in HA Active-Active configuration def floating_ip prop_get('floating-ip') end # Floating IP address in HA Active-Active configuration def floating_ip=(val) prop_set('floating-ip', val) end end def interface_address @subclasses['interface-address'] ||= InterfaceAddress.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def fallback @subclasses['fallback'] ||= Fallback.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def dynamic_ip @subclasses['dynamic-ip'] ||= DynamicIp.new(parent_instance: self, client: @client, create_children: @create_children) end class StaticIp < ConfigClass def has_multiple_values?; false; end def _section :'static-ip' end @props = {'translated-address'=>{'node-type'=>'element', 'type'=>'multiple', 'no-default'=>'yes', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'ipspec'=>{}, 'iprangespec'=>{}}}, 'bi-directional'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'allow reverse translation from translated address to original address', 'enum'=>[{'value'=>'yes', 'help-string'=>'Bi-directional rule'}, {'value'=>'no', 'help-string'=>'Uni-directional rule'}]}} def translated_address prop_get('translated-address') end def translated_address=(val) prop_set('translated-address', val) end # allow reverse translation from translated address to original address def bi_directional prop_get('bi-directional') end # allow reverse translation from translated address to original address def bi_directional=(val) prop_set('bi-directional', val) end end def static_ip @subclasses['static-ip'] ||= StaticIp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def source_translation @subclasses['source-translation'] ||= SourceTranslation.new(parent_instance: self, client: @client, create_children: @create_children) end class DestinationTranslation < ConfigClass def has_multiple_values?; false; end def _section :'destination-translation' end class DnsRewrite < ConfigClass def has_multiple_values?; false; end def _section :'dns-rewrite' end @props = {'direction'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'reverse', 'help-string'=>'Select direction to apply DNS rewrite', 'enum'=>[{'value'=>'reverse', 'help-string'=>'Reverse translation'}, {'value'=>'forward', 'help-string'=>'Forward translation'}]}} # Select direction to apply DNS rewrite def direction prop_get('direction') end # Select direction to apply DNS rewrite def direction=(val) prop_set('direction', val) end end def dns_rewrite @subclasses['dns-rewrite'] ||= DnsRewrite.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'translated-address'=>{'node-type'=>'element', 'type'=>'multiple', 'no-default'=>'yes', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'ipspec'=>{}, 'iprangespec'=>{}}}, 'translated-port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'no-default'=>'yes', 'optional'=>'yes'}} def translated_address prop_get('translated-address') end def translated_address=(val) prop_set('translated-address', val) end def translated_port prop_get('translated-port') end def translated_port=(val) prop_set('translated-port', val) end end def destination_translation @subclasses['destination-translation'] ||= DestinationTranslation.new(parent_instance: self, client: @client, create_children: @create_children) end class DynamicDestinationTranslation < ConfigClass def has_multiple_values?; false; end def _section :'dynamic-destination-translation' end @props = {'translated-address'=>{'node-type'=>'element', 'type'=>'multiple', 'no-default'=>'yes', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'ipspec'=>{}, 'iprangespec'=>{}}}, 'translated-port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'no-default'=>'yes', 'optional'=>'yes'}, 'distribution'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'round-robin', 'help-string'=>'Distribution algorithm for destination address pool', 'enum'=>[{'value'=>'round-robin', 'help-string'=>'Round Robin'}, {'value'=>'source-ip-hash', 'help-string'=>'Source IP Hash'}, {'value'=>'ip-modulo', 'help-string'=>'IP Modulo'}, {'value'=>'ip-hash', 'help-string'=>'IP Hash'}, {'value'=>'least-sessions', 'help-string'=>'Least Sessions'}]}} def translated_address prop_get('translated-address') end def translated_address=(val) prop_set('translated-address', val) end def translated_port prop_get('translated-port') end def translated_port=(val) prop_set('translated-port', val) end # Distribution algorithm for destination address pool def distribution prop_get('distribution') end # Distribution algorithm for destination address pool def distribution=(val) prop_set('distribution', val) end end def dynamic_destination_translation @subclasses['dynamic-destination-translation'] ||= DynamicDestinationTranslation.new(parent_instance: self, client: @client, create_children: @create_children) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'service'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'default'=>'any'}, 'nat-type'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'ipv4', 'help-string'=>'type of nat', 'enum'=>[{'value'=>'ipv4', 'help-string'=>'ipv4 nat'}, {'value'=>'nat64', 'help-string'=>'translator between ipv6 and ipv4'}, {'value'=>'nptv6', 'help-string'=>'network prefix translator for ipv6'}]}, 'to-interface'=>{'node-type'=>'element', 'optional'=>'yes', 'default'=>'any', 'type'=>'multiple', 'help-string'=>'Egress interface from route lookup', 'multi-types'=>{'string'=>{'maxlen'=>'63', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any interface'}]}}, 'active-active-device-binding'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-string'=>'Device binding configuration in HA Active-Active mode', 'enum'=>[{'value'=>'primary', 'help-string'=>'Rule is bound to Active-Primary device'}, {'value'=>'both', 'help-string'=>'Rule is bound to both devices'}, {'value'=>'0', 'help-string'=>'Rule is bound to device 0'}, {'value'=>'1', 'help-string'=>'Rule is bound to device 1'}]}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable the rule'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'no-default'=>'yes'}, 'group-tag'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'127'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def service prop_get('service') end def service=(val) prop_set('service', val) end # type of nat def nat_type prop_get('nat-type') end # type of nat def nat_type=(val) prop_set('nat-type', val) end # Egress interface from route lookup def to_interface prop_get('to-interface') end # Egress interface from route lookup def to_interface=(val) prop_set('to-interface', val) end # Device binding configuration in HA Active-Active mode def active_active_device_binding prop_get('active-active-device-binding') end # Device binding configuration in HA Active-Active mode def active_active_device_binding=(val) prop_set('active-active-device-binding', val) end # Disable the rule def disabled prop_get('disabled') end # Disable the rule def disabled=(val) prop_set('disabled', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end def group_tag prop_get('group-tag') end def group_tag=(val) prop_set('group-tag', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def nat @subclasses['nat'] ||= Nat.new(parent_instance: self, client: @client, create_children: @create_children) end class Pbf < ConfigClass def has_multiple_values?; false; end def _section :pbf end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Target < ConfigClass def has_multiple_values?; false; end def _section :target end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Vsys < XML::ConfigClass def has_multiple_values?; true; end def _section :vsys end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vsys maybe_register_subclass('vsys', Vsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'complete-handler'=>'dg-device-tags-completer'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'negate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Target to all but these specified devices and tags'}} # Target to all but these specified devices and tags def negate prop_get('negate') end # Target to all but these specified devices and tags def negate=(val) prop_set('negate', val) end end def target @subclasses['target'] ||= Target.new(parent_instance: self, client: @client, create_children: @create_children) end class From < ConfigClass def has_multiple_values?; false; end def _section :from end class Zone < XML::ConfigClass def has_multiple_values?; true; end def _section :zone end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'maxlen'=>'31'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def zone maybe_register_subclass('zone', Zone.new(parent_instance: self, client: @client, create_children: @create_children)) end class Interface < XML::ConfigClass def has_multiple_values?; true; end def _section :interface end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def interface maybe_register_subclass('interface', Interface.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def from @subclasses['from'] ||= From.new(parent_instance: self, client: @client, create_children: @create_children) end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceUser < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-user' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'1023', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any user'}, {'value'=>'pre-logon', 'help-string'=>'prelogon client machine'}, {'value'=>'known-user', 'help-string'=>'any known user'}, {'value'=>'unknown', 'help-string'=>'unknown user'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_user maybe_register_subclass('source-user', SourceUser.new(parent_instance: self, client: @client, create_children: @create_children)) end class Destination < XML::ConfigClass def has_multiple_values?; true; end def _section :destination end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../source/member', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination maybe_register_subclass('destination', Destination.new(parent_instance: self, client: @client, create_children: @create_children)) end class Service < XML::ConfigClass def has_multiple_values?; true; end def _section :service end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'application-default', 'help-string'=>'default service for selected application'}, {'value'=>'any', 'help-string'=>'any service'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def service maybe_register_subclass('service', Service.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end class Application < XML::ConfigClass def has_multiple_values?; true; end def _section :application end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any application'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def application maybe_register_subclass('application', Application.new(parent_instance: self, client: @client, create_children: @create_children)) end class Action < ConfigClass def has_multiple_values?; false; end def _section :action end class Forward < ConfigClass def has_multiple_values?; false; end def _section :forward end class Nexthop < ConfigClass def has_multiple_values?; false; end def _section :nexthop end @props = {'ip-address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Next hop IP address', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'ipspec'=>{'unicast-only'=>'yes'}}}, 'fqdn'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'regex'=>'^([a-zA-Z0-9._-])+$', 'help-string'=>'nexthop address FQDN name configuration'}} # Next hop IP address def ip_address prop_get('ip-address') end # Next hop IP address def ip_address=(val) prop_set('ip-address', val) end # nexthop address FQDN name configuration def fqdn prop_get('fqdn') end # nexthop address FQDN name configuration def fqdn=(val) prop_set('fqdn', val) end end def nexthop @subclasses['nexthop'] ||= Nexthop.new(parent_instance: self, client: @client, create_children: @create_children) end class Monitor < ConfigClass def has_multiple_values?; false; end def _section :monitor end @props = {'profile'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Monitoring profile associated with this rule'}, 'disable-if-unreachable'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable this rule if nexthop/monitor ip is unreachable'}, 'ip-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-only'=>'yes', 'help-string'=>'Monitor IP address'}} # Monitoring profile associated with this rule def profile prop_get('profile') end # Monitoring profile associated with this rule def profile=(val) prop_set('profile', val) end # Disable this rule if nexthop/monitor ip is unreachable def disable_if_unreachable prop_get('disable-if-unreachable') end # Disable this rule if nexthop/monitor ip is unreachable def disable_if_unreachable=(val) prop_set('disable-if-unreachable', val) end # Monitor IP address def ip_address prop_get('ip-address') end # Monitor IP address def ip_address=(val) prop_set('ip-address', val) end end def monitor @subclasses['monitor'] ||= Monitor.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'egress-interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Interface to route packet to'}} # Interface to route packet to def egress_interface prop_get('egress-interface') end # Interface to route packet to def egress_interface=(val) prop_set('egress-interface', val) end end def forward @subclasses['forward'] ||= Forward.new(parent_instance: self, client: @client, create_children: @create_children) end class Discard < ConfigClass def has_multiple_values?; false; end def _section :discard end @props = {} end def discard @subclasses['discard'] ||= Discard.new(parent_instance: self, client: @client, create_children: @create_children) end class NoPbf < ConfigClass def has_multiple_values?; false; end def _section :'no-pbf' end @props = {} end def no_pbf @subclasses['no-pbf'] ||= NoPbf.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'forward-to-vsys'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Virtual system/Shared gateway to route packet to'}} # Virtual system/Shared gateway to route packet to def forward_to_vsys prop_get('forward-to-vsys') end # Virtual system/Shared gateway to route packet to def forward_to_vsys=(val) prop_set('forward-to-vsys', val) end end def action @subclasses['action'] ||= Action.new(parent_instance: self, client: @client, create_children: @create_children) end class EnforceSymmetricReturn < ConfigClass def has_multiple_values?; false; end def _section :'enforce-symmetric-return' end class NexthopAddressList < XML::ConfigClass def has_multiple_values?; true; end def _section :'nexthop-address-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'unicast-only'=>'yes', 'help-string'=>'IP address'}} # IP address def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def nexthop_address_list maybe_register_subclass('nexthop-address-list', NexthopAddressList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable symmetric return'}} # Enable symmetric return def enabled prop_get('enabled') end # Enable symmetric return def enabled=(val) prop_set('enabled', val) end end def enforce_symmetric_return @subclasses['enforce-symmetric-return'] ||= EnforceSymmetricReturn.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'schedule'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'optional'=>'yes'}, 'negate-source'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'negate-destination'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable the rule'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'no-default'=>'yes'}, 'group-tag'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'127'}, 'active-active-device-binding'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.pbf.rules.active-active-device-binding-disable=True', 'optional'=>'yes', 'type'=>'enum', 'help-string'=>'Device binding configuration in HA Active-Active mode', 'enum'=>[{'value'=>'both', 'help-string'=>'Rule is bound to both devices'}, {'value'=>'0', 'help-string'=>'Rule is bound to device 0'}, {'value'=>'1', 'help-string'=>'Rule is bound to device 1'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def schedule prop_get('schedule') end def schedule=(val) prop_set('schedule', val) end def negate_source prop_get('negate-source') end def negate_source=(val) prop_set('negate-source', val) end def negate_destination prop_get('negate-destination') end def negate_destination=(val) prop_set('negate-destination', val) end # Disable the rule def disabled prop_get('disabled') end # Disable the rule def disabled=(val) prop_set('disabled', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end def group_tag prop_get('group-tag') end def group_tag=(val) prop_set('group-tag', val) end # Device binding configuration in HA Active-Active mode def active_active_device_binding prop_get('active-active-device-binding') end # Device binding configuration in HA Active-Active mode def active_active_device_binding=(val) prop_set('active-active-device-binding', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def pbf @subclasses['pbf'] ||= Pbf.new(parent_instance: self, client: @client, create_children: @create_children) end class Sdwan < ConfigClass def has_multiple_values?; false; end def _section :sdwan end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Target < ConfigClass def has_multiple_values?; false; end def _section :target end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Vsys < XML::ConfigClass def has_multiple_values?; true; end def _section :vsys end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vsys maybe_register_subclass('vsys', Vsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'complete-handler'=>'dg-device-tags-completer'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'negate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Target to all but these specified devices and tags'}} # Target to all but these specified devices and tags def negate prop_get('negate') end # Target to all but these specified devices and tags def negate=(val) prop_set('negate', val) end end def target @subclasses['target'] ||= Target.new(parent_instance: self, client: @client, create_children: @create_children) end class From < XML::ConfigClass def has_multiple_values?; true; end def _section :from end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def from maybe_register_subclass('from', From.new(parent_instance: self, client: @client, create_children: @create_children)) end class To < XML::ConfigClass def has_multiple_values?; true; end def _section :to end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../from/member', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def to maybe_register_subclass('to', To.new(parent_instance: self, client: @client, create_children: @create_children)) end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceUser < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-user' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'1023', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any user'}, {'value'=>'pre-logon', 'help-string'=>'prelogon client machine'}, {'value'=>'known-user', 'help-string'=>'any known user'}, {'value'=>'unknown', 'help-string'=>'unknown user'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_user maybe_register_subclass('source-user', SourceUser.new(parent_instance: self, client: @client, create_children: @create_children)) end class Destination < XML::ConfigClass def has_multiple_values?; true; end def _section :destination end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../source/member', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination maybe_register_subclass('destination', Destination.new(parent_instance: self, client: @client, create_children: @create_children)) end class Application < XML::ConfigClass def has_multiple_values?; true; end def _section :application end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any application'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def application maybe_register_subclass('application', Application.new(parent_instance: self, client: @client, create_children: @create_children)) end class Service < XML::ConfigClass def has_multiple_values?; true; end def _section :service end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'application-default', 'help-string'=>'default service for selected application'}, {'value'=>'any', 'help-string'=>'any service'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def service maybe_register_subclass('service', Service.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end class Action < ConfigClass def has_multiple_values?; false; end def _section :action end @props = {'traffic-distribution-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'attach sdwan traffic distribution associated with this rule'}, 'app-failover-for-nat-sessions'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'keep-existing-link', 'help-string'=>'For NAT sessions, specify whether to move to a better path', 'enum'=>[{'value'=>'keep-existing-link', 'help-string'=>'Keep session on existing link'}, {'value'=>'failover-to-better-path', 'help-string'=>'Allow session failover to better path'}]}} # attach sdwan traffic distribution associated with this rule def traffic_distribution_profile prop_get('traffic-distribution-profile') end # attach sdwan traffic distribution associated with this rule def traffic_distribution_profile=(val) prop_set('traffic-distribution-profile', val) end # For NAT sessions, specify whether to move to a better path def app_failover_for_nat_sessions prop_get('app-failover-for-nat-sessions') end # For NAT sessions, specify whether to move to a better path def app_failover_for_nat_sessions=(val) prop_set('app-failover-for-nat-sessions', val) end end def action @subclasses['action'] ||= Action.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'negate-source'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'negate-destination'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable the rule'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'no-default'=>'yes'}, 'group-tag'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'127'}, 'path-quality-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'attach sdwan path quality profile associated with this rule'}, 'saas-quality-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'optional'=>'yes', 'help-string'=>'attach sdwan saas quality profile associated with this rule'}, 'error-correction-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'optional'=>'yes', 'help-string'=>'attach sdwan error correction profile associated with this rule'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def negate_source prop_get('negate-source') end def negate_source=(val) prop_set('negate-source', val) end def negate_destination prop_get('negate-destination') end def negate_destination=(val) prop_set('negate-destination', val) end # Disable the rule def disabled prop_get('disabled') end # Disable the rule def disabled=(val) prop_set('disabled', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end def group_tag prop_get('group-tag') end def group_tag=(val) prop_set('group-tag', val) end # attach sdwan path quality profile associated with this rule def path_quality_profile prop_get('path-quality-profile') end # attach sdwan path quality profile associated with this rule def path_quality_profile=(val) prop_set('path-quality-profile', val) end # attach sdwan saas quality profile associated with this rule def saas_quality_profile prop_get('saas-quality-profile') end # attach sdwan saas quality profile associated with this rule def saas_quality_profile=(val) prop_set('saas-quality-profile', val) end # attach sdwan error correction profile associated with this rule def error_correction_profile prop_get('error-correction-profile') end # attach sdwan error correction profile associated with this rule def error_correction_profile=(val) prop_set('error-correction-profile', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def sdwan @subclasses['sdwan'] ||= Sdwan.new(parent_instance: self, client: @client, create_children: @create_children) end class Dos < ConfigClass def has_multiple_values?; false; end def _section :dos end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Target < ConfigClass def has_multiple_values?; false; end def _section :target end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Vsys < XML::ConfigClass def has_multiple_values?; true; end def _section :vsys end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vsys maybe_register_subclass('vsys', Vsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'complete-handler'=>'dg-device-tags-completer'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'negate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Target to all but these specified devices and tags'}} # Target to all but these specified devices and tags def negate prop_get('negate') end # Target to all but these specified devices and tags def negate=(val) prop_set('negate', val) end end def target @subclasses['target'] ||= Target.new(parent_instance: self, client: @client, create_children: @create_children) end class From < ConfigClass def has_multiple_values?; false; end def _section :from end class Zone < XML::ConfigClass def has_multiple_values?; true; end def _section :zone end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'maxlen'=>'31'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def zone maybe_register_subclass('zone', Zone.new(parent_instance: self, client: @client, create_children: @create_children)) end class Interface < XML::ConfigClass def has_multiple_values?; true; end def _section :interface end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def interface maybe_register_subclass('interface', Interface.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def from @subclasses['from'] ||= From.new(parent_instance: self, client: @client, create_children: @create_children) end class To < ConfigClass def has_multiple_values?; false; end def _section :to end class Zone < XML::ConfigClass def has_multiple_values?; true; end def _section :zone end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'enum'=>[{'value'=>'multicast', 'help-string'=>'multicast zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def zone maybe_register_subclass('zone', Zone.new(parent_instance: self, client: @client, create_children: @create_children)) end class Interface < XML::ConfigClass def has_multiple_values?; true; end def _section :interface end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def interface maybe_register_subclass('interface', Interface.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def to @subclasses['to'] ||= To.new(parent_instance: self, client: @client, create_children: @create_children) end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceUser < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-user' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'1023', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any user'}, {'value'=>'pre-logon', 'help-string'=>'prelogon client machine'}, {'value'=>'known-user', 'help-string'=>'any known user'}, {'value'=>'unknown', 'help-string'=>'unknown user'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_user maybe_register_subclass('source-user', SourceUser.new(parent_instance: self, client: @client, create_children: @create_children)) end class Destination < XML::ConfigClass def has_multiple_values?; true; end def _section :destination end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../source/member', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination maybe_register_subclass('destination', Destination.new(parent_instance: self, client: @client, create_children: @create_children)) end class Service < XML::ConfigClass def has_multiple_values?; true; end def _section :service end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any service'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def service maybe_register_subclass('service', Service.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end class Protection < ConfigClass def has_multiple_values?; false; end def _section :protection end class Aggregate < ConfigClass def has_multiple_values?; false; end def _section :aggregate end @props = {'profile'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'DoS profile to use for aggregated protection'}} # DoS profile to use for aggregated protection def profile prop_get('profile') end # DoS profile to use for aggregated protection def profile=(val) prop_set('profile', val) end end def aggregate @subclasses['aggregate'] ||= Aggregate.new(parent_instance: self, client: @client, create_children: @create_children) end class Classified < ConfigClass def has_multiple_values?; false; end def _section :classified end class ClassificationCriteria < ConfigClass def has_multiple_values?; false; end def _section :'classification-criteria' end @props = {'address'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'source-ip-only', 'help-string'=>'Parameters for IP Address based classification', 'enum'=>[{'value'=>'source-ip-only'}, {'value'=>'destination-ip-only'}, {'value'=>'src-dest-ip-both'}]}} # Parameters for IP Address based classification def address prop_get('address') end # Parameters for IP Address based classification def address=(val) prop_set('address', val) end end def classification_criteria @subclasses['classification-criteria'] ||= ClassificationCriteria.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'profile'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'DoS profile to use for classified protection'}} # DoS profile to use for classified protection def profile prop_get('profile') end # DoS profile to use for classified protection def profile=(val) prop_set('profile', val) end end def classified @subclasses['classified'] ||= Classified.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def protection @subclasses['protection'] ||= Protection.new(parent_instance: self, client: @client, create_children: @create_children) end class Action < ConfigClass def has_multiple_values?; false; end def _section :action end class Deny < ConfigClass def has_multiple_values?; false; end def _section :deny end @props = {} end def deny @subclasses['deny'] ||= Deny.new(parent_instance: self, client: @client, create_children: @create_children) end class Allow < ConfigClass def has_multiple_values?; false; end def _section :allow end @props = {} end def allow @subclasses['allow'] ||= Allow.new(parent_instance: self, client: @client, create_children: @create_children) end class Protect < ConfigClass def has_multiple_values?; false; end def _section :protect end @props = {} end def protect @subclasses['protect'] ||= Protect.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def action @subclasses['action'] ||= Action.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'schedule'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'optional'=>'yes'}, 'negate-source'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'negate-destination'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable the rule'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'no-default'=>'yes'}, 'group-tag'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'127'}, 'log-setting'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'maxlen'=>'63', 'optional'=>'yes'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def schedule prop_get('schedule') end def schedule=(val) prop_set('schedule', val) end def negate_source prop_get('negate-source') end def negate_source=(val) prop_set('negate-source', val) end def negate_destination prop_get('negate-destination') end def negate_destination=(val) prop_set('negate-destination', val) end # Disable the rule def disabled prop_get('disabled') end # Disable the rule def disabled=(val) prop_set('disabled', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end def group_tag prop_get('group-tag') end def group_tag=(val) prop_set('group-tag', val) end def log_setting prop_get('log-setting') end def log_setting=(val) prop_set('log-setting', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def dos @subclasses['dos'] ||= Dos.new(parent_instance: self, client: @client, create_children: @create_children) end class TunnelInspect < ConfigClass def has_multiple_values?; false; end def _section :'tunnel-inspect' end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Target < ConfigClass def has_multiple_values?; false; end def _section :target end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Vsys < XML::ConfigClass def has_multiple_values?; true; end def _section :vsys end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vsys maybe_register_subclass('vsys', Vsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'complete-handler'=>'dg-device-tags-completer'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'negate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Target to all but these specified devices and tags'}} # Target to all but these specified devices and tags def negate prop_get('negate') end # Target to all but these specified devices and tags def negate=(val) prop_set('negate', val) end end def target @subclasses['target'] ||= Target.new(parent_instance: self, client: @client, create_children: @create_children) end class From < XML::ConfigClass def has_multiple_values?; true; end def _section :from end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def from maybe_register_subclass('from', From.new(parent_instance: self, client: @client, create_children: @create_children)) end class To < XML::ConfigClass def has_multiple_values?; true; end def _section :to end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../from/member', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def to maybe_register_subclass('to', To.new(parent_instance: self, client: @client, create_children: @create_children)) end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceUser < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-user' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'1023', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any user'}, {'value'=>'pre-logon', 'help-string'=>'prelogon client machine'}, {'value'=>'known-user', 'help-string'=>'any known user'}, {'value'=>'unknown', 'help-string'=>'unknown user'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_user maybe_register_subclass('source-user', SourceUser.new(parent_instance: self, client: @client, create_children: @create_children)) end class Destination < XML::ConfigClass def has_multiple_values?; true; end def _section :destination end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../source/member', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination maybe_register_subclass('destination', Destination.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end class Application < XML::ConfigClass def has_multiple_values?; true; end def _section :application end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'enum'=>[{'value'=>'gre', 'help-string'=>'GRE'}, {'value'=>'vxlan', 'help-string'=>'VXLAN'}, {'value'=>'ipsec', 'help-string'=>'Non-encrypted IPSec'}, {'value'=>'gtp', 'help-string'=>'GTP-U'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def application maybe_register_subclass('application', Application.new(parent_instance: self, client: @client, create_children: @create_children)) end class TunnelId < ConfigClass def has_multiple_values?; false; end def _section :'tunnel-id' end class Vni < XML::ConfigClass def has_multiple_values?; true; end def _section :vni end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'id'=>{'node-type'=>'element', 'type'=>'rangelistspec', 'min'=>'0', 'max'=>'16777215'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def id prop_get('id') end def id=(val) prop_set('id', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vni maybe_register_subclass('vni', Vni.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def tunnel_id @subclasses['tunnel-id'] ||= TunnelId.new(parent_instance: self, client: @client, create_children: @create_children) end class InspectOptions < ConfigClass def has_multiple_values?; false; end def _section :'inspect-options' end @props = {'max-level-inspection'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'1', 'help-string'=>'max level inspection', 'enum'=>[{'value'=>'1', 'help-string'=>'One level'}, {'value'=>'2', 'help-string'=>'Two levels (tunnel in tunnel)'}]}, 'drop-over-max'=>{'node-type'=>'element', 'optional'=>'yes', 'default'=>'no', 'type'=>'bool'}, 'drop-unknown-protocol'=>{'node-type'=>'element', 'optional'=>'yes', 'default'=>'no', 'type'=>'bool'}, 'drop-strict-checking'=>{'node-type'=>'element', 'optional'=>'yes', 'default'=>'no', 'type'=>'bool'}, 'return-vxlan-to-source'=>{'node-type'=>'element', 'optional'=>'yes', 'default'=>'no', 'type'=>'bool'}} # max level inspection def max_level_inspection prop_get('max-level-inspection') end # max level inspection def max_level_inspection=(val) prop_set('max-level-inspection', val) end def drop_over_max prop_get('drop-over-max') end def drop_over_max=(val) prop_set('drop-over-max', val) end def drop_unknown_protocol prop_get('drop-unknown-protocol') end def drop_unknown_protocol=(val) prop_set('drop-unknown-protocol', val) end def drop_strict_checking prop_get('drop-strict-checking') end def drop_strict_checking=(val) prop_set('drop-strict-checking', val) end def return_vxlan_to_source prop_get('return-vxlan-to-source') end def return_vxlan_to_source=(val) prop_set('return-vxlan-to-source', val) end end def inspect_options @subclasses['inspect-options'] ||= InspectOptions.new(parent_instance: self, client: @client, create_children: @create_children) end class ZoneAssign < ConfigClass def has_multiple_values?; false; end def _section :'zone-assign' end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end class Destination < XML::ConfigClass def has_multiple_values?; true; end def _section :destination end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination maybe_register_subclass('destination', Destination.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def zone_assign @subclasses['zone-assign'] ||= ZoneAssign.new(parent_instance: self, client: @client, create_children: @create_children) end class MonitorOptions < ConfigClass def has_multiple_values?; false; end def _section :'monitor-options' end class LogSettingOverride < ConfigClass def has_multiple_values?; false; end def _section :'log-setting-override' end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'log-setting'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'maxlen'=>'63', 'optional'=>'yes'}, 'log-start'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'optional'=>'yes', 'help-string'=>'Log at session start'}, 'log-end'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'optional'=>'yes', 'help-string'=>'Log at session end (required for certain ACC tables)'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end def log_setting prop_get('log-setting') end def log_setting=(val) prop_set('log-setting', val) end # Log at session start def log_start prop_get('log-start') end # Log at session start def log_start=(val) prop_set('log-start', val) end # Log at session end (required for certain ACC tables) def log_end prop_get('log-end') end # Log at session end (required for certain ACC tables) def log_end=(val) prop_set('log-end', val) end end def log_setting_override @subclasses['log-setting-override'] ||= LogSettingOverride.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'monitor-name'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([^0-9]*|[0-9]{1,14}([^0-9]|$)|[0-9]{17,})*$', 'optional'=>'yes', 'minlen'=>'1', 'maxlen'=>'31', 'no-default'=>'yes', 'help-string'=>'15 or 16 digit number not allowed'}, 'monitor-id'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'1', 'max'=>'16777215'}} # 15 or 16 digit number not allowed def monitor_name prop_get('monitor-name') end # 15 or 16 digit number not allowed def monitor_name=(val) prop_set('monitor-name', val) end def monitor_id prop_get('monitor-id') end def monitor_id=(val) prop_set('monitor-id', val) end end def monitor_options @subclasses['monitor-options'] ||= MonitorOptions.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'negate-source'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'negate-destination'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable the rule'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'no-default'=>'yes'}, 'group-tag'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'127'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def negate_source prop_get('negate-source') end def negate_source=(val) prop_set('negate-source', val) end def negate_destination prop_get('negate-destination') end def negate_destination=(val) prop_set('negate-destination', val) end # Disable the rule def disabled prop_get('disabled') end # Disable the rule def disabled=(val) prop_set('disabled', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end def group_tag prop_get('group-tag') end def group_tag=(val) prop_set('group-tag', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def tunnel_inspect @subclasses['tunnel-inspect'] ||= TunnelInspect.new(parent_instance: self, client: @client, create_children: @create_children) end class NetworkPacketBroker < ConfigClass def has_multiple_values?; false; end def _section :'network-packet-broker' end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Target < ConfigClass def has_multiple_values?; false; end def _section :target end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Vsys < XML::ConfigClass def has_multiple_values?; true; end def _section :vsys end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vsys maybe_register_subclass('vsys', Vsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'complete-handler'=>'dg-device-tags-completer'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'negate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Target to all but these specified devices and tags'}} # Target to all but these specified devices and tags def negate prop_get('negate') end # Target to all but these specified devices and tags def negate=(val) prop_set('negate', val) end end def target @subclasses['target'] ||= Target.new(parent_instance: self, client: @client, create_children: @create_children) end class From < XML::ConfigClass def has_multiple_values?; true; end def _section :from end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def from maybe_register_subclass('from', From.new(parent_instance: self, client: @client, create_children: @create_children)) end class To < XML::ConfigClass def has_multiple_values?; true; end def _section :to end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../from/member', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def to maybe_register_subclass('to', To.new(parent_instance: self, client: @client, create_children: @create_children)) end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceUser < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-user' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'1023', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any user'}, {'value'=>'pre-logon', 'help-string'=>'prelogon client machine'}, {'value'=>'known-user', 'help-string'=>'any known user'}, {'value'=>'unknown', 'help-string'=>'unknown user'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_user maybe_register_subclass('source-user', SourceUser.new(parent_instance: self, client: @client, create_children: @create_children)) end class Destination < XML::ConfigClass def has_multiple_values?; true; end def _section :destination end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../source/member', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination maybe_register_subclass('destination', Destination.new(parent_instance: self, client: @client, create_children: @create_children)) end class Application < XML::ConfigClass def has_multiple_values?; true; end def _section :application end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any application'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def application maybe_register_subclass('application', Application.new(parent_instance: self, client: @client, create_children: @create_children)) end class Service < XML::ConfigClass def has_multiple_values?; true; end def _section :service end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'application-default', 'help-string'=>'default service for selected application'}, {'value'=>'any', 'help-string'=>'any service'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def service maybe_register_subclass('service', Service.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceHip < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-hip' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any hip-profile'}, {'value'=>'no-hip', 'help-string'=>'no hip-profile'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_hip maybe_register_subclass('source-hip', SourceHip.new(parent_instance: self, client: @client, create_children: @create_children)) end class DestinationHip < XML::ConfigClass def has_multiple_values?; true; end def _section :'destination-hip' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any device'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination_hip maybe_register_subclass('destination-hip', DestinationHip.new(parent_instance: self, client: @client, create_children: @create_children)) end class TrafficType < ConfigClass def has_multiple_values?; false; end def _section :'traffic-type' end @props = {'tls-decrypted'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'TLS decrypted traffic'}, 'tls-encrypted'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'help-string'=>'TLS encrypted traffic'}, 'non-tls'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'help-string'=>'non TLS traffic'}} # TLS decrypted traffic def tls_decrypted prop_get('tls-decrypted') end # TLS decrypted traffic def tls_decrypted=(val) prop_set('tls-decrypted', val) end # TLS encrypted traffic def tls_encrypted prop_get('tls-encrypted') end # TLS encrypted traffic def tls_encrypted=(val) prop_set('tls-encrypted', val) end # non TLS traffic def non_tls prop_get('non-tls') end # non TLS traffic def non_tls=(val) prop_set('non-tls', val) end end def traffic_type @subclasses['traffic-type'] ||= TrafficType.new(parent_instance: self, client: @client, create_children: @create_children) end class Action < ConfigClass def has_multiple_values?; false; end def _section :action end @props = {'packet-broker-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'attach packet-broker profile with this rule'}} # attach packet-broker profile with this rule def packet_broker_profile prop_get('packet-broker-profile') end # attach packet-broker profile with this rule def packet_broker_profile=(val) prop_set('packet-broker-profile', val) end end def action @subclasses['action'] ||= Action.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'negate-source'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'negate-destination'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable the rule'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'no-default'=>'yes'}, 'group-tag'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'127'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def negate_source prop_get('negate-source') end def negate_source=(val) prop_set('negate-source', val) end def negate_destination prop_get('negate-destination') end def negate_destination=(val) prop_set('negate-destination', val) end # Disable the rule def disabled prop_get('disabled') end # Disable the rule def disabled=(val) prop_set('disabled', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end def group_tag prop_get('group-tag') end def group_tag=(val) prop_set('group-tag', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def network_packet_broker @subclasses['network-packet-broker'] ||= NetworkPacketBroker.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def pre_rulebase @subclasses['pre-rulebase'] ||= PreRulebase.new(parent_instance: self, client: @client, create_children: @create_children) end class PostRulebase < ConfigClass def has_multiple_values?; false; end def _section :'post-rulebase' end class Security < ConfigClass def has_multiple_values?; false; end def _section :security end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Target < ConfigClass def has_multiple_values?; false; end def _section :target end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Vsys < XML::ConfigClass def has_multiple_values?; true; end def _section :vsys end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vsys maybe_register_subclass('vsys', Vsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'complete-handler'=>'dg-device-tags-completer'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'negate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Target to all but these specified devices and tags'}} # Target to all but these specified devices and tags def negate prop_get('negate') end # Target to all but these specified devices and tags def negate=(val) prop_set('negate', val) end end def target @subclasses['target'] ||= Target.new(parent_instance: self, client: @client, create_children: @create_children) end class From < XML::ConfigClass def has_multiple_values?; true; end def _section :from end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def from maybe_register_subclass('from', From.new(parent_instance: self, client: @client, create_children: @create_children)) end class To < XML::ConfigClass def has_multiple_values?; true; end def _section :to end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'multicast', 'help-string'=>'multicast zone'}, {'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def to maybe_register_subclass('to', To.new(parent_instance: self, client: @client, create_children: @create_children)) end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceUser < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-user' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'1023', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any user'}, {'value'=>'pre-logon', 'help-string'=>'prelogon client machine'}, {'value'=>'known-user', 'help-string'=>'any known user'}, {'value'=>'unknown', 'help-string'=>'unknown user'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_user maybe_register_subclass('source-user', SourceUser.new(parent_instance: self, client: @client, create_children: @create_children)) end class Destination < XML::ConfigClass def has_multiple_values?; true; end def _section :destination end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../source/member', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination maybe_register_subclass('destination', Destination.new(parent_instance: self, client: @client, create_children: @create_children)) end class Service < XML::ConfigClass def has_multiple_values?; true; end def _section :service end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'application-default', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'application-default', 'help-string'=>'default service for selected application'}, {'value'=>'any', 'help-string'=>'any service'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def service maybe_register_subclass('service', Service.new(parent_instance: self, client: @client, create_children: @create_children)) end class Category < XML::ConfigClass def has_multiple_values?; true; end def _section :category end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'128'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any url category'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def category maybe_register_subclass('category', Category.new(parent_instance: self, client: @client, create_children: @create_children)) end class Application < XML::ConfigClass def has_multiple_values?; true; end def _section :application end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any application'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def application maybe_register_subclass('application', Application.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceImsi < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-imsi' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'imsi'=>{}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any IMSI'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_imsi maybe_register_subclass('source-imsi', SourceImsi.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceImei < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-imei' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'imei'=>{}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any IMEI'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_imei maybe_register_subclass('source-imei', SourceImei.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceNwSlice < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-nw-slice' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'nssai'=>{}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any NSSAI ST value'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_nw_slice maybe_register_subclass('source-nw-slice', SourceNwSlice.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceHip < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-hip' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any hip-profile'}, {'value'=>'no-hip', 'help-string'=>'no hip-profile'}, {'value'=>'quarantine', 'help-string'=>'quarantined device'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_hip maybe_register_subclass('source-hip', SourceHip.new(parent_instance: self, client: @client, create_children: @create_children)) end class DestinationHip < XML::ConfigClass def has_multiple_values?; true; end def _section :'destination-hip' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any device'}, {'value'=>'quarantine', 'help-string'=>'quarantined device'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination_hip maybe_register_subclass('destination-hip', DestinationHip.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end class Option < ConfigClass def has_multiple_values?; false; end def _section :option end @props = {'disable-server-response-inspection'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable inspection of server side traffic'}} # Disable inspection of server side traffic def disable_server_response_inspection prop_get('disable-server-response-inspection') end # Disable inspection of server side traffic def disable_server_response_inspection=(val) prop_set('disable-server-response-inspection', val) end end def option @subclasses['option'] ||= Option.new(parent_instance: self, client: @client, create_children: @create_children) end class ProfileSetting < XML::ConfigClass def has_multiple_values?; true; end def _section :'profile-setting' end class Profiles < ConfigClass def has_multiple_values?; false; end def _section :profiles end class UrlFiltering < XML::ConfigClass def has_multiple_values?; true; end def _section :'url-filtering' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def url_filtering maybe_register_subclass('url-filtering', UrlFiltering.new(parent_instance: self, client: @client, create_children: @create_children)) end class DataFiltering < XML::ConfigClass def has_multiple_values?; true; end def _section :'data-filtering' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def data_filtering maybe_register_subclass('data-filtering', DataFiltering.new(parent_instance: self, client: @client, create_children: @create_children)) end class FileBlocking < XML::ConfigClass def has_multiple_values?; true; end def _section :'file-blocking' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def file_blocking maybe_register_subclass('file-blocking', FileBlocking.new(parent_instance: self, client: @client, create_children: @create_children)) end class WildfireAnalysis < XML::ConfigClass def has_multiple_values?; true; end def _section :'wildfire-analysis' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'47', 'no-default'=>'yes', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def wildfire_analysis maybe_register_subclass('wildfire-analysis', WildfireAnalysis.new(parent_instance: self, client: @client, create_children: @create_children)) end class Virus < XML::ConfigClass def has_multiple_values?; true; end def _section :virus end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'default'=>'default', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def virus maybe_register_subclass('virus', Virus.new(parent_instance: self, client: @client, create_children: @create_children)) end class Spyware < XML::ConfigClass def has_multiple_values?; true; end def _section :spyware end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'default'=>'default', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def spyware maybe_register_subclass('spyware', Spyware.new(parent_instance: self, client: @client, create_children: @create_children)) end class Vulnerability < XML::ConfigClass def has_multiple_values?; true; end def _section :vulnerability end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'default'=>'default', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def vulnerability maybe_register_subclass('vulnerability', Vulnerability.new(parent_instance: self, client: @client, create_children: @create_children)) end class Gtp < XML::ConfigClass def has_multiple_values?; true; end def _section :gtp end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'maxlen'=>'63', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def gtp maybe_register_subclass('gtp', Gtp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Sctp < XML::ConfigClass def has_multiple_values?; true; end def _section :sctp end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'maxlen'=>'63', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def sctp maybe_register_subclass('sctp', Sctp.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def profiles @subclasses['profiles'] ||= Profiles.new(parent_instance: self, client: @client, create_children: @create_children) end class Group < XML::ConfigClass def has_multiple_values?; true; end def _section :group end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def group maybe_register_subclass('group', Group.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def profile_setting maybe_register_subclass('profile-setting', ProfileSetting.new(parent_instance: self, client: @client, create_children: @create_children)) end class Qos < ConfigClass def has_multiple_values?; false; end def _section :qos end class Marking < XML::ConfigClass def has_multiple_values?; true; end def _section :marking end class FollowC2sFlow < ConfigClass def has_multiple_values?; false; end def _section :'follow-c2s-flow' end @props = {} end def follow_c2s_flow @subclasses['follow-c2s-flow'] ||= FollowC2sFlow.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'ip-dscp'=>{'node-type'=>'element', 'help-string'=>'IP DSCP', 'type'=>'multiple', 'multi-types'=>{'string'=>{'regex'=>'^([0-1]){6}$', 'help-string'=>'specify codepoint in format of \'xxxxxx\' where x is {0|1}'}, 'enum'=>[{'value'=>'ef', 'help-string'=>'codepoint 101110, expedited forwarding'}, {'value'=>'af11', 'help-string'=>'codepoint 001010'}, {'value'=>'af12', 'help-string'=>'codepoint 001100'}, {'value'=>'af13', 'help-string'=>'codepoint 001110'}, {'value'=>'af21', 'help-string'=>'codepoint 010010'}, {'value'=>'af22', 'help-string'=>'codepoint 010100'}, {'value'=>'af23', 'help-string'=>'codepoint 010110'}, {'value'=>'af31', 'help-string'=>'codepoint 011010'}, {'value'=>'af32', 'help-string'=>'codepoint 011100'}, {'value'=>'af33', 'help-string'=>'codepoint 011110'}, {'value'=>'af41', 'help-string'=>'codepoint 100010'}, {'value'=>'af42', 'help-string'=>'codepoint 100100'}, {'value'=>'af43', 'help-string'=>'codepoint 100110'}, {'value'=>'cs0', 'help-string'=>'codepoint 000000'}, {'value'=>'cs1', 'help-string'=>'codepoint 001000'}, {'value'=>'cs2', 'help-string'=>'codepoint 010000'}, {'value'=>'cs3', 'help-string'=>'codepoint 011000'}, {'value'=>'cs4', 'help-string'=>'codepoint 100000'}, {'value'=>'cs5', 'help-string'=>'codepoint 101000'}, {'value'=>'cs6', 'help-string'=>'codepoint 110000'}, {'value'=>'cs7', 'help-string'=>'codepoint 111000'}]}}, 'ip-precedence'=>{'node-type'=>'element', 'help-string'=>'IP Precedence', 'type'=>'multiple', 'multi-types'=>{'string'=>{'regex'=>'^([0-1]){3}$', 'help-string'=>'specify codepoint in format of \'xxx\''}, 'enum'=>[{'value'=>'cs0', 'help-string'=>'codepoint 000'}, {'value'=>'cs1', 'help-string'=>'codepoint 001'}, {'value'=>'cs2', 'help-string'=>'codepoint 010'}, {'value'=>'cs3', 'help-string'=>'codepoint 011'}, {'value'=>'cs4', 'help-string'=>'codepoint 100'}, {'value'=>'cs5', 'help-string'=>'codepoint 101'}, {'value'=>'cs6', 'help-string'=>'codepoint 110'}, {'value'=>'cs7', 'help-string'=>'codepoint 111'}]}}} # IP DSCP def ip_dscp prop_get('ip-dscp') end # IP DSCP def ip_dscp=(val) prop_set('ip-dscp', val) end # IP Precedence def ip_precedence prop_get('ip-precedence') end # IP Precedence def ip_precedence=(val) prop_set('ip-precedence', val) end end def marking maybe_register_subclass('marking', Marking.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def qos @subclasses['qos'] ||= Qos.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'schedule'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'optional'=>'yes'}, 'negate-source'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'negate-destination'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable the rule'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'no-default'=>'yes'}, 'group-tag'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'127'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'allow', 'enum'=>[{'value'=>'deny', 'help-string'=>'Deny', 'show-help-tip'=>'block, use App Deny action'}, {'value'=>'allow', 'help-string'=>'Allow'}, {'value'=>'drop', 'help-string'=>'Drop', 'show-help-tip'=>'silent drop, send optional ICMP Unreachable'}, {'value'=>'reset-client', 'help-string'=>'Reset client'}, {'value'=>'reset-server', 'help-string'=>'Reset server'}, {'value'=>'reset-both', 'help-string'=>'Reset both client and server'}]}, 'icmp-unreachable'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Send ICMP unreachable error when action is drop or reset'}, 'disable-inspect'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'rule-type'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'universal', 'optional'=>'yes', 'enum'=>[{'value'=>'universal', 'help-string'=>'default', 'show-help-tip'=>'Applies to both interzone and intrazone traffic.'}, {'value'=>'intrazone', 'help-string'=>'Devices with PAN-OS 6.1 or later', 'show-help-tip'=>'Only applies to traffic within one of the specified zones.'}, {'value'=>'interzone', 'help-string'=>'Devices with PAN-OS 6.1 or later', 'show-help-tip'=>'Applies to traffic from any source zone to any destination zone. It does not apply to traffic within a zone, even if the same zone is in source and destination columns.'}]}, 'log-setting'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'maxlen'=>'63', 'optional'=>'yes'}, 'log-start'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Log at session start'}, 'log-end'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'optional'=>'yes', 'help-string'=>'Log at session end (required for certain ACC tables)'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def schedule prop_get('schedule') end def schedule=(val) prop_set('schedule', val) end def negate_source prop_get('negate-source') end def negate_source=(val) prop_set('negate-source', val) end def negate_destination prop_get('negate-destination') end def negate_destination=(val) prop_set('negate-destination', val) end # Disable the rule def disabled prop_get('disabled') end # Disable the rule def disabled=(val) prop_set('disabled', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end def group_tag prop_get('group-tag') end def group_tag=(val) prop_set('group-tag', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # Send ICMP unreachable error when action is drop or reset def icmp_unreachable prop_get('icmp-unreachable') end # Send ICMP unreachable error when action is drop or reset def icmp_unreachable=(val) prop_set('icmp-unreachable', val) end def disable_inspect prop_get('disable-inspect') end def disable_inspect=(val) prop_set('disable-inspect', val) end def rule_type prop_get('rule-type') end def rule_type=(val) prop_set('rule-type', val) end def log_setting prop_get('log-setting') end def log_setting=(val) prop_set('log-setting', val) end # Log at session start def log_start prop_get('log-start') end # Log at session start def log_start=(val) prop_set('log-start', val) end # Log at session end (required for certain ACC tables) def log_end prop_get('log-end') end # Log at session end (required for certain ACC tables) def log_end=(val) prop_set('log-end', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def security @subclasses['security'] ||= Security.new(parent_instance: self, client: @client, create_children: @create_children) end class DefaultSecurityRules < ConfigClass def has_multiple_values?; false; end def _section :'default-security-rules' end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end class ProfileSetting < XML::ConfigClass def has_multiple_values?; true; end def _section :'profile-setting' end class Profiles < ConfigClass def has_multiple_values?; false; end def _section :profiles end class UrlFiltering < XML::ConfigClass def has_multiple_values?; true; end def _section :'url-filtering' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def url_filtering maybe_register_subclass('url-filtering', UrlFiltering.new(parent_instance: self, client: @client, create_children: @create_children)) end class DataFiltering < XML::ConfigClass def has_multiple_values?; true; end def _section :'data-filtering' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def data_filtering maybe_register_subclass('data-filtering', DataFiltering.new(parent_instance: self, client: @client, create_children: @create_children)) end class FileBlocking < XML::ConfigClass def has_multiple_values?; true; end def _section :'file-blocking' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def file_blocking maybe_register_subclass('file-blocking', FileBlocking.new(parent_instance: self, client: @client, create_children: @create_children)) end class WildfireAnalysis < XML::ConfigClass def has_multiple_values?; true; end def _section :'wildfire-analysis' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'47', 'no-default'=>'yes', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def wildfire_analysis maybe_register_subclass('wildfire-analysis', WildfireAnalysis.new(parent_instance: self, client: @client, create_children: @create_children)) end class Virus < XML::ConfigClass def has_multiple_values?; true; end def _section :virus end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'default'=>'default', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def virus maybe_register_subclass('virus', Virus.new(parent_instance: self, client: @client, create_children: @create_children)) end class Spyware < XML::ConfigClass def has_multiple_values?; true; end def _section :spyware end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'default'=>'default', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def spyware maybe_register_subclass('spyware', Spyware.new(parent_instance: self, client: @client, create_children: @create_children)) end class Vulnerability < XML::ConfigClass def has_multiple_values?; true; end def _section :vulnerability end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'default'=>'default', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def vulnerability maybe_register_subclass('vulnerability', Vulnerability.new(parent_instance: self, client: @client, create_children: @create_children)) end class Gtp < XML::ConfigClass def has_multiple_values?; true; end def _section :gtp end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'maxlen'=>'63', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def gtp maybe_register_subclass('gtp', Gtp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Sctp < XML::ConfigClass def has_multiple_values?; true; end def _section :sctp end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'maxlen'=>'63', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def sctp maybe_register_subclass('sctp', Sctp.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def profiles @subclasses['profiles'] ||= Profiles.new(parent_instance: self, client: @client, create_children: @create_children) end class Group < XML::ConfigClass def has_multiple_values?; true; end def _section :group end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def group maybe_register_subclass('group', Group.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def profile_setting maybe_register_subclass('profile-setting', ProfileSetting.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'^(intrazone-default|interzone-default)$', 'help-string'=>'intrazone-default or interzone-default'}, 'log-setting'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'maxlen'=>'63', 'optional'=>'yes'}, 'log-start'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Log at session start'}, 'log-end'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'optional'=>'yes', 'help-string'=>'Log at session end (required for certain ACC tables)'}, 'group-tag'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'127'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'allow', 'enum'=>[{'value'=>'deny', 'help-string'=>'Deny'}, {'value'=>'allow', 'help-string'=>'Allow'}, {'value'=>'drop', 'help-string'=>'Drop', 'show-help-tip'=>'silent drop, send optional ICMP Unreachable'}, {'value'=>'reset-client', 'help-string'=>'Reset client'}, {'value'=>'reset-server', 'help-string'=>'Reset server'}, {'value'=>'reset-both', 'help-string'=>'Reset both client and server'}]}, 'icmp-unreachable'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Send ICMP unreachable error when action is drop or reset'}} # intrazone-default or interzone-default def name prop_get('@name') end def log_setting prop_get('log-setting') end def log_setting=(val) prop_set('log-setting', val) end # Log at session start def log_start prop_get('log-start') end # Log at session start def log_start=(val) prop_set('log-start', val) end # Log at session end (required for certain ACC tables) def log_end prop_get('log-end') end # Log at session end (required for certain ACC tables) def log_end=(val) prop_set('log-end', val) end def group_tag prop_get('group-tag') end def group_tag=(val) prop_set('group-tag', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # Send ICMP unreachable error when action is drop or reset def icmp_unreachable prop_get('icmp-unreachable') end # Send ICMP unreachable error when action is drop or reset def icmp_unreachable=(val) prop_set('icmp-unreachable', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def default_security_rules @subclasses['default-security-rules'] ||= DefaultSecurityRules.new(parent_instance: self, client: @client, create_children: @create_children) end class ApplicationOverride < ConfigClass def has_multiple_values?; false; end def _section :'application-override' end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Target < ConfigClass def has_multiple_values?; false; end def _section :target end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Vsys < XML::ConfigClass def has_multiple_values?; true; end def _section :vsys end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vsys maybe_register_subclass('vsys', Vsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'complete-handler'=>'dg-device-tags-completer'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'negate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Target to all but these specified devices and tags'}} # Target to all but these specified devices and tags def negate prop_get('negate') end # Target to all but these specified devices and tags def negate=(val) prop_set('negate', val) end end def target @subclasses['target'] ||= Target.new(parent_instance: self, client: @client, create_children: @create_children) end class From < XML::ConfigClass def has_multiple_values?; true; end def _section :from end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def from maybe_register_subclass('from', From.new(parent_instance: self, client: @client, create_children: @create_children)) end class To < XML::ConfigClass def has_multiple_values?; true; end def _section :to end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'multicast', 'help-string'=>'multicast zone'}, {'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def to maybe_register_subclass('to', To.new(parent_instance: self, client: @client, create_children: @create_children)) end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceUser < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-user' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'1023', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any user'}, {'value'=>'pre-logon', 'help-string'=>'prelogon client machine'}, {'value'=>'known-user', 'help-string'=>'any known user'}, {'value'=>'unknown', 'help-string'=>'unknown user'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_user maybe_register_subclass('source-user', SourceUser.new(parent_instance: self, client: @client, create_children: @create_children)) end class Destination < XML::ConfigClass def has_multiple_values?; true; end def _section :destination end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../source/member', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination maybe_register_subclass('destination', Destination.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'negate-source'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'negate-destination'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable the rule'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'no-default'=>'yes'}, 'group-tag'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'127'}, 'protocol'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'tcp', 'enum'=>[{'value'=>'tcp', 'help-string'=>'TCP'}, {'value'=>'udp', 'help-string'=>'UDP'}]}, 'port'=>{'node-type'=>'element', 'type'=>'rangelistspec', 'min'=>'0'}, 'application'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'no-default'=>'yes'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def negate_source prop_get('negate-source') end def negate_source=(val) prop_set('negate-source', val) end def negate_destination prop_get('negate-destination') end def negate_destination=(val) prop_set('negate-destination', val) end # Disable the rule def disabled prop_get('disabled') end # Disable the rule def disabled=(val) prop_set('disabled', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end def group_tag prop_get('group-tag') end def group_tag=(val) prop_set('group-tag', val) end def protocol prop_get('protocol') end def protocol=(val) prop_set('protocol', val) end def port prop_get('port') end def port=(val) prop_set('port', val) end def application prop_get('application') end def application=(val) prop_set('application', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def application_override @subclasses['application-override'] ||= ApplicationOverride.new(parent_instance: self, client: @client, create_children: @create_children) end class Decryption < ConfigClass def has_multiple_values?; false; end def _section :decryption end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Target < ConfigClass def has_multiple_values?; false; end def _section :target end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Vsys < XML::ConfigClass def has_multiple_values?; true; end def _section :vsys end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vsys maybe_register_subclass('vsys', Vsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'complete-handler'=>'dg-device-tags-completer'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'negate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Target to all but these specified devices and tags'}} # Target to all but these specified devices and tags def negate prop_get('negate') end # Target to all but these specified devices and tags def negate=(val) prop_set('negate', val) end end def target @subclasses['target'] ||= Target.new(parent_instance: self, client: @client, create_children: @create_children) end class From < XML::ConfigClass def has_multiple_values?; true; end def _section :from end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def from maybe_register_subclass('from', From.new(parent_instance: self, client: @client, create_children: @create_children)) end class To < XML::ConfigClass def has_multiple_values?; true; end def _section :to end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../from/member', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def to maybe_register_subclass('to', To.new(parent_instance: self, client: @client, create_children: @create_children)) end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceUser < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-user' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'1023', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any user'}, {'value'=>'pre-logon', 'help-string'=>'prelogon client machine'}, {'value'=>'known-user', 'help-string'=>'any known user'}, {'value'=>'unknown', 'help-string'=>'unknown user'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_user maybe_register_subclass('source-user', SourceUser.new(parent_instance: self, client: @client, create_children: @create_children)) end class Destination < XML::ConfigClass def has_multiple_values?; true; end def _section :destination end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../source/member', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination maybe_register_subclass('destination', Destination.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceHip < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-hip' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any hip-profile'}, {'value'=>'no-hip', 'help-string'=>'no hip-profile'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_hip maybe_register_subclass('source-hip', SourceHip.new(parent_instance: self, client: @client, create_children: @create_children)) end class DestinationHip < XML::ConfigClass def has_multiple_values?; true; end def _section :'destination-hip' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any device'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination_hip maybe_register_subclass('destination-hip', DestinationHip.new(parent_instance: self, client: @client, create_children: @create_children)) end class Service < XML::ConfigClass def has_multiple_values?; true; end def _section :service end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'application-default', 'help-string'=>'default service for selected application'}, {'value'=>'any', 'help-string'=>'any service'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def service maybe_register_subclass('service', Service.new(parent_instance: self, client: @client, create_children: @create_children)) end class Category < XML::ConfigClass def has_multiple_values?; true; end def _section :category end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'128'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any url category'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def category maybe_register_subclass('category', Category.new(parent_instance: self, client: @client, create_children: @create_children)) end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class SslForwardProxy < ConfigClass def has_multiple_values?; false; end def _section :'ssl-forward-proxy' end @props = {} end def ssl_forward_proxy @subclasses['ssl-forward-proxy'] ||= SslForwardProxy.new(parent_instance: self, client: @client, create_children: @create_children) end class SshProxy < ConfigClass def has_multiple_values?; false; end def _section :'ssh-proxy' end @props = {} end def ssh_proxy @subclasses['ssh-proxy'] ||= SshProxy.new(parent_instance: self, client: @client, create_children: @create_children) end class SslInboundInspection < ConfigClass def has_multiple_values?; false; end def _section :'ssl-inbound-inspection' end class Certificates < XML::ConfigClass def has_multiple_values?; true; end def _section :certificates end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'maxlen'=>'63'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def certificates maybe_register_subclass('certificates', Certificates.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def ssl_inbound_inspection @subclasses['ssl-inbound-inspection'] ||= SslInboundInspection.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'negate-source'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'negate-destination'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable the rule'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'no-default'=>'yes'}, 'group-tag'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'127'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'no-decrypt', 'enum'=>[{'value'=>'no-decrypt'}, {'value'=>'decrypt'}, {'value'=>'decrypt-and-forward'}]}, 'profile'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'help-string'=>'decryption profile', 'optional'=>'yes'}, 'packet-broker-profile'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'help-string'=>'packet-broker profile', 'optional'=>'yes'}, 'log-success'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Log successful TLS handshakes'}, 'log-fail'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'optional'=>'yes', 'help-string'=>'Log unsuccessful TLS handshakes'}, 'log-setting'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'maxlen'=>'63', 'optional'=>'yes'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def negate_source prop_get('negate-source') end def negate_source=(val) prop_set('negate-source', val) end def negate_destination prop_get('negate-destination') end def negate_destination=(val) prop_set('negate-destination', val) end # Disable the rule def disabled prop_get('disabled') end # Disable the rule def disabled=(val) prop_set('disabled', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end def group_tag prop_get('group-tag') end def group_tag=(val) prop_set('group-tag', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # decryption profile def profile prop_get('profile') end # decryption profile def profile=(val) prop_set('profile', val) end # packet-broker profile def packet_broker_profile prop_get('packet-broker-profile') end # packet-broker profile def packet_broker_profile=(val) prop_set('packet-broker-profile', val) end # Log successful TLS handshakes def log_success prop_get('log-success') end # Log successful TLS handshakes def log_success=(val) prop_set('log-success', val) end # Log unsuccessful TLS handshakes def log_fail prop_get('log-fail') end # Log unsuccessful TLS handshakes def log_fail=(val) prop_set('log-fail', val) end def log_setting prop_get('log-setting') end def log_setting=(val) prop_set('log-setting', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def decryption @subclasses['decryption'] ||= Decryption.new(parent_instance: self, client: @client, create_children: @create_children) end class Authentication < ConfigClass def has_multiple_values?; false; end def _section :authentication end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Target < ConfigClass def has_multiple_values?; false; end def _section :target end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Vsys < XML::ConfigClass def has_multiple_values?; true; end def _section :vsys end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vsys maybe_register_subclass('vsys', Vsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'complete-handler'=>'dg-device-tags-completer'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'negate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Target to all but these specified devices and tags'}} # Target to all but these specified devices and tags def negate prop_get('negate') end # Target to all but these specified devices and tags def negate=(val) prop_set('negate', val) end end def target @subclasses['target'] ||= Target.new(parent_instance: self, client: @client, create_children: @create_children) end class From < XML::ConfigClass def has_multiple_values?; true; end def _section :from end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def from maybe_register_subclass('from', From.new(parent_instance: self, client: @client, create_children: @create_children)) end class To < XML::ConfigClass def has_multiple_values?; true; end def _section :to end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../from/member', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def to maybe_register_subclass('to', To.new(parent_instance: self, client: @client, create_children: @create_children)) end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceUser < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-user' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'1023', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any user'}, {'value'=>'pre-logon', 'help-string'=>'prelogon client machine'}, {'value'=>'known-user', 'help-string'=>'any known user'}, {'value'=>'unknown', 'help-string'=>'unknown user'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_user maybe_register_subclass('source-user', SourceUser.new(parent_instance: self, client: @client, create_children: @create_children)) end class Destination < XML::ConfigClass def has_multiple_values?; true; end def _section :destination end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../source/member', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination maybe_register_subclass('destination', Destination.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceHip < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-hip' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any hip-profile'}, {'value'=>'no-hip', 'help-string'=>'no hip-profile'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_hip maybe_register_subclass('source-hip', SourceHip.new(parent_instance: self, client: @client, create_children: @create_children)) end class DestinationHip < XML::ConfigClass def has_multiple_values?; true; end def _section :'destination-hip' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any device'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination_hip maybe_register_subclass('destination-hip', DestinationHip.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end class Service < XML::ConfigClass def has_multiple_values?; true; end def _section :service end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'service-http', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'default', 'help-string'=>'default service for selected application'}, {'value'=>'any', 'help-string'=>'any service'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def service maybe_register_subclass('service', Service.new(parent_instance: self, client: @client, create_children: @create_children)) end class Category < XML::ConfigClass def has_multiple_values?; true; end def _section :category end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'128'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any url category'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def category maybe_register_subclass('category', Category.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'negate-source'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'negate-destination'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable the rule'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'no-default'=>'yes'}, 'group-tag'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'127'}, 'authentication-enforcement'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Authentication enforcement object to use for authentication.'}, 'log-setting'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'Log setting for forwarding authentication logs'}, 'timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'1440', 'default'=>'60', 'help-string'=>'expiration timer (minutes)'}, 'log-authentication-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def negate_source prop_get('negate-source') end def negate_source=(val) prop_set('negate-source', val) end def negate_destination prop_get('negate-destination') end def negate_destination=(val) prop_set('negate-destination', val) end # Disable the rule def disabled prop_get('disabled') end # Disable the rule def disabled=(val) prop_set('disabled', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end def group_tag prop_get('group-tag') end def group_tag=(val) prop_set('group-tag', val) end # Authentication enforcement object to use for authentication. def authentication_enforcement prop_get('authentication-enforcement') end # Authentication enforcement object to use for authentication. def authentication_enforcement=(val) prop_set('authentication-enforcement', val) end # Log setting for forwarding authentication logs def log_setting prop_get('log-setting') end # Log setting for forwarding authentication logs def log_setting=(val) prop_set('log-setting', val) end # expiration timer (minutes) def timeout prop_get('timeout') end # expiration timer (minutes) def timeout=(val) prop_set('timeout', val) end def log_authentication_timeout prop_get('log-authentication-timeout') end def log_authentication_timeout=(val) prop_set('log-authentication-timeout', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def authentication @subclasses['authentication'] ||= Authentication.new(parent_instance: self, client: @client, create_children: @create_children) end class Qos < ConfigClass def has_multiple_values?; false; end def _section :qos end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Target < ConfigClass def has_multiple_values?; false; end def _section :target end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Vsys < XML::ConfigClass def has_multiple_values?; true; end def _section :vsys end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vsys maybe_register_subclass('vsys', Vsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'complete-handler'=>'dg-device-tags-completer'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'negate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Target to all but these specified devices and tags'}} # Target to all but these specified devices and tags def negate prop_get('negate') end # Target to all but these specified devices and tags def negate=(val) prop_set('negate', val) end end def target @subclasses['target'] ||= Target.new(parent_instance: self, client: @client, create_children: @create_children) end class From < XML::ConfigClass def has_multiple_values?; true; end def _section :from end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def from maybe_register_subclass('from', From.new(parent_instance: self, client: @client, create_children: @create_children)) end class To < XML::ConfigClass def has_multiple_values?; true; end def _section :to end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'multicast', 'help-string'=>'multicast zone'}, {'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def to maybe_register_subclass('to', To.new(parent_instance: self, client: @client, create_children: @create_children)) end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceUser < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-user' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'1023', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any user'}, {'value'=>'pre-logon', 'help-string'=>'prelogon client machine'}, {'value'=>'known-user', 'help-string'=>'any known user'}, {'value'=>'unknown', 'help-string'=>'unknown user'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_user maybe_register_subclass('source-user', SourceUser.new(parent_instance: self, client: @client, create_children: @create_children)) end class Destination < XML::ConfigClass def has_multiple_values?; true; end def _section :destination end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../source/member', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination maybe_register_subclass('destination', Destination.new(parent_instance: self, client: @client, create_children: @create_children)) end class Service < XML::ConfigClass def has_multiple_values?; true; end def _section :service end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'application-default', 'help-string'=>'default service for selected application'}, {'value'=>'any', 'help-string'=>'any service'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def service maybe_register_subclass('service', Service.new(parent_instance: self, client: @client, create_children: @create_children)) end class Category < XML::ConfigClass def has_multiple_values?; true; end def _section :category end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'128'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any url category'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def category maybe_register_subclass('category', Category.new(parent_instance: self, client: @client, create_children: @create_children)) end class Application < XML::ConfigClass def has_multiple_values?; true; end def _section :application end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any application'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def application maybe_register_subclass('application', Application.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceHip < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-hip' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any hip-profile'}, {'value'=>'no-hip', 'help-string'=>'no hip-profile'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_hip maybe_register_subclass('source-hip', SourceHip.new(parent_instance: self, client: @client, create_children: @create_children)) end class DestinationHip < XML::ConfigClass def has_multiple_values?; true; end def _section :'destination-hip' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any device'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination_hip maybe_register_subclass('destination-hip', DestinationHip.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end class DscpTos < XML::ConfigClass def has_multiple_values?; true; end def _section :'dscp-tos' end class Any < ConfigClass def has_multiple_values?; false; end def _section :any end @props = {} end def any @subclasses['any'] ||= Any.new(parent_instance: self, client: @client, create_children: @create_children) end class Codepoints < XML::ConfigClass def has_multiple_values?; true; end def _section :codepoints end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Ef < ConfigClass def has_multiple_values?; false; end def _section :ef end @props = {'codepoint'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'ef', 'help-string'=>'101110'}]}} def codepoint prop_get('codepoint') end def codepoint=(val) prop_set('codepoint', val) end end def ef @subclasses['ef'] ||= Ef.new(parent_instance: self, client: @client, create_children: @create_children) end class Af < ConfigClass def has_multiple_values?; false; end def _section :af end @props = {'codepoint'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'af11', 'help-string'=>'af11 (001010)'}, {'value'=>'af12', 'help-string'=>'af12 (001100)'}, {'value'=>'af13', 'help-string'=>'af13 (001110)'}, {'value'=>'af21', 'help-string'=>'af21 (010010)'}, {'value'=>'af22', 'help-string'=>'af22 (010100)'}, {'value'=>'af23', 'help-string'=>'af23 (010110)'}, {'value'=>'af31', 'help-string'=>'af31 (011010)'}, {'value'=>'af32', 'help-string'=>'af32 (011100)'}, {'value'=>'af33', 'help-string'=>'af33 (011110)'}, {'value'=>'af41', 'help-string'=>'af41 (100010)'}, {'value'=>'af42', 'help-string'=>'af42 (100100)'}, {'value'=>'af43', 'help-string'=>'af43 (100110)'}]}} def codepoint prop_get('codepoint') end def codepoint=(val) prop_set('codepoint', val) end end def af @subclasses['af'] ||= Af.new(parent_instance: self, client: @client, create_children: @create_children) end class Cs < ConfigClass def has_multiple_values?; false; end def _section :cs end @props = {'codepoint'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'cs0', 'help-string'=>'cs0 (000000)'}, {'value'=>'cs1', 'help-string'=>'cs1 (001000)'}, {'value'=>'cs2', 'help-string'=>'cs2 (010000)'}, {'value'=>'cs3', 'help-string'=>'cs3 (011000)'}, {'value'=>'cs4', 'help-string'=>'cs4 (100000)'}, {'value'=>'cs5', 'help-string'=>'cs5 (101000)'}, {'value'=>'cs6', 'help-string'=>'cs6 (110000)'}, {'value'=>'cs7', 'help-string'=>'cs7 (111000)'}]}} def codepoint prop_get('codepoint') end def codepoint=(val) prop_set('codepoint', val) end end def cs @subclasses['cs'] ||= Cs.new(parent_instance: self, client: @client, create_children: @create_children) end class Tos < ConfigClass def has_multiple_values?; false; end def _section :tos end @props = {'codepoint'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'cs0', 'help-string'=>'cs0 (000)'}, {'value'=>'cs1', 'help-string'=>'cs1 (001)'}, {'value'=>'cs2', 'help-string'=>'cs2 (010)'}, {'value'=>'cs3', 'help-string'=>'cs3 (011)'}, {'value'=>'cs4', 'help-string'=>'cs4 (100)'}, {'value'=>'cs5', 'help-string'=>'cs5 (101)'}, {'value'=>'cs6', 'help-string'=>'cs6 (110)'}, {'value'=>'cs7', 'help-string'=>'cs7 (111)'}]}} def codepoint prop_get('codepoint') end def codepoint=(val) prop_set('codepoint', val) end end def tos @subclasses['tos'] ||= Tos.new(parent_instance: self, client: @client, create_children: @create_children) end class Custom < ConfigClass def has_multiple_values?; false; end def _section :custom end class Codepoint < ConfigClass def has_multiple_values?; false; end def _section :codepoint end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'optional'=>'yes', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'codepoint in format \'xxxxxx\' where x is {0|1}'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('name') end # alphanumeric string [ 0-9a-zA-Z._-] def name=(val) prop_set('name', val) end # codepoint in format 'xxxxxx' where x is {0|1} def value prop_get('value') end # codepoint in format 'xxxxxx' where x is {0|1} def value=(val) prop_set('value', val) end end def codepoint @subclasses['codepoint'] ||= Codepoint.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def custom @subclasses['custom'] ||= Custom.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'codepoint name, alphanumeric string [ 0-9a-zA-Z._-]'}} # codepoint name, alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def codepoints maybe_register_subclass('codepoints', Codepoints.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def dscp_tos maybe_register_subclass('dscp-tos', DscpTos.new(parent_instance: self, client: @client, create_children: @create_children)) end class Action < ConfigClass def has_multiple_values?; false; end def _section :action end @props = {'class'=>{'node-type'=>'element', 'type'=>'enum', 'help-string'=>'assigned class', 'enum'=>[{'value'=>'1'}, {'value'=>'2'}, {'value'=>'3'}, {'value'=>'4'}, {'value'=>'5'}, {'value'=>'6'}, {'value'=>'7'}, {'value'=>'8'}]}} # assigned class def class prop_get('class') end # assigned class def class=(val) prop_set('class', val) end end def action @subclasses['action'] ||= Action.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'schedule'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'optional'=>'yes'}, 'negate-source'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'negate-destination'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable the rule'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'no-default'=>'yes'}, 'group-tag'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'127'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def schedule prop_get('schedule') end def schedule=(val) prop_set('schedule', val) end def negate_source prop_get('negate-source') end def negate_source=(val) prop_set('negate-source', val) end def negate_destination prop_get('negate-destination') end def negate_destination=(val) prop_set('negate-destination', val) end # Disable the rule def disabled prop_get('disabled') end # Disable the rule def disabled=(val) prop_set('disabled', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end def group_tag prop_get('group-tag') end def group_tag=(val) prop_set('group-tag', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def qos @subclasses['qos'] ||= Qos.new(parent_instance: self, client: @client, create_children: @create_children) end class Nat < ConfigClass def has_multiple_values?; false; end def _section :nat end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Target < ConfigClass def has_multiple_values?; false; end def _section :target end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Vsys < XML::ConfigClass def has_multiple_values?; true; end def _section :vsys end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vsys maybe_register_subclass('vsys', Vsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'complete-handler'=>'dg-device-tags-completer'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'negate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Target to all but these specified devices and tags'}} # Target to all but these specified devices and tags def negate prop_get('negate') end # Target to all but these specified devices and tags def negate=(val) prop_set('negate', val) end end def target @subclasses['target'] ||= Target.new(parent_instance: self, client: @client, create_children: @create_children) end class From < XML::ConfigClass def has_multiple_values?; true; end def _section :from end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def from maybe_register_subclass('from', From.new(parent_instance: self, client: @client, create_children: @create_children)) end class To < XML::ConfigClass def has_multiple_values?; true; end def _section :to end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'max-count'=>'1', 'multi-types'=>{'string'=>{'maxlen'=>'31', 'disallow-keyword-any'=>'yes'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def to maybe_register_subclass('to', To.new(parent_instance: self, client: @client, create_children: @create_children)) end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end class Destination < XML::ConfigClass def has_multiple_values?; true; end def _section :destination end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../source/member', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination maybe_register_subclass('destination', Destination.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceTranslation < ConfigClass def has_multiple_values?; false; end def _section :'source-translation' end class DynamicIpAndPort < ConfigClass def has_multiple_values?; false; end def _section :'dynamic-ip-and-port' end class TranslatedAddress < XML::ConfigClass def has_multiple_values?; true; end def _section :'translated-address' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'no-default'=>'yes', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'ipspec'=>{}, 'iprangespec'=>{}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def translated_address maybe_register_subclass('translated-address', TranslatedAddress.new(parent_instance: self, client: @client, create_children: @create_children)) end class InterfaceAddress < ConfigClass def has_multiple_values?; false; end def _section :'interface-address' end @props = {'interface'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'Interface name'}, 'ip'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'specify exact IP address if interface has multiple addresses'}, 'floating-ip'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.nat.rules.interface-address.floating-ip-disable=True', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Floating IP address in HA Active-Active configuration'}} # Interface name def interface prop_get('interface') end # Interface name def interface=(val) prop_set('interface', val) end # specify exact IP address if interface has multiple addresses def ip prop_get('ip') end # specify exact IP address if interface has multiple addresses def ip=(val) prop_set('ip', val) end # Floating IP address in HA Active-Active configuration def floating_ip prop_get('floating-ip') end # Floating IP address in HA Active-Active configuration def floating_ip=(val) prop_set('floating-ip', val) end end def interface_address @subclasses['interface-address'] ||= InterfaceAddress.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def dynamic_ip_and_port @subclasses['dynamic-ip-and-port'] ||= DynamicIpAndPort.new(parent_instance: self, client: @client, create_children: @create_children) end class DynamicIp < ConfigClass def has_multiple_values?; false; end def _section :'dynamic-ip' end class TranslatedAddress < XML::ConfigClass def has_multiple_values?; true; end def _section :'translated-address' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'no-default'=>'yes', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'ipspec'=>{}, 'iprangespec'=>{}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def translated_address maybe_register_subclass('translated-address', TranslatedAddress.new(parent_instance: self, client: @client, create_children: @create_children)) end class Fallback < ConfigClass def has_multiple_values?; false; end def _section :fallback end class TranslatedAddress < XML::ConfigClass def has_multiple_values?; true; end def _section :'translated-address' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'no-default'=>'yes', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'ipspec'=>{}, 'iprangespec'=>{}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def translated_address maybe_register_subclass('translated-address', TranslatedAddress.new(parent_instance: self, client: @client, create_children: @create_children)) end class InterfaceAddress < ConfigClass def has_multiple_values?; false; end def _section :'interface-address' end @props = {'interface'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'Interface name'}, 'ip'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'specify exact IP address if interface has multiple addresses'}, 'floating-ip'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Floating IP address in HA Active-Active configuration'}} # Interface name def interface prop_get('interface') end # Interface name def interface=(val) prop_set('interface', val) end # specify exact IP address if interface has multiple addresses def ip prop_get('ip') end # specify exact IP address if interface has multiple addresses def ip=(val) prop_set('ip', val) end # Floating IP address in HA Active-Active configuration def floating_ip prop_get('floating-ip') end # Floating IP address in HA Active-Active configuration def floating_ip=(val) prop_set('floating-ip', val) end end def interface_address @subclasses['interface-address'] ||= InterfaceAddress.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def fallback @subclasses['fallback'] ||= Fallback.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def dynamic_ip @subclasses['dynamic-ip'] ||= DynamicIp.new(parent_instance: self, client: @client, create_children: @create_children) end class StaticIp < ConfigClass def has_multiple_values?; false; end def _section :'static-ip' end @props = {'translated-address'=>{'node-type'=>'element', 'type'=>'multiple', 'no-default'=>'yes', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'ipspec'=>{}, 'iprangespec'=>{}}}, 'bi-directional'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'allow reverse translation from translated address to original address', 'enum'=>[{'value'=>'yes', 'help-string'=>'Bi-directional rule'}, {'value'=>'no', 'help-string'=>'Uni-directional rule'}]}} def translated_address prop_get('translated-address') end def translated_address=(val) prop_set('translated-address', val) end # allow reverse translation from translated address to original address def bi_directional prop_get('bi-directional') end # allow reverse translation from translated address to original address def bi_directional=(val) prop_set('bi-directional', val) end end def static_ip @subclasses['static-ip'] ||= StaticIp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def source_translation @subclasses['source-translation'] ||= SourceTranslation.new(parent_instance: self, client: @client, create_children: @create_children) end class DestinationTranslation < ConfigClass def has_multiple_values?; false; end def _section :'destination-translation' end class DnsRewrite < ConfigClass def has_multiple_values?; false; end def _section :'dns-rewrite' end @props = {'direction'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'reverse', 'help-string'=>'Select direction to apply DNS rewrite', 'enum'=>[{'value'=>'reverse', 'help-string'=>'Reverse translation'}, {'value'=>'forward', 'help-string'=>'Forward translation'}]}} # Select direction to apply DNS rewrite def direction prop_get('direction') end # Select direction to apply DNS rewrite def direction=(val) prop_set('direction', val) end end def dns_rewrite @subclasses['dns-rewrite'] ||= DnsRewrite.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'translated-address'=>{'node-type'=>'element', 'type'=>'multiple', 'no-default'=>'yes', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'ipspec'=>{}, 'iprangespec'=>{}}}, 'translated-port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'no-default'=>'yes', 'optional'=>'yes'}} def translated_address prop_get('translated-address') end def translated_address=(val) prop_set('translated-address', val) end def translated_port prop_get('translated-port') end def translated_port=(val) prop_set('translated-port', val) end end def destination_translation @subclasses['destination-translation'] ||= DestinationTranslation.new(parent_instance: self, client: @client, create_children: @create_children) end class DynamicDestinationTranslation < ConfigClass def has_multiple_values?; false; end def _section :'dynamic-destination-translation' end @props = {'translated-address'=>{'node-type'=>'element', 'type'=>'multiple', 'no-default'=>'yes', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'ipspec'=>{}, 'iprangespec'=>{}}}, 'translated-port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'no-default'=>'yes', 'optional'=>'yes'}, 'distribution'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'round-robin', 'help-string'=>'Distribution algorithm for destination address pool', 'enum'=>[{'value'=>'round-robin', 'help-string'=>'Round Robin'}, {'value'=>'source-ip-hash', 'help-string'=>'Source IP Hash'}, {'value'=>'ip-modulo', 'help-string'=>'IP Modulo'}, {'value'=>'ip-hash', 'help-string'=>'IP Hash'}, {'value'=>'least-sessions', 'help-string'=>'Least Sessions'}]}} def translated_address prop_get('translated-address') end def translated_address=(val) prop_set('translated-address', val) end def translated_port prop_get('translated-port') end def translated_port=(val) prop_set('translated-port', val) end # Distribution algorithm for destination address pool def distribution prop_get('distribution') end # Distribution algorithm for destination address pool def distribution=(val) prop_set('distribution', val) end end def dynamic_destination_translation @subclasses['dynamic-destination-translation'] ||= DynamicDestinationTranslation.new(parent_instance: self, client: @client, create_children: @create_children) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'service'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'default'=>'any'}, 'nat-type'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'ipv4', 'help-string'=>'type of nat', 'enum'=>[{'value'=>'ipv4', 'help-string'=>'ipv4 nat'}, {'value'=>'nat64', 'help-string'=>'translator between ipv6 and ipv4'}, {'value'=>'nptv6', 'help-string'=>'network prefix translator for ipv6'}]}, 'to-interface'=>{'node-type'=>'element', 'optional'=>'yes', 'default'=>'any', 'type'=>'multiple', 'help-string'=>'Egress interface from route lookup', 'multi-types'=>{'string'=>{'maxlen'=>'63', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any interface'}]}}, 'active-active-device-binding'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-string'=>'Device binding configuration in HA Active-Active mode', 'enum'=>[{'value'=>'primary', 'help-string'=>'Rule is bound to Active-Primary device'}, {'value'=>'both', 'help-string'=>'Rule is bound to both devices'}, {'value'=>'0', 'help-string'=>'Rule is bound to device 0'}, {'value'=>'1', 'help-string'=>'Rule is bound to device 1'}]}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable the rule'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'no-default'=>'yes'}, 'group-tag'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'127'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def service prop_get('service') end def service=(val) prop_set('service', val) end # type of nat def nat_type prop_get('nat-type') end # type of nat def nat_type=(val) prop_set('nat-type', val) end # Egress interface from route lookup def to_interface prop_get('to-interface') end # Egress interface from route lookup def to_interface=(val) prop_set('to-interface', val) end # Device binding configuration in HA Active-Active mode def active_active_device_binding prop_get('active-active-device-binding') end # Device binding configuration in HA Active-Active mode def active_active_device_binding=(val) prop_set('active-active-device-binding', val) end # Disable the rule def disabled prop_get('disabled') end # Disable the rule def disabled=(val) prop_set('disabled', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end def group_tag prop_get('group-tag') end def group_tag=(val) prop_set('group-tag', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def nat @subclasses['nat'] ||= Nat.new(parent_instance: self, client: @client, create_children: @create_children) end class Pbf < ConfigClass def has_multiple_values?; false; end def _section :pbf end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Target < ConfigClass def has_multiple_values?; false; end def _section :target end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Vsys < XML::ConfigClass def has_multiple_values?; true; end def _section :vsys end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vsys maybe_register_subclass('vsys', Vsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'complete-handler'=>'dg-device-tags-completer'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'negate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Target to all but these specified devices and tags'}} # Target to all but these specified devices and tags def negate prop_get('negate') end # Target to all but these specified devices and tags def negate=(val) prop_set('negate', val) end end def target @subclasses['target'] ||= Target.new(parent_instance: self, client: @client, create_children: @create_children) end class From < ConfigClass def has_multiple_values?; false; end def _section :from end class Zone < XML::ConfigClass def has_multiple_values?; true; end def _section :zone end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'maxlen'=>'31'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def zone maybe_register_subclass('zone', Zone.new(parent_instance: self, client: @client, create_children: @create_children)) end class Interface < XML::ConfigClass def has_multiple_values?; true; end def _section :interface end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def interface maybe_register_subclass('interface', Interface.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def from @subclasses['from'] ||= From.new(parent_instance: self, client: @client, create_children: @create_children) end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceUser < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-user' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'1023', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any user'}, {'value'=>'pre-logon', 'help-string'=>'prelogon client machine'}, {'value'=>'known-user', 'help-string'=>'any known user'}, {'value'=>'unknown', 'help-string'=>'unknown user'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_user maybe_register_subclass('source-user', SourceUser.new(parent_instance: self, client: @client, create_children: @create_children)) end class Destination < XML::ConfigClass def has_multiple_values?; true; end def _section :destination end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../source/member', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination maybe_register_subclass('destination', Destination.new(parent_instance: self, client: @client, create_children: @create_children)) end class Service < XML::ConfigClass def has_multiple_values?; true; end def _section :service end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'application-default', 'help-string'=>'default service for selected application'}, {'value'=>'any', 'help-string'=>'any service'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def service maybe_register_subclass('service', Service.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end class Application < XML::ConfigClass def has_multiple_values?; true; end def _section :application end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any application'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def application maybe_register_subclass('application', Application.new(parent_instance: self, client: @client, create_children: @create_children)) end class Action < ConfigClass def has_multiple_values?; false; end def _section :action end class Forward < ConfigClass def has_multiple_values?; false; end def _section :forward end class Nexthop < ConfigClass def has_multiple_values?; false; end def _section :nexthop end @props = {'ip-address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Next hop IP address', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'ipspec'=>{'unicast-only'=>'yes'}}}, 'fqdn'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'regex'=>'^([a-zA-Z0-9._-])+$', 'help-string'=>'nexthop address FQDN name configuration'}} # Next hop IP address def ip_address prop_get('ip-address') end # Next hop IP address def ip_address=(val) prop_set('ip-address', val) end # nexthop address FQDN name configuration def fqdn prop_get('fqdn') end # nexthop address FQDN name configuration def fqdn=(val) prop_set('fqdn', val) end end def nexthop @subclasses['nexthop'] ||= Nexthop.new(parent_instance: self, client: @client, create_children: @create_children) end class Monitor < ConfigClass def has_multiple_values?; false; end def _section :monitor end @props = {'profile'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Monitoring profile associated with this rule'}, 'disable-if-unreachable'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable this rule if nexthop/monitor ip is unreachable'}, 'ip-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-only'=>'yes', 'help-string'=>'Monitor IP address'}} # Monitoring profile associated with this rule def profile prop_get('profile') end # Monitoring profile associated with this rule def profile=(val) prop_set('profile', val) end # Disable this rule if nexthop/monitor ip is unreachable def disable_if_unreachable prop_get('disable-if-unreachable') end # Disable this rule if nexthop/monitor ip is unreachable def disable_if_unreachable=(val) prop_set('disable-if-unreachable', val) end # Monitor IP address def ip_address prop_get('ip-address') end # Monitor IP address def ip_address=(val) prop_set('ip-address', val) end end def monitor @subclasses['monitor'] ||= Monitor.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'egress-interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Interface to route packet to'}} # Interface to route packet to def egress_interface prop_get('egress-interface') end # Interface to route packet to def egress_interface=(val) prop_set('egress-interface', val) end end def forward @subclasses['forward'] ||= Forward.new(parent_instance: self, client: @client, create_children: @create_children) end class Discard < ConfigClass def has_multiple_values?; false; end def _section :discard end @props = {} end def discard @subclasses['discard'] ||= Discard.new(parent_instance: self, client: @client, create_children: @create_children) end class NoPbf < ConfigClass def has_multiple_values?; false; end def _section :'no-pbf' end @props = {} end def no_pbf @subclasses['no-pbf'] ||= NoPbf.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'forward-to-vsys'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Virtual system/Shared gateway to route packet to'}} # Virtual system/Shared gateway to route packet to def forward_to_vsys prop_get('forward-to-vsys') end # Virtual system/Shared gateway to route packet to def forward_to_vsys=(val) prop_set('forward-to-vsys', val) end end def action @subclasses['action'] ||= Action.new(parent_instance: self, client: @client, create_children: @create_children) end class EnforceSymmetricReturn < ConfigClass def has_multiple_values?; false; end def _section :'enforce-symmetric-return' end class NexthopAddressList < XML::ConfigClass def has_multiple_values?; true; end def _section :'nexthop-address-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'unicast-only'=>'yes', 'help-string'=>'IP address'}} # IP address def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def nexthop_address_list maybe_register_subclass('nexthop-address-list', NexthopAddressList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable symmetric return'}} # Enable symmetric return def enabled prop_get('enabled') end # Enable symmetric return def enabled=(val) prop_set('enabled', val) end end def enforce_symmetric_return @subclasses['enforce-symmetric-return'] ||= EnforceSymmetricReturn.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'schedule'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'optional'=>'yes'}, 'negate-source'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'negate-destination'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable the rule'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'no-default'=>'yes'}, 'group-tag'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'127'}, 'active-active-device-binding'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.pbf.rules.active-active-device-binding-disable=True', 'optional'=>'yes', 'type'=>'enum', 'help-string'=>'Device binding configuration in HA Active-Active mode', 'enum'=>[{'value'=>'both', 'help-string'=>'Rule is bound to both devices'}, {'value'=>'0', 'help-string'=>'Rule is bound to device 0'}, {'value'=>'1', 'help-string'=>'Rule is bound to device 1'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def schedule prop_get('schedule') end def schedule=(val) prop_set('schedule', val) end def negate_source prop_get('negate-source') end def negate_source=(val) prop_set('negate-source', val) end def negate_destination prop_get('negate-destination') end def negate_destination=(val) prop_set('negate-destination', val) end # Disable the rule def disabled prop_get('disabled') end # Disable the rule def disabled=(val) prop_set('disabled', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end def group_tag prop_get('group-tag') end def group_tag=(val) prop_set('group-tag', val) end # Device binding configuration in HA Active-Active mode def active_active_device_binding prop_get('active-active-device-binding') end # Device binding configuration in HA Active-Active mode def active_active_device_binding=(val) prop_set('active-active-device-binding', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def pbf @subclasses['pbf'] ||= Pbf.new(parent_instance: self, client: @client, create_children: @create_children) end class Sdwan < ConfigClass def has_multiple_values?; false; end def _section :sdwan end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Target < ConfigClass def has_multiple_values?; false; end def _section :target end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Vsys < XML::ConfigClass def has_multiple_values?; true; end def _section :vsys end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vsys maybe_register_subclass('vsys', Vsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'complete-handler'=>'dg-device-tags-completer'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'negate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Target to all but these specified devices and tags'}} # Target to all but these specified devices and tags def negate prop_get('negate') end # Target to all but these specified devices and tags def negate=(val) prop_set('negate', val) end end def target @subclasses['target'] ||= Target.new(parent_instance: self, client: @client, create_children: @create_children) end class From < XML::ConfigClass def has_multiple_values?; true; end def _section :from end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def from maybe_register_subclass('from', From.new(parent_instance: self, client: @client, create_children: @create_children)) end class To < XML::ConfigClass def has_multiple_values?; true; end def _section :to end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../from/member', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def to maybe_register_subclass('to', To.new(parent_instance: self, client: @client, create_children: @create_children)) end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceUser < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-user' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'1023', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any user'}, {'value'=>'pre-logon', 'help-string'=>'prelogon client machine'}, {'value'=>'known-user', 'help-string'=>'any known user'}, {'value'=>'unknown', 'help-string'=>'unknown user'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_user maybe_register_subclass('source-user', SourceUser.new(parent_instance: self, client: @client, create_children: @create_children)) end class Destination < XML::ConfigClass def has_multiple_values?; true; end def _section :destination end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../source/member', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination maybe_register_subclass('destination', Destination.new(parent_instance: self, client: @client, create_children: @create_children)) end class Application < XML::ConfigClass def has_multiple_values?; true; end def _section :application end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any application'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def application maybe_register_subclass('application', Application.new(parent_instance: self, client: @client, create_children: @create_children)) end class Service < XML::ConfigClass def has_multiple_values?; true; end def _section :service end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'application-default', 'help-string'=>'default service for selected application'}, {'value'=>'any', 'help-string'=>'any service'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def service maybe_register_subclass('service', Service.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end class Action < ConfigClass def has_multiple_values?; false; end def _section :action end @props = {'traffic-distribution-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'attach sdwan traffic distribution associated with this rule'}, 'app-failover-for-nat-sessions'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'keep-existing-link', 'help-string'=>'For NAT sessions, specify whether to move to a better path', 'enum'=>[{'value'=>'keep-existing-link', 'help-string'=>'Keep session on existing link'}, {'value'=>'failover-to-better-path', 'help-string'=>'Allow session failover to better path'}]}} # attach sdwan traffic distribution associated with this rule def traffic_distribution_profile prop_get('traffic-distribution-profile') end # attach sdwan traffic distribution associated with this rule def traffic_distribution_profile=(val) prop_set('traffic-distribution-profile', val) end # For NAT sessions, specify whether to move to a better path def app_failover_for_nat_sessions prop_get('app-failover-for-nat-sessions') end # For NAT sessions, specify whether to move to a better path def app_failover_for_nat_sessions=(val) prop_set('app-failover-for-nat-sessions', val) end end def action @subclasses['action'] ||= Action.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'negate-source'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'negate-destination'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable the rule'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'no-default'=>'yes'}, 'group-tag'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'127'}, 'path-quality-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'attach sdwan path quality profile associated with this rule'}, 'saas-quality-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'optional'=>'yes', 'help-string'=>'attach sdwan saas quality profile associated with this rule'}, 'error-correction-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'optional'=>'yes', 'help-string'=>'attach sdwan error correction profile associated with this rule'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def negate_source prop_get('negate-source') end def negate_source=(val) prop_set('negate-source', val) end def negate_destination prop_get('negate-destination') end def negate_destination=(val) prop_set('negate-destination', val) end # Disable the rule def disabled prop_get('disabled') end # Disable the rule def disabled=(val) prop_set('disabled', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end def group_tag prop_get('group-tag') end def group_tag=(val) prop_set('group-tag', val) end # attach sdwan path quality profile associated with this rule def path_quality_profile prop_get('path-quality-profile') end # attach sdwan path quality profile associated with this rule def path_quality_profile=(val) prop_set('path-quality-profile', val) end # attach sdwan saas quality profile associated with this rule def saas_quality_profile prop_get('saas-quality-profile') end # attach sdwan saas quality profile associated with this rule def saas_quality_profile=(val) prop_set('saas-quality-profile', val) end # attach sdwan error correction profile associated with this rule def error_correction_profile prop_get('error-correction-profile') end # attach sdwan error correction profile associated with this rule def error_correction_profile=(val) prop_set('error-correction-profile', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def sdwan @subclasses['sdwan'] ||= Sdwan.new(parent_instance: self, client: @client, create_children: @create_children) end class Dos < ConfigClass def has_multiple_values?; false; end def _section :dos end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Target < ConfigClass def has_multiple_values?; false; end def _section :target end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Vsys < XML::ConfigClass def has_multiple_values?; true; end def _section :vsys end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vsys maybe_register_subclass('vsys', Vsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'complete-handler'=>'dg-device-tags-completer'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'negate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Target to all but these specified devices and tags'}} # Target to all but these specified devices and tags def negate prop_get('negate') end # Target to all but these specified devices and tags def negate=(val) prop_set('negate', val) end end def target @subclasses['target'] ||= Target.new(parent_instance: self, client: @client, create_children: @create_children) end class From < ConfigClass def has_multiple_values?; false; end def _section :from end class Zone < XML::ConfigClass def has_multiple_values?; true; end def _section :zone end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'maxlen'=>'31'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def zone maybe_register_subclass('zone', Zone.new(parent_instance: self, client: @client, create_children: @create_children)) end class Interface < XML::ConfigClass def has_multiple_values?; true; end def _section :interface end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def interface maybe_register_subclass('interface', Interface.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def from @subclasses['from'] ||= From.new(parent_instance: self, client: @client, create_children: @create_children) end class To < ConfigClass def has_multiple_values?; false; end def _section :to end class Zone < XML::ConfigClass def has_multiple_values?; true; end def _section :zone end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'enum'=>[{'value'=>'multicast', 'help-string'=>'multicast zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def zone maybe_register_subclass('zone', Zone.new(parent_instance: self, client: @client, create_children: @create_children)) end class Interface < XML::ConfigClass def has_multiple_values?; true; end def _section :interface end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def interface maybe_register_subclass('interface', Interface.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def to @subclasses['to'] ||= To.new(parent_instance: self, client: @client, create_children: @create_children) end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceUser < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-user' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'1023', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any user'}, {'value'=>'pre-logon', 'help-string'=>'prelogon client machine'}, {'value'=>'known-user', 'help-string'=>'any known user'}, {'value'=>'unknown', 'help-string'=>'unknown user'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_user maybe_register_subclass('source-user', SourceUser.new(parent_instance: self, client: @client, create_children: @create_children)) end class Destination < XML::ConfigClass def has_multiple_values?; true; end def _section :destination end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../source/member', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination maybe_register_subclass('destination', Destination.new(parent_instance: self, client: @client, create_children: @create_children)) end class Service < XML::ConfigClass def has_multiple_values?; true; end def _section :service end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any service'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def service maybe_register_subclass('service', Service.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end class Protection < ConfigClass def has_multiple_values?; false; end def _section :protection end class Aggregate < ConfigClass def has_multiple_values?; false; end def _section :aggregate end @props = {'profile'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'DoS profile to use for aggregated protection'}} # DoS profile to use for aggregated protection def profile prop_get('profile') end # DoS profile to use for aggregated protection def profile=(val) prop_set('profile', val) end end def aggregate @subclasses['aggregate'] ||= Aggregate.new(parent_instance: self, client: @client, create_children: @create_children) end class Classified < ConfigClass def has_multiple_values?; false; end def _section :classified end class ClassificationCriteria < ConfigClass def has_multiple_values?; false; end def _section :'classification-criteria' end @props = {'address'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'source-ip-only', 'help-string'=>'Parameters for IP Address based classification', 'enum'=>[{'value'=>'source-ip-only'}, {'value'=>'destination-ip-only'}, {'value'=>'src-dest-ip-both'}]}} # Parameters for IP Address based classification def address prop_get('address') end # Parameters for IP Address based classification def address=(val) prop_set('address', val) end end def classification_criteria @subclasses['classification-criteria'] ||= ClassificationCriteria.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'profile'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'DoS profile to use for classified protection'}} # DoS profile to use for classified protection def profile prop_get('profile') end # DoS profile to use for classified protection def profile=(val) prop_set('profile', val) end end def classified @subclasses['classified'] ||= Classified.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def protection @subclasses['protection'] ||= Protection.new(parent_instance: self, client: @client, create_children: @create_children) end class Action < ConfigClass def has_multiple_values?; false; end def _section :action end class Deny < ConfigClass def has_multiple_values?; false; end def _section :deny end @props = {} end def deny @subclasses['deny'] ||= Deny.new(parent_instance: self, client: @client, create_children: @create_children) end class Allow < ConfigClass def has_multiple_values?; false; end def _section :allow end @props = {} end def allow @subclasses['allow'] ||= Allow.new(parent_instance: self, client: @client, create_children: @create_children) end class Protect < ConfigClass def has_multiple_values?; false; end def _section :protect end @props = {} end def protect @subclasses['protect'] ||= Protect.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def action @subclasses['action'] ||= Action.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'schedule'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'optional'=>'yes'}, 'negate-source'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'negate-destination'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable the rule'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'no-default'=>'yes'}, 'group-tag'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'127'}, 'log-setting'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'maxlen'=>'63', 'optional'=>'yes'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def schedule prop_get('schedule') end def schedule=(val) prop_set('schedule', val) end def negate_source prop_get('negate-source') end def negate_source=(val) prop_set('negate-source', val) end def negate_destination prop_get('negate-destination') end def negate_destination=(val) prop_set('negate-destination', val) end # Disable the rule def disabled prop_get('disabled') end # Disable the rule def disabled=(val) prop_set('disabled', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end def group_tag prop_get('group-tag') end def group_tag=(val) prop_set('group-tag', val) end def log_setting prop_get('log-setting') end def log_setting=(val) prop_set('log-setting', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def dos @subclasses['dos'] ||= Dos.new(parent_instance: self, client: @client, create_children: @create_children) end class TunnelInspect < ConfigClass def has_multiple_values?; false; end def _section :'tunnel-inspect' end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Target < ConfigClass def has_multiple_values?; false; end def _section :target end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Vsys < XML::ConfigClass def has_multiple_values?; true; end def _section :vsys end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vsys maybe_register_subclass('vsys', Vsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'complete-handler'=>'dg-device-tags-completer'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'negate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Target to all but these specified devices and tags'}} # Target to all but these specified devices and tags def negate prop_get('negate') end # Target to all but these specified devices and tags def negate=(val) prop_set('negate', val) end end def target @subclasses['target'] ||= Target.new(parent_instance: self, client: @client, create_children: @create_children) end class From < XML::ConfigClass def has_multiple_values?; true; end def _section :from end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def from maybe_register_subclass('from', From.new(parent_instance: self, client: @client, create_children: @create_children)) end class To < XML::ConfigClass def has_multiple_values?; true; end def _section :to end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../from/member', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def to maybe_register_subclass('to', To.new(parent_instance: self, client: @client, create_children: @create_children)) end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceUser < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-user' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'1023', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any user'}, {'value'=>'pre-logon', 'help-string'=>'prelogon client machine'}, {'value'=>'known-user', 'help-string'=>'any known user'}, {'value'=>'unknown', 'help-string'=>'unknown user'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_user maybe_register_subclass('source-user', SourceUser.new(parent_instance: self, client: @client, create_children: @create_children)) end class Destination < XML::ConfigClass def has_multiple_values?; true; end def _section :destination end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../source/member', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination maybe_register_subclass('destination', Destination.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end class Application < XML::ConfigClass def has_multiple_values?; true; end def _section :application end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'enum'=>[{'value'=>'gre', 'help-string'=>'GRE'}, {'value'=>'vxlan', 'help-string'=>'VXLAN'}, {'value'=>'ipsec', 'help-string'=>'Non-encrypted IPSec'}, {'value'=>'gtp', 'help-string'=>'GTP-U'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def application maybe_register_subclass('application', Application.new(parent_instance: self, client: @client, create_children: @create_children)) end class TunnelId < ConfigClass def has_multiple_values?; false; end def _section :'tunnel-id' end class Vni < XML::ConfigClass def has_multiple_values?; true; end def _section :vni end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'id'=>{'node-type'=>'element', 'type'=>'rangelistspec', 'min'=>'0', 'max'=>'16777215'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def id prop_get('id') end def id=(val) prop_set('id', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vni maybe_register_subclass('vni', Vni.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def tunnel_id @subclasses['tunnel-id'] ||= TunnelId.new(parent_instance: self, client: @client, create_children: @create_children) end class InspectOptions < ConfigClass def has_multiple_values?; false; end def _section :'inspect-options' end @props = {'max-level-inspection'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'1', 'help-string'=>'max level inspection', 'enum'=>[{'value'=>'1', 'help-string'=>'One level'}, {'value'=>'2', 'help-string'=>'Two levels (tunnel in tunnel)'}]}, 'drop-over-max'=>{'node-type'=>'element', 'optional'=>'yes', 'default'=>'no', 'type'=>'bool'}, 'drop-unknown-protocol'=>{'node-type'=>'element', 'optional'=>'yes', 'default'=>'no', 'type'=>'bool'}, 'drop-strict-checking'=>{'node-type'=>'element', 'optional'=>'yes', 'default'=>'no', 'type'=>'bool'}, 'return-vxlan-to-source'=>{'node-type'=>'element', 'optional'=>'yes', 'default'=>'no', 'type'=>'bool'}} # max level inspection def max_level_inspection prop_get('max-level-inspection') end # max level inspection def max_level_inspection=(val) prop_set('max-level-inspection', val) end def drop_over_max prop_get('drop-over-max') end def drop_over_max=(val) prop_set('drop-over-max', val) end def drop_unknown_protocol prop_get('drop-unknown-protocol') end def drop_unknown_protocol=(val) prop_set('drop-unknown-protocol', val) end def drop_strict_checking prop_get('drop-strict-checking') end def drop_strict_checking=(val) prop_set('drop-strict-checking', val) end def return_vxlan_to_source prop_get('return-vxlan-to-source') end def return_vxlan_to_source=(val) prop_set('return-vxlan-to-source', val) end end def inspect_options @subclasses['inspect-options'] ||= InspectOptions.new(parent_instance: self, client: @client, create_children: @create_children) end class ZoneAssign < ConfigClass def has_multiple_values?; false; end def _section :'zone-assign' end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end class Destination < XML::ConfigClass def has_multiple_values?; true; end def _section :destination end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'max-count'=>'1'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination maybe_register_subclass('destination', Destination.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def zone_assign @subclasses['zone-assign'] ||= ZoneAssign.new(parent_instance: self, client: @client, create_children: @create_children) end class MonitorOptions < ConfigClass def has_multiple_values?; false; end def _section :'monitor-options' end class LogSettingOverride < ConfigClass def has_multiple_values?; false; end def _section :'log-setting-override' end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'log-setting'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'maxlen'=>'63', 'optional'=>'yes'}, 'log-start'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'optional'=>'yes', 'help-string'=>'Log at session start'}, 'log-end'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'optional'=>'yes', 'help-string'=>'Log at session end (required for certain ACC tables)'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end def log_setting prop_get('log-setting') end def log_setting=(val) prop_set('log-setting', val) end # Log at session start def log_start prop_get('log-start') end # Log at session start def log_start=(val) prop_set('log-start', val) end # Log at session end (required for certain ACC tables) def log_end prop_get('log-end') end # Log at session end (required for certain ACC tables) def log_end=(val) prop_set('log-end', val) end end def log_setting_override @subclasses['log-setting-override'] ||= LogSettingOverride.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'monitor-name'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([^0-9]*|[0-9]{1,14}([^0-9]|$)|[0-9]{17,})*$', 'optional'=>'yes', 'minlen'=>'1', 'maxlen'=>'31', 'no-default'=>'yes', 'help-string'=>'15 or 16 digit number not allowed'}, 'monitor-id'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'1', 'max'=>'16777215'}} # 15 or 16 digit number not allowed def monitor_name prop_get('monitor-name') end # 15 or 16 digit number not allowed def monitor_name=(val) prop_set('monitor-name', val) end def monitor_id prop_get('monitor-id') end def monitor_id=(val) prop_set('monitor-id', val) end end def monitor_options @subclasses['monitor-options'] ||= MonitorOptions.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'negate-source'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'negate-destination'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable the rule'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'no-default'=>'yes'}, 'group-tag'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'127'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def negate_source prop_get('negate-source') end def negate_source=(val) prop_set('negate-source', val) end def negate_destination prop_get('negate-destination') end def negate_destination=(val) prop_set('negate-destination', val) end # Disable the rule def disabled prop_get('disabled') end # Disable the rule def disabled=(val) prop_set('disabled', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end def group_tag prop_get('group-tag') end def group_tag=(val) prop_set('group-tag', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def tunnel_inspect @subclasses['tunnel-inspect'] ||= TunnelInspect.new(parent_instance: self, client: @client, create_children: @create_children) end class NetworkPacketBroker < ConfigClass def has_multiple_values?; false; end def _section :'network-packet-broker' end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Target < ConfigClass def has_multiple_values?; false; end def _section :target end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Vsys < XML::ConfigClass def has_multiple_values?; true; end def _section :vsys end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vsys maybe_register_subclass('vsys', Vsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'complete-handler'=>'dg-device-tags-completer'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'negate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Target to all but these specified devices and tags'}} # Target to all but these specified devices and tags def negate prop_get('negate') end # Target to all but these specified devices and tags def negate=(val) prop_set('negate', val) end end def target @subclasses['target'] ||= Target.new(parent_instance: self, client: @client, create_children: @create_children) end class From < XML::ConfigClass def has_multiple_values?; true; end def _section :from end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def from maybe_register_subclass('from', From.new(parent_instance: self, client: @client, create_children: @create_children)) end class To < XML::ConfigClass def has_multiple_values?; true; end def _section :to end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../from/member', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def to maybe_register_subclass('to', To.new(parent_instance: self, client: @client, create_children: @create_children)) end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceUser < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-user' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'1023', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any user'}, {'value'=>'pre-logon', 'help-string'=>'prelogon client machine'}, {'value'=>'known-user', 'help-string'=>'any known user'}, {'value'=>'unknown', 'help-string'=>'unknown user'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_user maybe_register_subclass('source-user', SourceUser.new(parent_instance: self, client: @client, create_children: @create_children)) end class Destination < XML::ConfigClass def has_multiple_values?; true; end def _section :destination end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../source/member', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination maybe_register_subclass('destination', Destination.new(parent_instance: self, client: @client, create_children: @create_children)) end class Application < XML::ConfigClass def has_multiple_values?; true; end def _section :application end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any application'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def application maybe_register_subclass('application', Application.new(parent_instance: self, client: @client, create_children: @create_children)) end class Service < XML::ConfigClass def has_multiple_values?; true; end def _section :service end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'application-default', 'help-string'=>'default service for selected application'}, {'value'=>'any', 'help-string'=>'any service'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def service maybe_register_subclass('service', Service.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceHip < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-hip' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any hip-profile'}, {'value'=>'no-hip', 'help-string'=>'no hip-profile'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_hip maybe_register_subclass('source-hip', SourceHip.new(parent_instance: self, client: @client, create_children: @create_children)) end class DestinationHip < XML::ConfigClass def has_multiple_values?; true; end def _section :'destination-hip' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any device'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination_hip maybe_register_subclass('destination-hip', DestinationHip.new(parent_instance: self, client: @client, create_children: @create_children)) end class TrafficType < ConfigClass def has_multiple_values?; false; end def _section :'traffic-type' end @props = {'tls-decrypted'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'TLS decrypted traffic'}, 'tls-encrypted'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'help-string'=>'TLS encrypted traffic'}, 'non-tls'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'help-string'=>'non TLS traffic'}} # TLS decrypted traffic def tls_decrypted prop_get('tls-decrypted') end # TLS decrypted traffic def tls_decrypted=(val) prop_set('tls-decrypted', val) end # TLS encrypted traffic def tls_encrypted prop_get('tls-encrypted') end # TLS encrypted traffic def tls_encrypted=(val) prop_set('tls-encrypted', val) end # non TLS traffic def non_tls prop_get('non-tls') end # non TLS traffic def non_tls=(val) prop_set('non-tls', val) end end def traffic_type @subclasses['traffic-type'] ||= TrafficType.new(parent_instance: self, client: @client, create_children: @create_children) end class Action < ConfigClass def has_multiple_values?; false; end def _section :action end @props = {'packet-broker-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'attach packet-broker profile with this rule'}} # attach packet-broker profile with this rule def packet_broker_profile prop_get('packet-broker-profile') end # attach packet-broker profile with this rule def packet_broker_profile=(val) prop_set('packet-broker-profile', val) end end def action @subclasses['action'] ||= Action.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'negate-source'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'negate-destination'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable the rule'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'no-default'=>'yes'}, 'group-tag'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'127'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def negate_source prop_get('negate-source') end def negate_source=(val) prop_set('negate-source', val) end def negate_destination prop_get('negate-destination') end def negate_destination=(val) prop_set('negate-destination', val) end # Disable the rule def disabled prop_get('disabled') end # Disable the rule def disabled=(val) prop_set('disabled', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end def group_tag prop_get('group-tag') end def group_tag=(val) prop_set('group-tag', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def network_packet_broker @subclasses['network-packet-broker'] ||= NetworkPacketBroker.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def post_rulebase @subclasses['post-rulebase'] ||= PostRulebase.new(parent_instance: self, client: @client, create_children: @create_children) end class Reports < XML::ConfigClass def has_multiple_values?; true; end def _section :reports end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Hipmatch < ConfigClass def has_multiple_values?; false; end def _section :hipmatch end class AggregateBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'srcuser'}, {'value'=>'vsys'}, {'value'=>'machinename'}, {'value'=>'src'}, {'value'=>'matchname'}, {'value'=>'os'}, {'value'=>'matchtype'}, {'value'=>'srcipv6'}, {'value'=>'hostid'}, {'value'=>'mac'}, {'value'=>'cluster_name'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def aggregate_by maybe_register_subclass('aggregate-by', AggregateBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Values < XML::ConfigClass def has_multiple_values?; true; end def _section :values end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'repeatcnt'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def values maybe_register_subclass('values', Values.new(parent_instance: self, client: @client, create_children: @create_children)) end class Labels < XML::ConfigClass def has_multiple_values?; true; end def _section :labels end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def labels maybe_register_subclass('labels', Labels.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'group-by'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'srcuser'}, {'value'=>'vsys'}, {'value'=>'machinename'}, {'value'=>'src'}, {'value'=>'matchname'}, {'value'=>'os'}, {'value'=>'matchtype'}, {'value'=>'srcipv6'}, {'value'=>'hostid'}, {'value'=>'mac'}, {'value'=>'cluster_name'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}]}, 'sortby'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'repeatcnt'}]}, 'last-match-by'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes'}} def group_by prop_get('group-by') end def group_by=(val) prop_set('group-by', val) end def sortby prop_get('sortby') end def sortby=(val) prop_set('sortby', val) end def last_match_by prop_get('last-match-by') end def last_match_by=(val) prop_set('last-match-by', val) end end def hipmatch @subclasses['hipmatch'] ||= Hipmatch.new(parent_instance: self, client: @client, create_children: @create_children) end class Globalprotect < ConfigClass def has_multiple_values?; false; end def _section :globalprotect end class AggregateBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'vsys'}, {'value'=>'eventid'}, {'value'=>'status'}, {'value'=>'stage'}, {'value'=>'auth_method'}, {'value'=>'tunnel_type'}, {'value'=>'portal'}, {'value'=>'srcuser'}, {'value'=>'srcregion'}, {'value'=>'machinename'}, {'value'=>'public_ip'}, {'value'=>'public_ipv6'}, {'value'=>'private_ip'}, {'value'=>'private_ipv6'}, {'value'=>'hostid'}, {'value'=>'serialnumber'}, {'value'=>'client_ver'}, {'value'=>'client_os'}, {'value'=>'client_os_ver'}, {'value'=>'login_duration'}, {'value'=>'connect_method'}, {'value'=>'reason'}, {'value'=>'error_code'}, {'value'=>'error'}, {'value'=>'opaque'}, {'value'=>'gateway'}, {'value'=>'selection_type'}, {'value'=>'response_time'}, {'value'=>'priority'}, {'value'=>'cluster_name'}, {'value'=>'attempted_gateways'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def aggregate_by maybe_register_subclass('aggregate-by', AggregateBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Values < XML::ConfigClass def has_multiple_values?; true; end def _section :values end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'nunique-of-ips'}, {'value'=>'nunique-of-gateways'}, {'value'=>'nunique-of-users'}, {'value'=>'nunique-of-hostid'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def values maybe_register_subclass('values', Values.new(parent_instance: self, client: @client, create_children: @create_children)) end class Labels < XML::ConfigClass def has_multiple_values?; true; end def _section :labels end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def labels maybe_register_subclass('labels', Labels.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'group-by'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'vsys'}, {'value'=>'eventid'}, {'value'=>'status'}, {'value'=>'stage'}, {'value'=>'auth_method'}, {'value'=>'tunnel_type'}, {'value'=>'portal'}, {'value'=>'srcuser'}, {'value'=>'srcregion'}, {'value'=>'machinename'}, {'value'=>'public_ip'}, {'value'=>'public_ipv6'}, {'value'=>'private_ip'}, {'value'=>'private_ipv6'}, {'value'=>'hostid'}, {'value'=>'serialnumber'}, {'value'=>'client_ver'}, {'value'=>'client_os'}, {'value'=>'client_os_ver'}, {'value'=>'login_duration'}, {'value'=>'connect_method'}, {'value'=>'reason'}, {'value'=>'error_code'}, {'value'=>'error'}, {'value'=>'opaque'}, {'value'=>'gateway'}, {'value'=>'selection_type'}, {'value'=>'response_time'}, {'value'=>'priority'}, {'value'=>'cluster_name'}, {'value'=>'attempted_gateways'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}]}, 'sortby'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'nunique-of-ips'}, {'value'=>'nunique-of-gateways'}, {'value'=>'nunique-of-users'}, {'value'=>'nunique-of-hostid'}]}} def group_by prop_get('group-by') end def group_by=(val) prop_set('group-by', val) end def sortby prop_get('sortby') end def sortby=(val) prop_set('sortby', val) end end def globalprotect @subclasses['globalprotect'] ||= Globalprotect.new(parent_instance: self, client: @client, create_children: @create_children) end class PanoramaDecryption < ConfigClass def has_multiple_values?; false; end def _section :'panorama-decryption' end class AggregateBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'src'}, {'value'=>'dst'}, {'value'=>'natsrc'}, {'value'=>'natdst'}, {'value'=>'rule'}, {'value'=>'srcuser'}, {'value'=>'dstuser'}, {'value'=>'srcloc'}, {'value'=>'dstloc'}, {'value'=>'app'}, {'value'=>'vsys'}, {'value'=>'from'}, {'value'=>'to'}, {'value'=>'inbound_if'}, {'value'=>'outbound_if'}, {'value'=>'sport'}, {'value'=>'dport'}, {'value'=>'natsport'}, {'value'=>'natdport'}, {'value'=>'proto'}, {'value'=>'action'}, {'value'=>'tunnel'}, {'value'=>'src_uuid'}, {'value'=>'dst_uuid'}, {'value'=>'rule_uuid'}, {'value'=>'s_encrypted'}, {'value'=>'category-of-app'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'risk-of-app'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'tls_version'}, {'value'=>'tls_keyxchg'}, {'value'=>'tls_enc'}, {'value'=>'tls_auth'}, {'value'=>'ec_curve'}, {'value'=>'err_index'}, {'value'=>'root_status'}, {'value'=>'proxy_type'}, {'value'=>'policy_name'}, {'value'=>'cn'}, {'value'=>'issuer_cn'}, {'value'=>'root_cn'}, {'value'=>'sni'}, {'value'=>'error'}, {'value'=>'cluster_name'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'src_category'}, {'value'=>'src_profile'}, {'value'=>'src_model'}, {'value'=>'src_vendor'}, {'value'=>'src_osfamily'}, {'value'=>'src_osversion'}, {'value'=>'src_host'}, {'value'=>'src_mac'}, {'value'=>'dst_category'}, {'value'=>'dst_profile'}, {'value'=>'dst_model'}, {'value'=>'dst_vendor'}, {'value'=>'dst_osfamily'}, {'value'=>'dst_osversion'}, {'value'=>'dst_host'}, {'value'=>'dst_mac'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def aggregate_by maybe_register_subclass('aggregate-by', AggregateBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Values < XML::ConfigClass def has_multiple_values?; true; end def _section :values end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'nunique-of-src_profile'}, {'value'=>'nunique-of-dst_profile'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def values maybe_register_subclass('values', Values.new(parent_instance: self, client: @client, create_children: @create_children)) end class Labels < XML::ConfigClass def has_multiple_values?; true; end def _section :labels end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def labels maybe_register_subclass('labels', Labels.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'group-by'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'src'}, {'value'=>'dst'}, {'value'=>'natsrc'}, {'value'=>'natdst'}, {'value'=>'rule'}, {'value'=>'srcuser'}, {'value'=>'dstuser'}, {'value'=>'srcloc'}, {'value'=>'dstloc'}, {'value'=>'app'}, {'value'=>'vsys'}, {'value'=>'from'}, {'value'=>'to'}, {'value'=>'inbound_if'}, {'value'=>'outbound_if'}, {'value'=>'sport'}, {'value'=>'dport'}, {'value'=>'natsport'}, {'value'=>'natdport'}, {'value'=>'proto'}, {'value'=>'action'}, {'value'=>'tunnel'}, {'value'=>'src_uuid'}, {'value'=>'dst_uuid'}, {'value'=>'rule_uuid'}, {'value'=>'s_encrypted'}, {'value'=>'category-of-app'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'risk-of-app'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'tls_version'}, {'value'=>'tls_keyxchg'}, {'value'=>'tls_enc'}, {'value'=>'tls_auth'}, {'value'=>'ec_curve'}, {'value'=>'err_index'}, {'value'=>'root_status'}, {'value'=>'proxy_type'}, {'value'=>'policy_name'}, {'value'=>'cn'}, {'value'=>'issuer_cn'}, {'value'=>'root_cn'}, {'value'=>'sni'}, {'value'=>'error'}, {'value'=>'cluster_name'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'src_category'}, {'value'=>'src_profile'}, {'value'=>'src_model'}, {'value'=>'src_vendor'}, {'value'=>'src_osfamily'}, {'value'=>'src_osversion'}, {'value'=>'src_host'}, {'value'=>'src_mac'}, {'value'=>'dst_category'}, {'value'=>'dst_profile'}, {'value'=>'dst_model'}, {'value'=>'dst_vendor'}, {'value'=>'dst_osfamily'}, {'value'=>'dst_osversion'}, {'value'=>'dst_host'}, {'value'=>'dst_mac'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}]}, 'sortby'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'nunique-of-src_profile'}, {'value'=>'nunique-of-dst_profile'}]}} def group_by prop_get('group-by') end def group_by=(val) prop_set('group-by', val) end def sortby prop_get('sortby') end def sortby=(val) prop_set('sortby', val) end end def panorama_decryption @subclasses['panorama-decryption'] ||= PanoramaDecryption.new(parent_instance: self, client: @client, create_children: @create_children) end class PanoramaDesum < ConfigClass def has_multiple_values?; false; end def _section :'panorama-desum' end class AggregateBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'category-of-app'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'risk-of-app'}, {'value'=>'app'}, {'value'=>'src'}, {'value'=>'dst'}, {'value'=>'srcuser'}, {'value'=>'dstuser'}, {'value'=>'vsys'}, {'value'=>'tls_version'}, {'value'=>'tls_keyxchg'}, {'value'=>'tls_enc'}, {'value'=>'tls_auth'}, {'value'=>'sni'}, {'value'=>'error'}, {'value'=>'err_index'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'cluster_name'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'src_category'}, {'value'=>'src_profile'}, {'value'=>'src_model'}, {'value'=>'src_vendor'}, {'value'=>'src_osfamily'}, {'value'=>'src_osversion'}, {'value'=>'src_host'}, {'value'=>'src_mac'}, {'value'=>'dst_category'}, {'value'=>'dst_profile'}, {'value'=>'dst_model'}, {'value'=>'dst_vendor'}, {'value'=>'dst_osfamily'}, {'value'=>'dst_osversion'}, {'value'=>'dst_host'}, {'value'=>'dst_mac'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def aggregate_by maybe_register_subclass('aggregate-by', AggregateBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Values < XML::ConfigClass def has_multiple_values?; true; end def _section :values end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'nunique-of-src_profile'}, {'value'=>'nunique-of-dst_profile'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def values maybe_register_subclass('values', Values.new(parent_instance: self, client: @client, create_children: @create_children)) end class Labels < XML::ConfigClass def has_multiple_values?; true; end def _section :labels end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def labels maybe_register_subclass('labels', Labels.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'group-by'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'category-of-app'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'risk-of-app'}, {'value'=>'app'}, {'value'=>'src'}, {'value'=>'dst'}, {'value'=>'srcuser'}, {'value'=>'dstuser'}, {'value'=>'vsys'}, {'value'=>'tls_version'}, {'value'=>'tls_keyxchg'}, {'value'=>'tls_enc'}, {'value'=>'tls_auth'}, {'value'=>'sni'}, {'value'=>'error'}, {'value'=>'err_index'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'cluster_name'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'src_category'}, {'value'=>'src_profile'}, {'value'=>'src_model'}, {'value'=>'src_vendor'}, {'value'=>'src_osfamily'}, {'value'=>'src_osversion'}, {'value'=>'src_host'}, {'value'=>'src_mac'}, {'value'=>'dst_category'}, {'value'=>'dst_profile'}, {'value'=>'dst_model'}, {'value'=>'dst_vendor'}, {'value'=>'dst_osfamily'}, {'value'=>'dst_osversion'}, {'value'=>'dst_host'}, {'value'=>'dst_mac'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}]}, 'sortby'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'nunique-of-src_profile'}, {'value'=>'nunique-of-dst_profile'}]}} def group_by prop_get('group-by') end def group_by=(val) prop_set('group-by', val) end def sortby prop_get('sortby') end def sortby=(val) prop_set('sortby', val) end end def panorama_desum @subclasses['panorama-desum'] ||= PanoramaDesum.new(parent_instance: self, client: @client, create_children: @create_children) end class PanoramaThreat < ConfigClass def has_multiple_values?; false; end def _section :'panorama-threat' end class AggregateBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'src'}, {'value'=>'dst'}, {'value'=>'natsrc'}, {'value'=>'natdst'}, {'value'=>'rule'}, {'value'=>'srcuser'}, {'value'=>'dstuser'}, {'value'=>'srcloc'}, {'value'=>'dstloc'}, {'value'=>'app'}, {'value'=>'vsys'}, {'value'=>'from'}, {'value'=>'to'}, {'value'=>'inbound_if'}, {'value'=>'outbound_if'}, {'value'=>'sport'}, {'value'=>'dport'}, {'value'=>'natsport'}, {'value'=>'natdport'}, {'value'=>'proto'}, {'value'=>'action'}, {'value'=>'tunnel'}, {'value'=>'src_uuid'}, {'value'=>'dst_uuid'}, {'value'=>'rule_uuid'}, {'value'=>'s_encrypted'}, {'value'=>'category-of-app'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'risk-of-app'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'threatid'}, {'value'=>'category'}, {'value'=>'severity'}, {'value'=>'direction'}, {'value'=>'http_method'}, {'value'=>'nssai_sst'}, {'value'=>'filedigest'}, {'value'=>'filetype'}, {'value'=>'http2_connection'}, {'value'=>'xff_ip'}, {'value'=>'threat_name'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'dynusergroup_name'}, {'value'=>'hostid'}, {'value'=>'partial_hash'}, {'value'=>'cloud_reportid'}, {'value'=>'cluster_name'}, {'value'=>'flow_type'}, {'value'=>'src_category'}, {'value'=>'src_profile'}, {'value'=>'src_model'}, {'value'=>'src_vendor'}, {'value'=>'src_osfamily'}, {'value'=>'src_osversion'}, {'value'=>'src_host'}, {'value'=>'src_mac'}, {'value'=>'dst_category'}, {'value'=>'dst_profile'}, {'value'=>'dst_model'}, {'value'=>'dst_vendor'}, {'value'=>'dst_osfamily'}, {'value'=>'dst_osversion'}, {'value'=>'dst_host'}, {'value'=>'dst_mac'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'misc'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'pbf-s2c'}, {'value'=>'pbf-c2s'}, {'value'=>'flag-nat'}, {'value'=>'flag-pcap'}, {'value'=>'subtype'}, {'value'=>'transaction'}, {'value'=>'captive-portal'}, {'value'=>'flag-proxy'}, {'value'=>'non-std-dport'}, {'value'=>'tunnelid'}, {'value'=>'imsi'}, {'value'=>'monitortag'}, {'value'=>'imei'}, {'value'=>'users'}, {'value'=>'category-of-threatid'}, {'value'=>'threat-type'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def aggregate_by maybe_register_subclass('aggregate-by', AggregateBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Values < XML::ConfigClass def has_multiple_values?; true; end def _section :values end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'nunique-of-users'}, {'value'=>'nunique-of-src_profile'}, {'value'=>'nunique-of-dst_profile'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def values maybe_register_subclass('values', Values.new(parent_instance: self, client: @client, create_children: @create_children)) end class Labels < XML::ConfigClass def has_multiple_values?; true; end def _section :labels end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def labels maybe_register_subclass('labels', Labels.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'group-by'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'src'}, {'value'=>'dst'}, {'value'=>'natsrc'}, {'value'=>'natdst'}, {'value'=>'rule'}, {'value'=>'srcuser'}, {'value'=>'dstuser'}, {'value'=>'srcloc'}, {'value'=>'dstloc'}, {'value'=>'app'}, {'value'=>'vsys'}, {'value'=>'from'}, {'value'=>'to'}, {'value'=>'inbound_if'}, {'value'=>'outbound_if'}, {'value'=>'sport'}, {'value'=>'dport'}, {'value'=>'natsport'}, {'value'=>'natdport'}, {'value'=>'proto'}, {'value'=>'action'}, {'value'=>'tunnel'}, {'value'=>'src_uuid'}, {'value'=>'dst_uuid'}, {'value'=>'rule_uuid'}, {'value'=>'s_encrypted'}, {'value'=>'category-of-app'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'risk-of-app'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'threatid'}, {'value'=>'category'}, {'value'=>'severity'}, {'value'=>'direction'}, {'value'=>'http_method'}, {'value'=>'nssai_sst'}, {'value'=>'filedigest'}, {'value'=>'filetype'}, {'value'=>'http2_connection'}, {'value'=>'xff_ip'}, {'value'=>'threat_name'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'dynusergroup_name'}, {'value'=>'hostid'}, {'value'=>'partial_hash'}, {'value'=>'cloud_reportid'}, {'value'=>'cluster_name'}, {'value'=>'flow_type'}, {'value'=>'src_category'}, {'value'=>'src_profile'}, {'value'=>'src_model'}, {'value'=>'src_vendor'}, {'value'=>'src_osfamily'}, {'value'=>'src_osversion'}, {'value'=>'src_host'}, {'value'=>'src_mac'}, {'value'=>'dst_category'}, {'value'=>'dst_profile'}, {'value'=>'dst_model'}, {'value'=>'dst_vendor'}, {'value'=>'dst_osfamily'}, {'value'=>'dst_osversion'}, {'value'=>'dst_host'}, {'value'=>'dst_mac'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'misc'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'pbf-s2c'}, {'value'=>'pbf-c2s'}, {'value'=>'flag-nat'}, {'value'=>'flag-pcap'}, {'value'=>'subtype'}, {'value'=>'transaction'}, {'value'=>'captive-portal'}, {'value'=>'flag-proxy'}, {'value'=>'non-std-dport'}, {'value'=>'tunnelid'}, {'value'=>'imsi'}, {'value'=>'monitortag'}, {'value'=>'imei'}, {'value'=>'users'}, {'value'=>'category-of-threatid'}, {'value'=>'threat-type'}]}, 'sortby'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'nunique-of-users'}, {'value'=>'nunique-of-src_profile'}, {'value'=>'nunique-of-dst_profile'}]}} def group_by prop_get('group-by') end def group_by=(val) prop_set('group-by', val) end def sortby prop_get('sortby') end def sortby=(val) prop_set('sortby', val) end end def panorama_threat @subclasses['panorama-threat'] ||= PanoramaThreat.new(parent_instance: self, client: @client, create_children: @create_children) end class PanoramaUrl < ConfigClass def has_multiple_values?; false; end def _section :'panorama-url' end class AggregateBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'action'}, {'value'=>'app'}, {'value'=>'category'}, {'value'=>'category-of-app'}, {'value'=>'direction'}, {'value'=>'dport'}, {'value'=>'dst'}, {'value'=>'dstuser'}, {'value'=>'flag-pcap'}, {'value'=>'flag-proxy'}, {'value'=>'flag-nat'}, {'value'=>'captive-portal'}, {'value'=>'non-std-dport'}, {'value'=>'transaction'}, {'value'=>'pbf-c2s'}, {'value'=>'pbf-s2c'}, {'value'=>'from'}, {'value'=>'inbound_if'}, {'value'=>'misc'}, {'value'=>'http_headers'}, {'value'=>'natdport'}, {'value'=>'natdst'}, {'value'=>'natsport'}, {'value'=>'natsrc'}, {'value'=>'outbound_if'}, {'value'=>'proto'}, {'value'=>'risk-of-app'}, {'value'=>'rule'}, {'value'=>'rule_uuid'}, {'value'=>'severity'}, {'value'=>'sport'}, {'value'=>'src'}, {'value'=>'srcuser'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'to'}, {'value'=>'dstloc'}, {'value'=>'srcloc'}, {'value'=>'vsys'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'day-of-receive_time'}, {'value'=>'contenttype'}, {'value'=>'user_agent'}, {'value'=>'xff'}, {'value'=>'referer'}, {'value'=>'device_name'}, {'value'=>'vsys_name'}, {'value'=>'url', 'internal'=>'yes'}, {'value'=>'tunnelid'}, {'value'=>'monitortag'}, {'value'=>'imsi'}, {'value'=>'imei'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'http2_connection'}, {'value'=>'tunnel'}, {'value'=>'http_method'}, {'value'=>'url_category_list'}, {'value'=>'xff_ip'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'src_category'}, {'value'=>'src_profile'}, {'value'=>'src_model'}, {'value'=>'src_vendor'}, {'value'=>'src_osfamily'}, {'value'=>'src_osversion'}, {'value'=>'src_host'}, {'value'=>'src_mac'}, {'value'=>'dst_category'}, {'value'=>'dst_profile'}, {'value'=>'dst_model'}, {'value'=>'dst_vendor'}, {'value'=>'dst_osfamily'}, {'value'=>'dst_osversion'}, {'value'=>'dst_host'}, {'value'=>'dst_mac'}, {'value'=>'cloud_reportid'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def aggregate_by maybe_register_subclass('aggregate-by', AggregateBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Values < XML::ConfigClass def has_multiple_values?; true; end def _section :values end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'nunique-of-users'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def values maybe_register_subclass('values', Values.new(parent_instance: self, client: @client, create_children: @create_children)) end class Labels < XML::ConfigClass def has_multiple_values?; true; end def _section :labels end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def labels maybe_register_subclass('labels', Labels.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'group-by'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'action'}, {'value'=>'app'}, {'value'=>'category'}, {'value'=>'category-of-app'}, {'value'=>'direction'}, {'value'=>'dport'}, {'value'=>'dst'}, {'value'=>'dstuser'}, {'value'=>'from'}, {'value'=>'inbound_if'}, {'value'=>'misc'}, {'value'=>'http_headers'}, {'value'=>'natdport'}, {'value'=>'natdst'}, {'value'=>'natsport'}, {'value'=>'natsrc'}, {'value'=>'outbound_if'}, {'value'=>'proto'}, {'value'=>'risk-of-app'}, {'value'=>'rule'}, {'value'=>'rule_uuid'}, {'value'=>'severity'}, {'value'=>'sport'}, {'value'=>'src'}, {'value'=>'srcuser'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'to'}, {'value'=>'dstloc'}, {'value'=>'srcloc'}, {'value'=>'vsys'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'day-of-receive_time'}, {'value'=>'contenttype'}, {'value'=>'serial'}, {'value'=>'user_agent'}, {'value'=>'device_name'}, {'value'=>'vsys_name'}, {'value'=>'url', 'internal'=>'yes'}, {'value'=>'tunnelid'}, {'value'=>'monitortag'}, {'value'=>'imsi'}, {'value'=>'imei'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'http2_connection'}, {'value'=>'tunnel'}, {'value'=>'http_method'}, {'value'=>'url_category_list'}, {'value'=>'xff_ip'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'src_category'}, {'value'=>'src_profile'}, {'value'=>'src_model'}, {'value'=>'src_vendor'}, {'value'=>'src_osfamily'}, {'value'=>'src_osversion'}, {'value'=>'src_host'}, {'value'=>'src_mac'}, {'value'=>'dst_category'}, {'value'=>'dst_profile'}, {'value'=>'dst_model'}, {'value'=>'dst_vendor'}, {'value'=>'dst_osfamily'}, {'value'=>'dst_osversion'}, {'value'=>'dst_host'}, {'value'=>'dst_mac'}, {'value'=>'cloud_reportid'}]}, 'sortby'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'nunique-of-users'}]}} def group_by prop_get('group-by') end def group_by=(val) prop_set('group-by', val) end def sortby prop_get('sortby') end def sortby=(val) prop_set('sortby', val) end end def panorama_url @subclasses['panorama-url'] ||= PanoramaUrl.new(parent_instance: self, client: @client, create_children: @create_children) end class PanoramaWildfire < ConfigClass def has_multiple_values?; false; end def _section :'panorama-wildfire' end class AggregateBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'app'}, {'value'=>'category'}, {'value'=>'category-of-app'}, {'value'=>'dport'}, {'value'=>'dst'}, {'value'=>'dstuser'}, {'value'=>'flag-pcap'}, {'value'=>'flag-proxy'}, {'value'=>'flag-nat'}, {'value'=>'non-std-dport'}, {'value'=>'pbf-c2s'}, {'value'=>'pbf-s2c'}, {'value'=>'from'}, {'value'=>'inbound_if'}, {'value'=>'misc'}, {'value'=>'natdport'}, {'value'=>'natdst'}, {'value'=>'natsport'}, {'value'=>'natsrc'}, {'value'=>'outbound_if'}, {'value'=>'proto'}, {'value'=>'risk-of-app'}, {'value'=>'rule'}, {'value'=>'rule_uuid'}, {'value'=>'sport'}, {'value'=>'src'}, {'value'=>'srcuser'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'dstloc'}, {'value'=>'srcloc'}, {'value'=>'to'}, {'value'=>'vsys'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'day-of-receive_time'}, {'value'=>'filetype'}, {'value'=>'sender'}, {'value'=>'subject'}, {'value'=>'recipient'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'filename', 'internal'=>'yes'}, {'value'=>'filedigest'}, {'value'=>'tunnelid'}, {'value'=>'monitortag'}, {'value'=>'imsi'}, {'value'=>'imei'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'http2_connection'}, {'value'=>'tunnel'}, {'value'=>'xff_ip'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def aggregate_by maybe_register_subclass('aggregate-by', AggregateBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Values < XML::ConfigClass def has_multiple_values?; true; end def _section :values end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'nunique-of-users'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def values maybe_register_subclass('values', Values.new(parent_instance: self, client: @client, create_children: @create_children)) end class Labels < XML::ConfigClass def has_multiple_values?; true; end def _section :labels end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def labels maybe_register_subclass('labels', Labels.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'group-by'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'app'}, {'value'=>'category'}, {'value'=>'category-of-app'}, {'value'=>'dport'}, {'value'=>'dst'}, {'value'=>'dstuser'}, {'value'=>'from'}, {'value'=>'inbound_if'}, {'value'=>'misc'}, {'value'=>'natdport'}, {'value'=>'natdst'}, {'value'=>'natsport'}, {'value'=>'natsrc'}, {'value'=>'outbound_if'}, {'value'=>'proto'}, {'value'=>'risk-of-app'}, {'value'=>'rule'}, {'value'=>'rule_uuid'}, {'value'=>'sport'}, {'value'=>'src'}, {'value'=>'srcuser'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'to'}, {'value'=>'dstloc'}, {'value'=>'srcloc'}, {'value'=>'vsys'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'day-of-receive_time'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'filetype'}, {'value'=>'filename', 'internal'=>'yes'}, {'value'=>'filedigest'}, {'value'=>'tunnelid'}, {'value'=>'monitortag'}, {'value'=>'imsi'}, {'value'=>'imei'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'http2_connection'}, {'value'=>'tunnel'}, {'value'=>'xff_ip'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}]}, 'sortby'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'nunique-of-users'}]}} def group_by prop_get('group-by') end def group_by=(val) prop_set('group-by', val) end def sortby prop_get('sortby') end def sortby=(val) prop_set('sortby', val) end end def panorama_wildfire @subclasses['panorama-wildfire'] ||= PanoramaWildfire.new(parent_instance: self, client: @client, create_children: @create_children) end class PanoramaData < ConfigClass def has_multiple_values?; false; end def _section :'panorama-data' end class AggregateBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'action'}, {'value'=>'app'}, {'value'=>'category-of-app'}, {'value'=>'direction'}, {'value'=>'dport'}, {'value'=>'dst'}, {'value'=>'dstuser'}, {'value'=>'flag-pcap'}, {'value'=>'flag-proxy'}, {'value'=>'flag-nat'}, {'value'=>'captive-portal'}, {'value'=>'non-std-dport'}, {'value'=>'transaction'}, {'value'=>'pbf-c2s'}, {'value'=>'pbf-s2c'}, {'value'=>'from'}, {'value'=>'inbound_if'}, {'value'=>'misc'}, {'value'=>'natdport'}, {'value'=>'natdst'}, {'value'=>'natsport'}, {'value'=>'natsrc'}, {'value'=>'outbound_if'}, {'value'=>'proto'}, {'value'=>'risk-of-app'}, {'value'=>'rule'}, {'value'=>'rule_uuid'}, {'value'=>'severity'}, {'value'=>'sport'}, {'value'=>'src'}, {'value'=>'srcuser'}, {'value'=>'subcategory-of-app'}, {'value'=>'subtype'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'threatid'}, {'value'=>'to'}, {'value'=>'dstloc'}, {'value'=>'srcloc'}, {'value'=>'vsys'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'day-of-receive_time'}, {'value'=>'device_name'}, {'value'=>'vsys_name'}, {'value'=>'data-type', 'internal'=>'yes'}, {'value'=>'filename', 'internal'=>'yes'}, {'value'=>'tunnelid'}, {'value'=>'monitortag'}, {'value'=>'imsi'}, {'value'=>'imei'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'http2_connection'}, {'value'=>'tunnel'}, {'value'=>'xff_ip'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'filedigest'}, {'value'=>'filetype'}, {'value'=>'reason'}, {'value'=>'src_category'}, {'value'=>'src_profile'}, {'value'=>'src_model'}, {'value'=>'src_vendor'}, {'value'=>'src_osfamily'}, {'value'=>'src_osversion'}, {'value'=>'src_host'}, {'value'=>'src_mac'}, {'value'=>'dst_category'}, {'value'=>'dst_profile'}, {'value'=>'dst_model'}, {'value'=>'dst_vendor'}, {'value'=>'dst_osfamily'}, {'value'=>'dst_osversion'}, {'value'=>'dst_host'}, {'value'=>'dst_mac'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def aggregate_by maybe_register_subclass('aggregate-by', AggregateBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Values < XML::ConfigClass def has_multiple_values?; true; end def _section :values end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'nunique-of-users'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def values maybe_register_subclass('values', Values.new(parent_instance: self, client: @client, create_children: @create_children)) end class Labels < XML::ConfigClass def has_multiple_values?; true; end def _section :labels end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def labels maybe_register_subclass('labels', Labels.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'group-by'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'action'}, {'value'=>'app'}, {'value'=>'category-of-app'}, {'value'=>'direction'}, {'value'=>'dport'}, {'value'=>'dst'}, {'value'=>'dstuser'}, {'value'=>'from'}, {'value'=>'inbound_if'}, {'value'=>'misc'}, {'value'=>'natdport'}, {'value'=>'natdst'}, {'value'=>'natsport'}, {'value'=>'natsrc'}, {'value'=>'outbound_if'}, {'value'=>'proto'}, {'value'=>'risk-of-app'}, {'value'=>'rule'}, {'value'=>'rule_uuid'}, {'value'=>'severity'}, {'value'=>'sport'}, {'value'=>'src'}, {'value'=>'srcuser'}, {'value'=>'subcategory-of-app'}, {'value'=>'subtype'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'threatid'}, {'value'=>'to'}, {'value'=>'dstloc'}, {'value'=>'srcloc'}, {'value'=>'vsys'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'day-of-receive_time'}, {'value'=>'serial'}, {'value'=>'device_name'}, {'value'=>'vsys_name'}, {'value'=>'data-type', 'internal'=>'yes'}, {'value'=>'filename', 'internal'=>'yes'}, {'value'=>'tunnelid'}, {'value'=>'monitortag'}, {'value'=>'imsi'}, {'value'=>'imei'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'http2_connection'}, {'value'=>'tunnel'}, {'value'=>'xff_ip'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'src_category'}, {'value'=>'src_profile'}, {'value'=>'src_model'}, {'value'=>'src_vendor'}, {'value'=>'src_osfamily'}, {'value'=>'src_osversion'}, {'value'=>'src_host'}, {'value'=>'src_mac'}, {'value'=>'dst_category'}, {'value'=>'dst_profile'}, {'value'=>'dst_model'}, {'value'=>'dst_vendor'}, {'value'=>'dst_osfamily'}, {'value'=>'dst_osversion'}, {'value'=>'dst_host'}, {'value'=>'dst_mac'}]}, 'sortby'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'nunique-of-users'}]}} def group_by prop_get('group-by') end def group_by=(val) prop_set('group-by', val) end def sortby prop_get('sortby') end def sortby=(val) prop_set('sortby', val) end end def panorama_data @subclasses['panorama-data'] ||= PanoramaData.new(parent_instance: self, client: @client, create_children: @create_children) end class PanoramaThsum < ConfigClass def has_multiple_values?; false; end def _section :'panorama-thsum' end class AggregateBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'app'}, {'value'=>'src'}, {'value'=>'dst'}, {'value'=>'rule'}, {'value'=>'threatid'}, {'value'=>'srcuser'}, {'value'=>'dstuser'}, {'value'=>'srcloc'}, {'value'=>'dstloc'}, {'value'=>'xff_ip'}, {'value'=>'vsys'}, {'value'=>'from'}, {'value'=>'to'}, {'value'=>'dev_serial'}, {'value'=>'dport'}, {'value'=>'action'}, {'value'=>'severity'}, {'value'=>'inbound_if'}, {'value'=>'outbound_if'}, {'value'=>'category'}, {'value'=>'category-of-app'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'risk-of-app'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'tunnel'}, {'value'=>'direction'}, {'value'=>'assoc_id'}, {'value'=>'ppid'}, {'value'=>'http2_connection'}, {'value'=>'rule_uuid'}, {'value'=>'threat_name'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'hostid'}, {'value'=>'dynusergroup_name'}, {'value'=>'nssai_sst'}, {'value'=>'cluster_name'}, {'value'=>'src_category'}, {'value'=>'src_profile'}, {'value'=>'src_model'}, {'value'=>'src_vendor'}, {'value'=>'src_osfamily'}, {'value'=>'src_osversion'}, {'value'=>'src_host'}, {'value'=>'src_mac'}, {'value'=>'dst_category'}, {'value'=>'dst_profile'}, {'value'=>'dst_model'}, {'value'=>'dst_vendor'}, {'value'=>'dst_osfamily'}, {'value'=>'dst_osversion'}, {'value'=>'dst_host'}, {'value'=>'dst_mac'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'subtype'}, {'value'=>'tunnelid'}, {'value'=>'imsi'}, {'value'=>'monitortag'}, {'value'=>'imei'}, {'value'=>'category-of-threatid'}, {'value'=>'threat-type'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def aggregate_by maybe_register_subclass('aggregate-by', AggregateBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Values < XML::ConfigClass def has_multiple_values?; true; end def _section :values end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'sessions'}, {'value'=>'count'}, {'value'=>'nunique-of-apps'}, {'value'=>'nunique-of-users'}, {'value'=>'nunique-of-src_profile'}, {'value'=>'nunique-of-dst_profile'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def values maybe_register_subclass('values', Values.new(parent_instance: self, client: @client, create_children: @create_children)) end class Labels < XML::ConfigClass def has_multiple_values?; true; end def _section :labels end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def labels maybe_register_subclass('labels', Labels.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'group-by'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'app'}, {'value'=>'src'}, {'value'=>'dst'}, {'value'=>'rule'}, {'value'=>'threatid'}, {'value'=>'srcuser'}, {'value'=>'dstuser'}, {'value'=>'srcloc'}, {'value'=>'dstloc'}, {'value'=>'xff_ip'}, {'value'=>'vsys'}, {'value'=>'from'}, {'value'=>'to'}, {'value'=>'dev_serial'}, {'value'=>'dport'}, {'value'=>'action'}, {'value'=>'severity'}, {'value'=>'inbound_if'}, {'value'=>'outbound_if'}, {'value'=>'category'}, {'value'=>'category-of-app'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'risk-of-app'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'tunnel'}, {'value'=>'direction'}, {'value'=>'assoc_id'}, {'value'=>'ppid'}, {'value'=>'http2_connection'}, {'value'=>'rule_uuid'}, {'value'=>'threat_name'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'hostid'}, {'value'=>'dynusergroup_name'}, {'value'=>'nssai_sst'}, {'value'=>'cluster_name'}, {'value'=>'src_category'}, {'value'=>'src_profile'}, {'value'=>'src_model'}, {'value'=>'src_vendor'}, {'value'=>'src_osfamily'}, {'value'=>'src_osversion'}, {'value'=>'src_host'}, {'value'=>'src_mac'}, {'value'=>'dst_category'}, {'value'=>'dst_profile'}, {'value'=>'dst_model'}, {'value'=>'dst_vendor'}, {'value'=>'dst_osfamily'}, {'value'=>'dst_osversion'}, {'value'=>'dst_host'}, {'value'=>'dst_mac'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'subtype'}, {'value'=>'tunnelid'}, {'value'=>'imsi'}, {'value'=>'monitortag'}, {'value'=>'imei'}, {'value'=>'category-of-threatid'}, {'value'=>'threat-type'}]}, 'sortby'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'sessions'}, {'value'=>'count'}, {'value'=>'nunique-of-apps'}, {'value'=>'nunique-of-users'}, {'value'=>'nunique-of-src_profile'}, {'value'=>'nunique-of-dst_profile'}]}} def group_by prop_get('group-by') end def group_by=(val) prop_set('group-by', val) end def sortby prop_get('sortby') end def sortby=(val) prop_set('sortby', val) end end def panorama_thsum @subclasses['panorama-thsum'] ||= PanoramaThsum.new(parent_instance: self, client: @client, create_children: @create_children) end class PanoramaTraffic < ConfigClass def has_multiple_values?; false; end def _section :'panorama-traffic' end class AggregateBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'src'}, {'value'=>'dst'}, {'value'=>'natsrc'}, {'value'=>'natdst'}, {'value'=>'rule'}, {'value'=>'srcuser'}, {'value'=>'dstuser'}, {'value'=>'srcloc'}, {'value'=>'dstloc'}, {'value'=>'app'}, {'value'=>'vsys'}, {'value'=>'from'}, {'value'=>'to'}, {'value'=>'inbound_if'}, {'value'=>'outbound_if'}, {'value'=>'sport'}, {'value'=>'dport'}, {'value'=>'natsport'}, {'value'=>'natdport'}, {'value'=>'proto'}, {'value'=>'action'}, {'value'=>'tunnel'}, {'value'=>'src_uuid'}, {'value'=>'dst_uuid'}, {'value'=>'rule_uuid'}, {'value'=>'s_encrypted'}, {'value'=>'category-of-app'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'risk-of-app'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'category'}, {'value'=>'session_end_reason'}, {'value'=>'action_source'}, {'value'=>'nssai_sst'}, {'value'=>'nssai_sd'}, {'value'=>'http2_connection'}, {'value'=>'xff_ip'}, {'value'=>'dynusergroup_name'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'hostid'}, {'value'=>'session_owner'}, {'value'=>'policy_id'}, {'value'=>'offloaded'}, {'value'=>'flow_type'}, {'value'=>'cluster_name'}, {'value'=>'src_category'}, {'value'=>'src_profile'}, {'value'=>'src_model'}, {'value'=>'src_vendor'}, {'value'=>'src_osfamily'}, {'value'=>'src_osversion'}, {'value'=>'src_host'}, {'value'=>'src_mac'}, {'value'=>'dst_category'}, {'value'=>'dst_profile'}, {'value'=>'dst_model'}, {'value'=>'dst_vendor'}, {'value'=>'dst_osfamily'}, {'value'=>'dst_osversion'}, {'value'=>'dst_host'}, {'value'=>'dst_mac'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'pbf-s2c'}, {'value'=>'pbf-c2s'}, {'value'=>'decrypt-mirror'}, {'value'=>'threat-type'}, {'value'=>'flag-nat'}, {'value'=>'flag-pcap'}, {'value'=>'captive-portal'}, {'value'=>'flag-proxy'}, {'value'=>'non-std-dport'}, {'value'=>'transaction'}, {'value'=>'sym-return'}, {'value'=>'sessionid'}, {'value'=>'flag-decrypt-fwd'}, {'value'=>'tunnelid'}, {'value'=>'imsi'}, {'value'=>'monitortag'}, {'value'=>'imei'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def aggregate_by maybe_register_subclass('aggregate-by', AggregateBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Values < XML::ConfigClass def has_multiple_values?; true; end def _section :values end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'bytes'}, {'value'=>'bytes_sent'}, {'value'=>'bytes_received'}, {'value'=>'packets'}, {'value'=>'pkts_sent'}, {'value'=>'pkts_received'}, {'value'=>'chunks'}, {'value'=>'chunks_sent'}, {'value'=>'chunks_received'}, {'value'=>'nunique-of-users'}, {'value'=>'elapsed'}, {'value'=>'nunique-of-src_profile'}, {'value'=>'nunique-of-dst_profile'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def values maybe_register_subclass('values', Values.new(parent_instance: self, client: @client, create_children: @create_children)) end class Labels < XML::ConfigClass def has_multiple_values?; true; end def _section :labels end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def labels maybe_register_subclass('labels', Labels.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'group-by'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'src'}, {'value'=>'dst'}, {'value'=>'natsrc'}, {'value'=>'natdst'}, {'value'=>'rule'}, {'value'=>'srcuser'}, {'value'=>'dstuser'}, {'value'=>'srcloc'}, {'value'=>'dstloc'}, {'value'=>'app'}, {'value'=>'vsys'}, {'value'=>'from'}, {'value'=>'to'}, {'value'=>'inbound_if'}, {'value'=>'outbound_if'}, {'value'=>'sport'}, {'value'=>'dport'}, {'value'=>'natsport'}, {'value'=>'natdport'}, {'value'=>'proto'}, {'value'=>'action'}, {'value'=>'tunnel'}, {'value'=>'src_uuid'}, {'value'=>'dst_uuid'}, {'value'=>'rule_uuid'}, {'value'=>'s_encrypted'}, {'value'=>'category-of-app'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'risk-of-app'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'category'}, {'value'=>'session_end_reason'}, {'value'=>'action_source'}, {'value'=>'nssai_sst'}, {'value'=>'nssai_sd'}, {'value'=>'http2_connection'}, {'value'=>'xff_ip'}, {'value'=>'dynusergroup_name'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'hostid'}, {'value'=>'session_owner'}, {'value'=>'policy_id'}, {'value'=>'offloaded'}, {'value'=>'flow_type'}, {'value'=>'cluster_name'}, {'value'=>'src_category'}, {'value'=>'src_profile'}, {'value'=>'src_model'}, {'value'=>'src_vendor'}, {'value'=>'src_osfamily'}, {'value'=>'src_osversion'}, {'value'=>'src_host'}, {'value'=>'src_mac'}, {'value'=>'dst_category'}, {'value'=>'dst_profile'}, {'value'=>'dst_model'}, {'value'=>'dst_vendor'}, {'value'=>'dst_osfamily'}, {'value'=>'dst_osversion'}, {'value'=>'dst_host'}, {'value'=>'dst_mac'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'pbf-s2c'}, {'value'=>'pbf-c2s'}, {'value'=>'decrypt-mirror'}, {'value'=>'threat-type'}, {'value'=>'flag-nat'}, {'value'=>'flag-pcap'}, {'value'=>'captive-portal'}, {'value'=>'flag-proxy'}, {'value'=>'non-std-dport'}, {'value'=>'transaction'}, {'value'=>'sym-return'}, {'value'=>'sessionid'}, {'value'=>'flag-decrypt-fwd'}, {'value'=>'tunnelid'}, {'value'=>'imsi'}, {'value'=>'monitortag'}, {'value'=>'imei'}]}, 'sortby'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'bytes'}, {'value'=>'bytes_sent'}, {'value'=>'bytes_received'}, {'value'=>'packets'}, {'value'=>'pkts_sent'}, {'value'=>'pkts_received'}, {'value'=>'chunks'}, {'value'=>'chunks_sent'}, {'value'=>'chunks_received'}, {'value'=>'nunique-of-users'}, {'value'=>'elapsed'}, {'value'=>'nunique-of-src_profile'}, {'value'=>'nunique-of-dst_profile'}]}} def group_by prop_get('group-by') end def group_by=(val) prop_set('group-by', val) end def sortby prop_get('sortby') end def sortby=(val) prop_set('sortby', val) end end def panorama_traffic @subclasses['panorama-traffic'] ||= PanoramaTraffic.new(parent_instance: self, client: @client, create_children: @create_children) end class PanoramaUrlsum < ConfigClass def has_multiple_values?; false; end def _section :'panorama-urlsum' end class AggregateBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'app'}, {'value'=>'category'}, {'value'=>'src'}, {'value'=>'dst'}, {'value'=>'rule'}, {'value'=>'srcuser'}, {'value'=>'dstuser'}, {'value'=>'srcloc'}, {'value'=>'dstloc'}, {'value'=>'vsys'}, {'value'=>'from'}, {'value'=>'to'}, {'value'=>'dev_serial'}, {'value'=>'inbound_if'}, {'value'=>'outbound_if'}, {'value'=>'dport'}, {'value'=>'action'}, {'value'=>'tunnel'}, {'value'=>'url_domain'}, {'value'=>'user_agent'}, {'value'=>'http_method'}, {'value'=>'http2_connection'}, {'value'=>'category-of-app'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'risk-of-app'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'rule_uuid'}, {'value'=>'xff_ip'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'hostid'}, {'value'=>'dynusergroup_name'}, {'value'=>'nssai_sst'}, {'value'=>'cluster_name'}, {'value'=>'src_category'}, {'value'=>'src_profile'}, {'value'=>'src_model'}, {'value'=>'src_vendor'}, {'value'=>'src_osfamily'}, {'value'=>'src_osversion'}, {'value'=>'src_host'}, {'value'=>'src_mac'}, {'value'=>'dst_category'}, {'value'=>'dst_profile'}, {'value'=>'dst_model'}, {'value'=>'dst_vendor'}, {'value'=>'dst_osfamily'}, {'value'=>'dst_osversion'}, {'value'=>'dst_host'}, {'value'=>'dst_mac'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'url_category_list'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'tunnelid'}, {'value'=>'imsi'}, {'value'=>'monitortag'}, {'value'=>'imei'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def aggregate_by maybe_register_subclass('aggregate-by', AggregateBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Values < XML::ConfigClass def has_multiple_values?; true; end def _section :values end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'nunique-of-users'}, {'value'=>'nunique-of-src_profile'}, {'value'=>'nunique-of-dst_profile'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def values maybe_register_subclass('values', Values.new(parent_instance: self, client: @client, create_children: @create_children)) end class Labels < XML::ConfigClass def has_multiple_values?; true; end def _section :labels end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def labels maybe_register_subclass('labels', Labels.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'group-by'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'app'}, {'value'=>'category'}, {'value'=>'src'}, {'value'=>'dst'}, {'value'=>'rule'}, {'value'=>'srcuser'}, {'value'=>'dstuser'}, {'value'=>'srcloc'}, {'value'=>'dstloc'}, {'value'=>'vsys'}, {'value'=>'from'}, {'value'=>'to'}, {'value'=>'dev_serial'}, {'value'=>'inbound_if'}, {'value'=>'outbound_if'}, {'value'=>'dport'}, {'value'=>'action'}, {'value'=>'tunnel'}, {'value'=>'url_domain'}, {'value'=>'user_agent'}, {'value'=>'http_method'}, {'value'=>'http2_connection'}, {'value'=>'category-of-app'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'risk-of-app'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'rule_uuid'}, {'value'=>'xff_ip'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'hostid'}, {'value'=>'dynusergroup_name'}, {'value'=>'nssai_sst'}, {'value'=>'cluster_name'}, {'value'=>'src_category'}, {'value'=>'src_profile'}, {'value'=>'src_model'}, {'value'=>'src_vendor'}, {'value'=>'src_osfamily'}, {'value'=>'src_osversion'}, {'value'=>'src_host'}, {'value'=>'src_mac'}, {'value'=>'dst_category'}, {'value'=>'dst_profile'}, {'value'=>'dst_model'}, {'value'=>'dst_vendor'}, {'value'=>'dst_osfamily'}, {'value'=>'dst_osversion'}, {'value'=>'dst_host'}, {'value'=>'dst_mac'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'url_category_list'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'tunnelid'}, {'value'=>'imsi'}, {'value'=>'monitortag'}, {'value'=>'imei'}]}, 'sortby'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'nunique-of-users'}, {'value'=>'nunique-of-src_profile'}, {'value'=>'nunique-of-dst_profile'}]}} def group_by prop_get('group-by') end def group_by=(val) prop_set('group-by', val) end def sortby prop_get('sortby') end def sortby=(val) prop_set('sortby', val) end end def panorama_urlsum @subclasses['panorama-urlsum'] ||= PanoramaUrlsum.new(parent_instance: self, client: @client, create_children: @create_children) end class PanoramaTrsum < ConfigClass def has_multiple_values?; false; end def _section :'panorama-trsum' end class AggregateBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'app'}, {'value'=>'src'}, {'value'=>'dst'}, {'value'=>'xff_ip'}, {'value'=>'rule'}, {'value'=>'srcuser'}, {'value'=>'dstuser'}, {'value'=>'srcloc'}, {'value'=>'dstloc'}, {'value'=>'category'}, {'value'=>'vsys'}, {'value'=>'from'}, {'value'=>'to'}, {'value'=>'dev_serial'}, {'value'=>'dport'}, {'value'=>'action'}, {'value'=>'tunnel'}, {'value'=>'inbound_if'}, {'value'=>'outbound_if'}, {'value'=>'category-of-app'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'risk-of-app'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'assoc_id'}, {'value'=>'http2_connection'}, {'value'=>'rule_uuid'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'dynusergroup_name'}, {'value'=>'s_decrypted'}, {'value'=>'s_encrypted'}, {'value'=>'hostid'}, {'value'=>'nssai_sst'}, {'value'=>'cluster_name'}, {'value'=>'flow_type'}, {'value'=>'src_category'}, {'value'=>'src_profile'}, {'value'=>'src_model'}, {'value'=>'src_vendor'}, {'value'=>'src_osfamily'}, {'value'=>'src_osversion'}, {'value'=>'src_host'}, {'value'=>'src_mac'}, {'value'=>'dst_category'}, {'value'=>'dst_profile'}, {'value'=>'dst_model'}, {'value'=>'dst_vendor'}, {'value'=>'dst_osfamily'}, {'value'=>'dst_osversion'}, {'value'=>'dst_host'}, {'value'=>'dst_mac'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'tunnelid'}, {'value'=>'imsi'}, {'value'=>'monitortag'}, {'value'=>'imei'}, {'value'=>'standard-ports-of-app'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def aggregate_by maybe_register_subclass('aggregate-by', AggregateBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Values < XML::ConfigClass def has_multiple_values?; true; end def _section :values end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'bytes'}, {'value'=>'sessions'}, {'value'=>'bytes_sent'}, {'value'=>'bytes_received'}, {'value'=>'nthreats'}, {'value'=>'nftrans'}, {'value'=>'ndpmatches'}, {'value'=>'nurlcount'}, {'value'=>'chunks'}, {'value'=>'chunks_sent'}, {'value'=>'chunks_received'}, {'value'=>'ncontent'}, {'value'=>'nunique-of-apps'}, {'value'=>'nunique-of-users'}, {'value'=>'nunique-of-src_profile'}, {'value'=>'nunique-of-dst_profile'}, {'value'=>'s_decrypted'}, {'value'=>'s_encrypted'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def values maybe_register_subclass('values', Values.new(parent_instance: self, client: @client, create_children: @create_children)) end class Labels < XML::ConfigClass def has_multiple_values?; true; end def _section :labels end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def labels maybe_register_subclass('labels', Labels.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'group-by'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'app'}, {'value'=>'src'}, {'value'=>'dst'}, {'value'=>'xff_ip'}, {'value'=>'rule'}, {'value'=>'srcuser'}, {'value'=>'dstuser'}, {'value'=>'srcloc'}, {'value'=>'dstloc'}, {'value'=>'category'}, {'value'=>'vsys'}, {'value'=>'from'}, {'value'=>'to'}, {'value'=>'dev_serial'}, {'value'=>'dport'}, {'value'=>'action'}, {'value'=>'tunnel'}, {'value'=>'inbound_if'}, {'value'=>'outbound_if'}, {'value'=>'category-of-app'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'risk-of-app'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'assoc_id'}, {'value'=>'http2_connection'}, {'value'=>'rule_uuid'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'dynusergroup_name'}, {'value'=>'s_decrypted'}, {'value'=>'s_encrypted'}, {'value'=>'hostid'}, {'value'=>'nssai_sst'}, {'value'=>'cluster_name'}, {'value'=>'flow_type'}, {'value'=>'src_category'}, {'value'=>'src_profile'}, {'value'=>'src_model'}, {'value'=>'src_vendor'}, {'value'=>'src_osfamily'}, {'value'=>'src_osversion'}, {'value'=>'src_host'}, {'value'=>'src_mac'}, {'value'=>'dst_category'}, {'value'=>'dst_profile'}, {'value'=>'dst_model'}, {'value'=>'dst_vendor'}, {'value'=>'dst_osfamily'}, {'value'=>'dst_osversion'}, {'value'=>'dst_host'}, {'value'=>'dst_mac'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'tunnelid'}, {'value'=>'imsi'}, {'value'=>'monitortag'}, {'value'=>'imei'}, {'value'=>'standard-ports-of-app'}]}, 'sortby'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'bytes'}, {'value'=>'sessions'}, {'value'=>'bytes_sent'}, {'value'=>'bytes_received'}, {'value'=>'nthreats'}, {'value'=>'nftrans'}, {'value'=>'ndpmatches'}, {'value'=>'nurlcount'}, {'value'=>'chunks'}, {'value'=>'chunks_sent'}, {'value'=>'chunks_received'}, {'value'=>'ncontent'}, {'value'=>'nunique-of-apps'}, {'value'=>'nunique-of-users'}, {'value'=>'nunique-of-src_profile'}, {'value'=>'nunique-of-dst_profile'}]}} def group_by prop_get('group-by') end def group_by=(val) prop_set('group-by', val) end def sortby prop_get('sortby') end def sortby=(val) prop_set('sortby', val) end end def panorama_trsum @subclasses['panorama-trsum'] ||= PanoramaTrsum.new(parent_instance: self, client: @client, create_children: @create_children) end class PanoramaGtp < ConfigClass def has_multiple_values?; false; end def _section :'panorama-gtp' end class AggregateBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'src'}, {'value'=>'dst'}, {'value'=>'natsrc'}, {'value'=>'natdst'}, {'value'=>'rule'}, {'value'=>'srcuser'}, {'value'=>'dstuser'}, {'value'=>'srcloc'}, {'value'=>'dstloc'}, {'value'=>'app'}, {'value'=>'vsys'}, {'value'=>'from'}, {'value'=>'to'}, {'value'=>'inbound_if'}, {'value'=>'outbound_if'}, {'value'=>'sport'}, {'value'=>'dport'}, {'value'=>'natsport'}, {'value'=>'natdport'}, {'value'=>'proto'}, {'value'=>'action'}, {'value'=>'tunnel'}, {'value'=>'src_uuid'}, {'value'=>'dst_uuid'}, {'value'=>'rule_uuid'}, {'value'=>'s_encrypted'}, {'value'=>'category-of-app'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'risk-of-app'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'end_ip_addr'}, {'value'=>'msisdn'}, {'value'=>'nssai_sd'}, {'value'=>'nssai_sst'}, {'value'=>'pdu_session_id'}, {'value'=>'apn'}, {'value'=>'cause_code'}, {'value'=>'mcc'}, {'value'=>'mnc'}, {'value'=>'cell_id'}, {'value'=>'event_code'}, {'value'=>'msg_type'}, {'value'=>'area_code'}, {'value'=>'session_end_reason'}, {'value'=>'action_source'}, {'value'=>'event_type'}, {'value'=>'severity'}, {'value'=>'rat'}, {'value'=>'gtp_interface'}, {'value'=>'remote_user_ip'}, {'value'=>'remote_user_id'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'dynusergroup_name'}, {'value'=>'cluster_name'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'imei'}, {'value'=>'imsi'}, {'value'=>'sessionid'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def aggregate_by maybe_register_subclass('aggregate-by', AggregateBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Values < XML::ConfigClass def has_multiple_values?; true; end def _section :values end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'nunique-of-users'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def values maybe_register_subclass('values', Values.new(parent_instance: self, client: @client, create_children: @create_children)) end class Labels < XML::ConfigClass def has_multiple_values?; true; end def _section :labels end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def labels maybe_register_subclass('labels', Labels.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'group-by'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'src'}, {'value'=>'dst'}, {'value'=>'natsrc'}, {'value'=>'natdst'}, {'value'=>'rule'}, {'value'=>'srcuser'}, {'value'=>'dstuser'}, {'value'=>'srcloc'}, {'value'=>'dstloc'}, {'value'=>'app'}, {'value'=>'vsys'}, {'value'=>'from'}, {'value'=>'to'}, {'value'=>'inbound_if'}, {'value'=>'outbound_if'}, {'value'=>'sport'}, {'value'=>'dport'}, {'value'=>'natsport'}, {'value'=>'natdport'}, {'value'=>'proto'}, {'value'=>'action'}, {'value'=>'tunnel'}, {'value'=>'src_uuid'}, {'value'=>'dst_uuid'}, {'value'=>'rule_uuid'}, {'value'=>'s_encrypted'}, {'value'=>'category-of-app'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'risk-of-app'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'end_ip_addr'}, {'value'=>'msisdn'}, {'value'=>'nssai_sd'}, {'value'=>'nssai_sst'}, {'value'=>'pdu_session_id'}, {'value'=>'apn'}, {'value'=>'cause_code'}, {'value'=>'mcc'}, {'value'=>'mnc'}, {'value'=>'cell_id'}, {'value'=>'event_code'}, {'value'=>'msg_type'}, {'value'=>'area_code'}, {'value'=>'session_end_reason'}, {'value'=>'action_source'}, {'value'=>'event_type'}, {'value'=>'severity'}, {'value'=>'rat'}, {'value'=>'gtp_interface'}, {'value'=>'remote_user_ip'}, {'value'=>'remote_user_id'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'dynusergroup_name'}, {'value'=>'cluster_name'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'imei'}, {'value'=>'imsi'}, {'value'=>'sessionid'}]}, 'sortby'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'nunique-of-users'}, {'value'=>'severity'}]}} def group_by prop_get('group-by') end def group_by=(val) prop_set('group-by', val) end def sortby prop_get('sortby') end def sortby=(val) prop_set('sortby', val) end end def panorama_gtp @subclasses['panorama-gtp'] ||= PanoramaGtp.new(parent_instance: self, client: @client, create_children: @create_children) end class PanoramaGtpsum < ConfigClass def has_multiple_values?; false; end def _section :'panorama-gtpsum' end class AggregateBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'app'}, {'value'=>'src'}, {'value'=>'dst'}, {'value'=>'rule'}, {'value'=>'srcloc'}, {'value'=>'dstloc'}, {'value'=>'vsys'}, {'value'=>'dev_serial'}, {'value'=>'msisdn'}, {'value'=>'nssai_sd'}, {'value'=>'nssai_sst'}, {'value'=>'pdu_session_id'}, {'value'=>'apn'}, {'value'=>'cause_code'}, {'value'=>'mcc'}, {'value'=>'mnc'}, {'value'=>'action'}, {'value'=>'event_type'}, {'value'=>'severity'}, {'value'=>'rat'}, {'value'=>'msg_type'}, {'value'=>'tunnel'}, {'value'=>'tunnel_insp_rule'}, {'value'=>'remote_user_ip'}, {'value'=>'remote_user_id'}, {'value'=>'rule_uuid'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'cluster_name'}, {'value'=>'category-of-app'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'risk-of-app'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'imei'}, {'value'=>'imsi'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def aggregate_by maybe_register_subclass('aggregate-by', AggregateBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Values < XML::ConfigClass def has_multiple_values?; true; end def _section :values end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'repeatcnt'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def values maybe_register_subclass('values', Values.new(parent_instance: self, client: @client, create_children: @create_children)) end class Labels < XML::ConfigClass def has_multiple_values?; true; end def _section :labels end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def labels maybe_register_subclass('labels', Labels.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'group-by'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'app'}, {'value'=>'src'}, {'value'=>'dst'}, {'value'=>'rule'}, {'value'=>'srcloc'}, {'value'=>'dstloc'}, {'value'=>'vsys'}, {'value'=>'dev_serial'}, {'value'=>'msisdn'}, {'value'=>'nssai_sd'}, {'value'=>'nssai_sst'}, {'value'=>'pdu_session_id'}, {'value'=>'apn'}, {'value'=>'cause_code'}, {'value'=>'mcc'}, {'value'=>'mnc'}, {'value'=>'action'}, {'value'=>'event_type'}, {'value'=>'severity'}, {'value'=>'rat'}, {'value'=>'msg_type'}, {'value'=>'tunnel'}, {'value'=>'tunnel_insp_rule'}, {'value'=>'remote_user_ip'}, {'value'=>'remote_user_id'}, {'value'=>'rule_uuid'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'cluster_name'}, {'value'=>'category-of-app'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'risk-of-app'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'imei'}, {'value'=>'imsi'}]}, 'sortby'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'severity'}]}} def group_by prop_get('group-by') end def group_by=(val) prop_set('group-by', val) end def sortby prop_get('sortby') end def sortby=(val) prop_set('sortby', val) end end def panorama_gtpsum @subclasses['panorama-gtpsum'] ||= PanoramaGtpsum.new(parent_instance: self, client: @client, create_children: @create_children) end class PanoramaSctp < ConfigClass def has_multiple_values?; false; end def _section :'panorama-sctp' end class AggregateBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'src'}, {'value'=>'dst'}, {'value'=>'natsrc'}, {'value'=>'natdst'}, {'value'=>'rule'}, {'value'=>'srcuser'}, {'value'=>'dstuser'}, {'value'=>'srcloc'}, {'value'=>'dstloc'}, {'value'=>'app'}, {'value'=>'vsys'}, {'value'=>'from'}, {'value'=>'to'}, {'value'=>'inbound_if'}, {'value'=>'outbound_if'}, {'value'=>'sport'}, {'value'=>'dport'}, {'value'=>'natsport'}, {'value'=>'natdport'}, {'value'=>'proto'}, {'value'=>'action'}, {'value'=>'tunnel'}, {'value'=>'src_uuid'}, {'value'=>'dst_uuid'}, {'value'=>'rule_uuid'}, {'value'=>'s_encrypted'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'ppid'}, {'value'=>'severity'}, {'value'=>'sctp_chunk_type'}, {'value'=>'sctp_event_type'}, {'value'=>'sctp_event_code'}, {'value'=>'verif_tag_1'}, {'value'=>'verif_tag_2'}, {'value'=>'sctp_cause_code'}, {'value'=>'diam_app_id'}, {'value'=>'diam_cmd_code'}, {'value'=>'diam_avp_code'}, {'value'=>'stream_id'}, {'value'=>'op_code'}, {'value'=>'sccp_calling_ssn'}, {'value'=>'sccp_calling_gt'}, {'value'=>'sctp_filter'}, {'value'=>'assoc_end_reason'}, {'value'=>'cluster_name'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'sessionid'}, {'value'=>'assoc_id'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def aggregate_by maybe_register_subclass('aggregate-by', AggregateBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Values < XML::ConfigClass def has_multiple_values?; true; end def _section :values end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'chunks'}, {'value'=>'chunks_sent'}, {'value'=>'chunks_received'}, {'value'=>'packets'}, {'value'=>'pkts_sent'}, {'value'=>'pkts_received'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def values maybe_register_subclass('values', Values.new(parent_instance: self, client: @client, create_children: @create_children)) end class Labels < XML::ConfigClass def has_multiple_values?; true; end def _section :labels end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def labels maybe_register_subclass('labels', Labels.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'group-by'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'src'}, {'value'=>'dst'}, {'value'=>'natsrc'}, {'value'=>'natdst'}, {'value'=>'rule'}, {'value'=>'srcuser'}, {'value'=>'dstuser'}, {'value'=>'srcloc'}, {'value'=>'dstloc'}, {'value'=>'app'}, {'value'=>'vsys'}, {'value'=>'from'}, {'value'=>'to'}, {'value'=>'inbound_if'}, {'value'=>'outbound_if'}, {'value'=>'sport'}, {'value'=>'dport'}, {'value'=>'natsport'}, {'value'=>'natdport'}, {'value'=>'proto'}, {'value'=>'action'}, {'value'=>'tunnel'}, {'value'=>'src_uuid'}, {'value'=>'dst_uuid'}, {'value'=>'rule_uuid'}, {'value'=>'s_encrypted'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'ppid'}, {'value'=>'severity'}, {'value'=>'sctp_chunk_type'}, {'value'=>'sctp_event_type'}, {'value'=>'sctp_event_code'}, {'value'=>'verif_tag_1'}, {'value'=>'verif_tag_2'}, {'value'=>'sctp_cause_code'}, {'value'=>'diam_app_id'}, {'value'=>'diam_cmd_code'}, {'value'=>'diam_avp_code'}, {'value'=>'stream_id'}, {'value'=>'op_code'}, {'value'=>'sccp_calling_ssn'}, {'value'=>'sccp_calling_gt'}, {'value'=>'sctp_filter'}, {'value'=>'assoc_end_reason'}, {'value'=>'cluster_name'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'sessionid'}, {'value'=>'assoc_id'}]}, 'sortby'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'chunks'}, {'value'=>'chunks_sent'}, {'value'=>'chunks_received'}, {'value'=>'packets'}, {'value'=>'pkts_sent'}, {'value'=>'pkts_received'}, {'value'=>'severity'}]}} def group_by prop_get('group-by') end def group_by=(val) prop_set('group-by', val) end def sortby prop_get('sortby') end def sortby=(val) prop_set('sortby', val) end end def panorama_sctp @subclasses['panorama-sctp'] ||= PanoramaSctp.new(parent_instance: self, client: @client, create_children: @create_children) end class PanoramaSctpsum < ConfigClass def has_multiple_values?; false; end def _section :'panorama-sctpsum' end class AggregateBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'src'}, {'value'=>'dst'}, {'value'=>'rule'}, {'value'=>'srcloc'}, {'value'=>'dstloc'}, {'value'=>'action'}, {'value'=>'vsys'}, {'value'=>'dev_serial'}, {'value'=>'assoc_id'}, {'value'=>'ppid'}, {'value'=>'severity'}, {'value'=>'sctp_chunk_type'}, {'value'=>'sctp_event_type'}, {'value'=>'diam_app_id'}, {'value'=>'diam_cmd_code'}, {'value'=>'op_code'}, {'value'=>'sccp_calling_ssn'}, {'value'=>'sctp_filter'}, {'value'=>'rule_uuid'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'cluster_name'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'app'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def aggregate_by maybe_register_subclass('aggregate-by', AggregateBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Values < XML::ConfigClass def has_multiple_values?; true; end def _section :values end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'chunks'}, {'value'=>'chunks_sent'}, {'value'=>'chunks_received'}, {'value'=>'packets'}, {'value'=>'pkts_sent'}, {'value'=>'pkts_received'}, {'value'=>'repeatcnt'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def values maybe_register_subclass('values', Values.new(parent_instance: self, client: @client, create_children: @create_children)) end class Labels < XML::ConfigClass def has_multiple_values?; true; end def _section :labels end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def labels maybe_register_subclass('labels', Labels.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'group-by'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'src'}, {'value'=>'dst'}, {'value'=>'rule'}, {'value'=>'srcloc'}, {'value'=>'dstloc'}, {'value'=>'action'}, {'value'=>'vsys'}, {'value'=>'dev_serial'}, {'value'=>'assoc_id'}, {'value'=>'ppid'}, {'value'=>'severity'}, {'value'=>'sctp_chunk_type'}, {'value'=>'sctp_event_type'}, {'value'=>'diam_app_id'}, {'value'=>'diam_cmd_code'}, {'value'=>'op_code'}, {'value'=>'sccp_calling_ssn'}, {'value'=>'sctp_filter'}, {'value'=>'rule_uuid'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}, {'value'=>'cluster_name'}, {'value'=>'container_id'}, {'value'=>'pod_namespace'}, {'value'=>'pod_name'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'app'}]}, 'sortby'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'chunks'}, {'value'=>'chunks_sent'}, {'value'=>'chunks_received'}, {'value'=>'packets'}, {'value'=>'pkts_sent'}, {'value'=>'pkts_received'}, {'value'=>'repeatcnt'}, {'value'=>'severity'}]}} def group_by prop_get('group-by') end def group_by=(val) prop_set('group-by', val) end def sortby prop_get('sortby') end def sortby=(val) prop_set('sortby', val) end end def panorama_sctpsum @subclasses['panorama-sctpsum'] ||= PanoramaSctpsum.new(parent_instance: self, client: @client, create_children: @create_children) end class PanoramaTunnel < ConfigClass def has_multiple_values?; false; end def _section :'panorama-tunnel' end class AggregateBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'action'}, {'value'=>'app'}, {'value'=>'category-of-app'}, {'value'=>'dport'}, {'value'=>'dst'}, {'value'=>'dstuser'}, {'value'=>'flag-pcap'}, {'value'=>'flag-proxy'}, {'value'=>'flag-nat'}, {'value'=>'captive-portal'}, {'value'=>'non-std-dport'}, {'value'=>'transaction'}, {'value'=>'pbf-c2s'}, {'value'=>'pbf-s2c'}, {'value'=>'sym-return'}, {'value'=>'decrypt-mirror'}, {'value'=>'from'}, {'value'=>'inbound_if'}, {'value'=>'natdport'}, {'value'=>'natdst'}, {'value'=>'natsport'}, {'value'=>'natsrc'}, {'value'=>'outbound_if'}, {'value'=>'proto'}, {'value'=>'risk-of-app'}, {'value'=>'rule'}, {'value'=>'rule_uuid'}, {'value'=>'sessionid'}, {'value'=>'sport'}, {'value'=>'src'}, {'value'=>'srcuser'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'dstloc'}, {'value'=>'srcloc'}, {'value'=>'to'}, {'value'=>'vsys'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'day-of-receive_time'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'tunnelid'}, {'value'=>'monitortag'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'tunnel'}, {'value'=>'tunnel_insp_rule'}, {'value'=>'session_end_reason'}, {'value'=>'action_source'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def aggregate_by maybe_register_subclass('aggregate-by', AggregateBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Values < XML::ConfigClass def has_multiple_values?; true; end def _section :values end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'bytes'}, {'value'=>'bytes_sent'}, {'value'=>'bytes_received'}, {'value'=>'packets'}, {'value'=>'pkts_sent'}, {'value'=>'pkts_received'}, {'value'=>'max_encap'}, {'value'=>'unknown_proto'}, {'value'=>'strict_check'}, {'value'=>'tunnel_fragment'}, {'value'=>'sessions_created'}, {'value'=>'sessions_closed'}, {'value'=>'nunique-of-users'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def values maybe_register_subclass('values', Values.new(parent_instance: self, client: @client, create_children: @create_children)) end class Labels < XML::ConfigClass def has_multiple_values?; true; end def _section :labels end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def labels maybe_register_subclass('labels', Labels.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'group-by'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'action'}, {'value'=>'app'}, {'value'=>'category-of-app'}, {'value'=>'dport'}, {'value'=>'dst'}, {'value'=>'dstuser'}, {'value'=>'from'}, {'value'=>'inbound_if'}, {'value'=>'natdport'}, {'value'=>'natdst'}, {'value'=>'natsport'}, {'value'=>'natsrc'}, {'value'=>'outbound_if'}, {'value'=>'proto'}, {'value'=>'risk-of-app'}, {'value'=>'rule'}, {'value'=>'rule_uuid'}, {'value'=>'sessionid'}, {'value'=>'sport'}, {'value'=>'src'}, {'value'=>'srcuser'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'to'}, {'value'=>'dstloc'}, {'value'=>'srcloc'}, {'value'=>'vsys'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'day-of-receive_time'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'tunnelid'}, {'value'=>'monitortag'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'tunnel'}, {'value'=>'tunnel_insp_rule'}, {'value'=>'session_end_reason'}, {'value'=>'action_source'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}]}, 'sortby'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'bytes'}, {'value'=>'bytes_sent'}, {'value'=>'bytes_received'}, {'value'=>'packets'}, {'value'=>'pkts_sent'}, {'value'=>'pkts_received'}, {'value'=>'max_encap'}, {'value'=>'unknown_proto'}, {'value'=>'strict_check'}, {'value'=>'tunnel_fragment'}, {'value'=>'sessions_created'}, {'value'=>'sessions_closed'}, {'value'=>'nunique-of-users'}]}} def group_by prop_get('group-by') end def group_by=(val) prop_set('group-by', val) end def sortby prop_get('sortby') end def sortby=(val) prop_set('sortby', val) end end def panorama_tunnel @subclasses['panorama-tunnel'] ||= PanoramaTunnel.new(parent_instance: self, client: @client, create_children: @create_children) end class PanoramaTunnelsum < ConfigClass def has_multiple_values?; false; end def _section :'panorama-tunnelsum' end class AggregateBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'action'}, {'value'=>'app'}, {'value'=>'category-of-app'}, {'value'=>'standard-ports-of-app'}, {'value'=>'dst'}, {'value'=>'risk-of-app'}, {'value'=>'rule'}, {'value'=>'rule_uuid'}, {'value'=>'src'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'dstloc'}, {'value'=>'srcloc'}, {'value'=>'vsys'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'day-of-receive_time'}, {'value'=>'serial'}, {'value'=>'device_name'}, {'value'=>'vsys_name'}, {'value'=>'tunnelid'}, {'value'=>'monitortag'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'tunnel'}, {'value'=>'tunnel_insp_rule'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def aggregate_by maybe_register_subclass('aggregate-by', AggregateBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Values < XML::ConfigClass def has_multiple_values?; true; end def _section :values end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'bytes'}, {'value'=>'bytes_sent'}, {'value'=>'bytes_received'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def values maybe_register_subclass('values', Values.new(parent_instance: self, client: @client, create_children: @create_children)) end class Labels < XML::ConfigClass def has_multiple_values?; true; end def _section :labels end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def labels maybe_register_subclass('labels', Labels.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'group-by'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'action'}, {'value'=>'app'}, {'value'=>'category-of-app'}, {'value'=>'dst'}, {'value'=>'risk-of-app'}, {'value'=>'rule'}, {'value'=>'rule_uuid'}, {'value'=>'src'}, {'value'=>'subcategory-of-app'}, {'value'=>'technology-of-app'}, {'value'=>'container-of-app'}, {'value'=>'dstloc'}, {'value'=>'srcloc'}, {'value'=>'vsys'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'day-of-receive_time'}, {'value'=>'serial'}, {'value'=>'device_name'}, {'value'=>'vsys_name'}, {'value'=>'tunnelid'}, {'value'=>'monitortag'}, {'value'=>'parent_session_id'}, {'value'=>'parent_start_time'}, {'value'=>'tunnel'}, {'value'=>'tunnel_insp_rule'}, {'value'=>'src_dag'}, {'value'=>'dst_dag'}, {'value'=>'src_edl'}, {'value'=>'dst_edl'}]}, 'sortby'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'bytes'}, {'value'=>'bytes_sent'}, {'value'=>'bytes_received'}]}} def group_by prop_get('group-by') end def group_by=(val) prop_set('group-by', val) end def sortby prop_get('sortby') end def sortby=(val) prop_set('sortby', val) end end def panorama_tunnelsum @subclasses['panorama-tunnelsum'] ||= PanoramaTunnelsum.new(parent_instance: self, client: @client, create_children: @create_children) end class PanoramaUserid < ConfigClass def has_multiple_values?; false; end def _section :'panorama-userid' end class AggregateBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'vsys'}, {'value'=>'ip'}, {'value'=>'user'}, {'value'=>'datasourcename'}, {'value'=>'beginport'}, {'value'=>'endport'}, {'value'=>'datasource'}, {'value'=>'datasourcetype'}, {'value'=>'factortype'}, {'value'=>'factorcompletiontime'}, {'value'=>'factorno'}, {'value'=>'tag_name'}, {'value'=>'origindatasource'}, {'value'=>'direction'}, {'value'=>'cluster_name'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'subtype'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def aggregate_by maybe_register_subclass('aggregate-by', AggregateBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Values < XML::ConfigClass def has_multiple_values?; true; end def _section :values end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'repeatcnt'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def values maybe_register_subclass('values', Values.new(parent_instance: self, client: @client, create_children: @create_children)) end class Labels < XML::ConfigClass def has_multiple_values?; true; end def _section :labels end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def labels maybe_register_subclass('labels', Labels.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'group-by'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'vsys'}, {'value'=>'ip'}, {'value'=>'user'}, {'value'=>'datasourcename'}, {'value'=>'beginport'}, {'value'=>'endport'}, {'value'=>'datasource'}, {'value'=>'datasourcetype'}, {'value'=>'factortype'}, {'value'=>'factorcompletiontime'}, {'value'=>'factorno'}, {'value'=>'tag_name'}, {'value'=>'origindatasource'}, {'value'=>'direction'}, {'value'=>'cluster_name'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'subtype'}]}, 'sortby'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'factortype'}, {'value'=>'factorcompletiontime'}]}} def group_by prop_get('group-by') end def group_by=(val) prop_set('group-by', val) end def sortby prop_get('sortby') end def sortby=(val) prop_set('sortby', val) end end def panorama_userid @subclasses['panorama-userid'] ||= PanoramaUserid.new(parent_instance: self, client: @client, create_children: @create_children) end class PanoramaAuth < ConfigClass def has_multiple_values?; false; end def _section :'panorama-auth' end class AggregateBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'vsys'}, {'value'=>'ip'}, {'value'=>'user'}, {'value'=>'normalize_user'}, {'value'=>'object'}, {'value'=>'authpolicy'}, {'value'=>'authid'}, {'value'=>'vendor'}, {'value'=>'clienttype'}, {'value'=>'event'}, {'value'=>'factorno'}, {'value'=>'authproto'}, {'value'=>'rule_uuid'}, {'value'=>'cluster_name'}, {'value'=>'src_category'}, {'value'=>'src_profile'}, {'value'=>'src_model'}, {'value'=>'src_vendor'}, {'value'=>'src_osfamily'}, {'value'=>'src_osversion'}, {'value'=>'src_host'}, {'value'=>'src_mac'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'subtype'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def aggregate_by maybe_register_subclass('aggregate-by', AggregateBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Values < XML::ConfigClass def has_multiple_values?; true; end def _section :values end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'repeatcnt'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def values maybe_register_subclass('values', Values.new(parent_instance: self, client: @client, create_children: @create_children)) end class Labels < XML::ConfigClass def has_multiple_values?; true; end def _section :labels end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def labels maybe_register_subclass('labels', Labels.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'group-by'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'vsys'}, {'value'=>'ip'}, {'value'=>'user'}, {'value'=>'normalize_user'}, {'value'=>'object'}, {'value'=>'authpolicy'}, {'value'=>'authid'}, {'value'=>'vendor'}, {'value'=>'clienttype'}, {'value'=>'event'}, {'value'=>'factorno'}, {'value'=>'authproto'}, {'value'=>'rule_uuid'}, {'value'=>'cluster_name'}, {'value'=>'src_category'}, {'value'=>'src_profile'}, {'value'=>'src_model'}, {'value'=>'src_vendor'}, {'value'=>'src_osfamily'}, {'value'=>'src_osversion'}, {'value'=>'src_host'}, {'value'=>'src_mac'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}, {'value'=>'serverprofile'}, {'value'=>'desc'}, {'value'=>'subtype'}]}, 'sortby'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'time_generated'}, {'value'=>'vendor'}]}} def group_by prop_get('group-by') end def group_by=(val) prop_set('group-by', val) end def sortby prop_get('sortby') end def sortby=(val) prop_set('sortby', val) end end def panorama_auth @subclasses['panorama-auth'] ||= PanoramaAuth.new(parent_instance: self, client: @client, create_children: @create_children) end class PanoramaIptag < ConfigClass def has_multiple_values?; false; end def _section :'panorama-iptag' end class AggregateBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'vsys'}, {'value'=>'ip'}, {'value'=>'tag_name'}, {'value'=>'event_id'}, {'value'=>'datasourcename'}, {'value'=>'datasource_type'}, {'value'=>'datasource_subtype'}, {'value'=>'cluster_name'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def aggregate_by maybe_register_subclass('aggregate-by', AggregateBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Values < XML::ConfigClass def has_multiple_values?; true; end def _section :values end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'repeatcnt'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def values maybe_register_subclass('values', Values.new(parent_instance: self, client: @client, create_children: @create_children)) end class Labels < XML::ConfigClass def has_multiple_values?; true; end def _section :labels end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def labels maybe_register_subclass('labels', Labels.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'group-by'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'vsys'}, {'value'=>'ip'}, {'value'=>'tag_name'}, {'value'=>'event_id'}, {'value'=>'datasourcename'}, {'value'=>'datasource_type'}, {'value'=>'datasource_subtype'}, {'value'=>'cluster_name'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}]}, 'sortby'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'time_generated'}]}} def group_by prop_get('group-by') end def group_by=(val) prop_set('group-by', val) end def sortby prop_get('sortby') end def sortby=(val) prop_set('sortby', val) end end def panorama_iptag @subclasses['panorama-iptag'] ||= PanoramaIptag.new(parent_instance: self, client: @client, create_children: @create_children) end class PanoramaHipmatch < ConfigClass def has_multiple_values?; false; end def _section :'panorama-hipmatch' end class AggregateBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'srcuser'}, {'value'=>'vsys'}, {'value'=>'machinename'}, {'value'=>'src'}, {'value'=>'matchname'}, {'value'=>'os'}, {'value'=>'matchtype'}, {'value'=>'srcipv6'}, {'value'=>'hostid'}, {'value'=>'mac'}, {'value'=>'cluster_name'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def aggregate_by maybe_register_subclass('aggregate-by', AggregateBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Values < XML::ConfigClass def has_multiple_values?; true; end def _section :values end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'repeatcnt'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def values maybe_register_subclass('values', Values.new(parent_instance: self, client: @client, create_children: @create_children)) end class Labels < XML::ConfigClass def has_multiple_values?; true; end def _section :labels end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def labels maybe_register_subclass('labels', Labels.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'group-by'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'srcuser'}, {'value'=>'vsys'}, {'value'=>'machinename'}, {'value'=>'src'}, {'value'=>'matchname'}, {'value'=>'os'}, {'value'=>'matchtype'}, {'value'=>'srcipv6'}, {'value'=>'hostid'}, {'value'=>'mac'}, {'value'=>'cluster_name'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}]}, 'sortby'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'repeatcnt'}]}, 'last-match-by'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes'}} def group_by prop_get('group-by') end def group_by=(val) prop_set('group-by', val) end def sortby prop_get('sortby') end def sortby=(val) prop_set('sortby', val) end def last_match_by prop_get('last-match-by') end def last_match_by=(val) prop_set('last-match-by', val) end end def panorama_hipmatch @subclasses['panorama-hipmatch'] ||= PanoramaHipmatch.new(parent_instance: self, client: @client, create_children: @create_children) end class PanoramaGlobalprotect < ConfigClass def has_multiple_values?; false; end def _section :'panorama-globalprotect' end class AggregateBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'vsys'}, {'value'=>'eventid'}, {'value'=>'status'}, {'value'=>'stage'}, {'value'=>'auth_method'}, {'value'=>'tunnel_type'}, {'value'=>'portal'}, {'value'=>'srcuser'}, {'value'=>'srcregion'}, {'value'=>'machinename'}, {'value'=>'public_ip'}, {'value'=>'public_ipv6'}, {'value'=>'private_ip'}, {'value'=>'private_ipv6'}, {'value'=>'hostid'}, {'value'=>'serialnumber'}, {'value'=>'client_ver'}, {'value'=>'client_os'}, {'value'=>'client_os_ver'}, {'value'=>'login_duration'}, {'value'=>'connect_method'}, {'value'=>'reason'}, {'value'=>'error_code'}, {'value'=>'error'}, {'value'=>'opaque'}, {'value'=>'gateway'}, {'value'=>'selection_type'}, {'value'=>'response_time'}, {'value'=>'priority'}, {'value'=>'cluster_name'}, {'value'=>'attempted_gateways'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def aggregate_by maybe_register_subclass('aggregate-by', AggregateBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Values < XML::ConfigClass def has_multiple_values?; true; end def _section :values end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'nunique-of-ips'}, {'value'=>'nunique-of-gateways'}, {'value'=>'nunique-of-users'}, {'value'=>'nunique-of-hostid'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def values maybe_register_subclass('values', Values.new(parent_instance: self, client: @client, create_children: @create_children)) end class Labels < XML::ConfigClass def has_multiple_values?; true; end def _section :labels end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def labels maybe_register_subclass('labels', Labels.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'group-by'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'serial'}, {'value'=>'time_generated'}, {'value'=>'vsys_name'}, {'value'=>'device_name'}, {'value'=>'vsys'}, {'value'=>'eventid'}, {'value'=>'status'}, {'value'=>'stage'}, {'value'=>'auth_method'}, {'value'=>'tunnel_type'}, {'value'=>'portal'}, {'value'=>'srcuser'}, {'value'=>'srcregion'}, {'value'=>'machinename'}, {'value'=>'public_ip'}, {'value'=>'public_ipv6'}, {'value'=>'private_ip'}, {'value'=>'private_ipv6'}, {'value'=>'hostid'}, {'value'=>'serialnumber'}, {'value'=>'client_ver'}, {'value'=>'client_os'}, {'value'=>'client_os_ver'}, {'value'=>'login_duration'}, {'value'=>'connect_method'}, {'value'=>'reason'}, {'value'=>'error_code'}, {'value'=>'error'}, {'value'=>'opaque'}, {'value'=>'gateway'}, {'value'=>'selection_type'}, {'value'=>'response_time'}, {'value'=>'priority'}, {'value'=>'cluster_name'}, {'value'=>'attempted_gateways'}, {'value'=>'day-of-receive_time'}, {'value'=>'hour-of-receive_time'}, {'value'=>'quarter-hour-of-receive_time'}]}, 'sortby'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'repeatcnt'}, {'value'=>'nunique-of-ips'}, {'value'=>'nunique-of-gateways'}, {'value'=>'nunique-of-users'}, {'value'=>'nunique-of-hostid'}]}} def group_by prop_get('group-by') end def group_by=(val) prop_set('group-by', val) end def sortby prop_get('sortby') end def sortby=(val) prop_set('sortby', val) end end def panorama_globalprotect @subclasses['panorama-globalprotect'] ||= PanoramaGlobalprotect.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'query'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'2048'}, 'caption'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'255'}, 'frequency'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'daily'}]}, 'start-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'[0-9][0-9][0-9][0-9]/([0][1-9]|[1][0-2])/([0-2][0-9]|[3][0-1]) ([01][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9])', 'help-string'=>'Start Time e.g. 2008/01/01 09:00:00'}, 'end-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'[0-9][0-9][0-9][0-9]/([0][1-9]|[1][0-2])/([0-2][0-9]|[3][0-1]) ([01][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9])', 'help-string'=>'End Time e.g. 2008/12/31 11:59:59'}, 'period'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'last-15-minutes'}, {'value'=>'last-hour'}, {'value'=>'last-6-hrs'}, {'value'=>'last-12-hrs'}, {'value'=>'last-24-hrs'}, {'value'=>'last-calendar-day'}, {'value'=>'last-7-days'}, {'value'=>'last-7-calendar-days'}, {'value'=>'last-calendar-week'}, {'value'=>'last-30-days'}, {'value'=>'last-30-calendar-days'}, {'value'=>'last-60-days'}, {'value'=>'last-60-calendar-days'}, {'value'=>'last-90-days'}, {'value'=>'last-90-calendar-days'}, {'value'=>'last-calendar-month'}]}, 'topn'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'10000', 'default'=>'10'}, 'topm'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'1', 'max'=>'2500', 'default'=>'10'}, 'include-others'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'internal'=>'yes'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def disabled prop_get('disabled') end def disabled=(val) prop_set('disabled', val) end def query prop_get('query') end def query=(val) prop_set('query', val) end def caption prop_get('caption') end def caption=(val) prop_set('caption', val) end def frequency prop_get('frequency') end def frequency=(val) prop_set('frequency', val) end # Start Time e.g. 2008/01/01 09:00:00 def start_time prop_get('start-time') end # Start Time e.g. 2008/01/01 09:00:00 def start_time=(val) prop_set('start-time', val) end # End Time e.g. 2008/12/31 11:59:59 def end_time prop_get('end-time') end # End Time e.g. 2008/12/31 11:59:59 def end_time=(val) prop_set('end-time', val) end def period prop_get('period') end def period=(val) prop_set('period', val) end def topn prop_get('topn') end def topn=(val) prop_set('topn', val) end def topm prop_get('topm') end def topm=(val) prop_set('topm', val) end def include_others prop_get('include-others') end def include_others=(val) prop_set('include-others', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def reports maybe_register_subclass('reports', Reports.new(parent_instance: self, client: @client, create_children: @create_children)) end class ReportGroup < XML::ConfigClass def has_multiple_values?; true; end def _section :'report-group' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class CustomWidget < XML::ConfigClass def has_multiple_values?; true; end def _section :'custom-widget' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'positive number', 'regex'=>'[1-9][0-9]*'}, 'custom-report'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63'}, 'pdf-summary-report'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63'}, 'log-view'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63'}, 'csv'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63'}} # positive number def name prop_get('@name') end def custom_report prop_get('custom-report') end def custom_report=(val) prop_set('custom-report', val) end def pdf_summary_report prop_get('pdf-summary-report') end def pdf_summary_report=(val) prop_set('pdf-summary-report', val) end def log_view prop_get('log-view') end def log_view=(val) prop_set('log-view', val) end def csv prop_get('csv') end def csv=(val) prop_set('csv', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def custom_widget maybe_register_subclass('custom-widget', CustomWidget.new(parent_instance: self, client: @client, create_children: @create_children)) end class All < XML::ConfigClass def has_multiple_values?; true; end def _section :all end class Entry < ConfigClass def has_multiple_values?; false; end def _section :entry end class UserGroups < XML::ConfigClass def has_multiple_values?; true; end def _section :'user-groups' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'max-count'=>'25'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def user_groups maybe_register_subclass('user-groups', UserGroups.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'include-user-groups-info'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}} def include_user_groups_info prop_get('include-user-groups-info') end def include_user_groups_info=(val) prop_set('include-user-groups-info', val) end end def entry @subclasses['entry'] ||= Entry.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def all maybe_register_subclass('all', All.new(parent_instance: self, client: @client, create_children: @create_children)) end class SelectedZone < XML::ConfigClass def has_multiple_values?; true; end def _section :'selected-zone' end class Entry < ConfigClass def has_multiple_values?; false; end def _section :entry end class UserGroups < XML::ConfigClass def has_multiple_values?; true; end def _section :'user-groups' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'max-count'=>'25'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def user_groups maybe_register_subclass('user-groups', UserGroups.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'include-user-groups-info'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}, 'zone'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31'}} def include_user_groups_info prop_get('include-user-groups-info') end def include_user_groups_info=(val) prop_set('include-user-groups-info', val) end def zone prop_get('zone') end def zone=(val) prop_set('zone', val) end end def entry @subclasses['entry'] ||= Entry.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def selected_zone maybe_register_subclass('selected-zone', SelectedZone.new(parent_instance: self, client: @client, create_children: @create_children)) end class SelectedUserGroup < XML::ConfigClass def has_multiple_values?; true; end def _section :'selected-user-group' end class Entry < ConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'user-group'=>{'node-type'=>'element', 'help-string'=>'user-group', 'type'=>'string', 'maxlen'=>'63'}} # user-group def user_group prop_get('user-group') end # user-group def user_group=(val) prop_set('user-group', val) end end def entry @subclasses['entry'] ||= Entry.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def selected_user_group maybe_register_subclass('selected-user-group', SelectedUserGroup.new(parent_instance: self, client: @client, create_children: @create_children)) end class Variable < XML::ConfigClass def has_multiple_values?; true; end def _section :variable end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'128', 'complete-handler'=>'pan-rpt-grp-saas-completer'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def variable maybe_register_subclass('variable', Variable.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'title-page'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'predefined'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'user-activity-report'}, {'value'=>'saas-application-usage-report'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def title_page prop_get('title-page') end def title_page=(val) prop_set('title-page', val) end def predefined prop_get('predefined') end def predefined=(val) prop_set('predefined', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def report_group maybe_register_subclass('report-group', ReportGroup.new(parent_instance: self, client: @client, create_children: @create_children)) end class PdfSummaryReport < XML::ConfigClass def has_multiple_values?; true; end def _section :'pdf-summary-report' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Header < ConfigClass def has_multiple_values?; false; end def _section :header end @props = {'caption'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127', 'help-string'=>'Caption for the layout'}} # Caption for the layout def caption prop_get('caption') end # Caption for the layout def caption=(val) prop_set('caption', val) end end def header @subclasses['header'] ||= Header.new(parent_instance: self, client: @client, create_children: @create_children) end class Footer < ConfigClass def has_multiple_values?; false; end def _section :footer end @props = {'note'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127', 'help-string'=>'static string to be printed as a note'}} # static string to be printed as a note def note prop_get('note') end # static string to be printed as a note def note=(val) prop_set('note', val) end end def footer @subclasses['footer'] ||= Footer.new(parent_instance: self, client: @client, create_children: @create_children) end class CustomWidget < XML::ConfigClass def has_multiple_values?; true; end def _section :'custom-widget' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'chart-type'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'table', 'enum'=>[{'value'=>'pie'}, {'value'=>'line'}, {'value'=>'bar'}, {'value'=>'table'}]}, 'row'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'6'}, 'column'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def chart_type prop_get('chart-type') end def chart_type=(val) prop_set('chart-type', val) end def row prop_get('row') end def row=(val) prop_set('row', val) end def column prop_get('column') end def column=(val) prop_set('column', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def custom_widget maybe_register_subclass('custom-widget', CustomWidget.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def pdf_summary_report maybe_register_subclass('pdf-summary-report', PdfSummaryReport.new(parent_instance: self, client: @client, create_children: @create_children)) end class EmailScheduler < XML::ConfigClass def has_multiple_values?; true; end def _section :'email-scheduler' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Recurring < XML::ConfigClass def has_multiple_values?; true; end def _section :recurring end class Disabled < ConfigClass def has_multiple_values?; false; end def _section :disabled end @props = {} end def disabled @subclasses['disabled'] ||= Disabled.new(parent_instance: self, client: @client, create_children: @create_children) end class Daily < ConfigClass def has_multiple_values?; false; end def _section :daily end @props = {} end def daily @subclasses['daily'] ||= Daily.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'weekly'=>{'node-type'=>'element', 'type'=>'enum', 'help-string'=>'Once a week', 'enum'=>[{'value'=>'sunday'}, {'value'=>'monday'}, {'value'=>'tuesday'}, {'value'=>'wednesday'}, {'value'=>'thursday'}, {'value'=>'friday'}, {'value'=>'saturday'}]}, 'monthly'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'31', 'help-string'=>'Once a month'}} # Once a week def weekly prop_get('weekly') end # Once a week def weekly=(val) prop_set('weekly', val) end # Once a month def monthly prop_get('monthly') end # Once a month def monthly=(val) prop_set('monthly', val) end end def recurring maybe_register_subclass('recurring', Recurring.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'report-group'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63'}, 'email-profile'=>{'node-type'=>'element', 'type'=>'string'}, 'recipient-emails'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'512', 'optional'=>'yes'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def report_group prop_get('report-group') end def report_group=(val) prop_set('report-group', val) end def email_profile prop_get('email-profile') end def email_profile=(val) prop_set('email-profile', val) end def recipient_emails prop_get('recipient-emails') end def recipient_emails=(val) prop_set('recipient-emails', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def email_scheduler maybe_register_subclass('email-scheduler', EmailScheduler.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'255', 'help-string'=>'Description'}, 'authorization-code'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'Authorization code'}, 'to-sw-version'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'None', 'help-string'=>'Automatically upgrade software to this version for new deployments', 'multi-types'=>{'string'=>{'maxlen'=>'64', 'regex'=>'^PanOS_vm-[0-9]+\.[0-9]+\.[0-9]+', 'optional'=>'yes', 'complete-handler'=>'get-svm-upgradable-version'}, 'enum'=>[{'value'=>'None'}]}}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # Description def description prop_get('description') end # Description def description=(val) prop_set('description', val) end # Authorization code def authorization_code prop_get('authorization-code') end # Authorization code def authorization_code=(val) prop_set('authorization-code', val) end # Automatically upgrade software to this version for new deployments def to_sw_version prop_get('to-sw-version') end # Automatically upgrade software to this version for new deployments def to_sw_version=(val) prop_set('to-sw-version', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def device_group maybe_register_subclass('device-group', DeviceGroup.new(parent_instance: self, client: @client, create_children: @create_children)) end class Template < XML::ConfigClass def has_multiple_values?; true; end def _section :template end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Settings < ConfigClass def has_multiple_values?; false; end def _section :settings end @props = {'default-vsys'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Default virtual system'}} # Default virtual system def default_vsys prop_get('default-vsys') end # Default virtual system def default_vsys=(val) prop_set('default-vsys', val) end end def settings @subclasses['settings'] ||= Settings.new(parent_instance: self, client: @client, create_children: @create_children) end class Variable < XML::ConfigClass def has_multiple_values?; true; end def _section :variable end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end @props = {'ip-netmask'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{}, 'enum'=>[{'value'=>'None'}]}}, 'ip-range'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'iprangespec'=>{}, 'enum'=>[{'value'=>'None'}]}}, 'fqdn'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'minlen'=>'1', 'maxlen'=>'255', 'regex'=>'^([a-zA-Z0-9._-])+$'}, 'enum'=>[{'value'=>'None'}]}}, 'group-id'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'63'}, 'enum'=>[{'value'=>'None'}]}}, 'device-priority'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'255'}, 'enum'=>[{'value'=>'None'}]}}, 'device-id'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'1'}, 'enum'=>[{'value'=>'None'}]}}, 'interface'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{}, 'enum'=>[{'value'=>'None'}]}}, 'as-number'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'4294967295'}, 'string'=>{'regex'=>'^[0-9]{1,5}\.[0-9]{1,5}$', 'maxlen'=>'11'}, 'enum'=>[{'value'=>'None'}]}}, 'qos-profile'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'minlen'=>'1', 'maxlen'=>'31', 'regex'=>'^([0-9a-zA-Z._-])+$'}, 'enum'=>[{'value'=>'None'}]}}, 'egress-max'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'float'=>{'min'=>'0', 'max'=>'60000'}, 'enum'=>[{'value'=>'None'}]}}, 'link-tag'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'minlen'=>'1', 'maxlen'=>'127'}, 'enum'=>[{'value'=>'None'}]}}} def ip_netmask prop_get('ip-netmask') end def ip_netmask=(val) prop_set('ip-netmask', val) end def ip_range prop_get('ip-range') end def ip_range=(val) prop_set('ip-range', val) end def fqdn prop_get('fqdn') end def fqdn=(val) prop_set('fqdn', val) end def group_id prop_get('group-id') end def group_id=(val) prop_set('group-id', val) end def device_priority prop_get('device-priority') end def device_priority=(val) prop_set('device-priority', val) end def device_id prop_get('device-id') end def device_id=(val) prop_set('device-id', val) end def interface prop_get('interface') end def interface=(val) prop_set('interface', val) end def as_number prop_get('as-number') end def as_number=(val) prop_set('as-number', val) end def qos_profile prop_get('qos-profile') end def qos_profile=(val) prop_set('qos-profile', val) end def egress_max prop_get('egress-max') end def egress_max=(val) prop_set('egress-max', val) end def link_tag prop_get('link-tag') end def link_tag=(val) prop_set('link-tag', val) end end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'regex'=>'^\$([a-zA-Z0-9._-])+$', 'help-string'=>'Variables need to begin with \'$\''}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'255', 'help-string'=>'Description'}} # Variables need to begin with '$' def name prop_get('@name') end # Description def description prop_get('description') end # Description def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def variable maybe_register_subclass('variable', Variable.new(parent_instance: self, client: @client, create_children: @create_children)) end class Config < ConfigClass def has_multiple_values?; false; end def _section :config end class MgtConfig < ConfigClass def has_multiple_values?; false; end def _section :'mgt-config' end class PasswordComplexity < ConfigClass def has_multiple_values?; false; end def _section :'password-complexity' end class PasswordChange < ConfigClass def has_multiple_values?; false; end def _section :'password-change' end @props = {'expiration-period'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'365', 'default'=>'0', 'help-string'=>'Password expiry days'}, 'expiration-warning-period'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'30', 'default'=>'0', 'help-string'=>'Password expiry warning period'}, 'post-expiration-admin-login-count'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'3', 'default'=>'0', 'help-string'=>'Password post-expiry admin login count'}, 'post-expiration-grace-period'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'30', 'default'=>'0', 'help-string'=>'Password post-expiry grace period'}} # Password expiry days def expiration_period prop_get('expiration-period') end # Password expiry days def expiration_period=(val) prop_set('expiration-period', val) end # Password expiry warning period def expiration_warning_period prop_get('expiration-warning-period') end # Password expiry warning period def expiration_warning_period=(val) prop_set('expiration-warning-period', val) end # Password post-expiry admin login count def post_expiration_admin_login_count prop_get('post-expiration-admin-login-count') end # Password post-expiry admin login count def post_expiration_admin_login_count=(val) prop_set('post-expiration-admin-login-count', val) end # Password post-expiry grace period def post_expiration_grace_period prop_get('post-expiration-grace-period') end # Password post-expiry grace period def post_expiration_grace_period=(val) prop_set('post-expiration-grace-period', val) end end def password_change @subclasses['password-change'] ||= PasswordChange.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enabled'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Enable minimal password complexity enforcement'}, 'block-username-inclusion'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Block inclusion of username and it\'s reverse'}, 'password-change-on-first-login'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Password must change on first time login'}, 'minimum-length'=>{'node-type'=>'element', 'prune-on'=>'fips-mode', 'type'=>'rangedint', 'min'=>'0', 'max'=>'16', 'optional'=>'yes', 'default'=>'0', 'help-string'=>'Minimum password length'}, 'minimum-uppercase-letters'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'15', 'optional'=>'yes', 'default'=>'0', 'help-string'=>'Minimum uppercase letters in the password'}, 'minimum-lowercase-letters'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'15', 'optional'=>'yes', 'default'=>'0', 'help-string'=>'Minimum lowercase letters in the password'}, 'minimum-numeric-letters'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'15', 'optional'=>'yes', 'default'=>'0', 'help-string'=>'Minimum numeric(0-9) letters in the password'}, 'minimum-special-characters'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'15', 'default'=>'0', 'optional'=>'yes', 'help-string'=>'Minimum special characters(non-alphanumeric) in the password'}, 'block-repeated-characters'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'15', 'default'=>'0', 'optional'=>'yes', 'help-string'=>'Block repeated characters count'}, 'password-history-count'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'150', 'default'=>'0', 'optional'=>'yes', 'help-string'=>'Save password history for password changes'}, 'new-password-differs-by-characters'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'15', 'optional'=>'yes', 'default'=>'0', 'help-string'=>'New Password must differ by the count chars'}, 'password-change-period-block'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'365', 'optional'=>'yes', 'default'=>'0', 'help-string'=>'Password change block period'}} # Enable minimal password complexity enforcement def enabled prop_get('enabled') end # Enable minimal password complexity enforcement def enabled=(val) prop_set('enabled', val) end # Block inclusion of username and it's reverse def block_username_inclusion prop_get('block-username-inclusion') end # Block inclusion of username and it's reverse def block_username_inclusion=(val) prop_set('block-username-inclusion', val) end # Password must change on first time login def password_change_on_first_login prop_get('password-change-on-first-login') end # Password must change on first time login def password_change_on_first_login=(val) prop_set('password-change-on-first-login', val) end # Minimum password length def minimum_length prop_get('minimum-length') end # Minimum password length def minimum_length=(val) prop_set('minimum-length', val) end # Minimum uppercase letters in the password def minimum_uppercase_letters prop_get('minimum-uppercase-letters') end # Minimum uppercase letters in the password def minimum_uppercase_letters=(val) prop_set('minimum-uppercase-letters', val) end # Minimum lowercase letters in the password def minimum_lowercase_letters prop_get('minimum-lowercase-letters') end # Minimum lowercase letters in the password def minimum_lowercase_letters=(val) prop_set('minimum-lowercase-letters', val) end # Minimum numeric(0-9) letters in the password def minimum_numeric_letters prop_get('minimum-numeric-letters') end # Minimum numeric(0-9) letters in the password def minimum_numeric_letters=(val) prop_set('minimum-numeric-letters', val) end # Minimum special characters(non-alphanumeric) in the password def minimum_special_characters prop_get('minimum-special-characters') end # Minimum special characters(non-alphanumeric) in the password def minimum_special_characters=(val) prop_set('minimum-special-characters', val) end # Block repeated characters count def block_repeated_characters prop_get('block-repeated-characters') end # Block repeated characters count def block_repeated_characters=(val) prop_set('block-repeated-characters', val) end # Save password history for password changes def password_history_count prop_get('password-history-count') end # Save password history for password changes def password_history_count=(val) prop_set('password-history-count', val) end # New Password must differ by the count chars def new_password_differs_by_characters prop_get('new-password-differs-by-characters') end # New Password must differ by the count chars def new_password_differs_by_characters=(val) prop_set('new-password-differs-by-characters', val) end # Password change block period def password_change_period_block prop_get('password-change-period-block') end # Password change block period def password_change_period_block=(val) prop_set('password-change-period-block', val) end end def password_complexity @subclasses['password-complexity'] ||= PasswordComplexity.new(parent_instance: self, client: @client, create_children: @create_children) end class PasswordProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'password-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class PasswordChange < ConfigClass def has_multiple_values?; false; end def _section :'password-change' end @props = {'expiration-period'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'365', 'default'=>'0', 'help-string'=>'Password expiry days'}, 'expiration-warning-period'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'30', 'default'=>'0', 'help-string'=>'Password expiry warning period'}, 'post-expiration-admin-login-count'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'3', 'default'=>'0', 'help-string'=>'Password post-expiry admin login count'}, 'post-expiration-grace-period'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'30', 'default'=>'0', 'help-string'=>'Password post-expiry grace period'}} # Password expiry days def expiration_period prop_get('expiration-period') end # Password expiry days def expiration_period=(val) prop_set('expiration-period', val) end # Password expiry warning period def expiration_warning_period prop_get('expiration-warning-period') end # Password expiry warning period def expiration_warning_period=(val) prop_set('expiration-warning-period', val) end # Password post-expiry admin login count def post_expiration_admin_login_count prop_get('post-expiration-admin-login-count') end # Password post-expiry admin login count def post_expiration_admin_login_count=(val) prop_set('post-expiration-admin-login-count', val) end # Password post-expiry grace period def post_expiration_grace_period prop_get('post-expiration-grace-period') end # Password post-expiry grace period def post_expiration_grace_period=(val) prop_set('post-expiration-grace-period', val) end end def password_change @subclasses['password-change'] ||= PasswordChange.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'regex'=>'^[A-Za-z][[A-Za-z0-9._-]*$', 'help-string'=>'Alphanumeric string starting with an Alphabet'}} # Alphanumeric string starting with an Alphabet def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def password_profile maybe_register_subclass('password-profile', PasswordProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class Users < XML::ConfigClass def has_multiple_values?; true; end def _section :users end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Preferences < ConfigClass def has_multiple_values?; false; end def _section :preferences end class SavedLogQuery < ConfigClass def has_multiple_values?; false; end def _section :'saved-log-query' end class Unified < XML::ConfigClass def has_multiple_values?; true; end def _section :unified end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'Device name'}, 'query'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048'}} # Device name def name prop_get('@name') end def query prop_get('query') end def query=(val) prop_set('query', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def unified maybe_register_subclass('unified', Unified.new(parent_instance: self, client: @client, create_children: @create_children)) end class Traffic < XML::ConfigClass def has_multiple_values?; true; end def _section :traffic end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'Device name'}, 'query'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048'}} # Device name def name prop_get('@name') end def query prop_get('query') end def query=(val) prop_set('query', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def traffic maybe_register_subclass('traffic', Traffic.new(parent_instance: self, client: @client, create_children: @create_children)) end class Threat < XML::ConfigClass def has_multiple_values?; true; end def _section :threat end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'Device name'}, 'query'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048'}} # Device name def name prop_get('@name') end def query prop_get('query') end def query=(val) prop_set('query', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def threat maybe_register_subclass('threat', Threat.new(parent_instance: self, client: @client, create_children: @create_children)) end class Gtp < XML::ConfigClass def has_multiple_values?; true; end def _section :gtp end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'Device name'}, 'query'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048'}} # Device name def name prop_get('@name') end def query prop_get('query') end def query=(val) prop_set('query', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def gtp maybe_register_subclass('gtp', Gtp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Url < XML::ConfigClass def has_multiple_values?; true; end def _section :url end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'Device name'}, 'query'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048'}} # Device name def name prop_get('@name') end def query prop_get('query') end def query=(val) prop_set('query', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def url maybe_register_subclass('url', Url.new(parent_instance: self, client: @client, create_children: @create_children)) end class Data < XML::ConfigClass def has_multiple_values?; true; end def _section :data end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'Device name'}, 'query'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048'}} # Device name def name prop_get('@name') end def query prop_get('query') end def query=(val) prop_set('query', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def data maybe_register_subclass('data', Data.new(parent_instance: self, client: @client, create_children: @create_children)) end class Config < XML::ConfigClass def has_multiple_values?; true; end def _section :config end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'Device name'}, 'query'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048'}} # Device name def name prop_get('@name') end def query prop_get('query') end def query=(val) prop_set('query', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def config maybe_register_subclass('config', Config.new(parent_instance: self, client: @client, create_children: @create_children)) end class System < XML::ConfigClass def has_multiple_values?; true; end def _section :system end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'Device name'}, 'query'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048'}} # Device name def name prop_get('@name') end def query prop_get('query') end def query=(val) prop_set('query', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def system maybe_register_subclass('system', System.new(parent_instance: self, client: @client, create_children: @create_children)) end class Wildfire < XML::ConfigClass def has_multiple_values?; true; end def _section :wildfire end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'Device name'}, 'query'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048'}} # Device name def name prop_get('@name') end def query prop_get('query') end def query=(val) prop_set('query', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def wildfire maybe_register_subclass('wildfire', Wildfire.new(parent_instance: self, client: @client, create_children: @create_children)) end class Hipmatch < XML::ConfigClass def has_multiple_values?; true; end def _section :hipmatch end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'Device name'}, 'query'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048'}} # Device name def name prop_get('@name') end def query prop_get('query') end def query=(val) prop_set('query', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def hipmatch maybe_register_subclass('hipmatch', Hipmatch.new(parent_instance: self, client: @client, create_children: @create_children)) end class Corr < XML::ConfigClass def has_multiple_values?; true; end def _section :corr end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'Device name'}, 'query'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048'}} # Device name def name prop_get('@name') end def query prop_get('query') end def query=(val) prop_set('query', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def corr maybe_register_subclass('corr', Corr.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tunnel < XML::ConfigClass def has_multiple_values?; true; end def _section :tunnel end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'Device name'}, 'query'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048'}} # Device name def name prop_get('@name') end def query prop_get('query') end def query=(val) prop_set('query', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def tunnel maybe_register_subclass('tunnel', Tunnel.new(parent_instance: self, client: @client, create_children: @create_children)) end class Userid < XML::ConfigClass def has_multiple_values?; true; end def _section :userid end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'Device name'}, 'query'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048'}} # Device name def name prop_get('@name') end def query prop_get('query') end def query=(val) prop_set('query', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def userid maybe_register_subclass('userid', Userid.new(parent_instance: self, client: @client, create_children: @create_children)) end class Auth < XML::ConfigClass def has_multiple_values?; true; end def _section :auth end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'Device name'}, 'query'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048'}} # Device name def name prop_get('@name') end def query prop_get('query') end def query=(val) prop_set('query', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def auth maybe_register_subclass('auth', Auth.new(parent_instance: self, client: @client, create_children: @create_children)) end class Globalprotect < XML::ConfigClass def has_multiple_values?; true; end def _section :globalprotect end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'Device name'}, 'query'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048'}} # Device name def name prop_get('@name') end def query prop_get('query') end def query=(val) prop_set('query', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def globalprotect maybe_register_subclass('globalprotect', Globalprotect.new(parent_instance: self, client: @client, create_children: @create_children)) end class Alarm < XML::ConfigClass def has_multiple_values?; true; end def _section :alarm end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'Device name'}, 'query'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048'}} # Device name def name prop_get('@name') end def query prop_get('query') end def query=(val) prop_set('query', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def alarm maybe_register_subclass('alarm', Alarm.new(parent_instance: self, client: @client, create_children: @create_children)) end class Decryption < XML::ConfigClass def has_multiple_values?; true; end def _section :decryption end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'Device name'}, 'query'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048'}} # Device name def name prop_get('@name') end def query prop_get('query') end def query=(val) prop_set('query', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def decryption maybe_register_subclass('decryption', Decryption.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def saved_log_query @subclasses['saved-log-query'] ||= SavedLogQuery.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'disable-dns'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} def disable_dns prop_get('disable-dns') end def disable_dns=(val) prop_set('disable-dns', val) end end def preferences @subclasses['preferences'] ||= Preferences.new(parent_instance: self, client: @client, create_children: @create_children) end class Permissions < XML::ConfigClass def has_multiple_values?; true; end def _section :permissions end class RoleBased < XML::ConfigClass def has_multiple_values?; true; end def _section :'role-based' end class Vsysreader < XML::ConfigClass def has_multiple_values?; true; end def _section :vsysreader end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Vsys < XML::ConfigClass def has_multiple_values?; true; end def _section :vsys end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def vsys maybe_register_subclass('vsys', Vsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'Device name'}} # Device name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vsysreader maybe_register_subclass('vsysreader', Vsysreader.new(parent_instance: self, client: @client, create_children: @create_children)) end class Vsysadmin < XML::ConfigClass def has_multiple_values?; true; end def _section :vsysadmin end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Vsys < XML::ConfigClass def has_multiple_values?; true; end def _section :vsys end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def vsys maybe_register_subclass('vsys', Vsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'Device name'}} # Device name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vsysadmin maybe_register_subclass('vsysadmin', Vsysadmin.new(parent_instance: self, client: @client, create_children: @create_children)) end class Devicereader < XML::ConfigClass def has_multiple_values?; true; end def _section :devicereader end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def devicereader maybe_register_subclass('devicereader', Devicereader.new(parent_instance: self, client: @client, create_children: @create_children)) end class Deviceadmin < XML::ConfigClass def has_multiple_values?; true; end def _section :deviceadmin end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def deviceadmin maybe_register_subclass('deviceadmin', Deviceadmin.new(parent_instance: self, client: @client, create_children: @create_children)) end class Custom < ConfigClass def has_multiple_values?; false; end def _section :custom end class Vsys < XML::ConfigClass def has_multiple_values?; true; end def _section :vsys end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def vsys maybe_register_subclass('vsys', Vsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}} def profile prop_get('profile') end def profile=(val) prop_set('profile', val) end end def custom @subclasses['custom'] ||= Custom.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'superreader'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'yes'}]}, 'superuser'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'yes'}]}, 'panorama-admin'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'yes'}]}} def superreader prop_get('superreader') end def superreader=(val) prop_set('superreader', val) end def superuser prop_get('superuser') end def superuser=(val) prop_set('superuser', val) end def panorama_admin prop_get('panorama-admin') end def panorama_admin=(val) prop_set('panorama-admin', val) end end def role_based maybe_register_subclass('role-based', RoleBased.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def permissions maybe_register_subclass('permissions', Permissions.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'^[a-zA-Z0-9_.-]+$', 'maxlen'=>'31', 'help-string'=>'user name (alphanumeric)'}, 'phash'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes'}, 'authentication-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'complete-handler'=>'user-auth-profile-completer'}, 'password-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes'}, 'client-certificate-only'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'help-string'=>'Is client certificate authentication enough?'}, 'public-key'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'1', 'maxlen'=>'4096', 'help-string'=>'Public RSA/DSA'}} # user name (alphanumeric) def name prop_get('@name') end def phash prop_get('phash') end def phash=(val) prop_set('phash', val) end def authentication_profile prop_get('authentication-profile') end def authentication_profile=(val) prop_set('authentication-profile', val) end def password_profile prop_get('password-profile') end def password_profile=(val) prop_set('password-profile', val) end # Is client certificate authentication enough? def client_certificate_only prop_get('client-certificate-only') end # Is client certificate authentication enough? def client_certificate_only=(val) prop_set('client-certificate-only', val) end # Public RSA/DSA def public_key prop_get('public-key') end # Public RSA/DSA def public_key=(val) prop_set('public-key', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def users maybe_register_subclass('users', Users.new(parent_instance: self, client: @client, create_children: @create_children)) end class AccessDomain < XML::ConfigClass def has_multiple_values?; true; end def _section :'access-domain' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Vsys < XML::ConfigClass def has_multiple_values?; true; end def _section :vsys end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def vsys maybe_register_subclass('vsys', Vsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def access_domain maybe_register_subclass('access-domain', AccessDomain.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def mgt_config @subclasses['mgt-config'] ||= MgtConfig.new(parent_instance: self, client: @client, create_children: @create_children) end class Shared < ConfigClass def has_multiple_values?; false; end def _section :shared end class GlobalProtect < ConfigClass def has_multiple_values?; false; end def _section :'global-protect' end class ClientlessApp < XML::ConfigClass def has_multiple_values?; true; end def _section :'clientless-app' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'31', 'help-string'=>'clientless vpn application name'}, 'application-home-url'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([A-Za-z0-9_\.~!\*\'\(\);:@=\+\$,/\?#%\&-]|\[|\])+$', 'maxlen'=>'4095', 'help-string'=>'Home URL of application'}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'optional'=>'yes', 'help-string'=>'Description for application'}, 'app-icon'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'180000', 'optional'=>'yes', 'help-string'=>'application icon'}} # clientless vpn application name def name prop_get('@name') end # Home URL of application def application_home_url prop_get('application-home-url') end # Home URL of application def application_home_url=(val) prop_set('application-home-url', val) end # Description for application def description prop_get('description') end # Description for application def description=(val) prop_set('description', val) end # application icon def app_icon prop_get('app-icon') end # application icon def app_icon=(val) prop_set('app-icon', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def clientless_app maybe_register_subclass('clientless-app', ClientlessApp.new(parent_instance: self, client: @client, create_children: @create_children)) end class ClientlessAppGroup < XML::ConfigClass def has_multiple_values?; true; end def _section :'clientless-app-group' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Members < XML::ConfigClass def has_multiple_values?; true; end def _section :members end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'max-count'=>'200'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def members maybe_register_subclass('members', Members.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'31', 'help-string'=>'clientless vpn application group name'}} # clientless vpn application group name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def clientless_app_group maybe_register_subclass('clientless-app-group', ClientlessAppGroup.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def global_protect @subclasses['global-protect'] ||= GlobalProtect.new(parent_instance: self, client: @client, create_children: @create_children) end class AuthenticationProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'authentication-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SingleSignOn < ConfigClass def has_multiple_values?; false; end def _section :'single-sign-on' end @props = {'realm'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'127', 'subtype'=>'object-name', 'help-string'=>'Kerberos realm to be used for authentication'}, 'service-principal'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'255', 'regex'=>'^([:/a-zA-Z0-9._-])+$', 'help-string'=>'Kerberos service principal'}, 'kerberos-keytab'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'131072', 'encrypt'=>'yes', 'help-string'=>'Kerberos keytab'}} # Kerberos realm to be used for authentication def realm prop_get('realm') end # Kerberos realm to be used for authentication def realm=(val) prop_set('realm', val) end # Kerberos service principal def service_principal prop_get('service-principal') end # Kerberos service principal def service_principal=(val) prop_set('service-principal', val) end # Kerberos keytab def kerberos_keytab prop_get('kerberos-keytab') end # Kerberos keytab def kerberos_keytab=(val) prop_set('kerberos-keytab', val) end end def single_sign_on @subclasses['single-sign-on'] ||= SingleSignOn.new(parent_instance: self, client: @client, create_children: @create_children) end class Lockout < ConfigClass def has_multiple_values?; false; end def _section :lockout end @props = {'failed-attempts'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'10', 'help-string'=>'Number of failed login attempts to trigger lock-out'}, 'lockout-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'60', 'default'=>'0', 'help-string'=>'Number of minutes to lock-out'}} # Number of failed login attempts to trigger lock-out def failed_attempts prop_get('failed-attempts') end # Number of failed login attempts to trigger lock-out def failed_attempts=(val) prop_set('failed-attempts', val) end # Number of minutes to lock-out def lockout_time prop_get('lockout-time') end # Number of minutes to lock-out def lockout_time=(val) prop_set('lockout-time', val) end end def lockout @subclasses['lockout'] ||= Lockout.new(parent_instance: self, client: @client, create_children: @create_children) end class AllowList < XML::ConfigClass def has_multiple_values?; true; end def _section :'allow-list' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'loose-membership'=>'yes', 'maxlen'=>'1023'}, 'enum'=>[{'value'=>'all', 'help-string'=>'all user and user groups'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def allow_list maybe_register_subclass('allow-list', AllowList.new(parent_instance: self, client: @client, create_children: @create_children)) end class Method < XML::ConfigClass def has_multiple_values?; true; end def _section :method end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end class Cloud < ConfigClass def has_multiple_values?; false; end def _section :cloud end class Region < ConfigClass def has_multiple_values?; false; end def _section :region end class Tenant < ConfigClass def has_multiple_values?; false; end def _section :tenant end class Profile < ConfigClass def has_multiple_values?; false; end def _section :profile end class Mfa < ConfigClass def has_multiple_values?; false; end def _section :mfa end @props = {'force-mfa'=>{'node-type'=>'element', 'type'=>'string', 'default'=>'no', 'complete-handler'=>'cas-force-mfa-completer', 'help-string'=>'force multi-factor authentication in cloud'}} # force multi-factor authentication in cloud def force_mfa prop_get('force-mfa') end # force multi-factor authentication in cloud def force_mfa=(val) prop_set('force-mfa', val) end end def mfa @subclasses['mfa'] ||= Mfa.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'profile_id'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'64', 'complete-handler'=>'cas-profile-completer', 'help-string'=>'CAS Profile id'}} # CAS Profile id def profile_id prop_get('profile_id') end # CAS Profile id def profile_id=(val) prop_set('profile_id', val) end end def profile @subclasses['profile'] ||= Profile.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'tenant_id'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'64', 'complete-handler'=>'cas-tenant-completer', 'help-string'=>'Tenant id'}} # Tenant id def tenant_id prop_get('tenant_id') end # Tenant id def tenant_id=(val) prop_set('tenant_id', val) end end def tenant @subclasses['tenant'] ||= Tenant.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'region_id'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'128', 'help-string'=>'Region Id', 'complete-handler'=>'cas-region-completer'}} # Region Id def region_id prop_get('region_id') end # Region Id def region_id=(val) prop_set('region_id', val) end end def region @subclasses['region'] ||= Region.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'clock-skew'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'900', 'default'=>'60', 'help-string'=>'clock skew between CAS service and device'}} # clock skew between CAS service and device def clock_skew prop_get('clock-skew') end # clock skew between CAS service and device def clock_skew=(val) prop_set('clock-skew', val) end end def cloud @subclasses['cloud'] ||= Cloud.new(parent_instance: self, client: @client, create_children: @create_children) end class LocalDatabase < ConfigClass def has_multiple_values?; false; end def _section :'local-database' end @props = {} end def local_database @subclasses['local-database'] ||= LocalDatabase.new(parent_instance: self, client: @client, create_children: @create_children) end class Radius < ConfigClass def has_multiple_values?; false; end def _section :radius end @props = {'server-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'RADIUS server profile object'}, 'checkgroup'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Retrieve user group from RADIUS'}} # RADIUS server profile object def server_profile prop_get('server-profile') end # RADIUS server profile object def server_profile=(val) prop_set('server-profile', val) end # Retrieve user group from RADIUS def checkgroup prop_get('checkgroup') end # Retrieve user group from RADIUS def checkgroup=(val) prop_set('checkgroup', val) end end def radius @subclasses['radius'] ||= Radius.new(parent_instance: self, client: @client, create_children: @create_children) end class Ldap < ConfigClass def has_multiple_values?; false; end def _section :ldap end @props = {'server-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'LDAP server profile object'}, 'login-attribute'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'Default is samAccountName for Active Directory, uid for other directory servers'}, 'passwd-exp-days'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255', 'optional'=>'yes', 'help-string'=>'Avail for Active Directory, eDir', 'default'=>'7'}} # LDAP server profile object def server_profile prop_get('server-profile') end # LDAP server profile object def server_profile=(val) prop_set('server-profile', val) end # Default is samAccountName for Active Directory, uid for other directory servers def login_attribute prop_get('login-attribute') end # Default is samAccountName for Active Directory, uid for other directory servers def login_attribute=(val) prop_set('login-attribute', val) end # Avail for Active Directory, eDir def passwd_exp_days prop_get('passwd-exp-days') end # Avail for Active Directory, eDir def passwd_exp_days=(val) prop_set('passwd-exp-days', val) end end def ldap @subclasses['ldap'] ||= Ldap.new(parent_instance: self, client: @client, create_children: @create_children) end class Kerberos < ConfigClass def has_multiple_values?; false; end def _section :kerberos end @props = {'server-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'Kerberos server profile object'}, 'realm'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127', 'subtype'=>'object-name', 'help-string'=>'Realm name to be used for authentication'}} # Kerberos server profile object def server_profile prop_get('server-profile') end # Kerberos server profile object def server_profile=(val) prop_set('server-profile', val) end # Realm name to be used for authentication def realm prop_get('realm') end # Realm name to be used for authentication def realm=(val) prop_set('realm', val) end end def kerberos @subclasses['kerberos'] ||= Kerberos.new(parent_instance: self, client: @client, create_children: @create_children) end class Tacplus < ConfigClass def has_multiple_values?; false; end def _section :tacplus end @props = {'server-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'TACACS+ server profile object'}, 'checkgroup'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Retrieve user group from TACACS+'}} # TACACS+ server profile object def server_profile prop_get('server-profile') end # TACACS+ server profile object def server_profile=(val) prop_set('server-profile', val) end # Retrieve user group from TACACS+ def checkgroup prop_get('checkgroup') end # Retrieve user group from TACACS+ def checkgroup=(val) prop_set('checkgroup', val) end end def tacplus @subclasses['tacplus'] ||= Tacplus.new(parent_instance: self, client: @client, create_children: @create_children) end class SamlIdp < ConfigClass def has_multiple_values?; false; end def _section :'saml-idp' end @props = {'server-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'IdP server profile object'}, 'enable-single-logout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable single logout'}, 'request-signing-certificate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'64', 'complete-handler'=>'check-cert-fields-completer', 'help-string'=>'Signing certificate for SAML requests'}, 'certificate-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'Certificate profile for IDP and SP'}, 'attribute-name-username'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'63', 'default'=>'username', 'help-string'=>'Attribute name for username to be extracted from SAML response', 'uiHint-fieldLabel'=>'Username Attribute'}, 'attribute-name-usergroup'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'usergroup', 'uiHint-fieldLabel'=>'User Group Attribute'}, 'attribute-name-admin-role'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'admin-role', 'uiHint-fieldLabel'=>'Admin Role Attribute'}, 'attribute-name-access-domain'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'access-domain', 'uiHint-fieldLabel'=>'Access Domain Attribute'}} # IdP server profile object def server_profile prop_get('server-profile') end # IdP server profile object def server_profile=(val) prop_set('server-profile', val) end # Enable single logout def enable_single_logout prop_get('enable-single-logout') end # Enable single logout def enable_single_logout=(val) prop_set('enable-single-logout', val) end # Signing certificate for SAML requests def request_signing_certificate prop_get('request-signing-certificate') end # Signing certificate for SAML requests def request_signing_certificate=(val) prop_set('request-signing-certificate', val) end # Certificate profile for IDP and SP def certificate_profile prop_get('certificate-profile') end # Certificate profile for IDP and SP def certificate_profile=(val) prop_set('certificate-profile', val) end # Attribute name for username to be extracted from SAML response def attribute_name_username prop_get('attribute-name-username') end # Attribute name for username to be extracted from SAML response def attribute_name_username=(val) prop_set('attribute-name-username', val) end # usergroup def attribute_name_usergroup prop_get('attribute-name-usergroup') end # usergroup def attribute_name_usergroup=(val) prop_set('attribute-name-usergroup', val) end # admin-role def attribute_name_admin_role prop_get('attribute-name-admin-role') end # admin-role def attribute_name_admin_role=(val) prop_set('attribute-name-admin-role', val) end # access-domain def attribute_name_access_domain prop_get('attribute-name-access-domain') end # access-domain def attribute_name_access_domain=(val) prop_set('attribute-name-access-domain', val) end end def saml_idp @subclasses['saml-idp'] ||= SamlIdp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def method maybe_register_subclass('method', Method.new(parent_instance: self, client: @client, create_children: @create_children)) end class MultiFactorAuth < ConfigClass def has_multiple_values?; false; end def _section :'multi-factor-auth' end class Factors < XML::ConfigClass def has_multiple_values?; true; end def _section :factors end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'max-count'=>'3'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def factors maybe_register_subclass('factors', Factors.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'mfa-enable'=>{'node-type'=>'element', 'type'=>'bool', 'help-string'=>'Enable Additional Authentication Factors'}} # Enable Additional Authentication Factors def mfa_enable prop_get('mfa-enable') end # Enable Additional Authentication Factors def mfa_enable=(val) prop_set('mfa-enable', val) end end def multi_factor_auth @subclasses['multi-factor-auth'] ||= MultiFactorAuth.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'regex'=>'^[a-zA-Z0-9\ ._-]+$', 'help-string'=>'Group name'}, 'username-modifier'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'%USERINPUT%', 'help-string'=>'Username modifier(Not for SAML) to handle user domain', 'multi-types'=>{'string'=>{'loose-membership'=>'yes', 'maxlen'=>'127'}, 'enum'=>[{'value'=>'%USERINPUT%'}, {'value'=>'%USERINPUT%@%USERDOMAIN%'}, {'value'=>'%USERDOMAIN%\%USERINPUT%'}]}}, 'user-domain'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'regex'=>'^[^\\\/\:\*\?\"\<\>\|\.]{1}[^\\\/\:\*\?\"\<\>\|]{0,62}$', 'help-string'=>'Domain name(Not for SAML) to be used for authentication'}} # Group name def name prop_get('@name') end # Username modifier(Not for SAML) to handle user domain def username_modifier prop_get('username-modifier') end # Username modifier(Not for SAML) to handle user domain def username_modifier=(val) prop_set('username-modifier', val) end # Domain name(Not for SAML) to be used for authentication def user_domain prop_get('user-domain') end # Domain name(Not for SAML) to be used for authentication def user_domain=(val) prop_set('user-domain', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def authentication_profile maybe_register_subclass('authentication-profile', AuthenticationProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class AuthenticationSequence < XML::ConfigClass def has_multiple_values?; true; end def _section :'authentication-sequence' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class AuthenticationProfiles < XML::ConfigClass def has_multiple_values?; true; end def _section :'authentication-profiles' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def authentication_profiles maybe_register_subclass('authentication-profiles', AuthenticationProfiles.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'regex'=>'^[a-zA-Z0-9\ ._-]+$', 'help-string'=>'Authentication sequence name'}, 'use-domain-find-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Attempt to use domain to determine authentication profile'}, 'exit-sequence-on-failure'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'exit the sequence if the domain matched profile fails'}, 'use-userid-domain'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'use the domain retrieved from userid'}} # Authentication sequence name def name prop_get('@name') end # Attempt to use domain to determine authentication profile def use_domain_find_profile prop_get('use-domain-find-profile') end # Attempt to use domain to determine authentication profile def use_domain_find_profile=(val) prop_set('use-domain-find-profile', val) end # exit the sequence if the domain matched profile fails def exit_sequence_on_failure prop_get('exit-sequence-on-failure') end # exit the sequence if the domain matched profile fails def exit_sequence_on_failure=(val) prop_set('exit-sequence-on-failure', val) end # use the domain retrieved from userid def use_userid_domain prop_get('use-userid-domain') end # use the domain retrieved from userid def use_userid_domain=(val) prop_set('use-userid-domain', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def authentication_sequence maybe_register_subclass('authentication-sequence', AuthenticationSequence.new(parent_instance: self, client: @client, create_children: @create_children)) end class CertificateProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'certificate-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class UsernameField < XML::ConfigClass def has_multiple_values?; true; end def _section :'username-field' end @props = {'subject'=>{'node-type'=>'element', 'type'=>'enum', 'help-string'=>'get user name from subject', 'enum'=>[{'value'=>'common-name'}]}, 'subject-alt'=>{'node-type'=>'element', 'type'=>'enum', 'help-string'=>'get user name from subject alternative name', 'enum'=>[{'value'=>'email'}, {'value'=>'principal-name'}]}} # get user name from subject def subject prop_get('subject') end # get user name from subject def subject=(val) prop_set('subject', val) end # get user name from subject alternative name def subject_alt prop_get('subject-alt') end # get user name from subject alternative name def subject_alt=(val) prop_set('subject-alt', val) end end def username_field maybe_register_subclass('username-field', UsernameField.new(parent_instance: self, client: @client, create_children: @create_children)) end class CA < XML::ConfigClass def has_multiple_values?; true; end def _section :CA end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'help-string'=>'CA file for client certificate'}, 'default-ocsp-url'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'1', 'maxlen'=>'255', 'regex'=>'^http(s)?://.+$', 'help-string'=>'default URL for ocsp verification'}, 'ocsp-verify-cert'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'63', 'help-string'=>'Certificate to verify signature in OCSP response'}, 'template-name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'1', 'maxlen'=>'255', 'help-string'=>'Certificate Template Name / OID for the certificate'}} # CA file for client certificate def name prop_get('@name') end # default URL for ocsp verification def default_ocsp_url prop_get('default-ocsp-url') end # default URL for ocsp verification def default_ocsp_url=(val) prop_set('default-ocsp-url', val) end # Certificate to verify signature in OCSP response def ocsp_verify_cert prop_get('ocsp-verify-cert') end # Certificate to verify signature in OCSP response def ocsp_verify_cert=(val) prop_set('ocsp-verify-cert', val) end # Certificate Template Name / OID for the certificate def template_name prop_get('template-name') end # Certificate Template Name / OID for the certificate def template_name=(val) prop_set('template-name', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def CA maybe_register_subclass('CA', CA.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'regex'=>'^[a-zA-Z0-9_-]+$', 'help-string'=>'Profile name'}, 'domain'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]', 'uiHint-fieldLabel'=>'User Domain'}, 'use-crl'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}, 'use-ocsp'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}, 'crl-receive-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'60', 'default'=>'5', 'help-string'=>'set CRL receive timeout value in seconds'}, 'ocsp-receive-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'60', 'default'=>'5', 'help-string'=>'set OCSP receive timeout value in seconds'}, 'ocsp-exclude-nonce'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'whether to exclude nonce extension for OCSP requests'}, 'cert-status-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'60', 'default'=>'5', 'help-string'=>'set cert status query timeout value in seconds'}, 'block-unknown-cert'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'whether to block a session if cert. status is unknown'}, 'block-timeout-cert'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'whether to block a session if cert. status can\'t be retrieved within timeout'}, 'block-unauthenticated-cert'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'whether to block session if the certificate was not issued to the authenticating device'}, 'block-expired-cert'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'whether to block a session if cert. status is expired'}} # Profile name def name prop_get('@name') end # alphanumeric string [ 0-9a-zA-Z._-] def domain prop_get('domain') end # alphanumeric string [ 0-9a-zA-Z._-] def domain=(val) prop_set('domain', val) end def use_crl prop_get('use-crl') end def use_crl=(val) prop_set('use-crl', val) end def use_ocsp prop_get('use-ocsp') end def use_ocsp=(val) prop_set('use-ocsp', val) end # set CRL receive timeout value in seconds def crl_receive_timeout prop_get('crl-receive-timeout') end # set CRL receive timeout value in seconds def crl_receive_timeout=(val) prop_set('crl-receive-timeout', val) end # set OCSP receive timeout value in seconds def ocsp_receive_timeout prop_get('ocsp-receive-timeout') end # set OCSP receive timeout value in seconds def ocsp_receive_timeout=(val) prop_set('ocsp-receive-timeout', val) end # whether to exclude nonce extension for OCSP requests def ocsp_exclude_nonce prop_get('ocsp-exclude-nonce') end # whether to exclude nonce extension for OCSP requests def ocsp_exclude_nonce=(val) prop_set('ocsp-exclude-nonce', val) end # set cert status query timeout value in seconds def cert_status_timeout prop_get('cert-status-timeout') end # set cert status query timeout value in seconds def cert_status_timeout=(val) prop_set('cert-status-timeout', val) end # whether to block a session if cert. status is unknown def block_unknown_cert prop_get('block-unknown-cert') end # whether to block a session if cert. status is unknown def block_unknown_cert=(val) prop_set('block-unknown-cert', val) end # whether to block a session if cert. status can't be retrieved within timeout def block_timeout_cert prop_get('block-timeout-cert') end # whether to block a session if cert. status can't be retrieved within timeout def block_timeout_cert=(val) prop_set('block-timeout-cert', val) end # whether to block session if the certificate was not issued to the authenticating device def block_unauthenticated_cert prop_get('block-unauthenticated-cert') end # whether to block session if the certificate was not issued to the authenticating device def block_unauthenticated_cert=(val) prop_set('block-unauthenticated-cert', val) end # whether to block a session if cert. status is expired def block_expired_cert prop_get('block-expired-cert') end # whether to block a session if cert. status is expired def block_expired_cert=(val) prop_set('block-expired-cert', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def certificate_profile maybe_register_subclass('certificate-profile', CertificateProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class ServerProfile < ConfigClass def has_multiple_values?; false; end def _section :'server-profile' end class Ldap < XML::ConfigClass def has_multiple_values?; true; end def _section :ldap end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'ldap server ip or host name.', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'minlen'=>'1', 'loose-membership'=>'yes', 'maxlen'=>'63', 'help-string'=>'Host name.'}}}, 'port'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'389', 'help-string'=>'default 389 for LDAP, 636 for LDAPS'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # ldap server ip or host name. def address prop_get('address') end # ldap server ip or host name. def address=(val) prop_set('address', val) end # default 389 for LDAP, 636 for LDAPS def port prop_get('port') end # default 389 for LDAP, 636 for LDAPS def port=(val) prop_set('port', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'admin-use-only'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Can only be used for administrative purposes'}, 'ldap-type'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'other', 'enum'=>[{'value'=>'active-directory'}, {'value'=>'e-directory'}, {'value'=>'sun'}, {'value'=>'other'}]}, 'ssl'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes'}, 'verify-server-certificate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Verify server certificate for SSL sessions'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}, 'base'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'255', 'regex'=>'^[^[:cntrl:]]+$', 'help-string'=>'Default base distinguished name (DN) to use for searches'}, 'bind-dn'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'255', 'regex'=>'^[^[:cntrl:]]+$', 'help-string'=>'bind distinguished name'}, 'bind-password'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'121', 'encrypt'=>'yes', 'help-string'=>'bind password'}, 'timelimit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'30', 'default'=>'30', 'help-string'=>'number of seconds to wait for performing searches'}, 'bind-timelimit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'60', 'default'=>'30', 'help-string'=>'number of seconds to use for connecting to servers'}, 'retry-interval'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'60', 'max'=>'3600', 'help-string'=>'Interval (seconds) for reconnecting LDAP server', 'default'=>'60'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # Can only be used for administrative purposes def admin_use_only prop_get('admin-use-only') end # Can only be used for administrative purposes def admin_use_only=(val) prop_set('admin-use-only', val) end def ldap_type prop_get('ldap-type') end def ldap_type=(val) prop_set('ldap-type', val) end def ssl prop_get('ssl') end def ssl=(val) prop_set('ssl', val) end # Verify server certificate for SSL sessions def verify_server_certificate prop_get('verify-server-certificate') end # Verify server certificate for SSL sessions def verify_server_certificate=(val) prop_set('verify-server-certificate', val) end def disabled prop_get('disabled') end def disabled=(val) prop_set('disabled', val) end # Default base distinguished name (DN) to use for searches def base prop_get('base') end # Default base distinguished name (DN) to use for searches def base=(val) prop_set('base', val) end # bind distinguished name def bind_dn prop_get('bind-dn') end # bind distinguished name def bind_dn=(val) prop_set('bind-dn', val) end # bind password def bind_password prop_get('bind-password') end # bind password def bind_password=(val) prop_set('bind-password', val) end # number of seconds to wait for performing searches def timelimit prop_get('timelimit') end # number of seconds to wait for performing searches def timelimit=(val) prop_set('timelimit', val) end # number of seconds to use for connecting to servers def bind_timelimit prop_get('bind-timelimit') end # number of seconds to use for connecting to servers def bind_timelimit=(val) prop_set('bind-timelimit', val) end # Interval (seconds) for reconnecting LDAP server def retry_interval prop_get('retry-interval') end # Interval (seconds) for reconnecting LDAP server def retry_interval=(val) prop_set('retry-interval', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ldap maybe_register_subclass('ldap', Ldap.new(parent_instance: self, client: @client, create_children: @create_children)) end class Radius < XML::ConfigClass def has_multiple_values?; true; end def _section :radius end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Protocol < XML::ConfigClass def has_multiple_values?; true; end def _section :protocol end class CHAP < ConfigClass def has_multiple_values?; false; end def _section :CHAP end @props = {} end def CHAP @subclasses['CHAP'] ||= CHAP.new(parent_instance: self, client: @client, create_children: @create_children) end class PAP < ConfigClass def has_multiple_values?; false; end def _section :PAP end @props = {} end def PAP @subclasses['PAP'] ||= PAP.new(parent_instance: self, client: @client, create_children: @create_children) end class PEAPMSCHAPv2 < ConfigClass def has_multiple_values?; false; end def _section :'PEAP-MSCHAPv2' end @props = {'anon-outer-id'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Make Outer Identity Anonymous'}, 'allow-pwd-change'=>{'node-type'=>'element', 'type'=>'bool', 'help-string'=>'Allow users to change passwords after expiry'}, 'radius-cert-profile'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Certificate profile for verifying the RADIUS server'}} # Make Outer Identity Anonymous def anon_outer_id prop_get('anon-outer-id') end # Make Outer Identity Anonymous def anon_outer_id=(val) prop_set('anon-outer-id', val) end # Allow users to change passwords after expiry def allow_pwd_change prop_get('allow-pwd-change') end # Allow users to change passwords after expiry def allow_pwd_change=(val) prop_set('allow-pwd-change', val) end # Certificate profile for verifying the RADIUS server def radius_cert_profile prop_get('radius-cert-profile') end # Certificate profile for verifying the RADIUS server def radius_cert_profile=(val) prop_set('radius-cert-profile', val) end end def PEAP_MSCHAPv2 @subclasses['PEAP-MSCHAPv2'] ||= PEAPMSCHAPv2.new(parent_instance: self, client: @client, create_children: @create_children) end class PEAPWithGTC < ConfigClass def has_multiple_values?; false; end def _section :'PEAP-with-GTC' end @props = {'anon-outer-id'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Make Outer Identity Anonymous'}, 'radius-cert-profile'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Certificate profile for verifying the RADIUS server'}} # Make Outer Identity Anonymous def anon_outer_id prop_get('anon-outer-id') end # Make Outer Identity Anonymous def anon_outer_id=(val) prop_set('anon-outer-id', val) end # Certificate profile for verifying the RADIUS server def radius_cert_profile prop_get('radius-cert-profile') end # Certificate profile for verifying the RADIUS server def radius_cert_profile=(val) prop_set('radius-cert-profile', val) end end def PEAP_with_GTC @subclasses['PEAP-with-GTC'] ||= PEAPWithGTC.new(parent_instance: self, client: @client, create_children: @create_children) end class EAPTTLSWithPAP < ConfigClass def has_multiple_values?; false; end def _section :'EAP-TTLS-with-PAP' end @props = {'anon-outer-id'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Make Outer Identity Anonymous'}, 'radius-cert-profile'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Certificate profile for verifying the RADIUS server'}} # Make Outer Identity Anonymous def anon_outer_id prop_get('anon-outer-id') end # Make Outer Identity Anonymous def anon_outer_id=(val) prop_set('anon-outer-id', val) end # Certificate profile for verifying the RADIUS server def radius_cert_profile prop_get('radius-cert-profile') end # Certificate profile for verifying the RADIUS server def radius_cert_profile=(val) prop_set('radius-cert-profile', val) end end def EAP_TTLS_with_PAP @subclasses['EAP-TTLS-with-PAP'] ||= EAPTTLSWithPAP.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def protocol maybe_register_subclass('protocol', Protocol.new(parent_instance: self, client: @client, create_children: @create_children)) end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'ip-address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'RADIUS server IP or host name', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'minlen'=>'1', 'loose-membership'=>'yes', 'maxlen'=>'63', 'help-string'=>'Host name.'}}}, 'secret'=>{'node-type'=>'element', 'type'=>'string', 'encrypt'=>'yes', 'maxlen'=>'64', 'help-string'=>'Shared secret for RADIUS communication'}, 'port'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'1812', 'help-string'=>'RADIUS server port'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # RADIUS server IP or host name def ip_address prop_get('ip-address') end # RADIUS server IP or host name def ip_address=(val) prop_set('ip-address', val) end # Shared secret for RADIUS communication def secret prop_get('secret') end # Shared secret for RADIUS communication def secret=(val) prop_set('secret', val) end # RADIUS server port def port prop_get('port') end # RADIUS server port def port=(val) prop_set('port', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'admin-use-only'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Can only be used for administrative purposes'}, 'timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'120', 'default'=>'3', 'help-string'=>'number of seconds to wait for when performing authentication'}, 'retries'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'5', 'default'=>'3', 'help-string'=>'number of attempts before giving up authentication'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # Can only be used for administrative purposes def admin_use_only prop_get('admin-use-only') end # Can only be used for administrative purposes def admin_use_only=(val) prop_set('admin-use-only', val) end # number of seconds to wait for when performing authentication def timeout prop_get('timeout') end # number of seconds to wait for when performing authentication def timeout=(val) prop_set('timeout', val) end # number of attempts before giving up authentication def retries prop_get('retries') end # number of attempts before giving up authentication def retries=(val) prop_set('retries', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def radius maybe_register_subclass('radius', Radius.new(parent_instance: self, client: @client, create_children: @create_children)) end class Scp < XML::ConfigClass def has_multiple_values?; true; end def _section :scp end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string'}, 'server'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'SCP hostname'}, 'port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'22', 'help-string'=>'SCP port'}, 'username'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'128', 'regex'=>'[^\']*', 'help-string'=>'SCP username'}, 'password'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'64', 'regex'=>'[^\']*', 'help-string'=>'SCP Password', 'encrypt'=>'yes'}, 'path'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'256', 'help-string'=>'SCP image base path'}, 'fingerprint'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'256', 'regex'=>'[^\']*', 'help-string'=>'SCP host fingerprint'}} # alphanumeric string def name prop_get('@name') end # SCP hostname def server prop_get('server') end # SCP hostname def server=(val) prop_set('server', val) end # SCP port def port prop_get('port') end # SCP port def port=(val) prop_set('port', val) end # SCP username def username prop_get('username') end # SCP username def username=(val) prop_set('username', val) end # SCP Password def password prop_get('password') end # SCP Password def password=(val) prop_set('password', val) end # SCP image base path def path prop_get('path') end # SCP image base path def path=(val) prop_set('path', val) end # SCP host fingerprint def fingerprint prop_get('fingerprint') end # SCP host fingerprint def fingerprint=(val) prop_set('fingerprint', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def scp maybe_register_subclass('scp', Scp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Kerberos < XML::ConfigClass def has_multiple_values?; true; end def _section :kerberos end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'host'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Kerberos server ip or host name.', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'minlen'=>'1', 'loose-membership'=>'yes', 'maxlen'=>'63', 'help-string'=>'Host name.'}}}, 'port'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'88', 'help-string'=>'Kerberos Domain Controller '}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # Kerberos server ip or host name. def host prop_get('host') end # Kerberos server ip or host name. def host=(val) prop_set('host', val) end # Kerberos Domain Controller def port prop_get('port') end # Kerberos Domain Controller def port=(val) prop_set('port', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'admin-use-only'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Can only be used for administrative purposes'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # Can only be used for administrative purposes def admin_use_only prop_get('admin-use-only') end # Can only be used for administrative purposes def admin_use_only=(val) prop_set('admin-use-only', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def kerberos maybe_register_subclass('kerberos', Kerberos.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tacplus < XML::ConfigClass def has_multiple_values?; true; end def _section :tacplus end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'TACACS+ server ip or host name.', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'minlen'=>'1', 'loose-membership'=>'yes', 'maxlen'=>'63', 'help-string'=>'Host name.'}}}, 'secret'=>{'node-type'=>'element', 'type'=>'string', 'encrypt'=>'yes', 'maxlen'=>'64', 'help-string'=>'Shared secret for TACACS+ communication'}, 'port'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'49', 'help-string'=>'TACACS+ server port'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # TACACS+ server ip or host name. def address prop_get('address') end # TACACS+ server ip or host name. def address=(val) prop_set('address', val) end # Shared secret for TACACS+ communication def secret prop_get('secret') end # Shared secret for TACACS+ communication def secret=(val) prop_set('secret', val) end # TACACS+ server port def port prop_get('port') end # TACACS+ server port def port=(val) prop_set('port', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'30', 'default'=>'3', 'help-string'=>'number of seconds to wait for when performing authentication'}, 'admin-use-only'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Can only be used for administrative purposes'}, 'use-single-connection'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Use single connection for all authentication'}, 'protocol'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'CHAP', 'help-string'=>'Select authentication protocol', 'enum'=>[{'value'=>'CHAP'}, {'value'=>'PAP'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # number of seconds to wait for when performing authentication def timeout prop_get('timeout') end # number of seconds to wait for when performing authentication def timeout=(val) prop_set('timeout', val) end # Can only be used for administrative purposes def admin_use_only prop_get('admin-use-only') end # Can only be used for administrative purposes def admin_use_only=(val) prop_set('admin-use-only', val) end # Use single connection for all authentication def use_single_connection prop_get('use-single-connection') end # Use single connection for all authentication def use_single_connection=(val) prop_set('use-single-connection', val) end # Select authentication protocol def protocol prop_get('protocol') end # Select authentication protocol def protocol=(val) prop_set('protocol', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def tacplus maybe_register_subclass('tacplus', Tacplus.new(parent_instance: self, client: @client, create_children: @create_children)) end class SamlIdp < XML::ConfigClass def has_multiple_values?; true; end def _section :'saml-idp' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'admin-use-only'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Can only be used for administrative purposes'}, 'entity-id'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'1024', 'help-string'=>'Unique identifier for SAML IdP'}, 'certificate'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'complete-handler'=>'check-idp-cert-fields-completer', 'help-string'=>'Object name of IdP signing certificate'}, 'sso-url'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'255', 'help-string'=>'The Single Sign On Service URL for the IdP server'}, 'sso-bindings'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'post', 'enum'=>[{'value'=>'post'}, {'value'=>'redirect'}]}, 'slo-url'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'255', 'help-string'=>'The Single Logout Service URL for the IdP server'}, 'slo-bindings'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'post', 'enum'=>[{'value'=>'post'}, {'value'=>'redirect'}]}, 'validate-idp-certificate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Certificate revocation check for IdP certificate when checking assertion signature'}, 'want-auth-requests-signed'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Client auth request signed by cert'}, 'max-clock-skew'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'900', 'default'=>'60', 'help-string'=>'maximum allowed clock skew in second between SAML entities\' system time'}, 'attribute-name-username-import'=>{'node-type'=>'element', 'internal'=>'yes', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'63', 'default'=>'username', 'help-string'=>'Attribute name for username to be extracted from SAML response'}, 'attribute-name-usergroup-import'=>{'node-type'=>'element', 'internal'=>'yes', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'usergroup'}, 'attribute-name-admin-role-import'=>{'node-type'=>'element', 'internal'=>'yes', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'admin-role'}, 'attribute-name-access-domain-import'=>{'node-type'=>'element', 'internal'=>'yes', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'access-domain'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # Can only be used for administrative purposes def admin_use_only prop_get('admin-use-only') end # Can only be used for administrative purposes def admin_use_only=(val) prop_set('admin-use-only', val) end # Unique identifier for SAML IdP def entity_id prop_get('entity-id') end # Unique identifier for SAML IdP def entity_id=(val) prop_set('entity-id', val) end # Object name of IdP signing certificate def certificate prop_get('certificate') end # Object name of IdP signing certificate def certificate=(val) prop_set('certificate', val) end # The Single Sign On Service URL for the IdP server def sso_url prop_get('sso-url') end # The Single Sign On Service URL for the IdP server def sso_url=(val) prop_set('sso-url', val) end def sso_bindings prop_get('sso-bindings') end def sso_bindings=(val) prop_set('sso-bindings', val) end # The Single Logout Service URL for the IdP server def slo_url prop_get('slo-url') end # The Single Logout Service URL for the IdP server def slo_url=(val) prop_set('slo-url', val) end def slo_bindings prop_get('slo-bindings') end def slo_bindings=(val) prop_set('slo-bindings', val) end # Certificate revocation check for IdP certificate when checking assertion signature def validate_idp_certificate prop_get('validate-idp-certificate') end # Certificate revocation check for IdP certificate when checking assertion signature def validate_idp_certificate=(val) prop_set('validate-idp-certificate', val) end # Client auth request signed by cert def want_auth_requests_signed prop_get('want-auth-requests-signed') end # Client auth request signed by cert def want_auth_requests_signed=(val) prop_set('want-auth-requests-signed', val) end # maximum allowed clock skew in second between SAML entities' system time def max_clock_skew prop_get('max-clock-skew') end # maximum allowed clock skew in second between SAML entities' system time def max_clock_skew=(val) prop_set('max-clock-skew', val) end # Attribute name for username to be extracted from SAML response def attribute_name_username_import prop_get('attribute-name-username-import') end # Attribute name for username to be extracted from SAML response def attribute_name_username_import=(val) prop_set('attribute-name-username-import', val) end # usergroup def attribute_name_usergroup_import prop_get('attribute-name-usergroup-import') end # usergroup def attribute_name_usergroup_import=(val) prop_set('attribute-name-usergroup-import', val) end # admin-role def attribute_name_admin_role_import prop_get('attribute-name-admin-role-import') end # admin-role def attribute_name_admin_role_import=(val) prop_set('attribute-name-admin-role-import', val) end # access-domain def attribute_name_access_domain_import prop_get('attribute-name-access-domain-import') end # access-domain def attribute_name_access_domain_import=(val) prop_set('attribute-name-access-domain-import', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def saml_idp maybe_register_subclass('saml-idp', SamlIdp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Netflow < XML::ConfigClass def has_multiple_values?; true; end def _section :netflow end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class TemplateRefreshRate < ConfigClass def has_multiple_values?; false; end def _section :'template-refresh-rate' end @props = {'minutes'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'30'}, 'packets'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'600', 'default'=>'20'}} def minutes prop_get('minutes') end def minutes=(val) prop_set('minutes', val) end def packets prop_get('packets') end def packets=(val) prop_set('packets', val) end end def template_refresh_rate @subclasses['template-refresh-rate'] ||= TemplateRefreshRate.new(parent_instance: self, client: @client, create_children: @create_children) end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'host'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Netflow server ip or host name.', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'loose-membership'=>'yes', 'maxlen'=>'63'}}}, 'port'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'2055', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Netflow server port'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # Netflow server ip or host name. def host prop_get('host') end # Netflow server ip or host name. def host=(val) prop_set('host', val) end # Netflow server port def port prop_get('port') end # Netflow server port def port=(val) prop_set('port', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'active-timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'60', 'default'=>'5', 'help-string'=>'Active timeout in minutes'}, 'export-enterprise-fields'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Export PAN-OS Specific Field Types'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # Active timeout in minutes def active_timeout prop_get('active-timeout') end # Active timeout in minutes def active_timeout=(val) prop_set('active-timeout', val) end # Export PAN-OS Specific Field Types def export_enterprise_fields prop_get('export-enterprise-fields') end # Export PAN-OS Specific Field Types def export_enterprise_fields=(val) prop_set('export-enterprise-fields', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def netflow maybe_register_subclass('netflow', Netflow.new(parent_instance: self, client: @client, create_children: @create_children)) end class Dns < XML::ConfigClass def has_multiple_values?; true; end def _section :dns end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Inheritance < ConfigClass def has_multiple_values?; false; end def _section :inheritance end @props = {'source'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Dynamic interface'}} # Dynamic interface def source prop_get('source') end # Dynamic interface def source=(val) prop_set('source', val) end end def inheritance @subclasses['inheritance'] ||= Inheritance.new(parent_instance: self, client: @client, create_children: @create_children) end class Source < ConfigClass def has_multiple_values?; false; end def _section :source end @props = {'interface'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Source interface to use to reach destination'}, 'address'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Source IP address to use to reach destination'}} # Source interface to use to reach destination def interface prop_get('interface') end # Source interface to use to reach destination def interface=(val) prop_set('interface', val) end # Source IP address to use to reach destination def address prop_get('address') end # Source IP address to use to reach destination def address=(val) prop_set('address', val) end end def source @subclasses['source'] ||= Source.new(parent_instance: self, client: @client, create_children: @create_children) end class SourceV6 < ConfigClass def has_multiple_values?; false; end def _section :'source-v6' end @props = {'interface'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Source interface to use to reach destination'}, 'address'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'96', 'help-string'=>'Source IP address to use to reach destination'}} # Source interface to use to reach destination def interface prop_get('interface') end # Source interface to use to reach destination def interface=(val) prop_set('interface', val) end # Source IP address to use to reach destination def address prop_get('address') end # Source IP address to use to reach destination def address=(val) prop_set('address', val) end end def source_v6 @subclasses['source-v6'] ||= SourceV6.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'primary'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Primary DNS Name server IP address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'help-string'=>'DNS primary server ip'}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'inherited'}]}}, 'secondary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Secondary DNS Name server IP address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'help-string'=>'DNS primary server ip'}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'inherited'}]}}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # Primary DNS Name server IP address def primary prop_get('primary') end # Primary DNS Name server IP address def primary=(val) prop_set('primary', val) end # Secondary DNS Name server IP address def secondary prop_get('secondary') end # Secondary DNS Name server IP address def secondary=(val) prop_set('secondary', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def dns maybe_register_subclass('dns', Dns.new(parent_instance: self, client: @client, create_children: @create_children)) end class MfaServerProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'mfa-server-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class MfaConfig < XML::ConfigClass def has_multiple_values?; true; end def _section :'mfa-config' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def mfa_config maybe_register_subclass('mfa-config', MfaConfig.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'regex'=>'^[a-zA-Z0-9\ ._-]+$', 'help-string'=>'MFA Server Profile Name'}, 'mfa-vendor-type'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'128', 'help-string'=>'Vendor and product type'}, 'mfa-cert-profile'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Certificate profile for verifying the MFA Vendor'}} # MFA Server Profile Name def name prop_get('@name') end # Vendor and product type def mfa_vendor_type prop_get('mfa-vendor-type') end # Vendor and product type def mfa_vendor_type=(val) prop_set('mfa-vendor-type', val) end # Certificate profile for verifying the MFA Vendor def mfa_cert_profile prop_get('mfa-cert-profile') end # Certificate profile for verifying the MFA Vendor def mfa_cert_profile=(val) prop_set('mfa-cert-profile', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def mfa_server_profile maybe_register_subclass('mfa-server-profile', MfaServerProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def server_profile @subclasses['server-profile'] ||= ServerProfile.new(parent_instance: self, client: @client, create_children: @create_children) end class LogSettings < ConfigClass def has_multiple_values?; false; end def _section :'log-settings' end class System < ConfigClass def has_multiple_values?; false; end def _section :system end class MatchList < XML::ConfigClass def has_multiple_values?; true; end def _section :'match-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SendSnmptrap < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-snmptrap' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_snmptrap maybe_register_subclass('send-snmptrap', SendSnmptrap.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendEmail < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-email' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_email maybe_register_subclass('send-email', SendEmail.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendSyslog < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-syslog' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_syslog maybe_register_subclass('send-syslog', SendSyslog.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendHttp < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-http' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_http maybe_register_subclass('send-http', SendHttp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Actions < XML::ConfigClass def has_multiple_values?; true; end def _section :actions end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Integration < ConfigClass def has_multiple_values?; false; end def _section :integration end @props = {'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'Azure-Security-Center-Integration', 'enum'=>[{'value'=>'Azure-Security-Center-Integration', 'help-string'=>'Azure Security Center Integration'}]}} def action prop_get('action') end def action=(val) prop_set('action', val) end end def integration @subclasses['integration'] ||= Integration.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def actions maybe_register_subclass('actions', Actions.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'filter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1023'}, 'send-to-panorama'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}} def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def filter prop_get('filter') end def filter=(val) prop_set('filter', val) end def send_to_panorama prop_get('send-to-panorama') end def send_to_panorama=(val) prop_set('send-to-panorama', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def match_list maybe_register_subclass('match-list', MatchList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def system @subclasses['system'] ||= System.new(parent_instance: self, client: @client, create_children: @create_children) end class Config < ConfigClass def has_multiple_values?; false; end def _section :config end class MatchList < XML::ConfigClass def has_multiple_values?; true; end def _section :'match-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SendSnmptrap < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-snmptrap' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_snmptrap maybe_register_subclass('send-snmptrap', SendSnmptrap.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendEmail < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-email' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_email maybe_register_subclass('send-email', SendEmail.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendSyslog < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-syslog' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_syslog maybe_register_subclass('send-syslog', SendSyslog.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendHttp < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-http' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_http maybe_register_subclass('send-http', SendHttp.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'filter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1023'}, 'send-to-panorama'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}} def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def filter prop_get('filter') end def filter=(val) prop_set('filter', val) end def send_to_panorama prop_get('send-to-panorama') end def send_to_panorama=(val) prop_set('send-to-panorama', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def match_list maybe_register_subclass('match-list', MatchList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def config @subclasses['config'] ||= Config.new(parent_instance: self, client: @client, create_children: @create_children) end class Userid < ConfigClass def has_multiple_values?; false; end def _section :userid end class MatchList < XML::ConfigClass def has_multiple_values?; true; end def _section :'match-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SendSnmptrap < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-snmptrap' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_snmptrap maybe_register_subclass('send-snmptrap', SendSnmptrap.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendEmail < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-email' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_email maybe_register_subclass('send-email', SendEmail.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendSyslog < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-syslog' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_syslog maybe_register_subclass('send-syslog', SendSyslog.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendHttp < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-http' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_http maybe_register_subclass('send-http', SendHttp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Actions < XML::ConfigClass def has_multiple_values?; true; end def _section :actions end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Integration < ConfigClass def has_multiple_values?; false; end def _section :integration end @props = {'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'Azure-Security-Center-Integration', 'enum'=>[{'value'=>'Azure-Security-Center-Integration', 'help-string'=>'Azure Security Center Integration'}]}} def action prop_get('action') end def action=(val) prop_set('action', val) end end def integration @subclasses['integration'] ||= Integration.new(parent_instance: self, client: @client, create_children: @create_children) end class Tagging < ConfigClass def has_multiple_values?; false; end def _section :tagging end class Registration < XML::ConfigClass def has_multiple_values?; true; end def _section :registration end class Localhost < ConfigClass def has_multiple_values?; false; end def _section :localhost end @props = {} end def localhost @subclasses['localhost'] ||= Localhost.new(parent_instance: self, client: @client, create_children: @create_children) end class Panorama < ConfigClass def has_multiple_values?; false; end def _section :panorama end @props = {} end def panorama @subclasses['panorama'] ||= Panorama.new(parent_instance: self, client: @client, create_children: @create_children) end class Remote < ConfigClass def has_multiple_values?; false; end def _section :remote end @props = {'http-profile'=>{'node-type'=>'element', 'type'=>'string'}} def http_profile prop_get('http-profile') end def http_profile=(val) prop_set('http-profile', val) end end def remote @subclasses['remote'] ||= Remote.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def registration maybe_register_subclass('registration', Registration.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'127', 'regex'=>'^[^\]\'\[]*$'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'target'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'source-address', 'enum'=>[{'value'=>'source-address', 'help-string'=>'Source Address'}, {'value'=>'destination-address', 'help-string'=>'Destination Address'}, {'value'=>'xff-address', 'help-string'=>'X-Forwarded-For Address'}, {'value'=>'user', 'help-string'=>'User'}]}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'add-tag', 'enum'=>[{'value'=>'add-tag', 'help-string'=>'Add Tag'}, {'value'=>'remove-tag', 'help-string'=>'Remove Tag'}]}, 'timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'43200', 'optional'=>'yes', 'default'=>'0', 'help-string'=>'timeout in minutes'}} def target prop_get('target') end def target=(val) prop_set('target', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # timeout in minutes def timeout prop_get('timeout') end # timeout in minutes def timeout=(val) prop_set('timeout', val) end end def tagging @subclasses['tagging'] ||= Tagging.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def actions maybe_register_subclass('actions', Actions.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'filter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1024'}, 'send-to-panorama'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'quarantine'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}} def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def filter prop_get('filter') end def filter=(val) prop_set('filter', val) end def send_to_panorama prop_get('send-to-panorama') end def send_to_panorama=(val) prop_set('send-to-panorama', val) end def quarantine prop_get('quarantine') end def quarantine=(val) prop_set('quarantine', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def match_list maybe_register_subclass('match-list', MatchList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def userid @subclasses['userid'] ||= Userid.new(parent_instance: self, client: @client, create_children: @create_children) end class Iptag < ConfigClass def has_multiple_values?; false; end def _section :iptag end class MatchList < XML::ConfigClass def has_multiple_values?; true; end def _section :'match-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SendSnmptrap < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-snmptrap' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_snmptrap maybe_register_subclass('send-snmptrap', SendSnmptrap.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendEmail < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-email' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_email maybe_register_subclass('send-email', SendEmail.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendSyslog < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-syslog' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_syslog maybe_register_subclass('send-syslog', SendSyslog.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendHttp < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-http' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_http maybe_register_subclass('send-http', SendHttp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Actions < XML::ConfigClass def has_multiple_values?; true; end def _section :actions end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Integration < ConfigClass def has_multiple_values?; false; end def _section :integration end @props = {'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'Azure-Security-Center-Integration', 'enum'=>[{'value'=>'Azure-Security-Center-Integration', 'help-string'=>'Azure Security Center Integration'}]}} def action prop_get('action') end def action=(val) prop_set('action', val) end end def integration @subclasses['integration'] ||= Integration.new(parent_instance: self, client: @client, create_children: @create_children) end class Tagging < ConfigClass def has_multiple_values?; false; end def _section :tagging end class Registration < XML::ConfigClass def has_multiple_values?; true; end def _section :registration end class Localhost < ConfigClass def has_multiple_values?; false; end def _section :localhost end @props = {} end def localhost @subclasses['localhost'] ||= Localhost.new(parent_instance: self, client: @client, create_children: @create_children) end class Panorama < ConfigClass def has_multiple_values?; false; end def _section :panorama end @props = {} end def panorama @subclasses['panorama'] ||= Panorama.new(parent_instance: self, client: @client, create_children: @create_children) end class Remote < ConfigClass def has_multiple_values?; false; end def _section :remote end @props = {'http-profile'=>{'node-type'=>'element', 'type'=>'string'}} def http_profile prop_get('http-profile') end def http_profile=(val) prop_set('http-profile', val) end end def remote @subclasses['remote'] ||= Remote.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def registration maybe_register_subclass('registration', Registration.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'127', 'regex'=>'^[^\]\'\[]*$'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'target'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'source-address', 'enum'=>[{'value'=>'source-address', 'help-string'=>'Source Address'}, {'value'=>'destination-address', 'help-string'=>'Destination Address'}, {'value'=>'xff-address', 'help-string'=>'X-Forwarded-For Address'}, {'value'=>'user', 'help-string'=>'User'}]}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'add-tag', 'enum'=>[{'value'=>'add-tag', 'help-string'=>'Add Tag'}, {'value'=>'remove-tag', 'help-string'=>'Remove Tag'}]}, 'timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'43200', 'optional'=>'yes', 'default'=>'0', 'help-string'=>'timeout in minutes'}} def target prop_get('target') end def target=(val) prop_set('target', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # timeout in minutes def timeout prop_get('timeout') end # timeout in minutes def timeout=(val) prop_set('timeout', val) end end def tagging @subclasses['tagging'] ||= Tagging.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def actions maybe_register_subclass('actions', Actions.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'filter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1024'}, 'send-to-panorama'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'quarantine'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}} def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def filter prop_get('filter') end def filter=(val) prop_set('filter', val) end def send_to_panorama prop_get('send-to-panorama') end def send_to_panorama=(val) prop_set('send-to-panorama', val) end def quarantine prop_get('quarantine') end def quarantine=(val) prop_set('quarantine', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def match_list maybe_register_subclass('match-list', MatchList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def iptag @subclasses['iptag'] ||= Iptag.new(parent_instance: self, client: @client, create_children: @create_children) end class Globalprotect < ConfigClass def has_multiple_values?; false; end def _section :globalprotect end class MatchList < XML::ConfigClass def has_multiple_values?; true; end def _section :'match-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SendSnmptrap < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-snmptrap' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_snmptrap maybe_register_subclass('send-snmptrap', SendSnmptrap.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendEmail < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-email' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_email maybe_register_subclass('send-email', SendEmail.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendSyslog < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-syslog' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_syslog maybe_register_subclass('send-syslog', SendSyslog.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendHttp < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-http' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_http maybe_register_subclass('send-http', SendHttp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Actions < XML::ConfigClass def has_multiple_values?; true; end def _section :actions end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Integration < ConfigClass def has_multiple_values?; false; end def _section :integration end @props = {'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'Azure-Security-Center-Integration', 'enum'=>[{'value'=>'Azure-Security-Center-Integration', 'help-string'=>'Azure Security Center Integration'}]}} def action prop_get('action') end def action=(val) prop_set('action', val) end end def integration @subclasses['integration'] ||= Integration.new(parent_instance: self, client: @client, create_children: @create_children) end class Tagging < ConfigClass def has_multiple_values?; false; end def _section :tagging end class Registration < XML::ConfigClass def has_multiple_values?; true; end def _section :registration end class Localhost < ConfigClass def has_multiple_values?; false; end def _section :localhost end @props = {} end def localhost @subclasses['localhost'] ||= Localhost.new(parent_instance: self, client: @client, create_children: @create_children) end class Panorama < ConfigClass def has_multiple_values?; false; end def _section :panorama end @props = {} end def panorama @subclasses['panorama'] ||= Panorama.new(parent_instance: self, client: @client, create_children: @create_children) end class Remote < ConfigClass def has_multiple_values?; false; end def _section :remote end @props = {'http-profile'=>{'node-type'=>'element', 'type'=>'string'}} def http_profile prop_get('http-profile') end def http_profile=(val) prop_set('http-profile', val) end end def remote @subclasses['remote'] ||= Remote.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def registration maybe_register_subclass('registration', Registration.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'127', 'regex'=>'^[^\]\'\[]*$'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'target'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'source-address', 'enum'=>[{'value'=>'source-address', 'help-string'=>'Source Address'}, {'value'=>'destination-address', 'help-string'=>'Destination Address'}, {'value'=>'xff-address', 'help-string'=>'X-Forwarded-For Address'}, {'value'=>'user', 'help-string'=>'User'}]}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'add-tag', 'enum'=>[{'value'=>'add-tag', 'help-string'=>'Add Tag'}, {'value'=>'remove-tag', 'help-string'=>'Remove Tag'}]}, 'timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'43200', 'optional'=>'yes', 'default'=>'0', 'help-string'=>'timeout in minutes'}} def target prop_get('target') end def target=(val) prop_set('target', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # timeout in minutes def timeout prop_get('timeout') end # timeout in minutes def timeout=(val) prop_set('timeout', val) end end def tagging @subclasses['tagging'] ||= Tagging.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def actions maybe_register_subclass('actions', Actions.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'filter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1024'}, 'send-to-panorama'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'quarantine'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}} def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def filter prop_get('filter') end def filter=(val) prop_set('filter', val) end def send_to_panorama prop_get('send-to-panorama') end def send_to_panorama=(val) prop_set('send-to-panorama', val) end def quarantine prop_get('quarantine') end def quarantine=(val) prop_set('quarantine', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def match_list maybe_register_subclass('match-list', MatchList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def globalprotect @subclasses['globalprotect'] ||= Globalprotect.new(parent_instance: self, client: @client, create_children: @create_children) end class Hipmatch < ConfigClass def has_multiple_values?; false; end def _section :hipmatch end class MatchList < XML::ConfigClass def has_multiple_values?; true; end def _section :'match-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SendSnmptrap < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-snmptrap' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_snmptrap maybe_register_subclass('send-snmptrap', SendSnmptrap.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendEmail < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-email' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_email maybe_register_subclass('send-email', SendEmail.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendSyslog < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-syslog' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_syslog maybe_register_subclass('send-syslog', SendSyslog.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendHttp < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-http' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_http maybe_register_subclass('send-http', SendHttp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Actions < XML::ConfigClass def has_multiple_values?; true; end def _section :actions end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Integration < ConfigClass def has_multiple_values?; false; end def _section :integration end @props = {'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'Azure-Security-Center-Integration', 'enum'=>[{'value'=>'Azure-Security-Center-Integration', 'help-string'=>'Azure Security Center Integration'}]}} def action prop_get('action') end def action=(val) prop_set('action', val) end end def integration @subclasses['integration'] ||= Integration.new(parent_instance: self, client: @client, create_children: @create_children) end class Tagging < ConfigClass def has_multiple_values?; false; end def _section :tagging end class Registration < XML::ConfigClass def has_multiple_values?; true; end def _section :registration end class Localhost < ConfigClass def has_multiple_values?; false; end def _section :localhost end @props = {} end def localhost @subclasses['localhost'] ||= Localhost.new(parent_instance: self, client: @client, create_children: @create_children) end class Panorama < ConfigClass def has_multiple_values?; false; end def _section :panorama end @props = {} end def panorama @subclasses['panorama'] ||= Panorama.new(parent_instance: self, client: @client, create_children: @create_children) end class Remote < ConfigClass def has_multiple_values?; false; end def _section :remote end @props = {'http-profile'=>{'node-type'=>'element', 'type'=>'string'}} def http_profile prop_get('http-profile') end def http_profile=(val) prop_set('http-profile', val) end end def remote @subclasses['remote'] ||= Remote.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def registration maybe_register_subclass('registration', Registration.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'127', 'regex'=>'^[^\]\'\[]*$'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'target'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'source-address', 'enum'=>[{'value'=>'source-address', 'help-string'=>'Source Address'}, {'value'=>'destination-address', 'help-string'=>'Destination Address'}, {'value'=>'xff-address', 'help-string'=>'X-Forwarded-For Address'}, {'value'=>'user', 'help-string'=>'User'}]}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'add-tag', 'enum'=>[{'value'=>'add-tag', 'help-string'=>'Add Tag'}, {'value'=>'remove-tag', 'help-string'=>'Remove Tag'}]}, 'timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'43200', 'optional'=>'yes', 'default'=>'0', 'help-string'=>'timeout in minutes'}} def target prop_get('target') end def target=(val) prop_set('target', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # timeout in minutes def timeout prop_get('timeout') end # timeout in minutes def timeout=(val) prop_set('timeout', val) end end def tagging @subclasses['tagging'] ||= Tagging.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def actions maybe_register_subclass('actions', Actions.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'filter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1023'}, 'send-to-panorama'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'quarantine'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}} def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def filter prop_get('filter') end def filter=(val) prop_set('filter', val) end def send_to_panorama prop_get('send-to-panorama') end def send_to_panorama=(val) prop_set('send-to-panorama', val) end def quarantine prop_get('quarantine') end def quarantine=(val) prop_set('quarantine', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def match_list maybe_register_subclass('match-list', MatchList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def hipmatch @subclasses['hipmatch'] ||= Hipmatch.new(parent_instance: self, client: @client, create_children: @create_children) end class Correlation < ConfigClass def has_multiple_values?; false; end def _section :correlation end class MatchList < XML::ConfigClass def has_multiple_values?; true; end def _section :'match-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SendSnmptrap < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-snmptrap' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_snmptrap maybe_register_subclass('send-snmptrap', SendSnmptrap.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendEmail < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-email' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_email maybe_register_subclass('send-email', SendEmail.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendSyslog < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-syslog' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_syslog maybe_register_subclass('send-syslog', SendSyslog.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendHttp < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-http' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_http maybe_register_subclass('send-http', SendHttp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Actions < XML::ConfigClass def has_multiple_values?; true; end def _section :actions end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Integration < ConfigClass def has_multiple_values?; false; end def _section :integration end @props = {'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'Azure-Security-Center-Integration', 'enum'=>[{'value'=>'Azure-Security-Center-Integration', 'help-string'=>'Azure Security Center Integration'}]}} def action prop_get('action') end def action=(val) prop_set('action', val) end end def integration @subclasses['integration'] ||= Integration.new(parent_instance: self, client: @client, create_children: @create_children) end class Tagging < ConfigClass def has_multiple_values?; false; end def _section :tagging end class Registration < XML::ConfigClass def has_multiple_values?; true; end def _section :registration end class Localhost < ConfigClass def has_multiple_values?; false; end def _section :localhost end @props = {} end def localhost @subclasses['localhost'] ||= Localhost.new(parent_instance: self, client: @client, create_children: @create_children) end class Panorama < ConfigClass def has_multiple_values?; false; end def _section :panorama end @props = {} end def panorama @subclasses['panorama'] ||= Panorama.new(parent_instance: self, client: @client, create_children: @create_children) end class Remote < ConfigClass def has_multiple_values?; false; end def _section :remote end @props = {'http-profile'=>{'node-type'=>'element', 'type'=>'string'}} def http_profile prop_get('http-profile') end def http_profile=(val) prop_set('http-profile', val) end end def remote @subclasses['remote'] ||= Remote.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def registration maybe_register_subclass('registration', Registration.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'127', 'regex'=>'^[^\]\'\[]*$'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'target'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'source-address', 'enum'=>[{'value'=>'source-address', 'help-string'=>'Source Address'}, {'value'=>'destination-address', 'help-string'=>'Destination Address'}, {'value'=>'xff-address', 'help-string'=>'X-Forwarded-For Address'}, {'value'=>'user', 'help-string'=>'User'}]}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'add-tag', 'enum'=>[{'value'=>'add-tag', 'help-string'=>'Add Tag'}, {'value'=>'remove-tag', 'help-string'=>'Remove Tag'}]}, 'timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'43200', 'optional'=>'yes', 'default'=>'0', 'help-string'=>'timeout in minutes'}} def target prop_get('target') end def target=(val) prop_set('target', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # timeout in minutes def timeout prop_get('timeout') end # timeout in minutes def timeout=(val) prop_set('timeout', val) end end def tagging @subclasses['tagging'] ||= Tagging.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def actions maybe_register_subclass('actions', Actions.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'filter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1023'}, 'quarantine'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}} def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def filter prop_get('filter') end def filter=(val) prop_set('filter', val) end def quarantine prop_get('quarantine') end def quarantine=(val) prop_set('quarantine', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def match_list maybe_register_subclass('match-list', MatchList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def correlation @subclasses['correlation'] ||= Correlation.new(parent_instance: self, client: @client, create_children: @create_children) end class Snmptrap < XML::ConfigClass def has_multiple_values?; true; end def _section :snmptrap end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Version < XML::ConfigClass def has_multiple_values?; true; end def _section :version end class V2c < ConfigClass def has_multiple_values?; false; end def _section :v2c end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'manager'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'IP address or FQDN of SNMP manager to use', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63', 'loose-membership'=>'yes'}}}, 'community'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # IP address or FQDN of SNMP manager to use def manager prop_get('manager') end # IP address or FQDN of SNMP manager to use def manager=(val) prop_set('manager', val) end def community prop_get('community') end def community=(val) prop_set('community', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def v2c @subclasses['v2c'] ||= V2c.new(parent_instance: self, client: @client, create_children: @create_children) end class V3 < ConfigClass def has_multiple_values?; false; end def _section :v3 end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'manager'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'IP address or FQDN of SNMP manager to use', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63', 'loose-membership'=>'yes'}}}, 'user'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31'}, 'engineid'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'255', 'regex'=>'^[0][xX][0-9A-Fa-f]{10,128}$', 'help-string'=>'A hex number (min 5 - max 64 bytes) '}, 'authpwd'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Authentication Protocol Password', 'minlen'=>'8', 'maxlen'=>'256', 'encrypt'=>'yes'}, 'privpwd'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Privacy Protocol Password', 'minlen'=>'8', 'maxlen'=>'256', 'encrypt'=>'yes'}, 'authproto'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'SHA', 'help-string'=>'Authentication Protocol', 'enum'=>[{'value'=>'SHA'}, {'value'=>'SHA-224'}, {'value'=>'SHA-256'}, {'value'=>'SHA-384'}, {'value'=>'SHA-512'}]}, 'privproto'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'AES', 'help-string'=>'Privacy Protocol', 'enum'=>[{'value'=>'AES'}, {'value'=>'AES-192'}, {'value'=>'AES-256'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # IP address or FQDN of SNMP manager to use def manager prop_get('manager') end # IP address or FQDN of SNMP manager to use def manager=(val) prop_set('manager', val) end def user prop_get('user') end def user=(val) prop_set('user', val) end # A hex number (min 5 - max 64 bytes) def engineid prop_get('engineid') end # A hex number (min 5 - max 64 bytes) def engineid=(val) prop_set('engineid', val) end # Authentication Protocol Password def authpwd prop_get('authpwd') end # Authentication Protocol Password def authpwd=(val) prop_set('authpwd', val) end # Privacy Protocol Password def privpwd prop_get('privpwd') end # Privacy Protocol Password def privpwd=(val) prop_set('privpwd', val) end # Authentication Protocol def authproto prop_get('authproto') end # Authentication Protocol def authproto=(val) prop_set('authproto', val) end # Privacy Protocol def privproto prop_get('privproto') end # Privacy Protocol def privproto=(val) prop_set('privproto', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def v3 @subclasses['v3'] ||= V3.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def version maybe_register_subclass('version', Version.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def snmptrap maybe_register_subclass('snmptrap', Snmptrap.new(parent_instance: self, client: @client, create_children: @create_children)) end class Email < XML::ConfigClass def has_multiple_values?; true; end def _section :email end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'display-name'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes'}, 'from'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([a-zA-Z0-9_?~^\'`.\+/=|#$!*%{}\&-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$', 'maxlen'=>'128', 'help-string'=>'email address (e.g. admin@mycompany.com)'}, 'to'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([a-zA-Z0-9_?~^\'`.\+/=|#$!*%{}\&-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$', 'maxlen'=>'128', 'help-string'=>'email address (e.g. admin@mycompany.com)'}, 'and-also-to'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^([a-zA-Z0-9_?~^\'`.\+/=|#$!*%{}\&-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$', 'maxlen'=>'128', 'help-string'=>'email address (e.g. admin@mycompany.com)'}, 'gateway'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'IP address or FQDN of SMTP gateway to use'}, 'protocol'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'SMTP', 'enum'=>[{'value'=>'SMTP'}, {'value'=>'TLS'}]}, 'port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'optional'=>'yes', 'default'=>'25', 'help-string'=>'Port number (Standard EMAIL ports SMTP:25, TLS:587)'}, 'tls-version'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'1.2', 'help-string'=>'TLS handshake protocol version', 'enum'=>[{'value'=>'1.2'}, {'value'=>'1.1'}]}, 'auth'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'Auto'}, {'value'=>'Login'}, {'value'=>'Plain'}]}, 'certificate-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'default'=>'None', 'help-string'=>'Certificate Profile for validating server certificate'}, 'username'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'username for authentication', 'minlen'=>'0', 'maxlen'=>'255', 'regex'=>'[^\']*'}, 'password'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'regex'=>'[^\']*', 'encrypt'=>'yes'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def display_name prop_get('display-name') end def display_name=(val) prop_set('display-name', val) end # email address (e.g. admin@mycompany.com) def from prop_get('from') end # email address (e.g. admin@mycompany.com) def from=(val) prop_set('from', val) end # email address (e.g. admin@mycompany.com) def to prop_get('to') end # email address (e.g. admin@mycompany.com) def to=(val) prop_set('to', val) end # email address (e.g. admin@mycompany.com) def and_also_to prop_get('and-also-to') end # email address (e.g. admin@mycompany.com) def and_also_to=(val) prop_set('and-also-to', val) end # IP address or FQDN of SMTP gateway to use def gateway prop_get('gateway') end # IP address or FQDN of SMTP gateway to use def gateway=(val) prop_set('gateway', val) end def protocol prop_get('protocol') end def protocol=(val) prop_set('protocol', val) end # Port number (Standard EMAIL ports SMTP:25, TLS:587) def port prop_get('port') end # Port number (Standard EMAIL ports SMTP:25, TLS:587) def port=(val) prop_set('port', val) end # TLS handshake protocol version def tls_version prop_get('tls-version') end # TLS handshake protocol version def tls_version=(val) prop_set('tls-version', val) end def auth prop_get('auth') end def auth=(val) prop_set('auth', val) end # Certificate Profile for validating server certificate def certificate_profile prop_get('certificate-profile') end # Certificate Profile for validating server certificate def certificate_profile=(val) prop_set('certificate-profile', val) end # username for authentication def username prop_get('username') end # username for authentication def username=(val) prop_set('username', val) end def password prop_get('password') end def password=(val) prop_set('password', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end class Format < ConfigClass def has_multiple_values?; false; end def _section :format end class Escaping < ConfigClass def has_multiple_values?; false; end def _section :escaping end @props = {'escaped-characters'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'help-string'=>'List of characters to be escaped'}, 'escape-character'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'1', 'help-string'=>'Escape character'}} # List of characters to be escaped def escaped_characters prop_get('escaped-characters') end # List of characters to be escaped def escaped_characters=(val) prop_set('escaped-characters', val) end # Escape character def escape_character prop_get('escape-character') end # Escape character def escape_character=(val) prop_set('escape-character', val) end end def escaping @subclasses['escaping'] ||= Escaping.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'traffic'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'threat'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'wildfire'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'url'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'data'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'gtp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420,cfg.platform.model=PA-1410,cfg.platform.model=PA-1420'}, 'sctp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420,cfg.platform.model=PA-1410,cfg.platform.model=PA-1420'}, 'tunnel'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'auth'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'userid'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'iptag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'decryption'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'config'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'system'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'globalprotect'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'hip-match'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'correlation'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}} def traffic prop_get('traffic') end def traffic=(val) prop_set('traffic', val) end def threat prop_get('threat') end def threat=(val) prop_set('threat', val) end def wildfire prop_get('wildfire') end def wildfire=(val) prop_set('wildfire', val) end def url prop_get('url') end def url=(val) prop_set('url', val) end def data prop_get('data') end def data=(val) prop_set('data', val) end def gtp prop_get('gtp') end def gtp=(val) prop_set('gtp', val) end def sctp prop_get('sctp') end def sctp=(val) prop_set('sctp', val) end def tunnel prop_get('tunnel') end def tunnel=(val) prop_set('tunnel', val) end def auth prop_get('auth') end def auth=(val) prop_set('auth', val) end def userid prop_get('userid') end def userid=(val) prop_set('userid', val) end def iptag prop_get('iptag') end def iptag=(val) prop_set('iptag', val) end def decryption prop_get('decryption') end def decryption=(val) prop_set('decryption', val) end def config prop_get('config') end def config=(val) prop_set('config', val) end def system prop_get('system') end def system=(val) prop_set('system', val) end def globalprotect prop_get('globalprotect') end def globalprotect=(val) prop_set('globalprotect', val) end def hip_match prop_get('hip-match') end def hip_match=(val) prop_set('hip-match', val) end def correlation prop_get('correlation') end def correlation=(val) prop_set('correlation', val) end end def format @subclasses['format'] ||= Format.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def email maybe_register_subclass('email', Email.new(parent_instance: self, client: @client, create_children: @create_children)) end class Syslog < XML::ConfigClass def has_multiple_values?; true; end def _section :syslog end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'server'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'regex'=>'^([a-zA-Z0-9:\.\_-])+([a-zA-Z0-9:\_-])$|^\$([a-zA-Z0-9._-])+$', 'help-string'=>'IP address or FQDN of SYSLOG server to use'}, 'transport'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'UDP', 'enum'=>[{'value'=>'UDP'}, {'value'=>'TCP'}, {'value'=>'SSL'}]}, 'port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'optional'=>'yes', 'help-string'=>'Port number (Standard Syslog ports UDP:514, SSL:6514)'}, 'format'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'BSD', 'help-string'=>'Format of the Syslog message', 'enum'=>[{'value'=>'BSD'}, {'value'=>'IETF'}]}, 'facility'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'LOG_USER', 'enum'=>[{'value'=>'LOG_USER'}, {'value'=>'LOG_LOCAL0'}, {'value'=>'LOG_LOCAL1'}, {'value'=>'LOG_LOCAL2'}, {'value'=>'LOG_LOCAL3'}, {'value'=>'LOG_LOCAL4'}, {'value'=>'LOG_LOCAL5'}, {'value'=>'LOG_LOCAL6'}, {'value'=>'LOG_LOCAL7'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # IP address or FQDN of SYSLOG server to use def server prop_get('server') end # IP address or FQDN of SYSLOG server to use def server=(val) prop_set('server', val) end def transport prop_get('transport') end def transport=(val) prop_set('transport', val) end # Port number (Standard Syslog ports UDP:514, SSL:6514) def port prop_get('port') end # Port number (Standard Syslog ports UDP:514, SSL:6514) def port=(val) prop_set('port', val) end # Format of the Syslog message def format prop_get('format') end # Format of the Syslog message def format=(val) prop_set('format', val) end def facility prop_get('facility') end def facility=(val) prop_set('facility', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end class Format < ConfigClass def has_multiple_values?; false; end def _section :format end class Escaping < ConfigClass def has_multiple_values?; false; end def _section :escaping end @props = {'escaped-characters'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'help-string'=>'List of characters to be escaped'}, 'escape-character'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'1', 'help-string'=>'Escape character'}} # List of characters to be escaped def escaped_characters prop_get('escaped-characters') end # List of characters to be escaped def escaped_characters=(val) prop_set('escaped-characters', val) end # Escape character def escape_character prop_get('escape-character') end # Escape character def escape_character=(val) prop_set('escape-character', val) end end def escaping @subclasses['escaping'] ||= Escaping.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'traffic'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'threat'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'wildfire'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'url'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'data'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'gtp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420,cfg.platform.model=PA-1410,cfg.platform.model=PA-1420'}, 'sctp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420,cfg.platform.model=PA-1410,cfg.platform.model=PA-1420'}, 'tunnel'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'auth'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'userid'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'iptag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'decryption'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'config'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'system'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'globalprotect'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'hip-match'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'correlation'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}} def traffic prop_get('traffic') end def traffic=(val) prop_set('traffic', val) end def threat prop_get('threat') end def threat=(val) prop_set('threat', val) end def wildfire prop_get('wildfire') end def wildfire=(val) prop_set('wildfire', val) end def url prop_get('url') end def url=(val) prop_set('url', val) end def data prop_get('data') end def data=(val) prop_set('data', val) end def gtp prop_get('gtp') end def gtp=(val) prop_set('gtp', val) end def sctp prop_get('sctp') end def sctp=(val) prop_set('sctp', val) end def tunnel prop_get('tunnel') end def tunnel=(val) prop_set('tunnel', val) end def auth prop_get('auth') end def auth=(val) prop_set('auth', val) end def userid prop_get('userid') end def userid=(val) prop_set('userid', val) end def iptag prop_get('iptag') end def iptag=(val) prop_set('iptag', val) end def decryption prop_get('decryption') end def decryption=(val) prop_set('decryption', val) end def config prop_get('config') end def config=(val) prop_set('config', val) end def system prop_get('system') end def system=(val) prop_set('system', val) end def globalprotect prop_get('globalprotect') end def globalprotect=(val) prop_set('globalprotect', val) end def hip_match prop_get('hip-match') end def hip_match=(val) prop_set('hip-match', val) end def correlation prop_get('correlation') end def correlation=(val) prop_set('correlation', val) end end def format @subclasses['format'] ||= Format.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def syslog maybe_register_subclass('syslog', Syslog.new(parent_instance: self, client: @client, create_children: @create_children)) end class Http < XML::ConfigClass def has_multiple_values?; true; end def _section :http end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'address'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'help-string'=>'IP address or FQDN of HTTP server to use', 'error-string'=>'Must be IP address or FQDN'}, 'protocol'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'HTTPS', 'enum'=>[{'value'=>'HTTP'}, {'value'=>'HTTPS'}]}, 'port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'optional'=>'yes', 'default'=>'443', 'help-string'=>'Port number (Standard HTTP ports HTTP:80, HTTPS:443)'}, 'tls-version'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'1.2', 'help-string'=>'TLS handshake protocol version', 'enum'=>[{'value'=>'1.2'}, {'value'=>'1.1'}, {'value'=>'1.0'}]}, 'auth'=>{'node-type'=>'element', 'type'=>'enum', 'internal'=>'yes', 'optional'=>'yes', 'enum'=>[{'value'=>'OAUTH2'}]}, 'certificate-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'default'=>'None', 'help-string'=>'Certificate Profile for validating server certificate'}, 'http-method'=>{'node-type'=>'element', 'type'=>'string', 'default'=>'POST', 'complete-handler'=>'http-method-completer'}, 'username'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'username for HTTP basic authentication', 'minlen'=>'1', 'maxlen'=>'255', 'regex'=>'[^\']*'}, 'password'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'regex'=>'[^\']*', 'encrypt'=>'yes'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # IP address or FQDN of HTTP server to use def address prop_get('address') end # IP address or FQDN of HTTP server to use def address=(val) prop_set('address', val) end def protocol prop_get('protocol') end def protocol=(val) prop_set('protocol', val) end # Port number (Standard HTTP ports HTTP:80, HTTPS:443) def port prop_get('port') end # Port number (Standard HTTP ports HTTP:80, HTTPS:443) def port=(val) prop_set('port', val) end # TLS handshake protocol version def tls_version prop_get('tls-version') end # TLS handshake protocol version def tls_version=(val) prop_set('tls-version', val) end def auth prop_get('auth') end def auth=(val) prop_set('auth', val) end # Certificate Profile for validating server certificate def certificate_profile prop_get('certificate-profile') end # Certificate Profile for validating server certificate def certificate_profile=(val) prop_set('certificate-profile', val) end def http_method prop_get('http-method') end def http_method=(val) prop_set('http-method', val) end # username for HTTP basic authentication def username prop_get('username') end # username for HTTP basic authentication def username=(val) prop_set('username', val) end def password prop_get('password') end def password=(val) prop_set('password', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end class Format < ConfigClass def has_multiple_values?; false; end def _section :format end class Config < ConfigClass def has_multiple_values?; false; end def _section :config end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def config @subclasses['config'] ||= Config.new(parent_instance: self, client: @client, create_children: @create_children) end class System < ConfigClass def has_multiple_values?; false; end def _section :system end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def system @subclasses['system'] ||= System.new(parent_instance: self, client: @client, create_children: @create_children) end class Traffic < ConfigClass def has_multiple_values?; false; end def _section :traffic end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def traffic @subclasses['traffic'] ||= Traffic.new(parent_instance: self, client: @client, create_children: @create_children) end class Threat < ConfigClass def has_multiple_values?; false; end def _section :threat end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def threat @subclasses['threat'] ||= Threat.new(parent_instance: self, client: @client, create_children: @create_children) end class Wildfire < ConfigClass def has_multiple_values?; false; end def _section :wildfire end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def wildfire @subclasses['wildfire'] ||= Wildfire.new(parent_instance: self, client: @client, create_children: @create_children) end class Url < ConfigClass def has_multiple_values?; false; end def _section :url end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def url @subclasses['url'] ||= Url.new(parent_instance: self, client: @client, create_children: @create_children) end class Data < ConfigClass def has_multiple_values?; false; end def _section :data end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def data @subclasses['data'] ||= Data.new(parent_instance: self, client: @client, create_children: @create_children) end class Gtp < ConfigClass def has_multiple_values?; false; end def _section :gtp end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def gtp @subclasses['gtp'] ||= Gtp.new(parent_instance: self, client: @client, create_children: @create_children) end class Sctp < ConfigClass def has_multiple_values?; false; end def _section :sctp end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def sctp @subclasses['sctp'] ||= Sctp.new(parent_instance: self, client: @client, create_children: @create_children) end class Tunnel < ConfigClass def has_multiple_values?; false; end def _section :tunnel end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def tunnel @subclasses['tunnel'] ||= Tunnel.new(parent_instance: self, client: @client, create_children: @create_children) end class Auth < ConfigClass def has_multiple_values?; false; end def _section :auth end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def auth @subclasses['auth'] ||= Auth.new(parent_instance: self, client: @client, create_children: @create_children) end class Userid < ConfigClass def has_multiple_values?; false; end def _section :userid end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def userid @subclasses['userid'] ||= Userid.new(parent_instance: self, client: @client, create_children: @create_children) end class Iptag < ConfigClass def has_multiple_values?; false; end def _section :iptag end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def iptag @subclasses['iptag'] ||= Iptag.new(parent_instance: self, client: @client, create_children: @create_children) end class Decryption < ConfigClass def has_multiple_values?; false; end def _section :decryption end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def decryption @subclasses['decryption'] ||= Decryption.new(parent_instance: self, client: @client, create_children: @create_children) end class Globalprotect < ConfigClass def has_multiple_values?; false; end def _section :globalprotect end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def globalprotect @subclasses['globalprotect'] ||= Globalprotect.new(parent_instance: self, client: @client, create_children: @create_children) end class HipMatch < ConfigClass def has_multiple_values?; false; end def _section :'hip-match' end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def hip_match @subclasses['hip-match'] ||= HipMatch.new(parent_instance: self, client: @client, create_children: @create_children) end class Correlation < ConfigClass def has_multiple_values?; false; end def _section :correlation end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def correlation @subclasses['correlation'] ||= Correlation.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def format @subclasses['format'] ||= Format.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'tag-registration'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'The server(s) should have User-ID agent running in order for tag registration to work'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # The server(s) should have User-ID agent running in order for tag registration to work def tag_registration prop_get('tag-registration') end # The server(s) should have User-ID agent running in order for tag registration to work def tag_registration=(val) prop_set('tag-registration', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def http maybe_register_subclass('http', Http.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def log_settings @subclasses['log-settings'] ||= LogSettings.new(parent_instance: self, client: @client, create_children: @create_children) end class ContentPreview < ConfigClass def has_multiple_values?; false; end def _section :'content-preview' end class Application < XML::ConfigClass def has_multiple_values?; true; end def _section :application end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Default < XML::ConfigClass def has_multiple_values?; true; end def _section :default end class Port < XML::ConfigClass def has_multiple_values?; true; end def _section :port end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'protocol port specification : {tcp|udp}/{dynamic|port range list} (e.g. tcp/8080, tcp/80,443, tcp/0-1024,10000, udp/dynamic)'}} # protocol port specification : {tcp|udp}/{dynamic|port range list} (e.g. tcp/8080, tcp/80,443, tcp/0-1024,10000, udp/dynamic) def member prop_get('member') end # protocol port specification : {tcp|udp}/{dynamic|port range list} (e.g. tcp/8080, tcp/80,443, tcp/0-1024,10000, udp/dynamic) def member=(val) prop_set('member', val) end end def port maybe_register_subclass('port', Port.new(parent_instance: self, client: @client, create_children: @create_children)) end class IdentByIcmpType < ConfigClass def has_multiple_values?; false; end def _section :'ident-by-icmp-type' end @props = {'type'=>{'node-type'=>'element', 'type'=>'rangelistspec', 'min'=>'0', 'max'=>'255'}, 'code'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangelistspec', 'min'=>'0', 'max'=>'255'}} def type prop_get('type') end def type=(val) prop_set('type', val) end def code prop_get('code') end def code=(val) prop_set('code', val) end end def ident_by_icmp_type @subclasses['ident-by-icmp-type'] ||= IdentByIcmpType.new(parent_instance: self, client: @client, create_children: @create_children) end class IdentByIcmp6Type < ConfigClass def has_multiple_values?; false; end def _section :'ident-by-icmp6-type' end @props = {'type'=>{'node-type'=>'element', 'type'=>'rangelistspec', 'min'=>'0', 'max'=>'255'}, 'code'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangelistspec', 'min'=>'0', 'max'=>'255'}} def type prop_get('type') end def type=(val) prop_set('type', val) end def code prop_get('code') end def code=(val) prop_set('code', val) end end def ident_by_icmp6_type @subclasses['ident-by-icmp6-type'] ||= IdentByIcmp6Type.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'ident-by-ip-protocol'=>{'node-type'=>'element', 'type'=>'rangelistspec', 'min'=>'0', 'max'=>'255'}} def ident_by_ip_protocol prop_get('ident-by-ip-protocol') end def ident_by_ip_protocol=(val) prop_set('ident-by-ip-protocol', val) end end def default maybe_register_subclass('default', Default.new(parent_instance: self, client: @client, create_children: @create_children)) end class UseApplications < XML::ConfigClass def has_multiple_values?; true; end def _section :'use-applications' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def use_applications maybe_register_subclass('use-applications', UseApplications.new(parent_instance: self, client: @client, create_children: @create_children)) end class ImplicitUseApplications < XML::ConfigClass def has_multiple_values?; true; end def _section :'implicit-use-applications' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def implicit_use_applications maybe_register_subclass('implicit-use-applications', ImplicitUseApplications.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'no'}]}, 'category'=>{'node-type'=>'element', 'type'=>'string'}, 'subcategory'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63'}, 'technology'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'604800', 'optional'=>'yes', 'help-string'=>'timeout in seconds'}, 'tcp-timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'604800', 'optional'=>'yes', 'help-string'=>'timeout in seconds'}, 'udp-timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'604800', 'optional'=>'yes', 'help-string'=>'timeout in seconds'}, 'tcp-half-closed-timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'604800', 'optional'=>'yes', 'help-string'=>'timeout for half-close session in seconds'}, 'tcp-time-wait-timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'600', 'optional'=>'yes', 'help-string'=>'timeout for session in time_wait state in seconds'}, 'risk'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'5'}, 'evasive-behavior'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'consume-big-bandwidth'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'used-by-malware'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'able-to-transfer-file'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'has-known-vulnerability'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'tunnel-other-application'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'tunnel-applications'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'prone-to-misuse'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'pervasive-use'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'file-type-ident'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'virus-ident'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'data-ident'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'no-appid-caching'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'alg-disable-capability'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127', 'optional'=>'yes'}, 'parent-app'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127', 'optional'=>'yes'}, 'cachable'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'can-disable'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'preview'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'is-saas'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end def category prop_get('category') end def category=(val) prop_set('category', val) end def subcategory prop_get('subcategory') end def subcategory=(val) prop_set('subcategory', val) end def technology prop_get('technology') end def technology=(val) prop_set('technology', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end # timeout in seconds def timeout prop_get('timeout') end # timeout in seconds def timeout=(val) prop_set('timeout', val) end # timeout in seconds def tcp_timeout prop_get('tcp-timeout') end # timeout in seconds def tcp_timeout=(val) prop_set('tcp-timeout', val) end # timeout in seconds def udp_timeout prop_get('udp-timeout') end # timeout in seconds def udp_timeout=(val) prop_set('udp-timeout', val) end # timeout for half-close session in seconds def tcp_half_closed_timeout prop_get('tcp-half-closed-timeout') end # timeout for half-close session in seconds def tcp_half_closed_timeout=(val) prop_set('tcp-half-closed-timeout', val) end # timeout for session in time_wait state in seconds def tcp_time_wait_timeout prop_get('tcp-time-wait-timeout') end # timeout for session in time_wait state in seconds def tcp_time_wait_timeout=(val) prop_set('tcp-time-wait-timeout', val) end def risk prop_get('risk') end def risk=(val) prop_set('risk', val) end def evasive_behavior prop_get('evasive-behavior') end def evasive_behavior=(val) prop_set('evasive-behavior', val) end def consume_big_bandwidth prop_get('consume-big-bandwidth') end def consume_big_bandwidth=(val) prop_set('consume-big-bandwidth', val) end def used_by_malware prop_get('used-by-malware') end def used_by_malware=(val) prop_set('used-by-malware', val) end def able_to_transfer_file prop_get('able-to-transfer-file') end def able_to_transfer_file=(val) prop_set('able-to-transfer-file', val) end def has_known_vulnerability prop_get('has-known-vulnerability') end def has_known_vulnerability=(val) prop_set('has-known-vulnerability', val) end def tunnel_other_application prop_get('tunnel-other-application') end def tunnel_other_application=(val) prop_set('tunnel-other-application', val) end def tunnel_applications prop_get('tunnel-applications') end def tunnel_applications=(val) prop_set('tunnel-applications', val) end def prone_to_misuse prop_get('prone-to-misuse') end def prone_to_misuse=(val) prop_set('prone-to-misuse', val) end def pervasive_use prop_get('pervasive-use') end def pervasive_use=(val) prop_set('pervasive-use', val) end def file_type_ident prop_get('file-type-ident') end def file_type_ident=(val) prop_set('file-type-ident', val) end def virus_ident prop_get('virus-ident') end def virus_ident=(val) prop_set('virus-ident', val) end def data_ident prop_get('data-ident') end def data_ident=(val) prop_set('data-ident', val) end def no_appid_caching prop_get('no-appid-caching') end def no_appid_caching=(val) prop_set('no-appid-caching', val) end def alg_disable_capability prop_get('alg-disable-capability') end def alg_disable_capability=(val) prop_set('alg-disable-capability', val) end def parent_app prop_get('parent-app') end def parent_app=(val) prop_set('parent-app', val) end def cachable prop_get('cachable') end def cachable=(val) prop_set('cachable', val) end def can_disable prop_get('can-disable') end def can_disable=(val) prop_set('can-disable', val) end def preview prop_get('preview') end def preview=(val) prop_set('preview', val) end def is_saas prop_get('is-saas') end def is_saas=(val) prop_set('is-saas', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def application maybe_register_subclass('application', Application.new(parent_instance: self, client: @client, create_children: @create_children)) end class ApplicationType < XML::ConfigClass def has_multiple_values?; true; end def _section :'application-type' end class Category < ConfigClass def has_multiple_values?; false; end def _section :category end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, '@id'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'max'=>'128'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def id prop_get('@id') end def description prop_get('description') end def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def category @subclasses['category'] ||= Category.new(parent_instance: self, client: @client, create_children: @create_children) end class Technology < ConfigClass def has_multiple_values?; false; end def _section :technology end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, '@id'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'max'=>'128'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def id prop_get('@id') end def description prop_get('description') end def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def technology @subclasses['technology'] ||= Technology.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def application_type maybe_register_subclass('application-type', ApplicationType.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def content_preview @subclasses['content-preview'] ||= ContentPreview.new(parent_instance: self, client: @client, create_children: @create_children) end class Certificate < XML::ConfigClass def has_multiple_values?; true; end def _section :certificate end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'common-name'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'public-key'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'16384'}, 'private-key'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'16384', 'encrypt'=>'yes', 'double-encrypt'=>'yes'}, 'private-key-on-hsm'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'algorithm'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'ca'=>{'node-type'=>'element', 'type'=>'bool', 'internal'=>'yes', 'optional'=>'yes'}, 'not-valid-after'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'not-valid-before'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'expiry-epoch'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0-9]*$'}, 'subject'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'subject-hash'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'issuer'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'issuer-hash'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'status'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'valid', 'enum'=>[{'value'=>'valid'}, {'value'=>'revoked'}]}, 'revoke-date-epoch'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0-9]*$'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def common_name prop_get('common-name') end def common_name=(val) prop_set('common-name', val) end def public_key prop_get('public-key') end def public_key=(val) prop_set('public-key', val) end def private_key prop_get('private-key') end def private_key=(val) prop_set('private-key', val) end def private_key_on_hsm prop_get('private-key-on-hsm') end def private_key_on_hsm=(val) prop_set('private-key-on-hsm', val) end def algorithm prop_get('algorithm') end def algorithm=(val) prop_set('algorithm', val) end def ca prop_get('ca') end def ca=(val) prop_set('ca', val) end def not_valid_after prop_get('not-valid-after') end def not_valid_after=(val) prop_set('not-valid-after', val) end def not_valid_before prop_get('not-valid-before') end def not_valid_before=(val) prop_set('not-valid-before', val) end def expiry_epoch prop_get('expiry-epoch') end def expiry_epoch=(val) prop_set('expiry-epoch', val) end def subject prop_get('subject') end def subject=(val) prop_set('subject', val) end def subject_hash prop_get('subject-hash') end def subject_hash=(val) prop_set('subject-hash', val) end def issuer prop_get('issuer') end def issuer=(val) prop_set('issuer', val) end def issuer_hash prop_get('issuer-hash') end def issuer_hash=(val) prop_set('issuer-hash', val) end def status prop_get('status') end def status=(val) prop_set('status', val) end def revoke_date_epoch prop_get('revoke-date-epoch') end def revoke_date_epoch=(val) prop_set('revoke-date-epoch', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def certificate maybe_register_subclass('certificate', Certificate.new(parent_instance: self, client: @client, create_children: @create_children)) end class SslTlsServiceProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'ssl-tls-service-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class ProtocolSettings < ConfigClass def has_multiple_values?; false; end def _section :'protocol-settings' end @props = {'min-version'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'tls1-0', 'enum'=>[{'value'=>'tls1-0', 'help-string'=>'TLSv1.0'}, {'value'=>'tls1-1', 'help-string'=>'TLSv1.1'}, {'value'=>'tls1-2', 'help-string'=>'TLSv1.2'}]}, 'max-version'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'max', 'enum'=>[{'value'=>'tls1-0', 'help-string'=>'TLSv1.0'}, {'value'=>'tls1-1', 'help-string'=>'TLSv1.1'}, {'value'=>'tls1-2', 'help-string'=>'TLSv1.2'}, {'value'=>'max', 'help-string'=>'Max'}]}, 'keyxchg-algo-rsa'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm RSA'}, 'keyxchg-algo-dhe'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm DHE'}, 'keyxchg-algo-ecdhe'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm ECDHE'}, 'enc-algo-3des'=>{'node-type'=>'element', 'prune-on'=>'fips-mode', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm 3DES'}, 'enc-algo-rc4'=>{'node-type'=>'element', 'prune-on'=>'fips-mode', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm RC4'}, 'enc-algo-aes-128-cbc'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm AES-128-CBC'}, 'enc-algo-aes-256-cbc'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm AES-256-CBC'}, 'enc-algo-aes-128-gcm'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm AES-128-GCM'}, 'enc-algo-aes-256-gcm'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm AES-256-GCM'}, 'auth-algo-sha1'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow authentication SHA1'}, 'auth-algo-sha256'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow authentication SHA256'}, 'auth-algo-sha384'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow authentication SHA384'}} def min_version prop_get('min-version') end def min_version=(val) prop_set('min-version', val) end def max_version prop_get('max-version') end def max_version=(val) prop_set('max-version', val) end # Allow algorithm RSA def keyxchg_algo_rsa prop_get('keyxchg-algo-rsa') end # Allow algorithm RSA def keyxchg_algo_rsa=(val) prop_set('keyxchg-algo-rsa', val) end # Allow algorithm DHE def keyxchg_algo_dhe prop_get('keyxchg-algo-dhe') end # Allow algorithm DHE def keyxchg_algo_dhe=(val) prop_set('keyxchg-algo-dhe', val) end # Allow algorithm ECDHE def keyxchg_algo_ecdhe prop_get('keyxchg-algo-ecdhe') end # Allow algorithm ECDHE def keyxchg_algo_ecdhe=(val) prop_set('keyxchg-algo-ecdhe', val) end # Allow algorithm 3DES def enc_algo_3des prop_get('enc-algo-3des') end # Allow algorithm 3DES def enc_algo_3des=(val) prop_set('enc-algo-3des', val) end # Allow algorithm RC4 def enc_algo_rc4 prop_get('enc-algo-rc4') end # Allow algorithm RC4 def enc_algo_rc4=(val) prop_set('enc-algo-rc4', val) end # Allow algorithm AES-128-CBC def enc_algo_aes_128_cbc prop_get('enc-algo-aes-128-cbc') end # Allow algorithm AES-128-CBC def enc_algo_aes_128_cbc=(val) prop_set('enc-algo-aes-128-cbc', val) end # Allow algorithm AES-256-CBC def enc_algo_aes_256_cbc prop_get('enc-algo-aes-256-cbc') end # Allow algorithm AES-256-CBC def enc_algo_aes_256_cbc=(val) prop_set('enc-algo-aes-256-cbc', val) end # Allow algorithm AES-128-GCM def enc_algo_aes_128_gcm prop_get('enc-algo-aes-128-gcm') end # Allow algorithm AES-128-GCM def enc_algo_aes_128_gcm=(val) prop_set('enc-algo-aes-128-gcm', val) end # Allow algorithm AES-256-GCM def enc_algo_aes_256_gcm prop_get('enc-algo-aes-256-gcm') end # Allow algorithm AES-256-GCM def enc_algo_aes_256_gcm=(val) prop_set('enc-algo-aes-256-gcm', val) end # Allow authentication SHA1 def auth_algo_sha1 prop_get('auth-algo-sha1') end # Allow authentication SHA1 def auth_algo_sha1=(val) prop_set('auth-algo-sha1', val) end # Allow authentication SHA256 def auth_algo_sha256 prop_get('auth-algo-sha256') end # Allow authentication SHA256 def auth_algo_sha256=(val) prop_set('auth-algo-sha256', val) end # Allow authentication SHA384 def auth_algo_sha384 prop_get('auth-algo-sha384') end # Allow authentication SHA384 def auth_algo_sha384=(val) prop_set('auth-algo-sha384', val) end end def protocol_settings @subclasses['protocol-settings'] ||= ProtocolSettings.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'127', 'regex'=>'.*', 'help-string'=>'Profile name'}, 'certificate'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'SSL certificate file name', 'maxlen'=>'255'}} # Profile name def name prop_get('@name') end # SSL certificate file name def certificate prop_get('certificate') end # SSL certificate file name def certificate=(val) prop_set('certificate', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ssl_tls_service_profile maybe_register_subclass('ssl-tls-service-profile', SslTlsServiceProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class ResponsePage < ConfigClass def has_multiple_values?; false; end def _section :'response-page' end class GlobalProtectPortalCustomLoginPage < XML::ConfigClass def has_multiple_values?; true; end def _section :'global-protect-portal-custom-login-page' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'page'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def page prop_get('page') end def page=(val) prop_set('page', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def global_protect_portal_custom_login_page maybe_register_subclass('global-protect-portal-custom-login-page', GlobalProtectPortalCustomLoginPage.new(parent_instance: self, client: @client, create_children: @create_children)) end class GlobalProtectPortalCustomHomePage < XML::ConfigClass def has_multiple_values?; true; end def _section :'global-protect-portal-custom-home-page' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'page'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def page prop_get('page') end def page=(val) prop_set('page', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def global_protect_portal_custom_home_page maybe_register_subclass('global-protect-portal-custom-home-page', GlobalProtectPortalCustomHomePage.new(parent_instance: self, client: @client, create_children: @create_children)) end class GlobalProtectPortalCustomHelpPage < XML::ConfigClass def has_multiple_values?; true; end def _section :'global-protect-portal-custom-help-page' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'page'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'174762'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def page prop_get('page') end def page=(val) prop_set('page', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def global_protect_portal_custom_help_page maybe_register_subclass('global-protect-portal-custom-help-page', GlobalProtectPortalCustomHelpPage.new(parent_instance: self, client: @client, create_children: @create_children)) end class GlobalProtectPortalCustomWelcomePage < XML::ConfigClass def has_multiple_values?; true; end def _section :'global-protect-portal-custom-welcome-page' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'page'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'174762'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def page prop_get('page') end def page=(val) prop_set('page', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def global_protect_portal_custom_welcome_page maybe_register_subclass('global-protect-portal-custom-welcome-page', GlobalProtectPortalCustomWelcomePage.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'application-block-page'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845', 'tlo'=>'yes'}, 'captive-portal-text'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845', 'tlo'=>'yes'}, 'file-block-continue-page'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845', 'tlo'=>'yes'}, 'file-block-page'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845', 'tlo'=>'yes'}, 'ssl-cert-status-page'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845', 'tlo'=>'yes'}, 'ssl-optout-text'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845', 'tlo'=>'yes'}, 'url-block-page'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845', 'tlo'=>'yes'}, 'url-coach-text'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845', 'tlo'=>'yes'}, 'credential-block-page'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845', 'tlo'=>'yes'}, 'credential-coach-text'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845', 'tlo'=>'yes'}, 'virus-block-page'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845', 'tlo'=>'yes'}, 'data-filter-block-page'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845', 'tlo'=>'yes'}, 'safe-search-block-page'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845', 'tlo'=>'yes'}, 'saml-auth-internal-error-page'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845', 'tlo'=>'yes'}, 'mfa-login-page'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845', 'tlo'=>'yes'}} def application_block_page prop_get('application-block-page') end def application_block_page=(val) prop_set('application-block-page', val) end def captive_portal_text prop_get('captive-portal-text') end def captive_portal_text=(val) prop_set('captive-portal-text', val) end def file_block_continue_page prop_get('file-block-continue-page') end def file_block_continue_page=(val) prop_set('file-block-continue-page', val) end def file_block_page prop_get('file-block-page') end def file_block_page=(val) prop_set('file-block-page', val) end def ssl_cert_status_page prop_get('ssl-cert-status-page') end def ssl_cert_status_page=(val) prop_set('ssl-cert-status-page', val) end def ssl_optout_text prop_get('ssl-optout-text') end def ssl_optout_text=(val) prop_set('ssl-optout-text', val) end def url_block_page prop_get('url-block-page') end def url_block_page=(val) prop_set('url-block-page', val) end def url_coach_text prop_get('url-coach-text') end def url_coach_text=(val) prop_set('url-coach-text', val) end def credential_block_page prop_get('credential-block-page') end def credential_block_page=(val) prop_set('credential-block-page', val) end def credential_coach_text prop_get('credential-coach-text') end def credential_coach_text=(val) prop_set('credential-coach-text', val) end def virus_block_page prop_get('virus-block-page') end def virus_block_page=(val) prop_set('virus-block-page', val) end def data_filter_block_page prop_get('data-filter-block-page') end def data_filter_block_page=(val) prop_set('data-filter-block-page', val) end def safe_search_block_page prop_get('safe-search-block-page') end def safe_search_block_page=(val) prop_set('safe-search-block-page', val) end def saml_auth_internal_error_page prop_get('saml-auth-internal-error-page') end def saml_auth_internal_error_page=(val) prop_set('saml-auth-internal-error-page', val) end def mfa_login_page prop_get('mfa-login-page') end def mfa_login_page=(val) prop_set('mfa-login-page', val) end end def response_page @subclasses['response-page'] ||= ResponsePage.new(parent_instance: self, client: @client, create_children: @create_children) end class LocalUserDatabase < ConfigClass def has_multiple_values?; false; end def _section :'local-user-database' end class User < XML::ConfigClass def has_multiple_values?; true; end def _section :user end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'31', 'help-string'=>'User name'}, 'phash'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}} # User name def name prop_get('@name') end def phash prop_get('phash') end def phash=(val) prop_set('phash', val) end def disabled prop_get('disabled') end def disabled=(val) prop_set('disabled', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def user maybe_register_subclass('user', User.new(parent_instance: self, client: @client, create_children: @create_children)) end class UserGroup < XML::ConfigClass def has_multiple_values?; true; end def _section :'user-group' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class User < XML::ConfigClass def has_multiple_values?; true; end def _section :user end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'User name'}} # User name def member prop_get('member') end # User name def member=(val) prop_set('member', val) end end def user maybe_register_subclass('user', User.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'Group name'}} # Group name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def user_group maybe_register_subclass('user-group', UserGroup.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def local_user_database @subclasses['local-user-database'] ||= LocalUserDatabase.new(parent_instance: self, client: @client, create_children: @create_children) end class OcspResponder < XML::ConfigClass def has_multiple_values?; true; end def _section :'ocsp-responder' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [:0-9a-zA-Z._-]'}, 'host-name'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'255', 'regex'=>'^([$:a-zA-Z0-9._-])+$'}} # alphanumeric string [:0-9a-zA-Z._-] def name prop_get('@name') end def host_name prop_get('host-name') end def host_name=(val) prop_set('host-name', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ocsp_responder maybe_register_subclass('ocsp-responder', OcspResponder.new(parent_instance: self, client: @client, create_children: @create_children)) end class SslDecrypt < ConfigClass def has_multiple_values?; false; end def _section :'ssl-decrypt' end class ForwardTrustCertificate < ConfigClass def has_multiple_values?; false; end def _section :'forward-trust-certificate' end @props = {'rsa'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'RSA certificate', 'maxlen'=>'63'}, 'ecdsa'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'ECDSA certificate', 'maxlen'=>'63'}} # RSA certificate def rsa prop_get('rsa') end # RSA certificate def rsa=(val) prop_set('rsa', val) end # ECDSA certificate def ecdsa prop_get('ecdsa') end # ECDSA certificate def ecdsa=(val) prop_set('ecdsa', val) end end def forward_trust_certificate @subclasses['forward-trust-certificate'] ||= ForwardTrustCertificate.new(parent_instance: self, client: @client, create_children: @create_children) end class ForwardUntrustCertificate < ConfigClass def has_multiple_values?; false; end def _section :'forward-untrust-certificate' end @props = {'rsa'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'RSA certificate', 'maxlen'=>'63'}, 'ecdsa'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'ECDSA certificate', 'maxlen'=>'63'}} # RSA certificate def rsa prop_get('rsa') end # RSA certificate def rsa=(val) prop_set('rsa', val) end # ECDSA certificate def ecdsa prop_get('ecdsa') end # ECDSA certificate def ecdsa=(val) prop_set('ecdsa', val) end end def forward_untrust_certificate @subclasses['forward-untrust-certificate'] ||= ForwardUntrustCertificate.new(parent_instance: self, client: @client, create_children: @create_children) end class SslExcludeCert < XML::ConfigClass def has_multiple_values?; true; end def _section :'ssl-exclude-cert' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'255', 'help-string'=>'SSL Decryption Exclusion entry name'}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'0', 'maxlen'=>'512'}, 'exclude'=>{'node-type'=>'element', 'type'=>'bool'}} # SSL Decryption Exclusion entry name def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def exclude prop_get('exclude') end def exclude=(val) prop_set('exclude', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ssl_exclude_cert maybe_register_subclass('ssl-exclude-cert', SslExcludeCert.new(parent_instance: self, client: @client, create_children: @create_children)) end class RootCaExcludeList < XML::ConfigClass def has_multiple_values?; true; end def _section :'root-ca-exclude-list' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1024'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def root_ca_exclude_list maybe_register_subclass('root-ca-exclude-list', RootCaExcludeList.new(parent_instance: self, client: @client, create_children: @create_children)) end class TrustedRootCA < XML::ConfigClass def has_multiple_values?; true; end def _section :'trusted-root-CA' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Trusted Root CA', 'maxlen'=>'63'}} # Trusted Root CA def member prop_get('member') end # Trusted Root CA def member=(val) prop_set('member', val) end end def trusted_root_CA maybe_register_subclass('trusted-root-CA', TrustedRootCA.new(parent_instance: self, client: @client, create_children: @create_children)) end class DisabledSslExcludeCertFromPredefined < XML::ConfigClass def has_multiple_values?; true; end def _section :'disabled-ssl-exclude-cert-from-predefined' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'255', 'max-count'=>'512'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def disabled_ssl_exclude_cert_from_predefined maybe_register_subclass('disabled-ssl-exclude-cert-from-predefined', DisabledSslExcludeCertFromPredefined.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def ssl_decrypt @subclasses['ssl-decrypt'] ||= SslDecrypt.new(parent_instance: self, client: @client, create_children: @create_children) end class UrlContentTypes < XML::ConfigClass def has_multiple_values?; true; end def _section :'url-content-types' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'31', 'help-string'=>'content type string'}} # content type string def member prop_get('member') end # content type string def member=(val) prop_set('member', val) end end def url_content_types maybe_register_subclass('url-content-types', UrlContentTypes.new(parent_instance: self, client: @client, create_children: @create_children)) end class AdminRole < XML::ConfigClass def has_multiple_values?; true; end def _section :'admin-role' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Role < XML::ConfigClass def has_multiple_values?; true; end def _section :role end class Device < ConfigClass def has_multiple_values?; false; end def _section :device end class Webui < ConfigClass def has_multiple_values?; false; end def _section :webui end class Monitor < ConfigClass def has_multiple_values?; false; end def _section :monitor end class Logs < ConfigClass def has_multiple_values?; false; end def _section :logs end @props = {'traffic'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'traffic_log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'threat'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'threat_log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'url'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'URL Filtering', 'help-topic'=>'url_log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'wildfire'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'WildFire Submissions', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'data-filtering'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'data_filter_log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'hipmatch'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'hip_match_log', 'menu-tree-path'=>'HIP Match', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'globalprotect'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'GlobalProtect', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'iptag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'ip_tag', 'menu-tree-path'=>'IP-Tag', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'userid'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'userid_log', 'menu-tree-path'=>'User-ID', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'decryption'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'decryption_log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'gtp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'gtp_log', 'menu-tree-path'=>'GTP', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'tunnel'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'tunnel_log', 'menu-tree-path'=>'Tunnel Inspection', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'sctp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'sctp_log', 'menu-tree-path'=>'SCTP', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'configuration'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'config_log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'system'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'system_log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'alarm'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Alarms', 'help-topic'=>'alarm_log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'authentication'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'authentication_log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}} def traffic prop_get('traffic') end def traffic=(val) prop_set('traffic', val) end def threat prop_get('threat') end def threat=(val) prop_set('threat', val) end def url prop_get('url') end def url=(val) prop_set('url', val) end def wildfire prop_get('wildfire') end def wildfire=(val) prop_set('wildfire', val) end def data_filtering prop_get('data-filtering') end def data_filtering=(val) prop_set('data-filtering', val) end def hipmatch prop_get('hipmatch') end def hipmatch=(val) prop_set('hipmatch', val) end def globalprotect prop_get('globalprotect') end def globalprotect=(val) prop_set('globalprotect', val) end def iptag prop_get('iptag') end def iptag=(val) prop_set('iptag', val) end def userid prop_get('userid') end def userid=(val) prop_set('userid', val) end def decryption prop_get('decryption') end def decryption=(val) prop_set('decryption', val) end def gtp prop_get('gtp') end def gtp=(val) prop_set('gtp', val) end def tunnel prop_get('tunnel') end def tunnel=(val) prop_set('tunnel', val) end def sctp prop_get('sctp') end def sctp=(val) prop_set('sctp', val) end def configuration prop_get('configuration') end def configuration=(val) prop_set('configuration', val) end def system prop_get('system') end def system=(val) prop_set('system', val) end def alarm prop_get('alarm') end def alarm=(val) prop_set('alarm', val) end def authentication prop_get('authentication') end def authentication=(val) prop_set('authentication', val) end end def logs @subclasses['logs'] ||= Logs.new(parent_instance: self, client: @client, create_children: @create_children) end class AutomatedCorrelationEngine < ConfigClass def has_multiple_values?; false; end def _section :'automated-correlation-engine' end @props = {'correlation-objects'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'correlated-events'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}} def correlation_objects prop_get('correlation-objects') end def correlation_objects=(val) prop_set('correlation-objects', val) end def correlated_events prop_get('correlated-events') end def correlated_events=(val) prop_set('correlated-events', val) end end def automated_correlation_engine @subclasses['automated-correlation-engine'] ||= AutomatedCorrelationEngine.new(parent_instance: self, client: @client, create_children: @create_children) end class PdfReports < ConfigClass def has_multiple_values?; false; end def _section :'pdf-reports' end @props = {'manage-pdf-summary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Manage PDF Summary', 'help-topic'=>'manage_pdf_summary_report', 'node-config-ids'=>'ManagePdfSummary', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'pdf-summary-reports'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'PDF Summary Reports', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'user-activity-report'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'UserActivityReport', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'saas-application-usage-report'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SaaS Application Usage', 'node-config-ids'=>'SaasAppUsageReport', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'report-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'ReportGroup', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'email-scheduler'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'report_email', 'node-config-ids'=>'EmailScheduler', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def manage_pdf_summary prop_get('manage-pdf-summary') end def manage_pdf_summary=(val) prop_set('manage-pdf-summary', val) end def pdf_summary_reports prop_get('pdf-summary-reports') end def pdf_summary_reports=(val) prop_set('pdf-summary-reports', val) end def user_activity_report prop_get('user-activity-report') end def user_activity_report=(val) prop_set('user-activity-report', val) end def saas_application_usage_report prop_get('saas-application-usage-report') end def saas_application_usage_report=(val) prop_set('saas-application-usage-report', val) end def report_groups prop_get('report-groups') end def report_groups=(val) prop_set('report-groups', val) end def email_scheduler prop_get('email-scheduler') end def email_scheduler=(val) prop_set('email-scheduler', val) end end def pdf_reports @subclasses['pdf-reports'] ||= PdfReports.new(parent_instance: self, client: @client, create_children: @create_children) end class CustomReports < ConfigClass def has_multiple_values?; false; end def _section :'custom-reports' end @props = {'application-statistics'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'data-filtering-log'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'threat-log'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'threat-summary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'traffic-log'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'traffic-summary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'url-log'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'menu-tree-path'=>'URL Log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'url-summary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'menu-tree-path'=>'URL Summary', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'hipmatch'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'prune-on'=>'vpn-disable-mode', 'menu-tree-path'=>'HIP Match', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'globalprotect'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'menu-tree-path'=>'GlobalProtect', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'wildfire-log'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'menu-tree-path'=>'WildFire Log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'gtp-log'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'menu-tree-path'=>'GTP Log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'gtp-summary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'menu-tree-path'=>'GTP Summary', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'tunnel-log'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'tunnel-summary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'sctp-log'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'menu-tree-path'=>'SCTP Log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'sctp-summary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'menu-tree-path'=>'SCTP Summary', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'iptag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'menu-tree-path'=>'IP-Tag', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'userid'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'menu-tree-path'=>'User-ID', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'decryption-log'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'decryption-summary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'auth'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'menu-tree-path'=>'Authentication', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}} def application_statistics prop_get('application-statistics') end def application_statistics=(val) prop_set('application-statistics', val) end def data_filtering_log prop_get('data-filtering-log') end def data_filtering_log=(val) prop_set('data-filtering-log', val) end def threat_log prop_get('threat-log') end def threat_log=(val) prop_set('threat-log', val) end def threat_summary prop_get('threat-summary') end def threat_summary=(val) prop_set('threat-summary', val) end def traffic_log prop_get('traffic-log') end def traffic_log=(val) prop_set('traffic-log', val) end def traffic_summary prop_get('traffic-summary') end def traffic_summary=(val) prop_set('traffic-summary', val) end def url_log prop_get('url-log') end def url_log=(val) prop_set('url-log', val) end def url_summary prop_get('url-summary') end def url_summary=(val) prop_set('url-summary', val) end def hipmatch prop_get('hipmatch') end def hipmatch=(val) prop_set('hipmatch', val) end def globalprotect prop_get('globalprotect') end def globalprotect=(val) prop_set('globalprotect', val) end def wildfire_log prop_get('wildfire-log') end def wildfire_log=(val) prop_set('wildfire-log', val) end def gtp_log prop_get('gtp-log') end def gtp_log=(val) prop_set('gtp-log', val) end def gtp_summary prop_get('gtp-summary') end def gtp_summary=(val) prop_set('gtp-summary', val) end def tunnel_log prop_get('tunnel-log') end def tunnel_log=(val) prop_set('tunnel-log', val) end def tunnel_summary prop_get('tunnel-summary') end def tunnel_summary=(val) prop_set('tunnel-summary', val) end def sctp_log prop_get('sctp-log') end def sctp_log=(val) prop_set('sctp-log', val) end def sctp_summary prop_get('sctp-summary') end def sctp_summary=(val) prop_set('sctp-summary', val) end def iptag prop_get('iptag') end def iptag=(val) prop_set('iptag', val) end def userid prop_get('userid') end def userid=(val) prop_set('userid', val) end def decryption_log prop_get('decryption-log') end def decryption_log=(val) prop_set('decryption-log', val) end def decryption_summary prop_get('decryption-summary') end def decryption_summary=(val) prop_set('decryption-summary', val) end def auth prop_get('auth') end def auth=(val) prop_set('auth', val) end end def custom_reports @subclasses['custom-reports'] ||= CustomReports.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'external-logs'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'External Logs', 'help-topic'=>'external_logs', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'packet-capture'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'app-scope'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'session-browser'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'block-ip-list'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Block IP List', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'botnet'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'botnet_reports', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'view-custom-reports'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'View Scheduled Custom Reports', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'application-reports'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'View Predefined Application Reports', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'threat-reports'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'View Predefined Threat Reports', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'url-filtering-reports'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'View Predefined URL Filtering Reports', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'traffic-reports'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'View Predefined Traffic Reports', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'gtp-reports'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'View Predefined GTP Reports', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'sctp-reports'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'View Predefined SCTP Reports', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}} def external_logs prop_get('external-logs') end def external_logs=(val) prop_set('external-logs', val) end def packet_capture prop_get('packet-capture') end def packet_capture=(val) prop_set('packet-capture', val) end def app_scope prop_get('app-scope') end def app_scope=(val) prop_set('app-scope', val) end def session_browser prop_get('session-browser') end def session_browser=(val) prop_set('session-browser', val) end def block_ip_list prop_get('block-ip-list') end def block_ip_list=(val) prop_set('block-ip-list', val) end def botnet prop_get('botnet') end def botnet=(val) prop_set('botnet', val) end def view_custom_reports prop_get('view-custom-reports') end def view_custom_reports=(val) prop_set('view-custom-reports', val) end def application_reports prop_get('application-reports') end def application_reports=(val) prop_set('application-reports', val) end def threat_reports prop_get('threat-reports') end def threat_reports=(val) prop_set('threat-reports', val) end def url_filtering_reports prop_get('url-filtering-reports') end def url_filtering_reports=(val) prop_set('url-filtering-reports', val) end def traffic_reports prop_get('traffic-reports') end def traffic_reports=(val) prop_set('traffic-reports', val) end def gtp_reports prop_get('gtp-reports') end def gtp_reports=(val) prop_set('gtp-reports', val) end def sctp_reports prop_get('sctp-reports') end def sctp_reports=(val) prop_set('sctp-reports', val) end end def monitor @subclasses['monitor'] ||= Monitor.new(parent_instance: self, client: @client, create_children: @create_children) end class Policies < ConfigClass def has_multiple_values?; false; end def _section :policies end @props = {'security-rulebase'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Security', 'help-topic'=>'policies_security', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'DeviceSecurityRules1,DeviceSecurityRules2,DeviceSecurityRules3,DeviceSecurityRules4,DeviceSecurityRules5,DeviceSecurityRules6', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'nat-rulebase'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.policies.nat-rulebase-disable=True', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'NAT', 'help-topic'=>'nat_rules', 'node-config-ids'=>'DeviceNATRules1,DeviceNATRules2,DeviceNATRules3', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'qos-rulebase'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'QoS', 'help-topic'=>'qos_policies', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'DeviceQOSRules1,DeviceQOSRules2,DeviceQOSRules3', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'pbf-rulebase'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.policies.pbf-rulebase-disable=True', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Policy Based Forwarding', 'node-config-ids'=>'DevicePBFRules1,DevicePBFRules2,DevicePBFRules3', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ssl-decryption-rulebase'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Decryption', 'skip-display'=>'shared-gateway', 'help-topic'=>'decryption_rules', 'node-config-ids'=>'DeviceDecryptionRules1,DeviceDecryptionRules2,DeviceDecryptionRules3', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'network-packet-broker-rulebase'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.prune-on-decrypt-brk=True', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Network Packet Broker', 'skip-display'=>'shared-gateway', 'help-topic'=>'network_packet_broker_rules', 'node-config-ids'=>'DeviceNPBRules1,DeviceNPBRules2,DeviceNPBRules3', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'tunnel-inspect-rulebase'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Tunnel Inspection', 'skip-display'=>'shared-gateway', 'help-topic'=>'tunnel_inspection_rules', 'node-config-ids'=>'DeviceTunnelInspectRules1,DeviceTunnelInspectRules2,DeviceTunnelInspectRules3', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'application-override-rulebase'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Application Override', 'skip-display'=>'shared-gateway', 'help-topic'=>'application_override_rules', 'node-config-ids'=>'DeviceAppOverrideRules1,DeviceAppOverrideRules2,DeviceAppOverrideRules3', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'authentication-rulebase'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Authentication', 'skip-display'=>'shared-gateway', 'help-topic'=>'authentication_rules', 'node-config-ids'=>'DeviceAuthenticationRules1,DeviceAuthenticationRules2,DeviceAuthenticationRules3', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dos-rulebase'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'DoS Protection', 'skip-display'=>'shared-gateway', 'help-topic'=>'dos_rules', 'node-config-ids'=>'DeviceDOSRules1,DeviceDOSRules2,DeviceDOSRules3', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-rulebase'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SD-WAN', 'help-topic'=>'sdwan_policies', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'DeviceSDWANRules1,DeviceSDWANRules2,DeviceSDWANRules3', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'rule-hit-count-reset'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Rule Hit Count Reset', 'help-topic'=>'rule_hit_count_reset', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}} def security_rulebase prop_get('security-rulebase') end def security_rulebase=(val) prop_set('security-rulebase', val) end def nat_rulebase prop_get('nat-rulebase') end def nat_rulebase=(val) prop_set('nat-rulebase', val) end def qos_rulebase prop_get('qos-rulebase') end def qos_rulebase=(val) prop_set('qos-rulebase', val) end def pbf_rulebase prop_get('pbf-rulebase') end def pbf_rulebase=(val) prop_set('pbf-rulebase', val) end def ssl_decryption_rulebase prop_get('ssl-decryption-rulebase') end def ssl_decryption_rulebase=(val) prop_set('ssl-decryption-rulebase', val) end def network_packet_broker_rulebase prop_get('network-packet-broker-rulebase') end def network_packet_broker_rulebase=(val) prop_set('network-packet-broker-rulebase', val) end def tunnel_inspect_rulebase prop_get('tunnel-inspect-rulebase') end def tunnel_inspect_rulebase=(val) prop_set('tunnel-inspect-rulebase', val) end def application_override_rulebase prop_get('application-override-rulebase') end def application_override_rulebase=(val) prop_set('application-override-rulebase', val) end def authentication_rulebase prop_get('authentication-rulebase') end def authentication_rulebase=(val) prop_set('authentication-rulebase', val) end def dos_rulebase prop_get('dos-rulebase') end def dos_rulebase=(val) prop_set('dos-rulebase', val) end def sdwan_rulebase prop_get('sdwan-rulebase') end def sdwan_rulebase=(val) prop_set('sdwan-rulebase', val) end def rule_hit_count_reset prop_get('rule-hit-count-reset') end def rule_hit_count_reset=(val) prop_set('rule-hit-count-reset', val) end end def policies @subclasses['policies'] ||= Policies.new(parent_instance: self, client: @client, create_children: @create_children) end class Objects < ConfigClass def has_multiple_values?; false; end def _section :objects end class GlobalProtect < ConfigClass def has_multiple_values?; false; end def _section :'global-protect' end @props = {'hip-objects'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'hip_objects', 'menu-tree-path'=>'HIP Objects', 'node-config-ids'=>'HIPObjects', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'hip-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'hip_profiles', 'menu-tree-path'=>'HIP Profiles', 'node-config-ids'=>'HIPProfiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def hip_objects prop_get('hip-objects') end def hip_objects=(val) prop_set('hip-objects', val) end def hip_profiles prop_get('hip-profiles') end def hip_profiles=(val) prop_set('hip-profiles', val) end end def global_protect @subclasses['global-protect'] ||= GlobalProtect.new(parent_instance: self, client: @client, create_children: @create_children) end class CustomObjects < ConfigClass def has_multiple_values?; false; end def _section :'custom-objects' end @props = {'data-patterns'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'DataPatterns', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'spyware'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'signatures_spyware', 'node-config-ids'=>'CustomSpyware', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'vulnerability'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'signatures_vulnerability', 'node-config-ids'=>'CustomVulnerability', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'url-category'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'menu-tree-path'=>'URL Category', 'help-topic'=>'custom_url_categories', 'node-config-ids'=>'CustomURLCategory', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def data_patterns prop_get('data-patterns') end def data_patterns=(val) prop_set('data-patterns', val) end def spyware prop_get('spyware') end def spyware=(val) prop_set('spyware', val) end def vulnerability prop_get('vulnerability') end def vulnerability=(val) prop_set('vulnerability', val) end def url_category prop_get('url-category') end def url_category=(val) prop_set('url-category', val) end end def custom_objects @subclasses['custom-objects'] ||= CustomObjects.new(parent_instance: self, client: @client, create_children: @create_children) end class SecurityProfiles < ConfigClass def has_multiple_values?; false; end def _section :'security-profiles' end @props = {'antivirus'=>{'node-type'=>'element', 'menu-tree-path'=>'Antivirus', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'antivirus_profiles', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'AntiVirusProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'anti-spyware'=>{'node-type'=>'element', 'menu-tree-path'=>'Anti-Spyware', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'anti-spyware_profiles', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'AntiSpywareProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'vulnerability-protection'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'vulnerability_protection_profiles', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'VulnerabilityProtection', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'url-filtering'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'url_filtering_profiles', 'menu-tree-path'=>'URL Filtering', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'URLFiltering', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'file-blocking'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'file_blocking_profiles', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'FileBlocking', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'wildfire-analysis'=>{'node-type'=>'element', 'menu-tree-path'=>'WildFire Analysis', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'wildfire_analysis_profiles', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'WildFireAnalysis', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'data-filtering'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'data_filtering_profiles', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'DataFiltering', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dos-protection'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'dos_profiles', 'menu-tree-path'=>'DoS Protection', 'node-config-ids'=>'DoSProtection', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'gtp-protection'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'gtp_protection', 'menu-tree-path'=>'Mobile Network Protection', 'node-config-ids'=>'GTPProtection', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sctp-protection'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'sctp_protection', 'menu-tree-path'=>'SCTP Protection', 'node-config-ids'=>'SCTPProtection', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def antivirus prop_get('antivirus') end def antivirus=(val) prop_set('antivirus', val) end def anti_spyware prop_get('anti-spyware') end def anti_spyware=(val) prop_set('anti-spyware', val) end def vulnerability_protection prop_get('vulnerability-protection') end def vulnerability_protection=(val) prop_set('vulnerability-protection', val) end def url_filtering prop_get('url-filtering') end def url_filtering=(val) prop_set('url-filtering', val) end def file_blocking prop_get('file-blocking') end def file_blocking=(val) prop_set('file-blocking', val) end def wildfire_analysis prop_get('wildfire-analysis') end def wildfire_analysis=(val) prop_set('wildfire-analysis', val) end def data_filtering prop_get('data-filtering') end def data_filtering=(val) prop_set('data-filtering', val) end def dos_protection prop_get('dos-protection') end def dos_protection=(val) prop_set('dos-protection', val) end def gtp_protection prop_get('gtp-protection') end def gtp_protection=(val) prop_set('gtp-protection', val) end def sctp_protection prop_get('sctp-protection') end def sctp_protection=(val) prop_set('sctp-protection', val) end end def security_profiles @subclasses['security-profiles'] ||= SecurityProfiles.new(parent_instance: self, client: @client, create_children: @create_children) end class Decryption < ConfigClass def has_multiple_values?; false; end def _section :decryption end @props = {'decryption-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'decryption_profile', 'menu-tree-path'=>'Decryption Profile', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'DecryptionProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def decryption_profile prop_get('decryption-profile') end def decryption_profile=(val) prop_set('decryption-profile', val) end end def decryption @subclasses['decryption'] ||= Decryption.new(parent_instance: self, client: @client, create_children: @create_children) end class Sdwan < ConfigClass def has_multiple_values?; false; end def _section :sdwan end @props = {'sdwan-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Path Quality Profile', 'node-config-ids'=>'SDWANProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-saas-quality-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SaaS Quality Profile', 'node-config-ids'=>'SDWANSaaSQualityProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-dist-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Traffic Distribution Profile', 'node-config-ids'=>'SDWANDistProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-error-correction-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Error Correction Profile', 'node-config-ids'=>'SDWANErrorCorrectionProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def sdwan_profile prop_get('sdwan-profile') end def sdwan_profile=(val) prop_set('sdwan-profile', val) end def sdwan_saas_quality_profile prop_get('sdwan-saas-quality-profile') end def sdwan_saas_quality_profile=(val) prop_set('sdwan-saas-quality-profile', val) end def sdwan_dist_profile prop_get('sdwan-dist-profile') end def sdwan_dist_profile=(val) prop_set('sdwan-dist-profile', val) end def sdwan_error_correction_profile prop_get('sdwan-error-correction-profile') end def sdwan_error_correction_profile=(val) prop_set('sdwan-error-correction-profile', val) end end def sdwan @subclasses['sdwan'] ||= Sdwan.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'addresses'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'Address', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'address-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'AddressGroup', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'regions'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'Region', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dynamic-user-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'DynamicUserGroup', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'applications'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'Application', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'application-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'ApplicationGroup', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'application-filters'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'ApplicationFilter', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'services'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'Service', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'service-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'ServiceGroup', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'tags'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'Tag', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'devices'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'DeviceObject', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dynamic-block-lists'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'External Dynamic Lists', 'help-topic'=>'external_dynamic_list', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'DynamicBlockList', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'security-profile-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'SecurityProfileGroups', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'log-forwarding'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'log_forwarding', 'node-config-ids'=>'LogForwarding', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'authentication'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'authentication', 'node-config-ids'=>'AuthenticationObject', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'packet-broker-profile'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.prune-on-decrypt-brk', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'packet_broker_profile', 'menu-tree-path'=>'Packet Broker Profile', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'NetworkPacketBrokerProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'schedules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'Schedule', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def addresses prop_get('addresses') end def addresses=(val) prop_set('addresses', val) end def address_groups prop_get('address-groups') end def address_groups=(val) prop_set('address-groups', val) end def regions prop_get('regions') end def regions=(val) prop_set('regions', val) end def dynamic_user_groups prop_get('dynamic-user-groups') end def dynamic_user_groups=(val) prop_set('dynamic-user-groups', val) end def applications prop_get('applications') end def applications=(val) prop_set('applications', val) end def application_groups prop_get('application-groups') end def application_groups=(val) prop_set('application-groups', val) end def application_filters prop_get('application-filters') end def application_filters=(val) prop_set('application-filters', val) end def services prop_get('services') end def services=(val) prop_set('services', val) end def service_groups prop_get('service-groups') end def service_groups=(val) prop_set('service-groups', val) end def tags prop_get('tags') end def tags=(val) prop_set('tags', val) end def devices prop_get('devices') end def devices=(val) prop_set('devices', val) end def dynamic_block_lists prop_get('dynamic-block-lists') end def dynamic_block_lists=(val) prop_set('dynamic-block-lists', val) end def security_profile_groups prop_get('security-profile-groups') end def security_profile_groups=(val) prop_set('security-profile-groups', val) end def log_forwarding prop_get('log-forwarding') end def log_forwarding=(val) prop_set('log-forwarding', val) end def authentication prop_get('authentication') end def authentication=(val) prop_set('authentication', val) end def packet_broker_profile prop_get('packet-broker-profile') end def packet_broker_profile=(val) prop_set('packet-broker-profile', val) end def schedules prop_get('schedules') end def schedules=(val) prop_set('schedules', val) end end def objects @subclasses['objects'] ||= Objects.new(parent_instance: self, client: @client, create_children: @create_children) end class Network < ConfigClass def has_multiple_values?; false; end def _section :network end class Routing < ConfigClass def has_multiple_values?; false; end def _section :routing end class RoutingProfiles < ConfigClass def has_multiple_values?; false; end def _section :'routing-profiles' end @props = {'bgp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'routing_profiles_bgp', 'menu-tree-path'=>'BGP', 'node-config-ids'=>'RoutingProfilesBGP', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'bfd'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'routing_profiles_bfd', 'menu-tree-path'=>'BFD', 'node-config-ids'=>'RoutingProfilesBFD', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ospf'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'routing_profiles_ospf', 'menu-tree-path'=>'OSPF', 'node-config-ids'=>'RoutingProfilesOspf', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ospfv3'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'routing_profiles_ospfv3', 'menu-tree-path'=>'OSPFv3', 'node-config-ids'=>'RoutingProfilesOspfv3', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ripv2'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'routing_profiles_ripv2', 'menu-tree-path'=>'RIPv2', 'node-config-ids'=>'RoutingProfilesRIPv2', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'filters'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'routing_profiles_filters', 'menu-tree-path'=>'Filters', 'node-config-ids'=>'RoutingProfilesFilters', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'multicast'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'routing_profiles_multicast', 'menu-tree-path'=>'Multicast', 'node-config-ids'=>'RoutingProfilesMulticast', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def bgp prop_get('bgp') end def bgp=(val) prop_set('bgp', val) end def bfd prop_get('bfd') end def bfd=(val) prop_set('bfd', val) end def ospf prop_get('ospf') end def ospf=(val) prop_set('ospf', val) end def ospfv3 prop_get('ospfv3') end def ospfv3=(val) prop_set('ospfv3', val) end def ripv2 prop_get('ripv2') end def ripv2=(val) prop_set('ripv2', val) end def filters prop_get('filters') end def filters=(val) prop_set('filters', val) end def multicast prop_get('multicast') end def multicast=(val) prop_set('multicast', val) end end def routing_profiles @subclasses['routing-profiles'] ||= RoutingProfiles.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'logical-routers'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'logical_routers', 'node-config-ids'=>'LogicalRouter', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def logical_routers prop_get('logical-routers') end def logical_routers=(val) prop_set('logical-routers', val) end end def routing @subclasses['routing'] ||= Routing.new(parent_instance: self, client: @client, create_children: @create_children) end class GlobalProtect < ConfigClass def has_multiple_values?; false; end def _section :'global-protect' end @props = {'portals'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'portals_globalprotect', 'node-config-ids'=>'GlobalProtectPortal', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'gateways'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'gateways_globalprotect', 'node-config-ids'=>'GlobalProtectGatewayVSYS', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'mdm'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'MDM', 'help-topic'=>'mdm_globalprotect', 'node-config-ids'=>'GlobalProtectMDM', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'clientless-apps'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'clientless_apps', 'node-config-ids'=>'GlobalProtectClientlessApp', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'clientless-app-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'clientless_app_groups', 'node-config-ids'=>'GlobalProtectClientlessAppGroup', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def portals prop_get('portals') end def portals=(val) prop_set('portals', val) end def gateways prop_get('gateways') end def gateways=(val) prop_set('gateways', val) end def mdm prop_get('mdm') end def mdm=(val) prop_set('mdm', val) end def clientless_apps prop_get('clientless-apps') end def clientless_apps=(val) prop_set('clientless-apps', val) end def clientless_app_groups prop_get('clientless-app-groups') end def clientless_app_groups=(val) prop_set('clientless-app-groups', val) end end def global_protect @subclasses['global-protect'] ||= GlobalProtect.new(parent_instance: self, client: @client, create_children: @create_children) end class NetworkProfiles < ConfigClass def has_multiple_values?; false; end def _section :'network-profiles' end @props = {'gp-app-ipsec-crypto'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.network.network-profiles.gp-app-ipsec-crypto-disable=True', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'GlobalProtect IPSec Crypto', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'node-config-ids'=>'GpAppIPSecCrypto', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ike-gateways'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.network.network-profiles.ike-gateways-disable=True', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'IKE Gateways', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'node-config-ids'=>'IKEGateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ipsec-crypto'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.network.network-profiles.ipsec-crypto-disable=True', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'ipsec_crypto_profiles', 'menu-tree-path'=>'IPSec Crypto', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'node-config-ids'=>'IPSecCrypto', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ike-crypto'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.network.network-profiles.ike-crypto-disable=True', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'ike_crypto_profiles', 'menu-tree-path'=>'IKE Crypto', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'node-config-ids'=>'IKECrypto', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'tunnel-monitor'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.network.network-profiles.tunnel-monitor-disable=True', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Monitor', 'help-topic'=>'tunnel_monitor_profiles', 'node-config-ids'=>'MonitorProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'interface-mgmt'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.network.network-profiles.interface-mgmt-disable=True', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'interface_management_profiles', 'node-config-ids'=>'InterfaceMgmt', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'zone-protection'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'zone_protection', 'node-config-ids'=>'ZoneProtection', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'qos-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'QoS Profile', 'node-config-ids'=>'QoSProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'lldp-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'LLDP Profile', 'node-config-ids'=>'LLDPProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'bfd-profile'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.advance-routing-enabled=True', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'BFD Profile', 'node-config-ids'=>'BFDProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def gp_app_ipsec_crypto prop_get('gp-app-ipsec-crypto') end def gp_app_ipsec_crypto=(val) prop_set('gp-app-ipsec-crypto', val) end def ike_gateways prop_get('ike-gateways') end def ike_gateways=(val) prop_set('ike-gateways', val) end def ipsec_crypto prop_get('ipsec-crypto') end def ipsec_crypto=(val) prop_set('ipsec-crypto', val) end def ike_crypto prop_get('ike-crypto') end def ike_crypto=(val) prop_set('ike-crypto', val) end def tunnel_monitor prop_get('tunnel-monitor') end def tunnel_monitor=(val) prop_set('tunnel-monitor', val) end def interface_mgmt prop_get('interface-mgmt') end def interface_mgmt=(val) prop_set('interface-mgmt', val) end def zone_protection prop_get('zone-protection') end def zone_protection=(val) prop_set('zone-protection', val) end def qos_profile prop_get('qos-profile') end def qos_profile=(val) prop_set('qos-profile', val) end def lldp_profile prop_get('lldp-profile') end def lldp_profile=(val) prop_set('lldp-profile', val) end def bfd_profile prop_get('bfd-profile') end def bfd_profile=(val) prop_set('bfd-profile', val) end end def network_profiles @subclasses['network-profiles'] ||= NetworkProfiles.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'interfaces'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'network_interfaces', 'node-config-ids'=>'Interfaces', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'zones'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'Zones', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'vlans'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.network.vlans-disable=True', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'VLANs', 'node-config-ids'=>'VLAN', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'virtual-wires'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'VirtualWires', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'virtual-routers'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.network.vm.virtual-routers-disable=True', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'VirtualRouter', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ipsec-tunnels'=>{'node-type'=>'element', 'optional'=>'yes', 'prune-on-sdb'=>'cfg.platform.vm.network.ipsec-tunnels-disable=True', 'type'=>'enum', 'menu-tree-path'=>'IPSec Tunnels', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'node-config-ids'=>'IPSecTunnel', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'gre-tunnels'=>{'node-type'=>'element', 'optional'=>'yes', 'prune-on-sdb'=>'cfg.platform.vm.network.gre-tunnels-disable=True', 'type'=>'enum', 'menu-tree-path'=>'GRE Tunnels', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'node-config-ids'=>'GRETunnel', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dhcp'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.network.dhcp-disable=True', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'DHCP', 'node-config-ids'=>'DHCP', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dns-proxy'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.network.dns-proxy-disable=True', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'DNS Proxy', 'node-config-ids'=>'DNSProxy', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'secure-web-gateway'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.network.secure-web-gateway-disable=True', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Proxy', 'node-config-ids'=>'Proxy', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'qos'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'QoS', 'node-config-ids'=>'QoSInterface', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'lldp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'LLDP', 'node-config-ids'=>'LLDP', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-interface-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SD-WAN Interface Profile', 'node-config-ids'=>'SDWANInterfaceProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def interfaces prop_get('interfaces') end def interfaces=(val) prop_set('interfaces', val) end def zones prop_get('zones') end def zones=(val) prop_set('zones', val) end def vlans prop_get('vlans') end def vlans=(val) prop_set('vlans', val) end def virtual_wires prop_get('virtual-wires') end def virtual_wires=(val) prop_set('virtual-wires', val) end def virtual_routers prop_get('virtual-routers') end def virtual_routers=(val) prop_set('virtual-routers', val) end def ipsec_tunnels prop_get('ipsec-tunnels') end def ipsec_tunnels=(val) prop_set('ipsec-tunnels', val) end def gre_tunnels prop_get('gre-tunnels') end def gre_tunnels=(val) prop_set('gre-tunnels', val) end def dhcp prop_get('dhcp') end def dhcp=(val) prop_set('dhcp', val) end def dns_proxy prop_get('dns-proxy') end def dns_proxy=(val) prop_set('dns-proxy', val) end def secure_web_gateway prop_get('secure-web-gateway') end def secure_web_gateway=(val) prop_set('secure-web-gateway', val) end def qos prop_get('qos') end def qos=(val) prop_set('qos', val) end def lldp prop_get('lldp') end def lldp=(val) prop_set('lldp', val) end def sdwan_interface_profile prop_get('sdwan-interface-profile') end def sdwan_interface_profile=(val) prop_set('sdwan-interface-profile', val) end end def network @subclasses['network'] ||= Network.new(parent_instance: self, client: @client, create_children: @create_children) end class Device < ConfigClass def has_multiple_values?; false; end def _section :device end class Setup < ConfigClass def has_multiple_values?; false; end def _section :setup end @props = {'management'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_setup', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'operations'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_setup', 'menu-tree-path'=>'Operations', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'services'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_setup', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'interfaces'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_setup', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'telemetry'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_setup', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'content-id'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_setup', 'menu-tree-path'=>'Content-ID', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'wildfire'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_setup', 'menu-tree-path'=>'WildFire', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'session'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_setup', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'hsm'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_setup', 'menu-tree-path'=>'HSM', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def management prop_get('management') end def management=(val) prop_set('management', val) end def operations prop_get('operations') end def operations=(val) prop_set('operations', val) end def services prop_get('services') end def services=(val) prop_set('services', val) end def interfaces prop_get('interfaces') end def interfaces=(val) prop_set('interfaces', val) end def telemetry prop_get('telemetry') end def telemetry=(val) prop_set('telemetry', val) end def content_id prop_get('content-id') end def content_id=(val) prop_set('content-id', val) end def wildfire prop_get('wildfire') end def wildfire=(val) prop_set('wildfire', val) end def session prop_get('session') end def session=(val) prop_set('session', val) end def hsm prop_get('hsm') end def hsm=(val) prop_set('hsm', val) end end def setup @subclasses['setup'] ||= Setup.new(parent_instance: self, client: @client, create_children: @create_children) end class CertificateManagement < ConfigClass def has_multiple_values?; false; end def _section :'certificate-management' end @props = {'certificates'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'certificates', 'node-config-ids'=>'Certificate', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'certificate-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'CertificateProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ocsp-responder'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'OCSP Responder', 'node-config-ids'=>'OCSPResponder', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ssl-tls-service-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SSL/TLS Service Profile', 'help-topic'=>'ssl_tls_service_profile', 'node-config-ids'=>'SslTlsServiceProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'scep'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SCEP', 'node-config-ids'=>'SCEP', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ssl-decryption-exclusion'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SSL Decryption Exclusion', 'node-config-ids'=>'SslDecryptionExclusion', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ssh-service-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SSH Service Profile', 'help-topic'=>'ssh_service_profile', 'node-config-ids'=>'SshServiceProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def certificates prop_get('certificates') end def certificates=(val) prop_set('certificates', val) end def certificate_profile prop_get('certificate-profile') end def certificate_profile=(val) prop_set('certificate-profile', val) end def ocsp_responder prop_get('ocsp-responder') end def ocsp_responder=(val) prop_set('ocsp-responder', val) end def ssl_tls_service_profile prop_get('ssl-tls-service-profile') end def ssl_tls_service_profile=(val) prop_set('ssl-tls-service-profile', val) end def scep prop_get('scep') end def scep=(val) prop_set('scep', val) end def ssl_decryption_exclusion prop_get('ssl-decryption-exclusion') end def ssl_decryption_exclusion=(val) prop_set('ssl-decryption-exclusion', val) end def ssh_service_profile prop_get('ssh-service-profile') end def ssh_service_profile=(val) prop_set('ssh-service-profile', val) end end def certificate_management @subclasses['certificate-management'] ||= CertificateManagement.new(parent_instance: self, client: @client, create_children: @create_children) end class LogSettings < ConfigClass def has_multiple_values?; false; end def _section :'log-settings' end @props = {'system'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'system_log_settings', 'node-config-ids'=>'LogSettingsSystem,LogSettingsConfig,LogSettingsUserID,LogSettingsHIPMatch,LogSettingsCorrelation,LogSettingsGlobalProtect LogSettingsCCAlarms', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'config'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'config_log_settings', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'iptag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'IP-Tag', 'help-topic'=>'ip_tag_log_settings', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'user-id'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'User-ID', 'help-topic'=>'user_id_log_settings', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'hipmatch'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'HIP Match', 'help-topic'=>'hip_match_log_settings', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'globalprotect'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'GlobalProtect', 'help-topic'=>'globalprotect_log_settings', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'correlation'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Correlation', 'help-topic'=>'correlation_log_settings', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'cc-alarm'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Alarms', 'help-topic'=>'alarm_log_settings', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'manage-log'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Manage Logs', 'skip-menu-tree-display'=>'template', 'help-topic'=>'manage_logs_log_settings', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def system prop_get('system') end def system=(val) prop_set('system', val) end def config prop_get('config') end def config=(val) prop_set('config', val) end def iptag prop_get('iptag') end def iptag=(val) prop_set('iptag', val) end def user_id prop_get('user-id') end def user_id=(val) prop_set('user-id', val) end def hipmatch prop_get('hipmatch') end def hipmatch=(val) prop_set('hipmatch', val) end def globalprotect prop_get('globalprotect') end def globalprotect=(val) prop_set('globalprotect', val) end def correlation prop_get('correlation') end def correlation=(val) prop_set('correlation', val) end def cc_alarm prop_get('cc-alarm') end def cc_alarm=(val) prop_set('cc-alarm', val) end def manage_log prop_get('manage-log') end def manage_log=(val) prop_set('manage-log', val) end end def log_settings @subclasses['log-settings'] ||= LogSettings.new(parent_instance: self, client: @client, create_children: @create_children) end class ServerProfile < ConfigClass def has_multiple_values?; false; end def _section :'server-profile' end @props = {'snmp-trap'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'snmp_trap_settings', 'menu-tree-path'=>'SNMP Trap', 'node-config-ids'=>'ServerProfileSNMPTrap', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'syslog'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'syslog_settings', 'node-config-ids'=>'ServerProfileSyslog', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'email'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'email_settings', 'node-config-ids'=>'ServerProfileEmail', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'http'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'http_settings', 'menu-tree-path'=>'HTTP', 'node-config-ids'=>'ServerProfileHTTP', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'netflow'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'netflow_settings', 'node-config-ids'=>'ServerProfileNetflow', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'radius'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'server_radius', 'node-config-ids'=>'ServerProfileRadius', 'menu-tree-path'=>'RADIUS', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'scp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'scp_settings', 'menu-tree-path'=>'SCP', 'node-config-ids'=>'ServerProfileSCP', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'tacplus'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'server_tacplus', 'node-config-ids'=>'ServerProfileTacacs', 'menu-tree-path'=>'TACACS+', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ldap'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'server_ldap', 'menu-tree-path'=>'LDAP', 'node-config-ids'=>'ServerProfileLDAP', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'kerberos'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'server_kerberos', 'node-config-ids'=>'ServerProfileKerberos', 'skip-display'=>'fips-mode,cc-only-mode', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'saml_idp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'server_saml_idp', 'menu-tree-path'=>'SAML Identity Provider', 'node-config-ids'=>'ServerProfileSamlIdp', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dns'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.device.dns-disable=True', 'skip-display'=>'single-vsys-mode', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'server_dns', 'menu-tree-path'=>'DNS', 'node-config-ids'=>'ServerProfileDNS', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'mfa'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'server_mfa', 'menu-tree-path'=>'Multi Factor Authentication', 'node-config-ids'=>'ServerProfileMFA', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def snmp_trap prop_get('snmp-trap') end def snmp_trap=(val) prop_set('snmp-trap', val) end def syslog prop_get('syslog') end def syslog=(val) prop_set('syslog', val) end def email prop_get('email') end def email=(val) prop_set('email', val) end def http prop_get('http') end def http=(val) prop_set('http', val) end def netflow prop_get('netflow') end def netflow=(val) prop_set('netflow', val) end def radius prop_get('radius') end def radius=(val) prop_set('radius', val) end def scp prop_get('scp') end def scp=(val) prop_set('scp', val) end def tacplus prop_get('tacplus') end def tacplus=(val) prop_set('tacplus', val) end def ldap prop_get('ldap') end def ldap=(val) prop_set('ldap', val) end def kerberos prop_get('kerberos') end def kerberos=(val) prop_set('kerberos', val) end def saml_idp prop_get('saml_idp') end def saml_idp=(val) prop_set('saml_idp', val) end def dns prop_get('dns') end def dns=(val) prop_set('dns', val) end def mfa prop_get('mfa') end def mfa=(val) prop_set('mfa', val) end end def server_profile @subclasses['server-profile'] ||= ServerProfile.new(parent_instance: self, client: @client, create_children: @create_children) end class LocalUserDatabase < ConfigClass def has_multiple_values?; false; end def _section :'local-user-database' end @props = {'users'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'local_users', 'node-config-ids'=>'LocalUsers', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'user-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'local_user_groups', 'node-config-ids'=>'LocalUserGroups', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def users prop_get('users') end def users=(val) prop_set('users', val) end def user_groups prop_get('user-groups') end def user_groups=(val) prop_set('user-groups', val) end end def local_user_database @subclasses['local-user-database'] ||= LocalUserDatabase.new(parent_instance: self, client: @client, create_children: @create_children) end class PolicyRecommendations < ConfigClass def has_multiple_values?; false; end def _section :'policy-recommendations' end @props = {'iot'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'iot_policy_recommendation', 'menu-tree-path'=>'IoT', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'saas'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'saas_policy_recommendation', 'menu-tree-path'=>'SaaS', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def iot prop_get('iot') end def iot=(val) prop_set('iot', val) end def saas prop_get('saas') end def saas=(val) prop_set('saas', val) end end def policy_recommendations @subclasses['policy-recommendations'] ||= PolicyRecommendations.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'high-availability'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.device.high-availability-disable=True', 'node-config-ids'=>'HASetup', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'log-fwd-card'=>{'node-type'=>'element', 'node-config-ids'=>'LFCInterface', 'menu-tree-path'=>'Log Forwarding Card', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'config-audit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'administrators'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'admin_accounts', 'node-config-ids'=>'Administrator', 'enum'=>[{'value'=>'read-only'}, {'value'=>'disable'}]}, 'admin-roles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'AdminRoleHandler', 'enum'=>[{'value'=>'read-only'}, {'value'=>'disable'}]}, 'access-domain'=>{'node-type'=>'element', 'optional'=>'yes', 'skip-display'=>'single-vsys-mode', 'type'=>'enum', 'node-config-ids'=>'AccessDomain', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'authentication-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'AuthenticationProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'authentication-sequence'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'AuthSeqBase', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'user-identification'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_user_id', 'node-config-ids'=>'UserIdCollector,ServerMonitor,IncludeExcludeNetwork,UserIdConnSecurity,UserIdAgent,TSAgent,GroupMapping', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dhcp-syslog-server'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'IoT', 'node-config-ids'=>'IoT', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'data-redistribution'=>{'node-type'=>'element', 'optional'=>'yes', 'help-topic'=>'data_redistribution', 'menu-tree-path'=>'Data Redistribution', 'type'=>'enum', 'node-config-ids'=>'RDAgent,DataRedistributionCollector,DataRedistributionIPUserIncludeExcludeNetwork,DataRedistributionIPTagIncludeExcludeNetwork', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'device-quarantine'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Device Quarantine', 'help-topic'=>'device_quarantine', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'vm-info-source'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'VM Information Sources', 'node-config-ids'=>'VMInformationSources', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'troubleshooting'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Troubleshooting', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'virtual-systems'=>{'node-type'=>'element', 'optional'=>'yes', 'skip-display'=>'single-vsys-mode', 'type'=>'enum', 'node-config-ids'=>'VirtualSystem', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'shared-gateways'=>{'node-type'=>'element', 'optional'=>'yes', 'skip-display'=>'single-vsys-mode', 'type'=>'enum', 'node-config-ids'=>'SharedGateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'block-pages'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Response Pages', 'node-config-ids'=>'ResponsePageTopLevel', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'scheduled-log-export'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'log_export', 'node-config-ids'=>'ScheduledLogExport', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'software'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'global-protect-client'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'GlobalProtect Client', 'prune-on'=>'vpn-disable-mode', 'skip-display'=>'vpn-disable-mode', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dynamic-updates'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'DynamicUpdates', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'plugins'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'licenses'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'license', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'support'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'master-key'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Master Key and Diagnostics', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def high_availability prop_get('high-availability') end def high_availability=(val) prop_set('high-availability', val) end def log_fwd_card prop_get('log-fwd-card') end def log_fwd_card=(val) prop_set('log-fwd-card', val) end def config_audit prop_get('config-audit') end def config_audit=(val) prop_set('config-audit', val) end def administrators prop_get('administrators') end def administrators=(val) prop_set('administrators', val) end def admin_roles prop_get('admin-roles') end def admin_roles=(val) prop_set('admin-roles', val) end def access_domain prop_get('access-domain') end def access_domain=(val) prop_set('access-domain', val) end def authentication_profile prop_get('authentication-profile') end def authentication_profile=(val) prop_set('authentication-profile', val) end def authentication_sequence prop_get('authentication-sequence') end def authentication_sequence=(val) prop_set('authentication-sequence', val) end def user_identification prop_get('user-identification') end def user_identification=(val) prop_set('user-identification', val) end def dhcp_syslog_server prop_get('dhcp-syslog-server') end def dhcp_syslog_server=(val) prop_set('dhcp-syslog-server', val) end def data_redistribution prop_get('data-redistribution') end def data_redistribution=(val) prop_set('data-redistribution', val) end def device_quarantine prop_get('device-quarantine') end def device_quarantine=(val) prop_set('device-quarantine', val) end def vm_info_source prop_get('vm-info-source') end def vm_info_source=(val) prop_set('vm-info-source', val) end def troubleshooting prop_get('troubleshooting') end def troubleshooting=(val) prop_set('troubleshooting', val) end def virtual_systems prop_get('virtual-systems') end def virtual_systems=(val) prop_set('virtual-systems', val) end def shared_gateways prop_get('shared-gateways') end def shared_gateways=(val) prop_set('shared-gateways', val) end def block_pages prop_get('block-pages') end def block_pages=(val) prop_set('block-pages', val) end def scheduled_log_export prop_get('scheduled-log-export') end def scheduled_log_export=(val) prop_set('scheduled-log-export', val) end def software prop_get('software') end def software=(val) prop_set('software', val) end def global_protect_client prop_get('global-protect-client') end def global_protect_client=(val) prop_set('global-protect-client', val) end def dynamic_updates prop_get('dynamic-updates') end def dynamic_updates=(val) prop_set('dynamic-updates', val) end def plugins prop_get('plugins') end def plugins=(val) prop_set('plugins', val) end def licenses prop_get('licenses') end def licenses=(val) prop_set('licenses', val) end def support prop_get('support') end def support=(val) prop_set('support', val) end def master_key prop_get('master-key') end def master_key=(val) prop_set('master-key', val) end end def device @subclasses['device'] ||= Device.new(parent_instance: self, client: @client, create_children: @create_children) end class Operations < ConfigClass def has_multiple_values?; false; end def _section :operations end @props = {'reboot'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'generate-tech-support-file'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'generate-stats-dump-file'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'download-core-files'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'download-pcap-files'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}} def reboot prop_get('reboot') end def reboot=(val) prop_set('reboot', val) end def generate_tech_support_file prop_get('generate-tech-support-file') end def generate_tech_support_file=(val) prop_set('generate-tech-support-file', val) end def generate_stats_dump_file prop_get('generate-stats-dump-file') end def generate_stats_dump_file=(val) prop_set('generate-stats-dump-file', val) end def download_core_files prop_get('download-core-files') end def download_core_files=(val) prop_set('download-core-files', val) end def download_pcap_files prop_get('download-pcap-files') end def download_pcap_files=(val) prop_set('download-pcap-files', val) end end def operations @subclasses['operations'] ||= Operations.new(parent_instance: self, client: @client, create_children: @create_children) end class Privacy < ConfigClass def has_multiple_values?; false; end def _section :privacy end @props = {'show-full-ip-addresses'=>{'node-type'=>'element', 'menu-tree-path'=>'Show Full IP Addresses', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'show-user-names-in-logs-and-reports'=>{'node-type'=>'element', 'menu-tree-path'=>'Show Username In Logs And Reports', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'view-pcap-files'=>{'node-type'=>'element', 'menu-tree-path'=>'View PCAP Files', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}} def show_full_ip_addresses prop_get('show-full-ip-addresses') end def show_full_ip_addresses=(val) prop_set('show-full-ip-addresses', val) end def show_user_names_in_logs_and_reports prop_get('show-user-names-in-logs-and-reports') end def show_user_names_in_logs_and_reports=(val) prop_set('show-user-names-in-logs-and-reports', val) end def view_pcap_files prop_get('view-pcap-files') end def view_pcap_files=(val) prop_set('view-pcap-files', val) end end def privacy @subclasses['privacy'] ||= Privacy.new(parent_instance: self, client: @client, create_children: @create_children) end class Save < ConfigClass def has_multiple_values?; false; end def _section :save end @props = {'partial-save'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'save-for-other-admins'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'object-level-changes'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}} def partial_save prop_get('partial-save') end def partial_save=(val) prop_set('partial-save', val) end def save_for_other_admins prop_get('save-for-other-admins') end def save_for_other_admins=(val) prop_set('save-for-other-admins', val) end def object_level_changes prop_get('object-level-changes') end def object_level_changes=(val) prop_set('object-level-changes', val) end end def save @subclasses['save'] ||= Save.new(parent_instance: self, client: @client, create_children: @create_children) end class Commit < ConfigClass def has_multiple_values?; false; end def _section :commit end @props = {'device'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'commit-for-other-admins'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'object-level-changes'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}} def device prop_get('device') end def device=(val) prop_set('device', val) end def commit_for_other_admins prop_get('commit-for-other-admins') end def commit_for_other_admins=(val) prop_set('commit-for-other-admins', val) end def object_level_changes prop_get('object-level-changes') end def object_level_changes=(val) prop_set('object-level-changes', val) end end def commit @subclasses['commit'] ||= Commit.new(parent_instance: self, client: @client, create_children: @create_children) end class Global < ConfigClass def has_multiple_values?; false; end def _section :global end @props = {'system-alarms'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'system_alarms', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}} def system_alarms prop_get('system-alarms') end def system_alarms=(val) prop_set('system-alarms', val) end end def global @subclasses['global'] ||= Global.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'validate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Validate'}, 'dashboard'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'acc'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'ACC', 'prune-on-sdb'=>'cfg.vm-license-type=vm50l,cfg.platform.model=PA-410', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'tasks'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}} # Validate def validate prop_get('validate') end # Validate def validate=(val) prop_set('validate', val) end def dashboard prop_get('dashboard') end def dashboard=(val) prop_set('dashboard', val) end def acc prop_get('acc') end def acc=(val) prop_set('acc', val) end def tasks prop_get('tasks') end def tasks=(val) prop_set('tasks', val) end end def webui @subclasses['webui'] ||= Webui.new(parent_instance: self, client: @client, create_children: @create_children) end class Xmlapi < ConfigClass def has_multiple_values?; false; end def _section :xmlapi end @props = {'report'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Report', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'log'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'config'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Configuration', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'op'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Operational Requests', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'commit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Commit', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'user-id'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'User-ID Agent', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'iot'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'IoT Agent', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'export'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Export', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'import'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Import', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}} def report prop_get('report') end def report=(val) prop_set('report', val) end def log prop_get('log') end def log=(val) prop_set('log', val) end def config prop_get('config') end def config=(val) prop_set('config', val) end def op prop_get('op') end def op=(val) prop_set('op', val) end def commit prop_get('commit') end def commit=(val) prop_set('commit', val) end def user_id prop_get('user-id') end def user_id=(val) prop_set('user-id', val) end def iot prop_get('iot') end def iot=(val) prop_set('iot', val) end def export prop_get('export') end def export=(val) prop_set('export', val) end def import prop_get('import') end def import=(val) prop_set('import', val) end end def xmlapi @subclasses['xmlapi'] ||= Xmlapi.new(parent_instance: self, client: @client, create_children: @create_children) end class Restapi < ConfigClass def has_multiple_values?; false; end def _section :restapi end class Objects < ConfigClass def has_multiple_values?; false; end def _section :objects end @props = {'addresses'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'address-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'regions'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dynamic-user-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'applications'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'application-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'application-filters'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'services'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'service-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'tags'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'devices'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'globalprotect-hip-objects'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'hip_objects', 'menu-tree-path'=>'GlobalProtect HIP Objects', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'globalprotect-hip-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'hip_profiles', 'menu-tree-path'=>'GlobalProtect HIP Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'external-dynamic-lists'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'external_dynamic_list', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'custom-data-patterns'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'custom-spyware-signatures'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'signatures_spyware', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'custom-vulnerability-signatures'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'signatures_vulnerability', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'custom-url-categories'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'help-topic'=>'custom_url_categories', 'menu-tree-path'=>'URL Category', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'antivirus-security-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'antivirus_profiles', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'anti-spyware-security-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'anti-spyware_profiles', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'vulnerability-protection-security-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'vulnerability_protection_profiles', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'url-filtering-security-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'url_filtering_profiles', 'skip-display'=>'shared-gateway', 'menu-tree-path'=>'URL Filtering Security Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'file-blocking-security-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'file_blocking_profiles', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'wildfire-analysis-security-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'wildfire_analysis_profiles', 'skip-display'=>'shared-gateway', 'menu-tree-path'=>'WildFire Analysis Security Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'data-filtering-security-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'data_filtering_profiles', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dos-protection-security-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'dos_profiles', 'menu-tree-path'=>'DoS Protection Security Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'gtp-protection-security-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'gtp_protection', 'menu-tree-path'=>'GTP Protection Security Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sctp-protection-security-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'sctp_protection', 'menu-tree-path'=>'SCTP Protection Secuirty Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'security-profile-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'log-forwarding-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'log_forwarding', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'authentication-enforcements'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'authentication', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'decryption-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'decryption_profile', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'packet-broker-profiles'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'prune-on-sdb'=>'cfg.general.prune-on-decrypt-brk', 'help-topic'=>'packet_broker_profile', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'schedules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-path-quality-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'sdwan-path-quality-profiles', 'skip-display'=>'shared-gateway', 'menu-tree-path'=>'SD-WAN Path Quality Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-saas-quality-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'sdwan-saas-quality-profiles', 'skip-display'=>'shared-gateway', 'menu-tree-path'=>'SD-WAN Saas Quality Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-traffic-distribution-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'sdwan-traffic-distribution-profiles', 'skip-display'=>'shared-gateway', 'menu-tree-path'=>'SD-WAN Traffic Distribution Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-error-correction-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'sdwan-error-correction-profiles', 'skip-display'=>'shared-gateway', 'menu-tree-path'=>'SD-WAN Error Correction Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def addresses prop_get('addresses') end def addresses=(val) prop_set('addresses', val) end def address_groups prop_get('address-groups') end def address_groups=(val) prop_set('address-groups', val) end def regions prop_get('regions') end def regions=(val) prop_set('regions', val) end def dynamic_user_groups prop_get('dynamic-user-groups') end def dynamic_user_groups=(val) prop_set('dynamic-user-groups', val) end def applications prop_get('applications') end def applications=(val) prop_set('applications', val) end def application_groups prop_get('application-groups') end def application_groups=(val) prop_set('application-groups', val) end def application_filters prop_get('application-filters') end def application_filters=(val) prop_set('application-filters', val) end def services prop_get('services') end def services=(val) prop_set('services', val) end def service_groups prop_get('service-groups') end def service_groups=(val) prop_set('service-groups', val) end def tags prop_get('tags') end def tags=(val) prop_set('tags', val) end def devices prop_get('devices') end def devices=(val) prop_set('devices', val) end def globalprotect_hip_objects prop_get('globalprotect-hip-objects') end def globalprotect_hip_objects=(val) prop_set('globalprotect-hip-objects', val) end def globalprotect_hip_profiles prop_get('globalprotect-hip-profiles') end def globalprotect_hip_profiles=(val) prop_set('globalprotect-hip-profiles', val) end def external_dynamic_lists prop_get('external-dynamic-lists') end def external_dynamic_lists=(val) prop_set('external-dynamic-lists', val) end def custom_data_patterns prop_get('custom-data-patterns') end def custom_data_patterns=(val) prop_set('custom-data-patterns', val) end def custom_spyware_signatures prop_get('custom-spyware-signatures') end def custom_spyware_signatures=(val) prop_set('custom-spyware-signatures', val) end def custom_vulnerability_signatures prop_get('custom-vulnerability-signatures') end def custom_vulnerability_signatures=(val) prop_set('custom-vulnerability-signatures', val) end def custom_url_categories prop_get('custom-url-categories') end def custom_url_categories=(val) prop_set('custom-url-categories', val) end def antivirus_security_profiles prop_get('antivirus-security-profiles') end def antivirus_security_profiles=(val) prop_set('antivirus-security-profiles', val) end def anti_spyware_security_profiles prop_get('anti-spyware-security-profiles') end def anti_spyware_security_profiles=(val) prop_set('anti-spyware-security-profiles', val) end def vulnerability_protection_security_profiles prop_get('vulnerability-protection-security-profiles') end def vulnerability_protection_security_profiles=(val) prop_set('vulnerability-protection-security-profiles', val) end def url_filtering_security_profiles prop_get('url-filtering-security-profiles') end def url_filtering_security_profiles=(val) prop_set('url-filtering-security-profiles', val) end def file_blocking_security_profiles prop_get('file-blocking-security-profiles') end def file_blocking_security_profiles=(val) prop_set('file-blocking-security-profiles', val) end def wildfire_analysis_security_profiles prop_get('wildfire-analysis-security-profiles') end def wildfire_analysis_security_profiles=(val) prop_set('wildfire-analysis-security-profiles', val) end def data_filtering_security_profiles prop_get('data-filtering-security-profiles') end def data_filtering_security_profiles=(val) prop_set('data-filtering-security-profiles', val) end def dos_protection_security_profiles prop_get('dos-protection-security-profiles') end def dos_protection_security_profiles=(val) prop_set('dos-protection-security-profiles', val) end def gtp_protection_security_profiles prop_get('gtp-protection-security-profiles') end def gtp_protection_security_profiles=(val) prop_set('gtp-protection-security-profiles', val) end def sctp_protection_security_profiles prop_get('sctp-protection-security-profiles') end def sctp_protection_security_profiles=(val) prop_set('sctp-protection-security-profiles', val) end def security_profile_groups prop_get('security-profile-groups') end def security_profile_groups=(val) prop_set('security-profile-groups', val) end def log_forwarding_profiles prop_get('log-forwarding-profiles') end def log_forwarding_profiles=(val) prop_set('log-forwarding-profiles', val) end def authentication_enforcements prop_get('authentication-enforcements') end def authentication_enforcements=(val) prop_set('authentication-enforcements', val) end def decryption_profiles prop_get('decryption-profiles') end def decryption_profiles=(val) prop_set('decryption-profiles', val) end def packet_broker_profiles prop_get('packet-broker-profiles') end def packet_broker_profiles=(val) prop_set('packet-broker-profiles', val) end def schedules prop_get('schedules') end def schedules=(val) prop_set('schedules', val) end def sdwan_path_quality_profiles prop_get('sdwan-path-quality-profiles') end def sdwan_path_quality_profiles=(val) prop_set('sdwan-path-quality-profiles', val) end def sdwan_saas_quality_profiles prop_get('sdwan-saas-quality-profiles') end def sdwan_saas_quality_profiles=(val) prop_set('sdwan-saas-quality-profiles', val) end def sdwan_traffic_distribution_profiles prop_get('sdwan-traffic-distribution-profiles') end def sdwan_traffic_distribution_profiles=(val) prop_set('sdwan-traffic-distribution-profiles', val) end def sdwan_error_correction_profiles prop_get('sdwan-error-correction-profiles') end def sdwan_error_correction_profiles=(val) prop_set('sdwan-error-correction-profiles', val) end end def objects @subclasses['objects'] ||= Objects.new(parent_instance: self, client: @client, create_children: @create_children) end class Policies < ConfigClass def has_multiple_values?; false; end def _section :policies end @props = {'security-rules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'policies_security', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'nat-rules'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.vm-mode=1', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'nat_rules', 'menu-tree-path'=>'NAT Rules', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'qos-rules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'qos_policies', 'skip-display'=>'shared-gateway', 'menu-tree-path'=>'QoS Rules', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'policy-based-forwarding-rules'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.vm-mode=1', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'decryption-rules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'help-topic'=>'decryption_rules', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'network-packet-broker-rules'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'prune-on-sdb'=>'cfg.general.prune-on-decrypt-brk', 'skip-display'=>'shared-gateway', 'help-topic'=>'network_packet_broker_rules', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'tunnel-inspection-rules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'help-topic'=>'tunnel_inspection_rules', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'application-override-rules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'help-topic'=>'application_override_rules', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'authentication-rules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'help-topic'=>'authentication_rules', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dos-rules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'help-topic'=>'dos_rules', 'menu-tree-path'=>'DoS Rules', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-rules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'help-topic'=>'sdwan-rules', 'menu-tree-path'=>'SD-WAN Rules', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def security_rules prop_get('security-rules') end def security_rules=(val) prop_set('security-rules', val) end def nat_rules prop_get('nat-rules') end def nat_rules=(val) prop_set('nat-rules', val) end def qos_rules prop_get('qos-rules') end def qos_rules=(val) prop_set('qos-rules', val) end def policy_based_forwarding_rules prop_get('policy-based-forwarding-rules') end def policy_based_forwarding_rules=(val) prop_set('policy-based-forwarding-rules', val) end def decryption_rules prop_get('decryption-rules') end def decryption_rules=(val) prop_set('decryption-rules', val) end def network_packet_broker_rules prop_get('network-packet-broker-rules') end def network_packet_broker_rules=(val) prop_set('network-packet-broker-rules', val) end def tunnel_inspection_rules prop_get('tunnel-inspection-rules') end def tunnel_inspection_rules=(val) prop_set('tunnel-inspection-rules', val) end def application_override_rules prop_get('application-override-rules') end def application_override_rules=(val) prop_set('application-override-rules', val) end def authentication_rules prop_get('authentication-rules') end def authentication_rules=(val) prop_set('authentication-rules', val) end def dos_rules prop_get('dos-rules') end def dos_rules=(val) prop_set('dos-rules', val) end def sdwan_rules prop_get('sdwan-rules') end def sdwan_rules=(val) prop_set('sdwan-rules', val) end end def policies @subclasses['policies'] ||= Policies.new(parent_instance: self, client: @client, create_children: @create_children) end class Network < ConfigClass def has_multiple_values?; false; end def _section :network end @props = {'aggregate-ethernet-interfaces'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'network_interfaces', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ethernet-interfaces'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'network_interfaces', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'vlan-interfaces'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'network_interfaces', 'menu-tree-path'=>'VLAN Interfaces', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'loopback-interfaces'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'network_interfaces', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'tunnel-interfaces'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'network_interfaces', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'zones'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'vlans'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.vm-mode=1', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'VLANs', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'virtual-wires'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'virtual-routers'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.vm-mode=1', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'logical-routers'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'bgp-routing-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'BGP Routing Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ipsec-tunnels'=>{'node-type'=>'element', 'optional'=>'yes', 'prune-on-sdb'=>'cfg.general.vm-mode=1', 'prune-on'=>'vpn-disable-mode', 'type'=>'enum', 'skip-display'=>'vpn-disable-mode', 'menu-tree-path'=>'IPSec Tunnels', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'gre-tunnels'=>{'node-type'=>'element', 'optional'=>'yes', 'prune-on-sdb'=>'cfg.general.vm-mode=1', 'prune-on'=>'vpn-disable-mode', 'type'=>'enum', 'skip-display'=>'vpn-disable-mode', 'menu-tree-path'=>'GRE Tunnels', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dhcp-servers'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.vm-mode=1', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'DHCP Servers', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dhcp-relays'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.vm-mode=1', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'DHCP Relays', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dns-proxies'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.vm-mode=1', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'DNS Proxies', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'globalprotect-portals'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'GlobalProtect Portals', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'globalprotect-gateways'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'GlobalProtect Gateways', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'globalprotect-mdm-servers'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'GlobalProtect MDM Servers', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'globalprotect-clientless-apps'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'GlobalProtect Clientless Apps', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'globalprotect-clientless-app-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'GlobalProtect Clientless App Groups', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'qos-interfaces'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'QoS Interfaces', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'lldp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'LLDP', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'globalprotect-ipsec-crypto-network-profiles'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.vm-mode=1', 'prune-on'=>'vpn-disable-mode', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'vpn-disable-mode', 'menu-tree-path'=>'GlobalProtect IPSec Crypto Network Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ike-gateway-network-profiles'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.vm-mode=1', 'prune-on'=>'vpn-disable-mode', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'vpn-disable-mode', 'menu-tree-path'=>'IKE Gateway Network Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ipsec-crypto-network-profiles'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.vm-mode=1', 'prune-on'=>'vpn-disable-mode', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'ipsec_crypto_profiles', 'skip-display'=>'vpn-disable-mode', 'menu-tree-path'=>'IPSec Crypto Network Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ike-crypto-network-profiles'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.vm-mode=1', 'prune-on'=>'vpn-disable-mode', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'ike_crypto_profiles', 'skip-display'=>'vpn-disable-mode', 'menu-tree-path'=>'IKE Crypto Network Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'tunnel-monitor-network-profiles'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.vm-mode=1', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'tunnel_monitor_profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'interface-management-network-profiles'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.vm-mode=1', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'interface_management_profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'zone-protection-network-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'zone_protection', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'qos-network-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'QoS Network Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'lldp-network-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'LLDP Network Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'bfd-network-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'BFD Network Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-interfaces'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SD-WAN Interfaces', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-interface-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SD-WAN Interface Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def aggregate_ethernet_interfaces prop_get('aggregate-ethernet-interfaces') end def aggregate_ethernet_interfaces=(val) prop_set('aggregate-ethernet-interfaces', val) end def ethernet_interfaces prop_get('ethernet-interfaces') end def ethernet_interfaces=(val) prop_set('ethernet-interfaces', val) end def vlan_interfaces prop_get('vlan-interfaces') end def vlan_interfaces=(val) prop_set('vlan-interfaces', val) end def loopback_interfaces prop_get('loopback-interfaces') end def loopback_interfaces=(val) prop_set('loopback-interfaces', val) end def tunnel_interfaces prop_get('tunnel-interfaces') end def tunnel_interfaces=(val) prop_set('tunnel-interfaces', val) end def zones prop_get('zones') end def zones=(val) prop_set('zones', val) end def vlans prop_get('vlans') end def vlans=(val) prop_set('vlans', val) end def virtual_wires prop_get('virtual-wires') end def virtual_wires=(val) prop_set('virtual-wires', val) end def virtual_routers prop_get('virtual-routers') end def virtual_routers=(val) prop_set('virtual-routers', val) end def logical_routers prop_get('logical-routers') end def logical_routers=(val) prop_set('logical-routers', val) end def bgp_routing_profiles prop_get('bgp-routing-profiles') end def bgp_routing_profiles=(val) prop_set('bgp-routing-profiles', val) end def ipsec_tunnels prop_get('ipsec-tunnels') end def ipsec_tunnels=(val) prop_set('ipsec-tunnels', val) end def gre_tunnels prop_get('gre-tunnels') end def gre_tunnels=(val) prop_set('gre-tunnels', val) end def dhcp_servers prop_get('dhcp-servers') end def dhcp_servers=(val) prop_set('dhcp-servers', val) end def dhcp_relays prop_get('dhcp-relays') end def dhcp_relays=(val) prop_set('dhcp-relays', val) end def dns_proxies prop_get('dns-proxies') end def dns_proxies=(val) prop_set('dns-proxies', val) end def globalprotect_portals prop_get('globalprotect-portals') end def globalprotect_portals=(val) prop_set('globalprotect-portals', val) end def globalprotect_gateways prop_get('globalprotect-gateways') end def globalprotect_gateways=(val) prop_set('globalprotect-gateways', val) end def globalprotect_mdm_servers prop_get('globalprotect-mdm-servers') end def globalprotect_mdm_servers=(val) prop_set('globalprotect-mdm-servers', val) end def globalprotect_clientless_apps prop_get('globalprotect-clientless-apps') end def globalprotect_clientless_apps=(val) prop_set('globalprotect-clientless-apps', val) end def globalprotect_clientless_app_groups prop_get('globalprotect-clientless-app-groups') end def globalprotect_clientless_app_groups=(val) prop_set('globalprotect-clientless-app-groups', val) end def qos_interfaces prop_get('qos-interfaces') end def qos_interfaces=(val) prop_set('qos-interfaces', val) end def lldp prop_get('lldp') end def lldp=(val) prop_set('lldp', val) end def globalprotect_ipsec_crypto_network_profiles prop_get('globalprotect-ipsec-crypto-network-profiles') end def globalprotect_ipsec_crypto_network_profiles=(val) prop_set('globalprotect-ipsec-crypto-network-profiles', val) end def ike_gateway_network_profiles prop_get('ike-gateway-network-profiles') end def ike_gateway_network_profiles=(val) prop_set('ike-gateway-network-profiles', val) end def ipsec_crypto_network_profiles prop_get('ipsec-crypto-network-profiles') end def ipsec_crypto_network_profiles=(val) prop_set('ipsec-crypto-network-profiles', val) end def ike_crypto_network_profiles prop_get('ike-crypto-network-profiles') end def ike_crypto_network_profiles=(val) prop_set('ike-crypto-network-profiles', val) end def tunnel_monitor_network_profiles prop_get('tunnel-monitor-network-profiles') end def tunnel_monitor_network_profiles=(val) prop_set('tunnel-monitor-network-profiles', val) end def interface_management_network_profiles prop_get('interface-management-network-profiles') end def interface_management_network_profiles=(val) prop_set('interface-management-network-profiles', val) end def zone_protection_network_profiles prop_get('zone-protection-network-profiles') end def zone_protection_network_profiles=(val) prop_set('zone-protection-network-profiles', val) end def qos_network_profiles prop_get('qos-network-profiles') end def qos_network_profiles=(val) prop_set('qos-network-profiles', val) end def lldp_network_profiles prop_get('lldp-network-profiles') end def lldp_network_profiles=(val) prop_set('lldp-network-profiles', val) end def bfd_network_profiles prop_get('bfd-network-profiles') end def bfd_network_profiles=(val) prop_set('bfd-network-profiles', val) end def sdwan_interfaces prop_get('sdwan-interfaces') end def sdwan_interfaces=(val) prop_set('sdwan-interfaces', val) end def sdwan_interface_profiles prop_get('sdwan-interface-profiles') end def sdwan_interface_profiles=(val) prop_set('sdwan-interface-profiles', val) end end def network @subclasses['network'] ||= Network.new(parent_instance: self, client: @client, create_children: @create_children) end class Device < ConfigClass def has_multiple_values?; false; end def _section :device end @props = {'log-interface-setting'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'snmp-trap-server-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SNMP Trap Server Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'syslog-server-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Syslog Server Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'email-server-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Email Server Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'http-server-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'HTTP Server Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ldap-server-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'LDAP Server Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'virtual-systems'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def log_interface_setting prop_get('log-interface-setting') end def log_interface_setting=(val) prop_set('log-interface-setting', val) end def snmp_trap_server_profiles prop_get('snmp-trap-server-profiles') end def snmp_trap_server_profiles=(val) prop_set('snmp-trap-server-profiles', val) end def syslog_server_profiles prop_get('syslog-server-profiles') end def syslog_server_profiles=(val) prop_set('syslog-server-profiles', val) end def email_server_profiles prop_get('email-server-profiles') end def email_server_profiles=(val) prop_set('email-server-profiles', val) end def http_server_profiles prop_get('http-server-profiles') end def http_server_profiles=(val) prop_set('http-server-profiles', val) end def ldap_server_profiles prop_get('ldap-server-profiles') end def ldap_server_profiles=(val) prop_set('ldap-server-profiles', val) end def virtual_systems prop_get('virtual-systems') end def virtual_systems=(val) prop_set('virtual-systems', val) end end def device @subclasses['device'] ||= Device.new(parent_instance: self, client: @client, create_children: @create_children) end class System < ConfigClass def has_multiple_values?; false; end def _section :system end @props = {'configuration'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def configuration prop_get('configuration') end def configuration=(val) prop_set('configuration', val) end end def system @subclasses['system'] ||= System.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def restapi @subclasses['restapi'] ||= Restapi.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'cli'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'superuser'}, {'value'=>'superreader'}, {'value'=>'deviceadmin'}, {'value'=>'devicereader'}]}} def cli prop_get('cli') end def cli=(val) prop_set('cli', val) end end def device @subclasses['device'] ||= Device.new(parent_instance: self, client: @client, create_children: @create_children) end class Vsys < ConfigClass def has_multiple_values?; false; end def _section :vsys end class Webui < ConfigClass def has_multiple_values?; false; end def _section :webui end class Monitor < ConfigClass def has_multiple_values?; false; end def _section :monitor end class Logs < ConfigClass def has_multiple_values?; false; end def _section :logs end @props = {'traffic'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'traffic_log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'threat'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'threat_log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'url'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'URL Filtering', 'help-topic'=>'url_log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'wildfire'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'WildFire Submissions', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'data-filtering'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'data_filter_log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'hipmatch'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'hip_match_log', 'menu-tree-path'=>'HIP Match', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'globalprotect'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'GlobalProtect', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'iptag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'ip_tag', 'menu-tree-path'=>'IP-Tag', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'userid'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'userid_log', 'menu-tree-path'=>'User-ID', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'decryption'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'decryption_log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'gtp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'gtp_log', 'menu-tree-path'=>'GTP', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'tunnel'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'tunnel_log', 'menu-tree-path'=>'Tunnel Inspection', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'sctp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'sctp_log', 'menu-tree-path'=>'SCTP', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'authentication'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'authentication_log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}} def traffic prop_get('traffic') end def traffic=(val) prop_set('traffic', val) end def threat prop_get('threat') end def threat=(val) prop_set('threat', val) end def url prop_get('url') end def url=(val) prop_set('url', val) end def wildfire prop_get('wildfire') end def wildfire=(val) prop_set('wildfire', val) end def data_filtering prop_get('data-filtering') end def data_filtering=(val) prop_set('data-filtering', val) end def hipmatch prop_get('hipmatch') end def hipmatch=(val) prop_set('hipmatch', val) end def globalprotect prop_get('globalprotect') end def globalprotect=(val) prop_set('globalprotect', val) end def iptag prop_get('iptag') end def iptag=(val) prop_set('iptag', val) end def userid prop_get('userid') end def userid=(val) prop_set('userid', val) end def decryption prop_get('decryption') end def decryption=(val) prop_set('decryption', val) end def gtp prop_get('gtp') end def gtp=(val) prop_set('gtp', val) end def tunnel prop_get('tunnel') end def tunnel=(val) prop_set('tunnel', val) end def sctp prop_get('sctp') end def sctp=(val) prop_set('sctp', val) end def authentication prop_get('authentication') end def authentication=(val) prop_set('authentication', val) end end def logs @subclasses['logs'] ||= Logs.new(parent_instance: self, client: @client, create_children: @create_children) end class AutomatedCorrelationEngine < ConfigClass def has_multiple_values?; false; end def _section :'automated-correlation-engine' end @props = {'correlation-objects'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'correlated-events'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}} def correlation_objects prop_get('correlation-objects') end def correlation_objects=(val) prop_set('correlation-objects', val) end def correlated_events prop_get('correlated-events') end def correlated_events=(val) prop_set('correlated-events', val) end end def automated_correlation_engine @subclasses['automated-correlation-engine'] ||= AutomatedCorrelationEngine.new(parent_instance: self, client: @client, create_children: @create_children) end class PdfReports < ConfigClass def has_multiple_values?; false; end def _section :'pdf-reports' end @props = {'manage-pdf-summary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Manage PDF Summary', 'help-topic'=>'manage_pdf_summary_report', 'node-config-ids'=>'ManagePdfSummary', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'pdf-summary-reports'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'PDF Summary Reports', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'user-activity-report'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'UserActivityReport', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'saas-application-usage-report'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SaaS Application Usage', 'node-config-ids'=>'SaasAppUsageReport', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'report-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'ReportGroup', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'email-scheduler'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'report_email', 'node-config-ids'=>'EmailScheduler', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def manage_pdf_summary prop_get('manage-pdf-summary') end def manage_pdf_summary=(val) prop_set('manage-pdf-summary', val) end def pdf_summary_reports prop_get('pdf-summary-reports') end def pdf_summary_reports=(val) prop_set('pdf-summary-reports', val) end def user_activity_report prop_get('user-activity-report') end def user_activity_report=(val) prop_set('user-activity-report', val) end def saas_application_usage_report prop_get('saas-application-usage-report') end def saas_application_usage_report=(val) prop_set('saas-application-usage-report', val) end def report_groups prop_get('report-groups') end def report_groups=(val) prop_set('report-groups', val) end def email_scheduler prop_get('email-scheduler') end def email_scheduler=(val) prop_set('email-scheduler', val) end end def pdf_reports @subclasses['pdf-reports'] ||= PdfReports.new(parent_instance: self, client: @client, create_children: @create_children) end class CustomReports < ConfigClass def has_multiple_values?; false; end def _section :'custom-reports' end @props = {'application-statistics'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'data-filtering-log'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'threat-log'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'threat-summary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'traffic-log'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'traffic-summary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'url-log'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'menu-tree-path'=>'URL Log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'url-summary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'menu-tree-path'=>'URL Summary', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'hipmatch'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'prune-on'=>'vpn-disable-mode', 'menu-tree-path'=>'HIP Match', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'globalprotect'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'menu-tree-path'=>'GlobalProtect', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'wildfire-log'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'menu-tree-path'=>'WildFire Log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'gtp-log'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'menu-tree-path'=>'GTP Log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'gtp-summary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'menu-tree-path'=>'GTP Summary', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'tunnel-log'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'tunnel-summary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'sctp-log'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'menu-tree-path'=>'SCTP Log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'sctp-summary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'menu-tree-path'=>'SCTP Summary', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'iptag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'menu-tree-path'=>'IP-Tag', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'userid'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'menu-tree-path'=>'User-ID', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'decryption-log'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'decryption-summary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'auth'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'menu-tree-path'=>'Authentication', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}} def application_statistics prop_get('application-statistics') end def application_statistics=(val) prop_set('application-statistics', val) end def data_filtering_log prop_get('data-filtering-log') end def data_filtering_log=(val) prop_set('data-filtering-log', val) end def threat_log prop_get('threat-log') end def threat_log=(val) prop_set('threat-log', val) end def threat_summary prop_get('threat-summary') end def threat_summary=(val) prop_set('threat-summary', val) end def traffic_log prop_get('traffic-log') end def traffic_log=(val) prop_set('traffic-log', val) end def traffic_summary prop_get('traffic-summary') end def traffic_summary=(val) prop_set('traffic-summary', val) end def url_log prop_get('url-log') end def url_log=(val) prop_set('url-log', val) end def url_summary prop_get('url-summary') end def url_summary=(val) prop_set('url-summary', val) end def hipmatch prop_get('hipmatch') end def hipmatch=(val) prop_set('hipmatch', val) end def globalprotect prop_get('globalprotect') end def globalprotect=(val) prop_set('globalprotect', val) end def wildfire_log prop_get('wildfire-log') end def wildfire_log=(val) prop_set('wildfire-log', val) end def gtp_log prop_get('gtp-log') end def gtp_log=(val) prop_set('gtp-log', val) end def gtp_summary prop_get('gtp-summary') end def gtp_summary=(val) prop_set('gtp-summary', val) end def tunnel_log prop_get('tunnel-log') end def tunnel_log=(val) prop_set('tunnel-log', val) end def tunnel_summary prop_get('tunnel-summary') end def tunnel_summary=(val) prop_set('tunnel-summary', val) end def sctp_log prop_get('sctp-log') end def sctp_log=(val) prop_set('sctp-log', val) end def sctp_summary prop_get('sctp-summary') end def sctp_summary=(val) prop_set('sctp-summary', val) end def iptag prop_get('iptag') end def iptag=(val) prop_set('iptag', val) end def userid prop_get('userid') end def userid=(val) prop_set('userid', val) end def decryption_log prop_get('decryption-log') end def decryption_log=(val) prop_set('decryption-log', val) end def decryption_summary prop_get('decryption-summary') end def decryption_summary=(val) prop_set('decryption-summary', val) end def auth prop_get('auth') end def auth=(val) prop_set('auth', val) end end def custom_reports @subclasses['custom-reports'] ||= CustomReports.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'external-logs'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'External Logs', 'help-topic'=>'external_logs', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'app-scope'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'session-browser'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'block-ip-list'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Block IP List', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'view-custom-reports'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'View Scheduled Custom Reports', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}} def external_logs prop_get('external-logs') end def external_logs=(val) prop_set('external-logs', val) end def app_scope prop_get('app-scope') end def app_scope=(val) prop_set('app-scope', val) end def session_browser prop_get('session-browser') end def session_browser=(val) prop_set('session-browser', val) end def block_ip_list prop_get('block-ip-list') end def block_ip_list=(val) prop_set('block-ip-list', val) end def view_custom_reports prop_get('view-custom-reports') end def view_custom_reports=(val) prop_set('view-custom-reports', val) end end def monitor @subclasses['monitor'] ||= Monitor.new(parent_instance: self, client: @client, create_children: @create_children) end class Policies < ConfigClass def has_multiple_values?; false; end def _section :policies end @props = {'security-rulebase'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Security', 'help-topic'=>'policies_security', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'DeviceSecurityRules1,DeviceSecurityRules2,DeviceSecurityRules3,DeviceSecurityRules4,DeviceSecurityRules5,DeviceSecurityRules6', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'nat-rulebase'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.policies.nat-rulebase-disable=True', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'NAT', 'help-topic'=>'nat_rules', 'node-config-ids'=>'DeviceNATRules1,DeviceNATRules2,DeviceNATRules3', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'qos-rulebase'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'QoS', 'help-topic'=>'qos_policies', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'DeviceQOSRules1,DeviceQOSRules2,DeviceQOSRules3', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'pbf-rulebase'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.policies.pbf-rulebase-disable=True', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Policy Based Forwarding', 'node-config-ids'=>'DevicePBFRules1,DevicePBFRules2,DevicePBFRules3', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ssl-decryption-rulebase'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Decryption', 'skip-display'=>'shared-gateway', 'help-topic'=>'decryption_rules', 'node-config-ids'=>'DeviceDecryptionRules1,DeviceDecryptionRules2,DeviceDecryptionRules3', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'network-packet-broker-rulebase'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.prune-on-decrypt-brk=True', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Network Packet Broker', 'skip-display'=>'shared-gateway', 'help-topic'=>'network_packet_broker_rules', 'node-config-ids'=>'DeviceNPBRules1,DeviceNPBRules2,DeviceNPBRules3', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'tunnel-inspect-rulebase'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Tunnel Inspection', 'skip-display'=>'shared-gateway', 'help-topic'=>'tunnel_inspection_rules', 'node-config-ids'=>'DeviceTunnelInspectRules1,DeviceTunnelInspectRules2,DeviceTunnelInspectRules3', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'application-override-rulebase'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Application Override', 'skip-display'=>'shared-gateway', 'help-topic'=>'application_override_rules', 'node-config-ids'=>'DeviceAppOverrideRules1,DeviceAppOverrideRules2,DeviceAppOverrideRules3', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'authentication-rulebase'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Authentication', 'skip-display'=>'shared-gateway', 'help-topic'=>'authentication_rules', 'node-config-ids'=>'DeviceAuthenticationRules1,DeviceAuthenticationRules2,DeviceAuthenticationRules3', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dos-rulebase'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'DoS Protection', 'skip-display'=>'shared-gateway', 'help-topic'=>'dos_rules', 'node-config-ids'=>'DeviceDOSRules1,DeviceDOSRules2,DeviceDOSRules3', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-rulebase'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SD-WAN', 'help-topic'=>'sdwan_policies', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'DeviceSDWANRules1,DeviceSDWANRules2,DeviceSDWANRules3', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'rule-hit-count-reset'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Rule Hit Count Reset', 'help-topic'=>'rule_hit_count_reset', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}} def security_rulebase prop_get('security-rulebase') end def security_rulebase=(val) prop_set('security-rulebase', val) end def nat_rulebase prop_get('nat-rulebase') end def nat_rulebase=(val) prop_set('nat-rulebase', val) end def qos_rulebase prop_get('qos-rulebase') end def qos_rulebase=(val) prop_set('qos-rulebase', val) end def pbf_rulebase prop_get('pbf-rulebase') end def pbf_rulebase=(val) prop_set('pbf-rulebase', val) end def ssl_decryption_rulebase prop_get('ssl-decryption-rulebase') end def ssl_decryption_rulebase=(val) prop_set('ssl-decryption-rulebase', val) end def network_packet_broker_rulebase prop_get('network-packet-broker-rulebase') end def network_packet_broker_rulebase=(val) prop_set('network-packet-broker-rulebase', val) end def tunnel_inspect_rulebase prop_get('tunnel-inspect-rulebase') end def tunnel_inspect_rulebase=(val) prop_set('tunnel-inspect-rulebase', val) end def application_override_rulebase prop_get('application-override-rulebase') end def application_override_rulebase=(val) prop_set('application-override-rulebase', val) end def authentication_rulebase prop_get('authentication-rulebase') end def authentication_rulebase=(val) prop_set('authentication-rulebase', val) end def dos_rulebase prop_get('dos-rulebase') end def dos_rulebase=(val) prop_set('dos-rulebase', val) end def sdwan_rulebase prop_get('sdwan-rulebase') end def sdwan_rulebase=(val) prop_set('sdwan-rulebase', val) end def rule_hit_count_reset prop_get('rule-hit-count-reset') end def rule_hit_count_reset=(val) prop_set('rule-hit-count-reset', val) end end def policies @subclasses['policies'] ||= Policies.new(parent_instance: self, client: @client, create_children: @create_children) end class Objects < ConfigClass def has_multiple_values?; false; end def _section :objects end class GlobalProtect < ConfigClass def has_multiple_values?; false; end def _section :'global-protect' end @props = {'hip-objects'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'hip_objects', 'menu-tree-path'=>'HIP Objects', 'node-config-ids'=>'HIPObjects', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'hip-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'hip_profiles', 'menu-tree-path'=>'HIP Profiles', 'node-config-ids'=>'HIPProfiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def hip_objects prop_get('hip-objects') end def hip_objects=(val) prop_set('hip-objects', val) end def hip_profiles prop_get('hip-profiles') end def hip_profiles=(val) prop_set('hip-profiles', val) end end def global_protect @subclasses['global-protect'] ||= GlobalProtect.new(parent_instance: self, client: @client, create_children: @create_children) end class CustomObjects < ConfigClass def has_multiple_values?; false; end def _section :'custom-objects' end @props = {'data-patterns'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'DataPatterns', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'spyware'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'signatures_spyware', 'node-config-ids'=>'CustomSpyware', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'vulnerability'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'signatures_vulnerability', 'node-config-ids'=>'CustomVulnerability', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'url-category'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'menu-tree-path'=>'URL Category', 'help-topic'=>'custom_url_categories', 'node-config-ids'=>'CustomURLCategory', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def data_patterns prop_get('data-patterns') end def data_patterns=(val) prop_set('data-patterns', val) end def spyware prop_get('spyware') end def spyware=(val) prop_set('spyware', val) end def vulnerability prop_get('vulnerability') end def vulnerability=(val) prop_set('vulnerability', val) end def url_category prop_get('url-category') end def url_category=(val) prop_set('url-category', val) end end def custom_objects @subclasses['custom-objects'] ||= CustomObjects.new(parent_instance: self, client: @client, create_children: @create_children) end class SecurityProfiles < ConfigClass def has_multiple_values?; false; end def _section :'security-profiles' end @props = {'antivirus'=>{'node-type'=>'element', 'menu-tree-path'=>'Antivirus', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'antivirus_profiles', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'AntiVirusProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'anti-spyware'=>{'node-type'=>'element', 'menu-tree-path'=>'Anti-Spyware', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'anti-spyware_profiles', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'AntiSpywareProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'vulnerability-protection'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'vulnerability_protection_profiles', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'VulnerabilityProtection', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'url-filtering'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'url_filtering_profiles', 'menu-tree-path'=>'URL Filtering', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'URLFiltering', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'file-blocking'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'file_blocking_profiles', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'FileBlocking', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'wildfire-analysis'=>{'node-type'=>'element', 'menu-tree-path'=>'WildFire Analysis', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'wildfire_analysis_profiles', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'WildFireAnalysis', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'data-filtering'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'data_filtering_profiles', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'DataFiltering', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dos-protection'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'dos_profiles', 'menu-tree-path'=>'DoS Protection', 'node-config-ids'=>'DoSProtection', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'gtp-protection'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'gtp_protection', 'menu-tree-path'=>'Mobile Network Protection', 'node-config-ids'=>'GTPProtection', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sctp-protection'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'sctp_protection', 'menu-tree-path'=>'SCTP Protection', 'node-config-ids'=>'SCTPProtection', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def antivirus prop_get('antivirus') end def antivirus=(val) prop_set('antivirus', val) end def anti_spyware prop_get('anti-spyware') end def anti_spyware=(val) prop_set('anti-spyware', val) end def vulnerability_protection prop_get('vulnerability-protection') end def vulnerability_protection=(val) prop_set('vulnerability-protection', val) end def url_filtering prop_get('url-filtering') end def url_filtering=(val) prop_set('url-filtering', val) end def file_blocking prop_get('file-blocking') end def file_blocking=(val) prop_set('file-blocking', val) end def wildfire_analysis prop_get('wildfire-analysis') end def wildfire_analysis=(val) prop_set('wildfire-analysis', val) end def data_filtering prop_get('data-filtering') end def data_filtering=(val) prop_set('data-filtering', val) end def dos_protection prop_get('dos-protection') end def dos_protection=(val) prop_set('dos-protection', val) end def gtp_protection prop_get('gtp-protection') end def gtp_protection=(val) prop_set('gtp-protection', val) end def sctp_protection prop_get('sctp-protection') end def sctp_protection=(val) prop_set('sctp-protection', val) end end def security_profiles @subclasses['security-profiles'] ||= SecurityProfiles.new(parent_instance: self, client: @client, create_children: @create_children) end class Decryption < ConfigClass def has_multiple_values?; false; end def _section :decryption end @props = {'decryption-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'decryption_profile', 'menu-tree-path'=>'Decryption Profile', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'DecryptionProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def decryption_profile prop_get('decryption-profile') end def decryption_profile=(val) prop_set('decryption-profile', val) end end def decryption @subclasses['decryption'] ||= Decryption.new(parent_instance: self, client: @client, create_children: @create_children) end class Sdwan < ConfigClass def has_multiple_values?; false; end def _section :sdwan end @props = {'sdwan-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Path Quality Profile', 'node-config-ids'=>'SDWANProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-saas-quality-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SaaS Quality Profile', 'node-config-ids'=>'SDWANSaaSQualityProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-dist-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Traffic Distribution Profile', 'node-config-ids'=>'SDWANDistProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-error-correction-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Error Correction Profile', 'node-config-ids'=>'SDWANErrorCorrectionProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def sdwan_profile prop_get('sdwan-profile') end def sdwan_profile=(val) prop_set('sdwan-profile', val) end def sdwan_saas_quality_profile prop_get('sdwan-saas-quality-profile') end def sdwan_saas_quality_profile=(val) prop_set('sdwan-saas-quality-profile', val) end def sdwan_dist_profile prop_get('sdwan-dist-profile') end def sdwan_dist_profile=(val) prop_set('sdwan-dist-profile', val) end def sdwan_error_correction_profile prop_get('sdwan-error-correction-profile') end def sdwan_error_correction_profile=(val) prop_set('sdwan-error-correction-profile', val) end end def sdwan @subclasses['sdwan'] ||= Sdwan.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'addresses'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'Address', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'address-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'AddressGroup', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'regions'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'Region', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dynamic-user-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'DynamicUserGroup', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'applications'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'Application', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'application-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'ApplicationGroup', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'application-filters'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'ApplicationFilter', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'services'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'Service', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'service-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'ServiceGroup', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'tags'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'Tag', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'devices'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'DeviceObject', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dynamic-block-lists'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'External Dynamic Lists', 'help-topic'=>'external_dynamic_list', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'DynamicBlockList', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'security-profile-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'SecurityProfileGroups', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'log-forwarding'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'log_forwarding', 'node-config-ids'=>'LogForwarding', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'authentication'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'authentication', 'node-config-ids'=>'AuthenticationObject', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'packet-broker-profile'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.prune-on-decrypt-brk', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'packet_broker_profile', 'menu-tree-path'=>'Packet Broker Profile', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'NetworkPacketBrokerProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'schedules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'Schedule', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def addresses prop_get('addresses') end def addresses=(val) prop_set('addresses', val) end def address_groups prop_get('address-groups') end def address_groups=(val) prop_set('address-groups', val) end def regions prop_get('regions') end def regions=(val) prop_set('regions', val) end def dynamic_user_groups prop_get('dynamic-user-groups') end def dynamic_user_groups=(val) prop_set('dynamic-user-groups', val) end def applications prop_get('applications') end def applications=(val) prop_set('applications', val) end def application_groups prop_get('application-groups') end def application_groups=(val) prop_set('application-groups', val) end def application_filters prop_get('application-filters') end def application_filters=(val) prop_set('application-filters', val) end def services prop_get('services') end def services=(val) prop_set('services', val) end def service_groups prop_get('service-groups') end def service_groups=(val) prop_set('service-groups', val) end def tags prop_get('tags') end def tags=(val) prop_set('tags', val) end def devices prop_get('devices') end def devices=(val) prop_set('devices', val) end def dynamic_block_lists prop_get('dynamic-block-lists') end def dynamic_block_lists=(val) prop_set('dynamic-block-lists', val) end def security_profile_groups prop_get('security-profile-groups') end def security_profile_groups=(val) prop_set('security-profile-groups', val) end def log_forwarding prop_get('log-forwarding') end def log_forwarding=(val) prop_set('log-forwarding', val) end def authentication prop_get('authentication') end def authentication=(val) prop_set('authentication', val) end def packet_broker_profile prop_get('packet-broker-profile') end def packet_broker_profile=(val) prop_set('packet-broker-profile', val) end def schedules prop_get('schedules') end def schedules=(val) prop_set('schedules', val) end end def objects @subclasses['objects'] ||= Objects.new(parent_instance: self, client: @client, create_children: @create_children) end class Network < ConfigClass def has_multiple_values?; false; end def _section :network end class GlobalProtect < ConfigClass def has_multiple_values?; false; end def _section :'global-protect' end @props = {'portals'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'portals_globalprotect', 'node-config-ids'=>'GlobalProtectPortal', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'gateways'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'gateways_globalprotect', 'node-config-ids'=>'GlobalProtectGatewayVSYS', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'mdm'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'MDM', 'help-topic'=>'mdm_globalprotect', 'node-config-ids'=>'GlobalProtectMDM', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'clientless-apps'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'clientless_apps', 'node-config-ids'=>'GlobalProtectClientlessApp', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'clientless-app-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'clientless_app_groups', 'node-config-ids'=>'GlobalProtectClientlessAppGroup', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def portals prop_get('portals') end def portals=(val) prop_set('portals', val) end def gateways prop_get('gateways') end def gateways=(val) prop_set('gateways', val) end def mdm prop_get('mdm') end def mdm=(val) prop_set('mdm', val) end def clientless_apps prop_get('clientless-apps') end def clientless_apps=(val) prop_set('clientless-apps', val) end def clientless_app_groups prop_get('clientless-app-groups') end def clientless_app_groups=(val) prop_set('clientless-app-groups', val) end end def global_protect @subclasses['global-protect'] ||= GlobalProtect.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'zones'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'Zones', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-interface-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SD-WAN Interface Profile', 'node-config-ids'=>'SDWANInterfaceProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def zones prop_get('zones') end def zones=(val) prop_set('zones', val) end def sdwan_interface_profile prop_get('sdwan-interface-profile') end def sdwan_interface_profile=(val) prop_set('sdwan-interface-profile', val) end end def network @subclasses['network'] ||= Network.new(parent_instance: self, client: @client, create_children: @create_children) end class Device < ConfigClass def has_multiple_values?; false; end def _section :device end class Setup < ConfigClass def has_multiple_values?; false; end def _section :setup end @props = {'management'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_setup', 'enum'=>[{'value'=>'read-only'}, {'value'=>'disable'}]}, 'operations'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_setup', 'menu-tree-path'=>'Operations', 'enum'=>[{'value'=>'read-only'}, {'value'=>'disable'}]}, 'services'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_setup', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'interfaces'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_setup', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'telemetry'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_setup', 'enum'=>[{'value'=>'read-only'}, {'value'=>'disable'}]}, 'content-id'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_setup', 'menu-tree-path'=>'Content-ID', 'enum'=>[{'value'=>'read-only'}, {'value'=>'disable'}]}, 'wildfire'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_setup', 'menu-tree-path'=>'WildFire', 'enum'=>[{'value'=>'read-only'}, {'value'=>'disable'}]}, 'session'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_setup', 'enum'=>[{'value'=>'read-only'}, {'value'=>'disable'}]}, 'hsm'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_setup', 'menu-tree-path'=>'HSM', 'enum'=>[{'value'=>'read-only'}, {'value'=>'disable'}]}} def management prop_get('management') end def management=(val) prop_set('management', val) end def operations prop_get('operations') end def operations=(val) prop_set('operations', val) end def services prop_get('services') end def services=(val) prop_set('services', val) end def interfaces prop_get('interfaces') end def interfaces=(val) prop_set('interfaces', val) end def telemetry prop_get('telemetry') end def telemetry=(val) prop_set('telemetry', val) end def content_id prop_get('content-id') end def content_id=(val) prop_set('content-id', val) end def wildfire prop_get('wildfire') end def wildfire=(val) prop_set('wildfire', val) end def session prop_get('session') end def session=(val) prop_set('session', val) end def hsm prop_get('hsm') end def hsm=(val) prop_set('hsm', val) end end def setup @subclasses['setup'] ||= Setup.new(parent_instance: self, client: @client, create_children: @create_children) end class CertificateManagement < ConfigClass def has_multiple_values?; false; end def _section :'certificate-management' end @props = {'certificates'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'certificates', 'node-config-ids'=>'Certificate', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'certificate-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'CertificateProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ocsp-responder'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'OCSP Responder', 'node-config-ids'=>'OCSPResponder', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ssl-tls-service-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SSL/TLS Service Profile', 'help-topic'=>'ssl_tls_service_profile', 'node-config-ids'=>'SslTlsServiceProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'scep'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SCEP', 'node-config-ids'=>'SCEP', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ssl-decryption-exclusion'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SSL Decryption Exclusion', 'node-config-ids'=>'SslDecryptionExclusion', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ssh-service-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SSH Service Profile', 'help-topic'=>'ssh_service_profile', 'node-config-ids'=>'SshServiceProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def certificates prop_get('certificates') end def certificates=(val) prop_set('certificates', val) end def certificate_profile prop_get('certificate-profile') end def certificate_profile=(val) prop_set('certificate-profile', val) end def ocsp_responder prop_get('ocsp-responder') end def ocsp_responder=(val) prop_set('ocsp-responder', val) end def ssl_tls_service_profile prop_get('ssl-tls-service-profile') end def ssl_tls_service_profile=(val) prop_set('ssl-tls-service-profile', val) end def scep prop_get('scep') end def scep=(val) prop_set('scep', val) end def ssl_decryption_exclusion prop_get('ssl-decryption-exclusion') end def ssl_decryption_exclusion=(val) prop_set('ssl-decryption-exclusion', val) end def ssh_service_profile prop_get('ssh-service-profile') end def ssh_service_profile=(val) prop_set('ssh-service-profile', val) end end def certificate_management @subclasses['certificate-management'] ||= CertificateManagement.new(parent_instance: self, client: @client, create_children: @create_children) end class LogSettings < ConfigClass def has_multiple_values?; false; end def _section :'log-settings' end @props = {'system'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'system_log_settings', 'node-config-ids'=>'LogSettingsSystem,LogSettingsConfig,LogSettingsUserID,LogSettingsHIPMatch,LogSettingsCorrelation,LogSettingsGlobalProtect LogSettingsCCAlarms', 'enum'=>[{'value'=>'read-only'}, {'value'=>'disable'}]}, 'config'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'config_log_settings', 'enum'=>[{'value'=>'read-only'}, {'value'=>'disable'}]}, 'iptag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'IP-Tag', 'help-topic'=>'ip_tag_log_settings', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'enum'=>[{'value'=>'read-only'}, {'value'=>'disable'}]}, 'user-id'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'User-ID', 'help-topic'=>'user_id_log_settings', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'enum'=>[{'value'=>'read-only'}, {'value'=>'disable'}]}, 'hipmatch'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'HIP Match', 'help-topic'=>'hip_match_log_settings', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'enum'=>[{'value'=>'read-only'}, {'value'=>'disable'}]}, 'globalprotect'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'GlobalProtect', 'help-topic'=>'globalprotect_log_settings', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'enum'=>[{'value'=>'read-only'}, {'value'=>'disable'}]}, 'correlation'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Correlation', 'help-topic'=>'correlation_log_settings', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'enum'=>[{'value'=>'read-only'}, {'value'=>'disable'}]}} def system prop_get('system') end def system=(val) prop_set('system', val) end def config prop_get('config') end def config=(val) prop_set('config', val) end def iptag prop_get('iptag') end def iptag=(val) prop_set('iptag', val) end def user_id prop_get('user-id') end def user_id=(val) prop_set('user-id', val) end def hipmatch prop_get('hipmatch') end def hipmatch=(val) prop_set('hipmatch', val) end def globalprotect prop_get('globalprotect') end def globalprotect=(val) prop_set('globalprotect', val) end def correlation prop_get('correlation') end def correlation=(val) prop_set('correlation', val) end end def log_settings @subclasses['log-settings'] ||= LogSettings.new(parent_instance: self, client: @client, create_children: @create_children) end class ServerProfile < ConfigClass def has_multiple_values?; false; end def _section :'server-profile' end @props = {'snmp-trap'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'snmp_trap_settings', 'menu-tree-path'=>'SNMP Trap', 'node-config-ids'=>'ServerProfileSNMPTrap', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'syslog'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'syslog_settings', 'node-config-ids'=>'ServerProfileSyslog', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'email'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'email_settings', 'node-config-ids'=>'ServerProfileEmail', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'http'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'http_settings', 'menu-tree-path'=>'HTTP', 'node-config-ids'=>'ServerProfileHTTP', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'netflow'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'netflow_settings', 'node-config-ids'=>'ServerProfileNetflow', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'radius'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'server_radius', 'node-config-ids'=>'ServerProfileRadius', 'menu-tree-path'=>'RADIUS', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'scp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'scp_settings', 'menu-tree-path'=>'SCP', 'node-config-ids'=>'ServerProfileSCP', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'tacplus'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'server_tacplus', 'node-config-ids'=>'ServerProfileTacacs', 'menu-tree-path'=>'TACACS+', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ldap'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'server_ldap', 'menu-tree-path'=>'LDAP', 'node-config-ids'=>'ServerProfileLDAP', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'kerberos'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'server_kerberos', 'node-config-ids'=>'ServerProfileKerberos', 'skip-display'=>'fips-mode,cc-only-mode', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'saml_idp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'server_saml_idp', 'menu-tree-path'=>'SAML Identity Provider', 'node-config-ids'=>'ServerProfileSamlIdp', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dns'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.device.dns-disable=True', 'skip-display'=>'single-vsys-mode', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'server_dns', 'menu-tree-path'=>'DNS', 'node-config-ids'=>'ServerProfileDNS', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'mfa'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'server_mfa', 'menu-tree-path'=>'Multi Factor Authentication', 'node-config-ids'=>'ServerProfileMFA', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def snmp_trap prop_get('snmp-trap') end def snmp_trap=(val) prop_set('snmp-trap', val) end def syslog prop_get('syslog') end def syslog=(val) prop_set('syslog', val) end def email prop_get('email') end def email=(val) prop_set('email', val) end def http prop_get('http') end def http=(val) prop_set('http', val) end def netflow prop_get('netflow') end def netflow=(val) prop_set('netflow', val) end def radius prop_get('radius') end def radius=(val) prop_set('radius', val) end def scp prop_get('scp') end def scp=(val) prop_set('scp', val) end def tacplus prop_get('tacplus') end def tacplus=(val) prop_set('tacplus', val) end def ldap prop_get('ldap') end def ldap=(val) prop_set('ldap', val) end def kerberos prop_get('kerberos') end def kerberos=(val) prop_set('kerberos', val) end def saml_idp prop_get('saml_idp') end def saml_idp=(val) prop_set('saml_idp', val) end def dns prop_get('dns') end def dns=(val) prop_set('dns', val) end def mfa prop_get('mfa') end def mfa=(val) prop_set('mfa', val) end end def server_profile @subclasses['server-profile'] ||= ServerProfile.new(parent_instance: self, client: @client, create_children: @create_children) end class LocalUserDatabase < ConfigClass def has_multiple_values?; false; end def _section :'local-user-database' end @props = {'users'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'local_users', 'node-config-ids'=>'LocalUsers', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'user-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'local_user_groups', 'node-config-ids'=>'LocalUserGroups', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def users prop_get('users') end def users=(val) prop_set('users', val) end def user_groups prop_get('user-groups') end def user_groups=(val) prop_set('user-groups', val) end end def local_user_database @subclasses['local-user-database'] ||= LocalUserDatabase.new(parent_instance: self, client: @client, create_children: @create_children) end class PolicyRecommendations < ConfigClass def has_multiple_values?; false; end def _section :'policy-recommendations' end @props = {'iot'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'iot_policy_recommendation', 'menu-tree-path'=>'IoT', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'saas'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'saas_policy_recommendation', 'menu-tree-path'=>'SaaS', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def iot prop_get('iot') end def iot=(val) prop_set('iot', val) end def saas prop_get('saas') end def saas=(val) prop_set('saas', val) end end def policy_recommendations @subclasses['policy-recommendations'] ||= PolicyRecommendations.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'administrators'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'admin_accounts', 'node-config-ids'=>'Administrator', 'enum'=>[{'value'=>'read-only'}, {'value'=>'disable'}]}, 'authentication-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'AuthenticationProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'authentication-sequence'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'AuthSeqBase', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'user-identification'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_user_id', 'node-config-ids'=>'UserIdCollector,ServerMonitor,IncludeExcludeNetwork,UserIdConnSecurity,UserIdAgent,TSAgent,GroupMapping', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dhcp-syslog-server'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'IoT', 'node-config-ids'=>'IoT', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'data-redistribution'=>{'node-type'=>'element', 'optional'=>'yes', 'help-topic'=>'data_redistribution', 'menu-tree-path'=>'Data Redistribution', 'type'=>'enum', 'node-config-ids'=>'RDAgent,DataRedistributionCollector,DataRedistributionIPUserIncludeExcludeNetwork,DataRedistributionIPTagIncludeExcludeNetwork', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'device-quarantine'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Device Quarantine', 'help-topic'=>'device_quarantine', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'vm-info-source'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'VM Information Sources', 'node-config-ids'=>'VMInformationSources', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'troubleshooting'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Troubleshooting', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'block-pages'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Response Pages', 'node-config-ids'=>'ResponsePageTopLevel', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def administrators prop_get('administrators') end def administrators=(val) prop_set('administrators', val) end def authentication_profile prop_get('authentication-profile') end def authentication_profile=(val) prop_set('authentication-profile', val) end def authentication_sequence prop_get('authentication-sequence') end def authentication_sequence=(val) prop_set('authentication-sequence', val) end def user_identification prop_get('user-identification') end def user_identification=(val) prop_set('user-identification', val) end def dhcp_syslog_server prop_get('dhcp-syslog-server') end def dhcp_syslog_server=(val) prop_set('dhcp-syslog-server', val) end def data_redistribution prop_get('data-redistribution') end def data_redistribution=(val) prop_set('data-redistribution', val) end def device_quarantine prop_get('device-quarantine') end def device_quarantine=(val) prop_set('device-quarantine', val) end def vm_info_source prop_get('vm-info-source') end def vm_info_source=(val) prop_set('vm-info-source', val) end def troubleshooting prop_get('troubleshooting') end def troubleshooting=(val) prop_set('troubleshooting', val) end def block_pages prop_get('block-pages') end def block_pages=(val) prop_set('block-pages', val) end end def device @subclasses['device'] ||= Device.new(parent_instance: self, client: @client, create_children: @create_children) end class Operations < ConfigClass def has_multiple_values?; false; end def _section :operations end @props = {'reboot'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'generate-tech-support-file'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'generate-stats-dump-file'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'download-core-files'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'download-pcap-files'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}} def reboot prop_get('reboot') end def reboot=(val) prop_set('reboot', val) end def generate_tech_support_file prop_get('generate-tech-support-file') end def generate_tech_support_file=(val) prop_set('generate-tech-support-file', val) end def generate_stats_dump_file prop_get('generate-stats-dump-file') end def generate_stats_dump_file=(val) prop_set('generate-stats-dump-file', val) end def download_core_files prop_get('download-core-files') end def download_core_files=(val) prop_set('download-core-files', val) end def download_pcap_files prop_get('download-pcap-files') end def download_pcap_files=(val) prop_set('download-pcap-files', val) end end def operations @subclasses['operations'] ||= Operations.new(parent_instance: self, client: @client, create_children: @create_children) end class Privacy < ConfigClass def has_multiple_values?; false; end def _section :privacy end @props = {'show-full-ip-addresses'=>{'node-type'=>'element', 'menu-tree-path'=>'Show Full IP Addresses', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'show-user-names-in-logs-and-reports'=>{'node-type'=>'element', 'menu-tree-path'=>'Show Username In Logs And Reports', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'view-pcap-files'=>{'node-type'=>'element', 'menu-tree-path'=>'View PCAP Files', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}} def show_full_ip_addresses prop_get('show-full-ip-addresses') end def show_full_ip_addresses=(val) prop_set('show-full-ip-addresses', val) end def show_user_names_in_logs_and_reports prop_get('show-user-names-in-logs-and-reports') end def show_user_names_in_logs_and_reports=(val) prop_set('show-user-names-in-logs-and-reports', val) end def view_pcap_files prop_get('view-pcap-files') end def view_pcap_files=(val) prop_set('view-pcap-files', val) end end def privacy @subclasses['privacy'] ||= Privacy.new(parent_instance: self, client: @client, create_children: @create_children) end class Save < ConfigClass def has_multiple_values?; false; end def _section :save end @props = {'partial-save'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'save-for-other-admins'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'object-level-changes'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}} def partial_save prop_get('partial-save') end def partial_save=(val) prop_set('partial-save', val) end def save_for_other_admins prop_get('save-for-other-admins') end def save_for_other_admins=(val) prop_set('save-for-other-admins', val) end def object_level_changes prop_get('object-level-changes') end def object_level_changes=(val) prop_set('object-level-changes', val) end end def save @subclasses['save'] ||= Save.new(parent_instance: self, client: @client, create_children: @create_children) end class Commit < ConfigClass def has_multiple_values?; false; end def _section :commit end @props = {'virtual-systems'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'commit-for-other-admins'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}} def virtual_systems prop_get('virtual-systems') end def virtual_systems=(val) prop_set('virtual-systems', val) end def commit_for_other_admins prop_get('commit-for-other-admins') end def commit_for_other_admins=(val) prop_set('commit-for-other-admins', val) end end def commit @subclasses['commit'] ||= Commit.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'dashboard'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'acc'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'ACC', 'prune-on-sdb'=>'cfg.vm-license-type=vm50l,cfg.platform.model=PA-410', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'tasks'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}} def dashboard prop_get('dashboard') end def dashboard=(val) prop_set('dashboard', val) end def acc prop_get('acc') end def acc=(val) prop_set('acc', val) end def tasks prop_get('tasks') end def tasks=(val) prop_set('tasks', val) end end def webui @subclasses['webui'] ||= Webui.new(parent_instance: self, client: @client, create_children: @create_children) end class Xmlapi < ConfigClass def has_multiple_values?; false; end def _section :xmlapi end @props = {'report'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Report', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'log'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'config'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Configuration', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'op'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Operational Requests', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'commit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Commit', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'user-id'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'User-ID Agent', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'iot'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'IoT Agent', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'export'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Export', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'import'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Import', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}} def report prop_get('report') end def report=(val) prop_set('report', val) end def log prop_get('log') end def log=(val) prop_set('log', val) end def config prop_get('config') end def config=(val) prop_set('config', val) end def op prop_get('op') end def op=(val) prop_set('op', val) end def commit prop_get('commit') end def commit=(val) prop_set('commit', val) end def user_id prop_get('user-id') end def user_id=(val) prop_set('user-id', val) end def iot prop_get('iot') end def iot=(val) prop_set('iot', val) end def export prop_get('export') end def export=(val) prop_set('export', val) end def import prop_get('import') end def import=(val) prop_set('import', val) end end def xmlapi @subclasses['xmlapi'] ||= Xmlapi.new(parent_instance: self, client: @client, create_children: @create_children) end class Restapi < ConfigClass def has_multiple_values?; false; end def _section :restapi end class Objects < ConfigClass def has_multiple_values?; false; end def _section :objects end @props = {'addresses'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'address-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'regions'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dynamic-user-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'applications'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'application-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'application-filters'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'services'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'service-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'tags'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'devices'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'globalprotect-hip-objects'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'hip_objects', 'menu-tree-path'=>'GlobalProtect HIP Objects', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'globalprotect-hip-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'hip_profiles', 'menu-tree-path'=>'GlobalProtect HIP Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'external-dynamic-lists'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'external_dynamic_list', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'custom-data-patterns'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'custom-spyware-signatures'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'signatures_spyware', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'custom-vulnerability-signatures'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'signatures_vulnerability', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'custom-url-categories'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'help-topic'=>'custom_url_categories', 'menu-tree-path'=>'URL Category', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'antivirus-security-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'antivirus_profiles', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'anti-spyware-security-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'anti-spyware_profiles', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'vulnerability-protection-security-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'vulnerability_protection_profiles', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'url-filtering-security-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'url_filtering_profiles', 'skip-display'=>'shared-gateway', 'menu-tree-path'=>'URL Filtering Security Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'file-blocking-security-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'file_blocking_profiles', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'wildfire-analysis-security-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'wildfire_analysis_profiles', 'skip-display'=>'shared-gateway', 'menu-tree-path'=>'WildFire Analysis Security Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'data-filtering-security-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'data_filtering_profiles', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dos-protection-security-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'dos_profiles', 'menu-tree-path'=>'DoS Protection Security Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'gtp-protection-security-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'gtp_protection', 'menu-tree-path'=>'GTP Protection Security Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sctp-protection-security-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'sctp_protection', 'menu-tree-path'=>'SCTP Protection Secuirty Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'security-profile-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'log-forwarding-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'log_forwarding', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'authentication-enforcements'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'authentication', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'decryption-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'decryption_profile', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'packet-broker-profiles'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'prune-on-sdb'=>'cfg.general.prune-on-decrypt-brk', 'help-topic'=>'packet_broker_profile', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'schedules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-path-quality-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'sdwan-path-quality-profiles', 'skip-display'=>'shared-gateway', 'menu-tree-path'=>'SD-WAN Path Quality Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-saas-quality-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'sdwan-saas-quality-profiles', 'skip-display'=>'shared-gateway', 'menu-tree-path'=>'SD-WAN Saas Quality Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-traffic-distribution-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'sdwan-traffic-distribution-profiles', 'skip-display'=>'shared-gateway', 'menu-tree-path'=>'SD-WAN Traffic Distribution Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-error-correction-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'sdwan-error-correction-profiles', 'skip-display'=>'shared-gateway', 'menu-tree-path'=>'SD-WAN Error Correction Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def addresses prop_get('addresses') end def addresses=(val) prop_set('addresses', val) end def address_groups prop_get('address-groups') end def address_groups=(val) prop_set('address-groups', val) end def regions prop_get('regions') end def regions=(val) prop_set('regions', val) end def dynamic_user_groups prop_get('dynamic-user-groups') end def dynamic_user_groups=(val) prop_set('dynamic-user-groups', val) end def applications prop_get('applications') end def applications=(val) prop_set('applications', val) end def application_groups prop_get('application-groups') end def application_groups=(val) prop_set('application-groups', val) end def application_filters prop_get('application-filters') end def application_filters=(val) prop_set('application-filters', val) end def services prop_get('services') end def services=(val) prop_set('services', val) end def service_groups prop_get('service-groups') end def service_groups=(val) prop_set('service-groups', val) end def tags prop_get('tags') end def tags=(val) prop_set('tags', val) end def devices prop_get('devices') end def devices=(val) prop_set('devices', val) end def globalprotect_hip_objects prop_get('globalprotect-hip-objects') end def globalprotect_hip_objects=(val) prop_set('globalprotect-hip-objects', val) end def globalprotect_hip_profiles prop_get('globalprotect-hip-profiles') end def globalprotect_hip_profiles=(val) prop_set('globalprotect-hip-profiles', val) end def external_dynamic_lists prop_get('external-dynamic-lists') end def external_dynamic_lists=(val) prop_set('external-dynamic-lists', val) end def custom_data_patterns prop_get('custom-data-patterns') end def custom_data_patterns=(val) prop_set('custom-data-patterns', val) end def custom_spyware_signatures prop_get('custom-spyware-signatures') end def custom_spyware_signatures=(val) prop_set('custom-spyware-signatures', val) end def custom_vulnerability_signatures prop_get('custom-vulnerability-signatures') end def custom_vulnerability_signatures=(val) prop_set('custom-vulnerability-signatures', val) end def custom_url_categories prop_get('custom-url-categories') end def custom_url_categories=(val) prop_set('custom-url-categories', val) end def antivirus_security_profiles prop_get('antivirus-security-profiles') end def antivirus_security_profiles=(val) prop_set('antivirus-security-profiles', val) end def anti_spyware_security_profiles prop_get('anti-spyware-security-profiles') end def anti_spyware_security_profiles=(val) prop_set('anti-spyware-security-profiles', val) end def vulnerability_protection_security_profiles prop_get('vulnerability-protection-security-profiles') end def vulnerability_protection_security_profiles=(val) prop_set('vulnerability-protection-security-profiles', val) end def url_filtering_security_profiles prop_get('url-filtering-security-profiles') end def url_filtering_security_profiles=(val) prop_set('url-filtering-security-profiles', val) end def file_blocking_security_profiles prop_get('file-blocking-security-profiles') end def file_blocking_security_profiles=(val) prop_set('file-blocking-security-profiles', val) end def wildfire_analysis_security_profiles prop_get('wildfire-analysis-security-profiles') end def wildfire_analysis_security_profiles=(val) prop_set('wildfire-analysis-security-profiles', val) end def data_filtering_security_profiles prop_get('data-filtering-security-profiles') end def data_filtering_security_profiles=(val) prop_set('data-filtering-security-profiles', val) end def dos_protection_security_profiles prop_get('dos-protection-security-profiles') end def dos_protection_security_profiles=(val) prop_set('dos-protection-security-profiles', val) end def gtp_protection_security_profiles prop_get('gtp-protection-security-profiles') end def gtp_protection_security_profiles=(val) prop_set('gtp-protection-security-profiles', val) end def sctp_protection_security_profiles prop_get('sctp-protection-security-profiles') end def sctp_protection_security_profiles=(val) prop_set('sctp-protection-security-profiles', val) end def security_profile_groups prop_get('security-profile-groups') end def security_profile_groups=(val) prop_set('security-profile-groups', val) end def log_forwarding_profiles prop_get('log-forwarding-profiles') end def log_forwarding_profiles=(val) prop_set('log-forwarding-profiles', val) end def authentication_enforcements prop_get('authentication-enforcements') end def authentication_enforcements=(val) prop_set('authentication-enforcements', val) end def decryption_profiles prop_get('decryption-profiles') end def decryption_profiles=(val) prop_set('decryption-profiles', val) end def packet_broker_profiles prop_get('packet-broker-profiles') end def packet_broker_profiles=(val) prop_set('packet-broker-profiles', val) end def schedules prop_get('schedules') end def schedules=(val) prop_set('schedules', val) end def sdwan_path_quality_profiles prop_get('sdwan-path-quality-profiles') end def sdwan_path_quality_profiles=(val) prop_set('sdwan-path-quality-profiles', val) end def sdwan_saas_quality_profiles prop_get('sdwan-saas-quality-profiles') end def sdwan_saas_quality_profiles=(val) prop_set('sdwan-saas-quality-profiles', val) end def sdwan_traffic_distribution_profiles prop_get('sdwan-traffic-distribution-profiles') end def sdwan_traffic_distribution_profiles=(val) prop_set('sdwan-traffic-distribution-profiles', val) end def sdwan_error_correction_profiles prop_get('sdwan-error-correction-profiles') end def sdwan_error_correction_profiles=(val) prop_set('sdwan-error-correction-profiles', val) end end def objects @subclasses['objects'] ||= Objects.new(parent_instance: self, client: @client, create_children: @create_children) end class Policies < ConfigClass def has_multiple_values?; false; end def _section :policies end @props = {'security-rules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'policies_security', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'nat-rules'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.vm-mode=1', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'nat_rules', 'menu-tree-path'=>'NAT Rules', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'qos-rules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'qos_policies', 'skip-display'=>'shared-gateway', 'menu-tree-path'=>'QoS Rules', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'policy-based-forwarding-rules'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.vm-mode=1', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'decryption-rules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'help-topic'=>'decryption_rules', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'network-packet-broker-rules'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'prune-on-sdb'=>'cfg.general.prune-on-decrypt-brk', 'skip-display'=>'shared-gateway', 'help-topic'=>'network_packet_broker_rules', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'tunnel-inspection-rules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'help-topic'=>'tunnel_inspection_rules', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'application-override-rules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'help-topic'=>'application_override_rules', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'authentication-rules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'help-topic'=>'authentication_rules', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dos-rules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'help-topic'=>'dos_rules', 'menu-tree-path'=>'DoS Rules', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-rules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'help-topic'=>'sdwan-rules', 'menu-tree-path'=>'SD-WAN Rules', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def security_rules prop_get('security-rules') end def security_rules=(val) prop_set('security-rules', val) end def nat_rules prop_get('nat-rules') end def nat_rules=(val) prop_set('nat-rules', val) end def qos_rules prop_get('qos-rules') end def qos_rules=(val) prop_set('qos-rules', val) end def policy_based_forwarding_rules prop_get('policy-based-forwarding-rules') end def policy_based_forwarding_rules=(val) prop_set('policy-based-forwarding-rules', val) end def decryption_rules prop_get('decryption-rules') end def decryption_rules=(val) prop_set('decryption-rules', val) end def network_packet_broker_rules prop_get('network-packet-broker-rules') end def network_packet_broker_rules=(val) prop_set('network-packet-broker-rules', val) end def tunnel_inspection_rules prop_get('tunnel-inspection-rules') end def tunnel_inspection_rules=(val) prop_set('tunnel-inspection-rules', val) end def application_override_rules prop_get('application-override-rules') end def application_override_rules=(val) prop_set('application-override-rules', val) end def authentication_rules prop_get('authentication-rules') end def authentication_rules=(val) prop_set('authentication-rules', val) end def dos_rules prop_get('dos-rules') end def dos_rules=(val) prop_set('dos-rules', val) end def sdwan_rules prop_get('sdwan-rules') end def sdwan_rules=(val) prop_set('sdwan-rules', val) end end def policies @subclasses['policies'] ||= Policies.new(parent_instance: self, client: @client, create_children: @create_children) end class Network < ConfigClass def has_multiple_values?; false; end def _section :network end @props = {'zones'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'globalprotect-portals'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'GlobalProtect Portals', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'globalprotect-gateways'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'GlobalProtect Gateways', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'globalprotect-mdm-servers'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'GlobalProtect MDM Servers', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'globalprotect-clientless-apps'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'GlobalProtect Clientless Apps', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'globalprotect-clientless-app-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'GlobalProtect Clientless App Groups', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-interface-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SD-WAN Interface Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def zones prop_get('zones') end def zones=(val) prop_set('zones', val) end def globalprotect_portals prop_get('globalprotect-portals') end def globalprotect_portals=(val) prop_set('globalprotect-portals', val) end def globalprotect_gateways prop_get('globalprotect-gateways') end def globalprotect_gateways=(val) prop_set('globalprotect-gateways', val) end def globalprotect_mdm_servers prop_get('globalprotect-mdm-servers') end def globalprotect_mdm_servers=(val) prop_set('globalprotect-mdm-servers', val) end def globalprotect_clientless_apps prop_get('globalprotect-clientless-apps') end def globalprotect_clientless_apps=(val) prop_set('globalprotect-clientless-apps', val) end def globalprotect_clientless_app_groups prop_get('globalprotect-clientless-app-groups') end def globalprotect_clientless_app_groups=(val) prop_set('globalprotect-clientless-app-groups', val) end def sdwan_interface_profiles prop_get('sdwan-interface-profiles') end def sdwan_interface_profiles=(val) prop_set('sdwan-interface-profiles', val) end end def network @subclasses['network'] ||= Network.new(parent_instance: self, client: @client, create_children: @create_children) end class Device < ConfigClass def has_multiple_values?; false; end def _section :device end @props = {'log-interface-setting'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'snmp-trap-server-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SNMP Trap Server Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'syslog-server-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Syslog Server Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'email-server-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Email Server Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'http-server-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'HTTP Server Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ldap-server-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'LDAP Server Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'virtual-systems'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def log_interface_setting prop_get('log-interface-setting') end def log_interface_setting=(val) prop_set('log-interface-setting', val) end def snmp_trap_server_profiles prop_get('snmp-trap-server-profiles') end def snmp_trap_server_profiles=(val) prop_set('snmp-trap-server-profiles', val) end def syslog_server_profiles prop_get('syslog-server-profiles') end def syslog_server_profiles=(val) prop_set('syslog-server-profiles', val) end def email_server_profiles prop_get('email-server-profiles') end def email_server_profiles=(val) prop_set('email-server-profiles', val) end def http_server_profiles prop_get('http-server-profiles') end def http_server_profiles=(val) prop_set('http-server-profiles', val) end def ldap_server_profiles prop_get('ldap-server-profiles') end def ldap_server_profiles=(val) prop_set('ldap-server-profiles', val) end def virtual_systems prop_get('virtual-systems') end def virtual_systems=(val) prop_set('virtual-systems', val) end end def device @subclasses['device'] ||= Device.new(parent_instance: self, client: @client, create_children: @create_children) end class System < ConfigClass def has_multiple_values?; false; end def _section :system end @props = {'configuration'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def configuration prop_get('configuration') end def configuration=(val) prop_set('configuration', val) end end def system @subclasses['system'] ||= System.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def restapi @subclasses['restapi'] ||= Restapi.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'cli'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'vsysadmin'}, {'value'=>'vsysreader'}]}} def cli prop_get('cli') end def cli=(val) prop_set('cli', val) end end def vsys @subclasses['vsys'] ||= Vsys.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def role maybe_register_subclass('role', Role.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def admin_role maybe_register_subclass('admin-role', AdminRole.new(parent_instance: self, client: @client, create_children: @create_children)) end class Scep < XML::ConfigClass def has_multiple_values?; true; end def _section :scep end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class ScepChallenge < XML::ConfigClass def has_multiple_values?; true; end def _section :'scep-challenge' end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end class Dynamic < ConfigClass def has_multiple_values?; false; end def _section :dynamic end @props = {'otp-server-url'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^(http|https)://.+$', 'minlen'=>'0', 'maxlen'=>'255', 'help-string'=>'URL to get the One-Time-Password', 'uiHint-fieldLabel'=>'Server URL'}, 'username'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'help-string'=>'Username to authenticate to the SCEP server for procuring OTP'}, 'password'=>{'node-type'=>'element', 'type'=>'string', 'encrypt'=>'yes', 'minlen'=>'0', 'maxlen'=>'255', 'help-string'=>'Password to authenticate to the SCEP server for procuring OTP'}} # URL to get the One-Time-Password def otp_server_url prop_get('otp-server-url') end # URL to get the One-Time-Password def otp_server_url=(val) prop_set('otp-server-url', val) end # Username to authenticate to the SCEP server for procuring OTP def username prop_get('username') end # Username to authenticate to the SCEP server for procuring OTP def username=(val) prop_set('username', val) end # Password to authenticate to the SCEP server for procuring OTP def password prop_get('password') end # Password to authenticate to the SCEP server for procuring OTP def password=(val) prop_set('password', val) end end def dynamic @subclasses['dynamic'] ||= Dynamic.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'fixed'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'regex'=>'[^\']*', 'helpstring'=>'Challenge to use for SCEP server on mobile clients'}} def fixed prop_get('fixed') end def fixed=(val) prop_set('fixed', val) end end def scep_challenge maybe_register_subclass('scep-challenge', ScepChallenge.new(parent_instance: self, client: @client, create_children: @create_children)) end class Algorithm < XML::ConfigClass def has_multiple_values?; true; end def _section :algorithm end class Rsa < ConfigClass def has_multiple_values?; false; end def _section :rsa end @props = {'rsa-nbits'=>{'node-type'=>'element', 'type'=>'string', 'complete-handler'=>'generate-cert-nbits-complete-handler', 'help-string'=>'Length of the key'}} # Length of the key def rsa_nbits prop_get('rsa-nbits') end # Length of the key def rsa_nbits=(val) prop_set('rsa-nbits', val) end end def rsa @subclasses['rsa'] ||= Rsa.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def algorithm maybe_register_subclass('algorithm', Algorithm.new(parent_instance: self, client: @client, create_children: @create_children)) end class CertificateAttributes < XML::ConfigClass def has_multiple_values?; true; end def _section :'certificate-attributes' end @props = {'rfc822name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'0', 'maxlen'=>'255', 'help-string'=>'rfc822Name'}, 'dnsname'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'0', 'maxlen'=>'255', 'help-string'=>'dNSName'}, 'uniform-resource-identifier'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'help-string'=>'uniformResourceIdentifier'}} # rfc822Name def rfc822name prop_get('rfc822name') end # rfc822Name def rfc822name=(val) prop_set('rfc822name', val) end # dNSName def dnsname prop_get('dnsname') end # dNSName def dnsname=(val) prop_set('dnsname', val) end # uniformResourceIdentifier def uniform_resource_identifier prop_get('uniform-resource-identifier') end # uniformResourceIdentifier def uniform_resource_identifier=(val) prop_set('uniform-resource-identifier', val) end end def certificate_attributes maybe_register_subclass('certificate-attributes', CertificateAttributes.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'scep-url'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^(http|https)://.+$', 'minlen'=>'0', 'maxlen'=>'255', 'help-string'=>'The base URL for the SCEP server'}, 'scep-ca-cert'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'help-string'=>'SCEP Server CA Certificate'}, 'scep-client-cert'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'optional'=>'yes', 'help-string'=>'Client Certificate to use when connecting to SCEP Server over SSL'}, 'ca-identity-name'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'help-string'=>'Name of the SCEP server CA Identity'}, 'subject'=>{'node-type'=>'element', 'regex'=>'(.*)CN=(.*?)(.*)', 'type'=>'string', 'default'=>'CN=$USERNAME', 'minlen'=>'0', 'maxlen'=>'1024', 'help-string'=>'Representation of a X.500 name'}, 'digest'=>{'node-type'=>'element', 'type'=>'string', 'complete-handler'=>'generate-cert-digest-complete-handler', 'help-string'=>'Digest Algorithm for CSR'}, 'fingerprint'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'0', 'maxlen'=>'255', 'help-string'=>'Hex String to use as a fingerprint'}, 'use-as-digital-signature'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Use as digital signature', 'uiHint-fieldLabel'=>'Use as digital signature'}, 'use-for-key-encipherment'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Use for key encipherment', 'uiHint-fieldLabel'=>'Use for key encipherment'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # The base URL for the SCEP server def scep_url prop_get('scep-url') end # The base URL for the SCEP server def scep_url=(val) prop_set('scep-url', val) end # SCEP Server CA Certificate def scep_ca_cert prop_get('scep-ca-cert') end # SCEP Server CA Certificate def scep_ca_cert=(val) prop_set('scep-ca-cert', val) end # Client Certificate to use when connecting to SCEP Server over SSL def scep_client_cert prop_get('scep-client-cert') end # Client Certificate to use when connecting to SCEP Server over SSL def scep_client_cert=(val) prop_set('scep-client-cert', val) end # Name of the SCEP server CA Identity def ca_identity_name prop_get('ca-identity-name') end # Name of the SCEP server CA Identity def ca_identity_name=(val) prop_set('ca-identity-name', val) end # Representation of a X.500 name def subject prop_get('subject') end # Representation of a X.500 name def subject=(val) prop_set('subject', val) end # Digest Algorithm for CSR def digest prop_get('digest') end # Digest Algorithm for CSR def digest=(val) prop_set('digest', val) end # Hex String to use as a fingerprint def fingerprint prop_get('fingerprint') end # Hex String to use as a fingerprint def fingerprint=(val) prop_set('fingerprint', val) end # Use as digital signature def use_as_digital_signature prop_get('use-as-digital-signature') end # Use as digital signature def use_as_digital_signature=(val) prop_set('use-as-digital-signature', val) end # Use for key encipherment def use_for_key_encipherment prop_get('use-for-key-encipherment') end # Use for key encipherment def use_for_key_encipherment=(val) prop_set('use-for-key-encipherment', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def scep maybe_register_subclass('scep', Scep.new(parent_instance: self, client: @client, create_children: @create_children)) end class UserIdHub < ConfigClass def has_multiple_values?; false; end def _section :'user-id-hub' end @props = {'vsys'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'configure user-id hub.', 'subtype'=>'object-name', 'prune-on'=>'single-vsys-mode'}, 'ip-user-mapping'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes'}, 'user-group-mapping'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes'}} # configure user-id hub. def vsys prop_get('vsys') end # configure user-id hub. def vsys=(val) prop_set('vsys', val) end def ip_user_mapping prop_get('ip-user-mapping') end def ip_user_mapping=(val) prop_set('ip-user-mapping', val) end def user_group_mapping prop_get('user-group-mapping') end def user_group_mapping=(val) prop_set('user-group-mapping', val) end end def user_id_hub @subclasses['user-id-hub'] ||= UserIdHub.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def shared @subclasses['shared'] ||= Shared.new(parent_instance: self, client: @client, create_children: @create_children) end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Deviceconfig < ConfigClass def has_multiple_values?; false; end def _section :deviceconfig end class System < ConfigClass def has_multiple_values?; false; end def _section :system end class Type < ConfigClass def has_multiple_values?; false; end def _section :type end class Static < ConfigClass def has_multiple_values?; false; end def _section :static end @props = {} end def static @subclasses['static'] ||= Static.new(parent_instance: self, client: @client, create_children: @create_children) end class DhcpClient < ConfigClass def has_multiple_values?; false; end def _section :'dhcp-client' end @props = {'send-hostname'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes'}, 'send-client-id'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no'}, 'accept-dhcp-hostname'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no'}, 'accept-dhcp-domain'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no'}} def send_hostname prop_get('send-hostname') end def send_hostname=(val) prop_set('send-hostname', val) end def send_client_id prop_get('send-client-id') end def send_client_id=(val) prop_set('send-client-id', val) end def accept_dhcp_hostname prop_get('accept-dhcp-hostname') end def accept_dhcp_hostname=(val) prop_set('accept-dhcp-hostname', val) end def accept_dhcp_domain prop_get('accept-dhcp-domain') end def accept_dhcp_domain=(val) prop_set('accept-dhcp-domain', val) end end def dhcp_client @subclasses['dhcp-client'] ||= DhcpClient.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type @subclasses['type'] ||= Type.new(parent_instance: self, client: @client, create_children: @create_children) end class Aux1 < ConfigClass def has_multiple_values?; false; end def _section :'aux-1' end class Service < ConfigClass def has_multiple_values?; false; end def _section :service end @props = {'disable-http'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'disable-https'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'disable-telnet'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'disable-ssh'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'disable-icmp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'disable-snmp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'disable-userid-service'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'disable-userid-syslog-listener-ssl'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'disable-userid-syslog-listener-udp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'prune-on'=>'fips-mode'}, 'disable-http-ocsp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}} def disable_http prop_get('disable-http') end def disable_http=(val) prop_set('disable-http', val) end def disable_https prop_get('disable-https') end def disable_https=(val) prop_set('disable-https', val) end def disable_telnet prop_get('disable-telnet') end def disable_telnet=(val) prop_set('disable-telnet', val) end def disable_ssh prop_get('disable-ssh') end def disable_ssh=(val) prop_set('disable-ssh', val) end def disable_icmp prop_get('disable-icmp') end def disable_icmp=(val) prop_set('disable-icmp', val) end def disable_snmp prop_get('disable-snmp') end def disable_snmp=(val) prop_set('disable-snmp', val) end def disable_userid_service prop_get('disable-userid-service') end def disable_userid_service=(val) prop_set('disable-userid-service', val) end def disable_userid_syslog_listener_ssl prop_get('disable-userid-syslog-listener-ssl') end def disable_userid_syslog_listener_ssl=(val) prop_set('disable-userid-syslog-listener-ssl', val) end def disable_userid_syslog_listener_udp prop_get('disable-userid-syslog-listener-udp') end def disable_userid_syslog_listener_udp=(val) prop_set('disable-userid-syslog-listener-udp', val) end def disable_http_ocsp prop_get('disable-http-ocsp') end def disable_http_ocsp=(val) prop_set('disable-http-ocsp', val) end end def service @subclasses['service'] ||= Service.new(parent_instance: self, client: @client, create_children: @create_children) end class PermittedIp < XML::ConfigClass def has_multiple_values?; true; end def _section :'permitted-ip' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'ip address/prefix/Variable Object', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}}}} # ip address/prefix/Variable Object def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def permitted_ip maybe_register_subclass('permitted-ip', PermittedIp.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'speed-duplex'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'auto-negotiate', 'help-string'=>'Speed and duplex for the management interface', 'enum'=>[{'value'=>'auto-negotiate'}]}, 'ip-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'IP address for the management interface', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'netmask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'subtype'=>'var-ip-address', 'help-string'=>'IP netmask for the management interface'}, 'default-gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Default gateway', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'ipv6-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'IPv6 address for the management interface', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}}}, 'ipv6-default-gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'IPv6 Default gateway', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'mtu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'576', 'max'=>'1500', 'default'=>'1500', 'help-string'=>'Maximum Transmission Unit for the management interface'}} # Speed and duplex for the management interface def speed_duplex prop_get('speed-duplex') end # Speed and duplex for the management interface def speed_duplex=(val) prop_set('speed-duplex', val) end # IP address for the management interface def ip_address prop_get('ip-address') end # IP address for the management interface def ip_address=(val) prop_set('ip-address', val) end # IP netmask for the management interface def netmask prop_get('netmask') end # IP netmask for the management interface def netmask=(val) prop_set('netmask', val) end # Default gateway def default_gateway prop_get('default-gateway') end # Default gateway def default_gateway=(val) prop_set('default-gateway', val) end # IPv6 address for the management interface def ipv6_address prop_get('ipv6-address') end # IPv6 address for the management interface def ipv6_address=(val) prop_set('ipv6-address', val) end # IPv6 Default gateway def ipv6_default_gateway prop_get('ipv6-default-gateway') end # IPv6 Default gateway def ipv6_default_gateway=(val) prop_set('ipv6-default-gateway', val) end # Maximum Transmission Unit for the management interface def mtu prop_get('mtu') end # Maximum Transmission Unit for the management interface def mtu=(val) prop_set('mtu', val) end end def aux_1 @subclasses['aux-1'] ||= Aux1.new(parent_instance: self, client: @client, create_children: @create_children) end class Aux2 < ConfigClass def has_multiple_values?; false; end def _section :'aux-2' end class Service < ConfigClass def has_multiple_values?; false; end def _section :service end @props = {'disable-http'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'disable-https'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'disable-telnet'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'disable-ssh'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'disable-icmp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'disable-snmp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'disable-userid-service'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'disable-userid-syslog-listener-ssl'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'disable-userid-syslog-listener-udp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'prune-on'=>'fips-mode'}, 'disable-http-ocsp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}} def disable_http prop_get('disable-http') end def disable_http=(val) prop_set('disable-http', val) end def disable_https prop_get('disable-https') end def disable_https=(val) prop_set('disable-https', val) end def disable_telnet prop_get('disable-telnet') end def disable_telnet=(val) prop_set('disable-telnet', val) end def disable_ssh prop_get('disable-ssh') end def disable_ssh=(val) prop_set('disable-ssh', val) end def disable_icmp prop_get('disable-icmp') end def disable_icmp=(val) prop_set('disable-icmp', val) end def disable_snmp prop_get('disable-snmp') end def disable_snmp=(val) prop_set('disable-snmp', val) end def disable_userid_service prop_get('disable-userid-service') end def disable_userid_service=(val) prop_set('disable-userid-service', val) end def disable_userid_syslog_listener_ssl prop_get('disable-userid-syslog-listener-ssl') end def disable_userid_syslog_listener_ssl=(val) prop_set('disable-userid-syslog-listener-ssl', val) end def disable_userid_syslog_listener_udp prop_get('disable-userid-syslog-listener-udp') end def disable_userid_syslog_listener_udp=(val) prop_set('disable-userid-syslog-listener-udp', val) end def disable_http_ocsp prop_get('disable-http-ocsp') end def disable_http_ocsp=(val) prop_set('disable-http-ocsp', val) end end def service @subclasses['service'] ||= Service.new(parent_instance: self, client: @client, create_children: @create_children) end class PermittedIp < XML::ConfigClass def has_multiple_values?; true; end def _section :'permitted-ip' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'ip address/prefix/Variable Object', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}}}} # ip address/prefix/Variable Object def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def permitted_ip maybe_register_subclass('permitted-ip', PermittedIp.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'speed-duplex'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'auto-negotiate', 'help-string'=>'Speed and duplex for the management interface', 'enum'=>[{'value'=>'auto-negotiate'}]}, 'ip-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'IP address for the management interface', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'netmask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'subtype'=>'var-ip-address', 'help-string'=>'IP netmask for the management interface'}, 'default-gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Default gateway', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'ipv6-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'IPv6 address for the management interface', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}}}, 'ipv6-default-gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'IPv6 Default gateway', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'mtu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'576', 'max'=>'1500', 'default'=>'1500', 'help-string'=>'Maximum Transmission Unit for the management interface'}} # Speed and duplex for the management interface def speed_duplex prop_get('speed-duplex') end # Speed and duplex for the management interface def speed_duplex=(val) prop_set('speed-duplex', val) end # IP address for the management interface def ip_address prop_get('ip-address') end # IP address for the management interface def ip_address=(val) prop_set('ip-address', val) end # IP netmask for the management interface def netmask prop_get('netmask') end # IP netmask for the management interface def netmask=(val) prop_set('netmask', val) end # Default gateway def default_gateway prop_get('default-gateway') end # Default gateway def default_gateway=(val) prop_set('default-gateway', val) end # IPv6 address for the management interface def ipv6_address prop_get('ipv6-address') end # IPv6 address for the management interface def ipv6_address=(val) prop_set('ipv6-address', val) end # IPv6 Default gateway def ipv6_default_gateway prop_get('ipv6-default-gateway') end # IPv6 Default gateway def ipv6_default_gateway=(val) prop_set('ipv6-default-gateway', val) end # Maximum Transmission Unit for the management interface def mtu prop_get('mtu') end # Maximum Transmission Unit for the management interface def mtu=(val) prop_set('mtu', val) end end def aux_2 @subclasses['aux-2'] ||= Aux2.new(parent_instance: self, client: @client, create_children: @create_children) end class LogInterface < ConfigClass def has_multiple_values?; false; end def _section :'log-interface' end @props = {'ip-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'IP address for the log interface', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'netmask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'subtype'=>'ip-address', 'help-string'=>'IP netmask for the log interface'}, 'default-gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'log interface default gateway', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'ipv6-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'ipv6-only'=>'yes', 'help-string'=>'IPv6 address for the log interface', 'multi-types'=>{'ipspec'=>{'unicast-with-mask'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'ipv6-default-gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'log interface IPv6 default gateway', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'link-speed'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'auto', 'help-string'=>'Interface link speed', 'enum'=>[{'value'=>'auto', 'help-string'=>'Auto negotiation'}]}, 'link-duplex'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'auto', 'help-string'=>'Interface link duplex', 'enum'=>[{'value'=>'auto', 'help-string'=>'Auto negotiation'}]}, 'link-state'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'auto', 'help-string'=>'Interface link state', 'enum'=>[{'value'=>'auto', 'help-string'=>'Auto detect'}, {'value'=>'up', 'help-string'=>'Force to up'}, {'value'=>'down', 'help-string'=>'Force to down'}]}} # IP address for the log interface def ip_address prop_get('ip-address') end # IP address for the log interface def ip_address=(val) prop_set('ip-address', val) end # IP netmask for the log interface def netmask prop_get('netmask') end # IP netmask for the log interface def netmask=(val) prop_set('netmask', val) end # log interface default gateway def default_gateway prop_get('default-gateway') end # log interface default gateway def default_gateway=(val) prop_set('default-gateway', val) end # IPv6 address for the log interface def ipv6_address prop_get('ipv6-address') end # IPv6 address for the log interface def ipv6_address=(val) prop_set('ipv6-address', val) end # log interface IPv6 default gateway def ipv6_default_gateway prop_get('ipv6-default-gateway') end # log interface IPv6 default gateway def ipv6_default_gateway=(val) prop_set('ipv6-default-gateway', val) end # Interface link speed def link_speed prop_get('link-speed') end # Interface link speed def link_speed=(val) prop_set('link-speed', val) end # Interface link duplex def link_duplex prop_get('link-duplex') end # Interface link duplex def link_duplex=(val) prop_set('link-duplex', val) end # Interface link state def link_state prop_get('link-state') end # Interface link state def link_state=(val) prop_set('link-state', val) end end def log_interface @subclasses['log-interface'] ||= LogInterface.new(parent_instance: self, client: @client, create_children: @create_children) end class DnsSetting < ConfigClass def has_multiple_values?; false; end def _section :'dns-setting' end class Servers < ConfigClass def has_multiple_values?; false; end def _section :servers end @props = {'primary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Primary DNS server IP address or Variable object', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'secondary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Secondary DNS server IP address or Variable object', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # Primary DNS server IP address or Variable object def primary prop_get('primary') end # Primary DNS server IP address or Variable object def primary=(val) prop_set('primary', val) end # Secondary DNS server IP address or Variable object def secondary prop_get('secondary') end # Secondary DNS server IP address or Variable object def secondary=(val) prop_set('secondary', val) end end def servers @subclasses['servers'] ||= Servers.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'dns-proxy-object'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Dns proxy object to use for resolving fqdns'}} # Dns proxy object to use for resolving fqdns def dns_proxy_object prop_get('dns-proxy-object') end # Dns proxy object to use for resolving fqdns def dns_proxy_object=(val) prop_set('dns-proxy-object', val) end end def dns_setting @subclasses['dns-setting'] ||= DnsSetting.new(parent_instance: self, client: @client, create_children: @create_children) end class Panorama < ConfigClass def has_multiple_values?; false; end def _section :panorama end class CloudService < ConfigClass def has_multiple_values?; false; end def _section :'cloud-service' end @props = {} end def cloud_service @subclasses['cloud-service'] ||= CloudService.new(parent_instance: self, client: @client, create_children: @create_children) end class LocalPanorama < ConfigClass def has_multiple_values?; false; end def _section :'local-panorama' end @props = {'panorama-server'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^([$0-9a-zA-Z:./_-])+$', 'maxlen'=>'63', 'help-string'=>'Panorama server (IP address or FQDN or Variable object)'}, 'panorama-server-2'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^([$0-9a-zA-Z:./_-])+$', 'maxlen'=>'63', 'help-string'=>'Panorama server 2 (IP address or FQDN or Variable object)'}} # Panorama server (IP address or FQDN or Variable object) def panorama_server prop_get('panorama-server') end # Panorama server (IP address or FQDN or Variable object) def panorama_server=(val) prop_set('panorama-server', val) end # Panorama server 2 (IP address or FQDN or Variable object) def panorama_server_2 prop_get('panorama-server-2') end # Panorama server 2 (IP address or FQDN or Variable object) def panorama_server_2=(val) prop_set('panorama-server-2', val) end end def local_panorama @subclasses['local-panorama'] ||= LocalPanorama.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def panorama @subclasses['panorama'] ||= Panorama.new(parent_instance: self, client: @client, create_children: @create_children) end class NtpServers < ConfigClass def has_multiple_values?; false; end def _section :'ntp-servers' end class PrimaryNtpServer < ConfigClass def has_multiple_values?; false; end def _section :'primary-ntp-server' end class AuthenticationType < XML::ConfigClass def has_multiple_values?; true; end def _section :'authentication-type' end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end class SymmetricKey < ConfigClass def has_multiple_values?; false; end def _section :'symmetric-key' end class Algorithm < XML::ConfigClass def has_multiple_values?; true; end def _section :algorithm end class Md5 < ConfigClass def has_multiple_values?; false; end def _section :md5 end @props = {'authentication-key'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([!-~])+$', 'minlen'=>'6', 'maxlen'=>'32', 'help-string'=>'Symmetric Key MD5 String', 'encrypt'=>'yes'}} # Symmetric Key MD5 String def authentication_key prop_get('authentication-key') end # Symmetric Key MD5 String def authentication_key=(val) prop_set('authentication-key', val) end end def md5 @subclasses['md5'] ||= Md5.new(parent_instance: self, client: @client, create_children: @create_children) end class Sha1 < ConfigClass def has_multiple_values?; false; end def _section :sha1 end @props = {'authentication-key'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([0-9A-Fa-f])+$', 'minlen'=>'40', 'maxlen'=>'40', 'help-string'=>'Symmetric Key SHA1 Hexadecimal', 'encrypt'=>'yes', 'error-string'=>'Error: SHA1 authentication-key should be 40 hexadecimal characters'}} # Symmetric Key SHA1 Hexadecimal def authentication_key prop_get('authentication-key') end # Symmetric Key SHA1 Hexadecimal def authentication_key=(val) prop_set('authentication-key', val) end end def sha1 @subclasses['sha1'] ||= Sha1.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def algorithm maybe_register_subclass('algorithm', Algorithm.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'key-id'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65534', 'help-string'=>'Symmetric Key Number'}} # Symmetric Key Number def key_id prop_get('key-id') end # Symmetric Key Number def key_id=(val) prop_set('key-id', val) end end def symmetric_key @subclasses['symmetric-key'] ||= SymmetricKey.new(parent_instance: self, client: @client, create_children: @create_children) end class Autokey < ConfigClass def has_multiple_values?; false; end def _section :autokey end @props = {} end def autokey @subclasses['autokey'] ||= Autokey.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def authentication_type maybe_register_subclass('authentication-type', AuthenticationType.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'ntp-server-address'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([$0-9a-zA-Z:./_-])+$', 'maxlen'=>'63', 'help-string'=>'NTP Server IP Address or Domain Name'}} # NTP Server IP Address or Domain Name def ntp_server_address prop_get('ntp-server-address') end # NTP Server IP Address or Domain Name def ntp_server_address=(val) prop_set('ntp-server-address', val) end end def primary_ntp_server @subclasses['primary-ntp-server'] ||= PrimaryNtpServer.new(parent_instance: self, client: @client, create_children: @create_children) end class SecondaryNtpServer < ConfigClass def has_multiple_values?; false; end def _section :'secondary-ntp-server' end class AuthenticationType < XML::ConfigClass def has_multiple_values?; true; end def _section :'authentication-type' end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end class SymmetricKey < ConfigClass def has_multiple_values?; false; end def _section :'symmetric-key' end class Algorithm < XML::ConfigClass def has_multiple_values?; true; end def _section :algorithm end class Md5 < ConfigClass def has_multiple_values?; false; end def _section :md5 end @props = {'authentication-key'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([!-~])+$', 'minlen'=>'6', 'maxlen'=>'32', 'help-string'=>'Symmetric Key MD5 String', 'encrypt'=>'yes'}} # Symmetric Key MD5 String def authentication_key prop_get('authentication-key') end # Symmetric Key MD5 String def authentication_key=(val) prop_set('authentication-key', val) end end def md5 @subclasses['md5'] ||= Md5.new(parent_instance: self, client: @client, create_children: @create_children) end class Sha1 < ConfigClass def has_multiple_values?; false; end def _section :sha1 end @props = {'authentication-key'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([0-9A-Fa-f])+$', 'minlen'=>'40', 'maxlen'=>'40', 'help-string'=>'Symmetric Key SHA1 Hexadecimal', 'encrypt'=>'yes', 'error-string'=>'Error: SHA1 authentication-key should be 40 hexadecimal characters'}} # Symmetric Key SHA1 Hexadecimal def authentication_key prop_get('authentication-key') end # Symmetric Key SHA1 Hexadecimal def authentication_key=(val) prop_set('authentication-key', val) end end def sha1 @subclasses['sha1'] ||= Sha1.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def algorithm maybe_register_subclass('algorithm', Algorithm.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'key-id'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65534', 'help-string'=>'Symmetric Key Number'}} # Symmetric Key Number def key_id prop_get('key-id') end # Symmetric Key Number def key_id=(val) prop_set('key-id', val) end end def symmetric_key @subclasses['symmetric-key'] ||= SymmetricKey.new(parent_instance: self, client: @client, create_children: @create_children) end class Autokey < ConfigClass def has_multiple_values?; false; end def _section :autokey end @props = {} end def autokey @subclasses['autokey'] ||= Autokey.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def authentication_type maybe_register_subclass('authentication-type', AuthenticationType.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'ntp-server-address'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([$0-9a-zA-Z:./_-])+$', 'maxlen'=>'63', 'help-string'=>'NTP Server IP Address or Domain Name'}} # NTP Server IP Address or Domain Name def ntp_server_address prop_get('ntp-server-address') end # NTP Server IP Address or Domain Name def ntp_server_address=(val) prop_set('ntp-server-address', val) end end def secondary_ntp_server @subclasses['secondary-ntp-server'] ||= SecondaryNtpServer.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ntp_servers @subclasses['ntp-servers'] ||= NtpServers.new(parent_instance: self, client: @client, create_children: @create_children) end class HsmSettings < ConfigClass def has_multiple_values?; false; end def _section :'hsm-settings' end class Provider < ConfigClass def has_multiple_values?; false; end def _section :provider end class SafenetNetwork < ConfigClass def has_multiple_values?; false; end def _section :'safenet-network' end class HsmServer < XML::ConfigClass def has_multiple_values?; true; end def _section :'hsm-server' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'31', 'help-string'=>'hsm server name'}, 'server-address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'HSM server IP address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # hsm server name def name prop_get('@name') end # HSM server IP address def server_address prop_get('server-address') end # HSM server IP address def server_address=(val) prop_set('server-address', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def hsm_server maybe_register_subclass('hsm-server', HsmServer.new(parent_instance: self, client: @client, create_children: @create_children)) end class Ha < ConfigClass def has_multiple_values?; false; end def _section :ha end @props = {'auto-recovery-retry'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'500', 'default'=>'0', 'help-string'=>'The number of times HSM HA function will attempt to automatically recover a member that has failed to synchronize or has dropped from the HA group. Setting to a value of zero switches the feature off.'}, 'ha-group-name'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'31', 'help-string'=>'HA group name'}} # The number of times HSM HA function will attempt to automatically recover a member that has failed to synchronize or has dropped from the HA group. Setting to a value of zero switches the feature off. def auto_recovery_retry prop_get('auto-recovery-retry') end # The number of times HSM HA function will attempt to automatically recover a member that has failed to synchronize or has dropped from the HA group. Setting to a value of zero switches the feature off. def auto_recovery_retry=(val) prop_set('auto-recovery-retry', val) end # HA group name def ha_group_name prop_get('ha-group-name') end # HA group name def ha_group_name=(val) prop_set('ha-group-name', val) end end def ha @subclasses['ha'] ||= Ha.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def safenet_network @subclasses['safenet-network'] ||= SafenetNetwork.new(parent_instance: self, client: @client, create_children: @create_children) end class NcipherNshieldConnect < ConfigClass def has_multiple_values?; false; end def _section :'ncipher-nshield-connect' end class HsmServer < XML::ConfigClass def has_multiple_values?; true; end def _section :'hsm-server' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'31', 'help-string'=>'hsm server name'}, 'server-address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'HSM server IP address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # hsm server name def name prop_get('@name') end # HSM server IP address def server_address prop_get('server-address') end # HSM server IP address def server_address=(val) prop_set('server-address', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def hsm_server maybe_register_subclass('hsm-server', HsmServer.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'rfs-address'=>{'node-type'=>'element', 'type'=>'ipspec', 'unicast-only'=>'yes', 'help-string'=>'IP address of remote file system server'}} # IP address of remote file system server def rfs_address prop_get('rfs-address') end # IP address of remote file system server def rfs_address=(val) prop_set('rfs-address', val) end end def ncipher_nshield_connect @subclasses['ncipher-nshield-connect'] ||= NcipherNshieldConnect.new(parent_instance: self, client: @client, create_children: @create_children) end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def provider @subclasses['provider'] ||= Provider.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def hsm_settings @subclasses['hsm-settings'] ||= HsmSettings.new(parent_instance: self, client: @client, create_children: @create_children) end class Ssh < ConfigClass def has_multiple_values?; false; end def _section :ssh end class Profiles < ConfigClass def has_multiple_values?; false; end def _section :profiles end class HaProfiles < XML::ConfigClass def has_multiple_values?; true; end def _section :'ha-profiles' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Ciphers < XML::ConfigClass def has_multiple_values?; true; end def _section :ciphers end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'aes128-cbc', 'enum'=>[{'value'=>'aes128-cbc', 'optional'=>'yes', 'help-string'=>'AES 128 bit cipher with Cipher Block Chaining'}, {'value'=>'aes192-cbc', 'optional'=>'yes', 'help-string'=>'AES 192 bit cipher with Cipher Block Chaining'}, {'value'=>'aes256-cbc', 'optional'=>'yes', 'help-string'=>'AES 256 bit cipher with Cipher Block Chaining'}, {'value'=>'aes128-ctr', 'optional'=>'yes', 'help-string'=>'AES 128 bit cipher with Counter Mode'}, {'value'=>'aes192-ctr', 'optional'=>'yes', 'help-string'=>'AES 192 bit cipher with Counter Mode'}, {'value'=>'aes256-ctr', 'optional'=>'yes', 'help-string'=>'AES 256 bit cipher with Counter Mode'}, {'value'=>'aes128-gcm', 'optional'=>'yes', 'help-string'=>'AES 128 bit cipher with GCM'}, {'value'=>'aes256-gcm', 'optional'=>'yes', 'help-string'=>'AES 256 bit cipher with GCM'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def ciphers maybe_register_subclass('ciphers', Ciphers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Mac < XML::ConfigClass def has_multiple_values?; true; end def _section :mac end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'hmac-sha2-256', 'enum'=>[{'value'=>'hmac-sha1', 'optional'=>'yes', 'help-string'=>'MAC with SHA1 cryptographic hash'}, {'value'=>'hmac-sha2-256', 'optional'=>'yes', 'help-string'=>'MAC with SHA2-256 cryptographic hash'}, {'value'=>'hmac-sha2-512', 'optional'=>'yes', 'help-string'=>'MAC with SHA2-512 cryptographic hash'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def mac maybe_register_subclass('mac', Mac.new(parent_instance: self, client: @client, create_children: @create_children)) end class Kex < XML::ConfigClass def has_multiple_values?; true; end def _section :kex end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'diffie-hellman-group14-sha1', 'enum'=>[{'value'=>'diffie-hellman-group14-sha1', 'help-string'=>'Diffie Hellman group 14 with SHA1 hash'}, {'value'=>'ecdh-sha2-nistp256', 'help-string'=>'Elliptic Curve Diffie Hellman over NIST P-256 with SHA2-256 hash'}, {'value'=>'ecdh-sha2-nistp384', 'help-string'=>'Elliptic Curve Diffie Hellman over NIST P-384 with SHA2-384 hash'}, {'value'=>'ecdh-sha2-nistp521', 'help-string'=>'Elliptic Curve Diffie Hellman over NIST P-521 with SHA2-521 hash'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def kex maybe_register_subclass('kex', Kex.new(parent_instance: self, client: @client, create_children: @create_children)) end class DefaultHostkey < ConfigClass def has_multiple_values?; false; end def _section :'default-hostkey' end class KeyType < XML::ConfigClass def has_multiple_values?; true; end def _section :'key-type' end @props = {'ECDSA'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'256', 'help-string'=>'ECDSA key', 'enum'=>[{'value'=>'256', 'help-string'=>'ECDSA key of length 256'}, {'value'=>'384', 'help-string'=>'ECDSA key of length 384'}, {'value'=>'521', 'help-string'=>'ECDSA key of length 521'}]}, 'RSA'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'2048', 'help-string'=>'RSA key', 'enum'=>[{'value'=>'2048', 'help-string'=>'RSA key of length 2048'}, {'value'=>'3072', 'help-string'=>'RSA key of length 3072'}, {'value'=>'4096', 'help-string'=>'RSA key of length 4096'}]}} # ECDSA key def ECDSA prop_get('ECDSA') end # ECDSA key def ECDSA=(val) prop_set('ECDSA', val) end # RSA key def RSA prop_get('RSA') end # RSA key def RSA=(val) prop_set('RSA', val) end end def key_type maybe_register_subclass('key-type', KeyType.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def default_hostkey @subclasses['default-hostkey'] ||= DefaultHostkey.new(parent_instance: self, client: @client, create_children: @create_children) end class SessionRekey < ConfigClass def has_multiple_values?; false; end def _section :'session-rekey' end @props = {'data'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'default', 'help-string'=>'Set the data to be transmitted between each ssh rekeying', 'multi-types'=>{'rangedint'=>{'min'=>'10', 'max'=>'4000', 'help-string'=>'Maximum data in Megabytes to be transmitted between each rekeying'}, 'enum'=>[{'value'=>'default', 'help-string'=>'Set the default to cipher based rekeying, which is between 1GB to 4GB'}]}}, 'interval'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'default', 'help-string'=>'Set the time interval between each ssh rekeying', 'multi-types'=>{'rangedint'=>{'min'=>'10', 'max'=>'3600', 'help-string'=>'Maximum time interval in seconds between each rekeying'}, 'enum'=>[{'value'=>'default', 'help-string'=>'Set the default to no time based rekeying'}]}}, 'packets'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'default', 'help-string'=>'Set the number of packets to be transmitted between each ssh rekeying', 'multi-types'=>{'rangedint'=>{'min'=>'12', 'max'=>'27', 'help-string'=>'Maximum number of packets (2^n) to be transmitted between rekeying'}, 'enum'=>[{'value'=>'default', 'help-string'=>'Set the default number of packets (2^28)'}]}}} # Set the data to be transmitted between each ssh rekeying def data prop_get('data') end # Set the data to be transmitted between each ssh rekeying def data=(val) prop_set('data', val) end # Set the time interval between each ssh rekeying def interval prop_get('interval') end # Set the time interval between each ssh rekeying def interval=(val) prop_set('interval', val) end # Set the number of packets to be transmitted between each ssh rekeying def packets prop_get('packets') end # Set the number of packets to be transmitted between each ssh rekeying def packets=(val) prop_set('packets', val) end end def session_rekey @subclasses['session-rekey'] ||= SessionRekey.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string begin with letter: [0-9a-zA-Z._-]', 'regex'=>'^[a-zA-Z]{1}[0-9a-zA-Z._-]*$'}} # alphanumeric string begin with letter: [0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ha_profiles maybe_register_subclass('ha-profiles', HaProfiles.new(parent_instance: self, client: @client, create_children: @create_children)) end class MgmtProfiles < ConfigClass def has_multiple_values?; false; end def _section :'mgmt-profiles' end class ServerProfiles < XML::ConfigClass def has_multiple_values?; true; end def _section :'server-profiles' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Ciphers < XML::ConfigClass def has_multiple_values?; true; end def _section :ciphers end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'aes-128-cbc', 'enum'=>[{'value'=>'aes128-cbc', 'optional'=>'yes', 'help-string'=>'AES 128 bit cipher with Cipher Block Chaining'}, {'value'=>'aes192-cbc', 'optional'=>'yes', 'help-string'=>'AES 192 bit cipher with Cipher Block Chaining'}, {'value'=>'aes256-cbc', 'optional'=>'yes', 'help-string'=>'AES 256 bit cipher with Cipher Block Chaining'}, {'value'=>'aes128-ctr', 'optional'=>'yes', 'help-string'=>'AES 128 bit cipher with Counter Mode'}, {'value'=>'aes192-ctr', 'optional'=>'yes', 'help-string'=>'AES 192 bit cipher with Counter Mode'}, {'value'=>'aes256-ctr', 'optional'=>'yes', 'help-string'=>'AES 256 bit cipher with Counter Mode'}, {'value'=>'aes128-gcm', 'optional'=>'yes', 'help-string'=>'AES 128 bit cipher with GCM'}, {'value'=>'aes256-gcm', 'optional'=>'yes', 'help-string'=>'AES 256 bit cipher with GCM'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def ciphers maybe_register_subclass('ciphers', Ciphers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Mac < XML::ConfigClass def has_multiple_values?; true; end def _section :mac end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'hmac-sha2-256', 'enum'=>[{'value'=>'hmac-sha1', 'optional'=>'yes', 'help-string'=>'MAC with SHA1 cryptographic hash'}, {'value'=>'hmac-sha2-256', 'optional'=>'yes', 'help-string'=>'MAC with SHA2-256 cryptographic hash'}, {'value'=>'hmac-sha2-512', 'optional'=>'yes', 'help-string'=>'MAC with SHA2-512 cryptographic hash'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def mac maybe_register_subclass('mac', Mac.new(parent_instance: self, client: @client, create_children: @create_children)) end class Kex < XML::ConfigClass def has_multiple_values?; true; end def _section :kex end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'diffie-hellman-group14-sha1', 'enum'=>[{'value'=>'diffie-hellman-group14-sha1', 'help-string'=>'Diffie Hellman group 14 with SHA1 hash'}, {'value'=>'ecdh-sha2-nistp256', 'help-string'=>'Elliptic Curve Diffie Hellman over NIST P-256 with SHA2-256 hash'}, {'value'=>'ecdh-sha2-nistp384', 'help-string'=>'Elliptic Curve Diffie Hellman over NIST P-384 with SHA2-384 hash'}, {'value'=>'ecdh-sha2-nistp521', 'help-string'=>'Elliptic Curve Diffie Hellman over NIST P-521 with SHA2-521 hash'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def kex maybe_register_subclass('kex', Kex.new(parent_instance: self, client: @client, create_children: @create_children)) end class DefaultHostkey < ConfigClass def has_multiple_values?; false; end def _section :'default-hostkey' end class KeyType < XML::ConfigClass def has_multiple_values?; true; end def _section :'key-type' end class All < ConfigClass def has_multiple_values?; false; end def _section :all end @props = {} end def all @subclasses['all'] ||= All.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'ECDSA'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'256', 'help-string'=>'ECDSA key', 'enum'=>[{'value'=>'256', 'help-string'=>'ECDSA key of length 256'}, {'value'=>'384', 'help-string'=>'ECDSA key of length 384'}, {'value'=>'521', 'help-string'=>'ECDSA key of length 521'}]}, 'RSA'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'2048', 'help-string'=>'RSA key', 'enum'=>[{'value'=>'2048', 'help-string'=>'RSA key of length 2048'}, {'value'=>'3072', 'help-string'=>'RSA key of length 3072'}, {'value'=>'4096', 'help-string'=>'RSA key of length 4096'}]}} # ECDSA key def ECDSA prop_get('ECDSA') end # ECDSA key def ECDSA=(val) prop_set('ECDSA', val) end # RSA key def RSA prop_get('RSA') end # RSA key def RSA=(val) prop_set('RSA', val) end end def key_type maybe_register_subclass('key-type', KeyType.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def default_hostkey @subclasses['default-hostkey'] ||= DefaultHostkey.new(parent_instance: self, client: @client, create_children: @create_children) end class SessionRekey < ConfigClass def has_multiple_values?; false; end def _section :'session-rekey' end @props = {'data'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'default', 'help-string'=>'Set the data to be transmitted between each ssh rekeying', 'multi-types'=>{'rangedint'=>{'min'=>'10', 'max'=>'4000', 'help-string'=>'Maximum data in Megabytes to be transmitted between each rekeying'}, 'enum'=>[{'value'=>'default', 'help-string'=>'Set the default to cipher based rekeying, which is between 1GB to 4GB'}]}}, 'interval'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'default', 'help-string'=>'Set the time interval between each ssh rekeying', 'multi-types'=>{'rangedint'=>{'min'=>'10', 'max'=>'3600', 'help-string'=>'Maximum time interval in seconds between each rekeying'}, 'enum'=>[{'value'=>'default', 'help-string'=>'Set the default to no time based rekeying'}]}}, 'packets'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'default', 'help-string'=>'Set the number of packets to be transmitted between each ssh rekeying', 'multi-types'=>{'rangedint'=>{'min'=>'12', 'max'=>'27', 'help-string'=>'Maximum number of packets (2^n) to be transmitted between rekeying'}, 'enum'=>[{'value'=>'default', 'help-string'=>'Set the default number of packets (2^28)'}]}}} # Set the data to be transmitted between each ssh rekeying def data prop_get('data') end # Set the data to be transmitted between each ssh rekeying def data=(val) prop_set('data', val) end # Set the time interval between each ssh rekeying def interval prop_get('interval') end # Set the time interval between each ssh rekeying def interval=(val) prop_set('interval', val) end # Set the number of packets to be transmitted between each ssh rekeying def packets prop_get('packets') end # Set the number of packets to be transmitted between each ssh rekeying def packets=(val) prop_set('packets', val) end end def session_rekey @subclasses['session-rekey'] ||= SessionRekey.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string begin with letter: [0-9a-zA-Z._-]', 'regex'=>'^[a-zA-Z]{1}[0-9a-zA-Z._-]*$'}} # alphanumeric string begin with letter: [0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server_profiles maybe_register_subclass('server-profiles', ServerProfiles.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def mgmt_profiles @subclasses['mgmt-profiles'] ||= MgmtProfiles.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def profiles @subclasses['profiles'] ||= Profiles.new(parent_instance: self, client: @client, create_children: @create_children) end class Ha < ConfigClass def has_multiple_values?; false; end def _section :ha end @props = {'ha-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'HA profile to be used by HA SSH'}} # HA profile to be used by HA SSH def ha_profile prop_get('ha-profile') end # HA profile to be used by HA SSH def ha_profile=(val) prop_set('ha-profile', val) end end def ha @subclasses['ha'] ||= Ha.new(parent_instance: self, client: @client, create_children: @create_children) end class Mgmt < ConfigClass def has_multiple_values?; false; end def _section :mgmt end @props = {'server-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'Mgmt profile to be used by Mgmt SSH Server'}} # Mgmt profile to be used by Mgmt SSH Server def server_profile prop_get('server-profile') end # Mgmt profile to be used by Mgmt SSH Server def server_profile=(val) prop_set('server-profile', val) end end def mgmt @subclasses['mgmt'] ||= Mgmt.new(parent_instance: self, client: @client, create_children: @create_children) end class RegenerateHostkeys < ConfigClass def has_multiple_values?; false; end def _section :'regenerate-hostkeys' end class Ha < ConfigClass def has_multiple_values?; false; end def _section :ha end class KeyType < XML::ConfigClass def has_multiple_values?; true; end def _section :'key-type' end class ECDSA < ConfigClass def has_multiple_values?; false; end def _section :ECDSA end @props = {'key-length'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'256', 'help-string'=>'Length of SSH key', 'enum'=>[{'value'=>'256', 'help-string'=>'ECDSA key of length 256'}, {'value'=>'384', 'help-string'=>'ECDSA key of length 384'}, {'value'=>'521', 'help-string'=>'ECDSA key of length 521'}]}} # Length of SSH key def key_length prop_get('key-length') end # Length of SSH key def key_length=(val) prop_set('key-length', val) end end def ECDSA @subclasses['ECDSA'] ||= ECDSA.new(parent_instance: self, client: @client, create_children: @create_children) end class RSA < ConfigClass def has_multiple_values?; false; end def _section :RSA end @props = {'key-length'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'2048', 'help-string'=>'Length of SSH key', 'enum'=>[{'value'=>'2048', 'help-string'=>'RSA key of length 2048'}, {'value'=>'3072', 'help-string'=>'RSA key of length 3072'}, {'value'=>'4096', 'help-string'=>'RSA key of length 4096'}]}} # Length of SSH key def key_length prop_get('key-length') end # Length of SSH key def key_length=(val) prop_set('key-length', val) end end def RSA @subclasses['RSA'] ||= RSA.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def key_type maybe_register_subclass('key-type', KeyType.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def ha @subclasses['ha'] ||= Ha.new(parent_instance: self, client: @client, create_children: @create_children) end class Mgmt < ConfigClass def has_multiple_values?; false; end def _section :mgmt end class KeyType < XML::ConfigClass def has_multiple_values?; true; end def _section :'key-type' end class ECDSA < ConfigClass def has_multiple_values?; false; end def _section :ECDSA end @props = {'key-length'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'256', 'help-string'=>'Length of SSH key', 'enum'=>[{'value'=>'256', 'help-string'=>'ECDSA key of length 256'}, {'value'=>'384', 'help-string'=>'ECDSA key of length 384'}, {'value'=>'521', 'help-string'=>'ECDSA key of length 521'}]}} # Length of SSH key def key_length prop_get('key-length') end # Length of SSH key def key_length=(val) prop_set('key-length', val) end end def ECDSA @subclasses['ECDSA'] ||= ECDSA.new(parent_instance: self, client: @client, create_children: @create_children) end class RSA < ConfigClass def has_multiple_values?; false; end def _section :RSA end @props = {'key-length'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'2048', 'help-string'=>'Length of SSH key', 'enum'=>[{'value'=>'2048', 'help-string'=>'RSA key of length 2048'}, {'value'=>'3072', 'help-string'=>'RSA key of length 3072'}, {'value'=>'4096', 'help-string'=>'RSA key of length 4096'}]}} # Length of SSH key def key_length prop_get('key-length') end # Length of SSH key def key_length=(val) prop_set('key-length', val) end end def RSA @subclasses['RSA'] ||= RSA.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def key_type maybe_register_subclass('key-type', KeyType.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def mgmt @subclasses['mgmt'] ||= Mgmt.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def regenerate_hostkeys @subclasses['regenerate-hostkeys'] ||= RegenerateHostkeys.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ssh @subclasses['ssh'] ||= Ssh.new(parent_instance: self, client: @client, create_children: @create_children) end class DeviceTelemetry < ConfigClass def has_multiple_values?; false; end def _section :'device-telemetry' end @props = {'product-usage'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'device-health-performance'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'threat-prevention'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'region'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'128', 'help-string'=>'region name to send telemetry data', 'complete-handler'=>'device-telemetry-region-completer'}} def product_usage prop_get('product-usage') end def product_usage=(val) prop_set('product-usage', val) end def device_health_performance prop_get('device-health-performance') end def device_health_performance=(val) prop_set('device-health-performance', val) end def threat_prevention prop_get('threat-prevention') end def threat_prevention=(val) prop_set('threat-prevention', val) end # region name to send telemetry data def region prop_get('region') end # region name to send telemetry data def region=(val) prop_set('region', val) end end def device_telemetry @subclasses['device-telemetry'] ||= DeviceTelemetry.new(parent_instance: self, client: @client, create_children: @create_children) end class SnmpSetting < ConfigClass def has_multiple_values?; false; end def _section :'snmp-setting' end class SnmpSystem < ConfigClass def has_multiple_values?; false; end def _section :'snmp-system' end @props = {'location'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'256', 'help-string'=>'System location'}, 'contact'=>{'node-type'=>'element', 'optional'=>'yes', 'maxlen'=>'256', 'type'=>'string', 'help-string'=>'Contact information'}, 'send-event-specific-traps'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Use Event-specific Trap Definitions'}} # System location def location prop_get('location') end # System location def location=(val) prop_set('location', val) end # Contact information def contact prop_get('contact') end # Contact information def contact=(val) prop_set('contact', val) end # Use Event-specific Trap Definitions def send_event_specific_traps prop_get('send-event-specific-traps') end # Use Event-specific Trap Definitions def send_event_specific_traps=(val) prop_set('send-event-specific-traps', val) end end def snmp_system @subclasses['snmp-system'] ||= SnmpSystem.new(parent_instance: self, client: @client, create_children: @create_children) end class AccessSetting < ConfigClass def has_multiple_values?; false; end def _section :'access-setting' end class Version < XML::ConfigClass def has_multiple_values?; true; end def _section :version end class V2c < ConfigClass def has_multiple_values?; false; end def _section :v2c end @props = {'snmp-community-string'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'default'=>'public', 'maxlen'=>'255', 'help-string'=>'SNMP Community String'}} # SNMP Community String def snmp_community_string prop_get('snmp-community-string') end # SNMP Community String def snmp_community_string=(val) prop_set('snmp-community-string', val) end end def v2c @subclasses['v2c'] ||= V2c.new(parent_instance: self, client: @client, create_children: @create_children) end class V3 < ConfigClass def has_multiple_values?; false; end def _section :v3 end class Views < XML::ConfigClass def has_multiple_values?; true; end def _section :views end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class View < XML::ConfigClass def has_multiple_values?; true; end def _section :view end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'regex'=>'^[a-zA-Z0-9_-]+$', 'help-string'=>'Oid subtree name'}, 'oid'=>{'node-type'=>'element', 'maxlen'=>'255', 'type'=>'string', 'regex'=>'^[0-9\.]+$', 'help-string'=>'Oid of a mib node'}, 'option'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'include'}, {'value'=>'exclude'}]}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'maxlen'=>'255', 'type'=>'string', 'regex'=>'^0+[xX][0-9a-fA-F:.]+$', 'help-string'=>'Subtree mask in hex'}} # Oid subtree name def name prop_get('@name') end # Oid of a mib node def oid prop_get('oid') end # Oid of a mib node def oid=(val) prop_set('oid', val) end def option prop_get('option') end def option=(val) prop_set('option', val) end # Subtree mask in hex def mask prop_get('mask') end # Subtree mask in hex def mask=(val) prop_set('mask', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def view maybe_register_subclass('view', View.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'regex'=>'^[^ ]+$', 'help-string'=>'View name'}} # View name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def views maybe_register_subclass('views', Views.new(parent_instance: self, client: @client, create_children: @create_children)) end class Users < XML::ConfigClass def has_multiple_values?; true; end def _section :users end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'31', 'help-string'=>'User name'}, 'view'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Snmp View Name'}, 'authpwd'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'8', 'maxlen'=>'256', 'encrypt'=>'yes', 'help-string'=>'Authentication Protocol Password'}, 'privpwd'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'8', 'maxlen'=>'256', 'encrypt'=>'yes', 'help-string'=>'Privacy Protocol Password'}, 'authproto'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'SHA', 'help-string'=>'Authentication Protocol', 'enum'=>[{'value'=>'SHA'}, {'value'=>'SHA-224'}, {'value'=>'SHA-256'}, {'value'=>'SHA-384'}, {'value'=>'SHA-512'}]}, 'privproto'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'AES', 'help-string'=>'Privacy Protocol', 'enum'=>[{'value'=>'AES'}, {'value'=>'AES-192'}, {'value'=>'AES-256'}]}} # User name def name prop_get('@name') end # Snmp View Name def view prop_get('view') end # Snmp View Name def view=(val) prop_set('view', val) end # Authentication Protocol Password def authpwd prop_get('authpwd') end # Authentication Protocol Password def authpwd=(val) prop_set('authpwd', val) end # Privacy Protocol Password def privpwd prop_get('privpwd') end # Privacy Protocol Password def privpwd=(val) prop_set('privpwd', val) end # Authentication Protocol def authproto prop_get('authproto') end # Authentication Protocol def authproto=(val) prop_set('authproto', val) end # Privacy Protocol def privproto prop_get('privproto') end # Privacy Protocol def privproto=(val) prop_set('privproto', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def users maybe_register_subclass('users', Users.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def v3 @subclasses['v3'] ||= V3.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def version maybe_register_subclass('version', Version.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def access_setting @subclasses['access-setting'] ||= AccessSetting.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def snmp_setting @subclasses['snmp-setting'] ||= SnmpSetting.new(parent_instance: self, client: @client, create_children: @create_children) end class GeoLocation < ConfigClass def has_multiple_values?; false; end def _section :'geo-location' end @props = {'latitude'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^-?[0-9]+([.][0-9]+)?$', 'help-string'=>'latitude coordinate'}, 'longitude'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^-?[0-9]+([.][0-9]+)?$', 'help-string'=>'longitude coordinate'}} # latitude coordinate def latitude prop_get('latitude') end # latitude coordinate def latitude=(val) prop_set('latitude', val) end # longitude coordinate def longitude prop_get('longitude') end # longitude coordinate def longitude=(val) prop_set('longitude', val) end end def geo_location @subclasses['geo-location'] ||= GeoLocation.new(parent_instance: self, client: @client, create_children: @create_children) end class Service < ConfigClass def has_multiple_values?; false; end def _section :service end @props = {'disable-http'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'disable-https'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'disable-telnet'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'disable-ssh'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'disable-icmp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'disable-snmp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'disable-userid-service'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'disable-userid-syslog-listener-ssl'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'disable-userid-syslog-listener-udp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'prune-on'=>'fips-mode'}, 'disable-http-ocsp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}} def disable_http prop_get('disable-http') end def disable_http=(val) prop_set('disable-http', val) end def disable_https prop_get('disable-https') end def disable_https=(val) prop_set('disable-https', val) end def disable_telnet prop_get('disable-telnet') end def disable_telnet=(val) prop_set('disable-telnet', val) end def disable_ssh prop_get('disable-ssh') end def disable_ssh=(val) prop_set('disable-ssh', val) end def disable_icmp prop_get('disable-icmp') end def disable_icmp=(val) prop_set('disable-icmp', val) end def disable_snmp prop_get('disable-snmp') end def disable_snmp=(val) prop_set('disable-snmp', val) end def disable_userid_service prop_get('disable-userid-service') end def disable_userid_service=(val) prop_set('disable-userid-service', val) end def disable_userid_syslog_listener_ssl prop_get('disable-userid-syslog-listener-ssl') end def disable_userid_syslog_listener_ssl=(val) prop_set('disable-userid-syslog-listener-ssl', val) end def disable_userid_syslog_listener_udp prop_get('disable-userid-syslog-listener-udp') end def disable_userid_syslog_listener_udp=(val) prop_set('disable-userid-syslog-listener-udp', val) end def disable_http_ocsp prop_get('disable-http-ocsp') end def disable_http_ocsp=(val) prop_set('disable-http-ocsp', val) end end def service @subclasses['service'] ||= Service.new(parent_instance: self, client: @client, create_children: @create_children) end class PermittedIp < XML::ConfigClass def has_multiple_values?; true; end def _section :'permitted-ip' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'ip address/prefix/Variable Object', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}}}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}} # ip address/prefix/Variable Object def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def permitted_ip maybe_register_subclass('permitted-ip', PermittedIp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Route < ConfigClass def has_multiple_values?; false; end def _section :route end class Service < XML::ConfigClass def has_multiple_values?; true; end def _section :service end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Source < ConfigClass def has_multiple_values?; false; end def _section :source end @props = {'interface'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Source interface to use to reach destination'}, 'address'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Source IP address to use to reach destination'}} # Source interface to use to reach destination def interface prop_get('interface') end # Source interface to use to reach destination def interface=(val) prop_set('interface', val) end # Source IP address to use to reach destination def address prop_get('address') end # Source IP address to use to reach destination def address=(val) prop_set('address', val) end end def source @subclasses['source'] ||= Source.new(parent_instance: self, client: @client, create_children: @create_children) end class SourceV6 < ConfigClass def has_multiple_values?; false; end def _section :'source-v6' end @props = {'interface'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Source interface to use to reach destination'}, 'address'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'96', 'help-string'=>'Source IP address to use to reach destination'}} # Source interface to use to reach destination def interface prop_get('interface') end # Source interface to use to reach destination def interface=(val) prop_set('interface', val) end # Source IP address to use to reach destination def address prop_get('address') end # Source IP address to use to reach destination def address=(val) prop_set('address', val) end end def source_v6 @subclasses['source-v6'] ||= SourceV6.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'Service name'}} # Service name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def service maybe_register_subclass('service', Service.new(parent_instance: self, client: @client, create_children: @create_children)) end class Destination < XML::ConfigClass def has_multiple_values?; true; end def _section :destination end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Source < ConfigClass def has_multiple_values?; false; end def _section :source end @props = {'interface'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Source interface to use to reach destination'}, 'address'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'96', 'help-string'=>'Source IP address to use to reach destination'}} # Source interface to use to reach destination def interface prop_get('interface') end # Source interface to use to reach destination def interface=(val) prop_set('interface', val) end # Source IP address to use to reach destination def address prop_get('address') end # Source IP address to use to reach destination def address=(val) prop_set('address', val) end end def source @subclasses['source'] ||= Source.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'96', 'help-string'=>'Destination IP/FQDN', 'regex'=>'^([$0-9a-zA-Z.:/_-])+$'}} # Destination IP/FQDN def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def destination maybe_register_subclass('destination', Destination.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def route @subclasses['route'] ||= Route.new(parent_instance: self, client: @client, create_children: @create_children) end class LogLink < XML::ConfigClass def has_multiple_values?; true; end def _section :'log-link' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'name of link', 'regex'=>'[0-9a-zA-Z:@./_-]+'}, 'url'=>{'node-type'=>'element', 'optional'=>'yes', 'help-string'=>'URL format of link', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024'}} # name of link def name prop_get('@name') end # URL format of link def url prop_get('url') end # URL format of link def url=(val) prop_set('url', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def log_link maybe_register_subclass('log-link', LogLink.new(parent_instance: self, client: @client, create_children: @create_children)) end class LogExportSchedule < XML::ConfigClass def has_multiple_values?; true; end def _section :'log-export-schedule' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Protocol < XML::ConfigClass def has_multiple_values?; true; end def _section :protocol end class Ftp < ConfigClass def has_multiple_values?; false; end def _section :ftp end @props = {'hostname'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^[$a-zA-Z0-9._-]+$', 'maxlen'=>'63', 'help-string'=>'ftp hostname'}, 'port'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'ftp port'}, 'path'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[\.\+/,\{\}0-9a-zA-Z_-]+$', 'maxlen'=>'255', 'help-string'=>'ftp server path'}, 'username'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'ftp username', 'minlen'=>'1', 'maxlen'=>'255', 'regex'=>'[^\']*'}, 'password'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'ftp password', 'minlen'=>'0', 'maxlen'=>'255', 'regex'=>'[^\']*', 'encrypt'=>'yes'}, 'passive-mode'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Enable FTP Passive Mode'}} # ftp hostname def hostname prop_get('hostname') end # ftp hostname def hostname=(val) prop_set('hostname', val) end # ftp port def port prop_get('port') end # ftp port def port=(val) prop_set('port', val) end # ftp server path def path prop_get('path') end # ftp server path def path=(val) prop_set('path', val) end # ftp username def username prop_get('username') end # ftp username def username=(val) prop_set('username', val) end # ftp password def password prop_get('password') end # ftp password def password=(val) prop_set('password', val) end # Enable FTP Passive Mode def passive_mode prop_get('passive-mode') end # Enable FTP Passive Mode def passive_mode=(val) prop_set('passive-mode', val) end end def ftp @subclasses['ftp'] ||= Ftp.new(parent_instance: self, client: @client, create_children: @create_children) end class Scp < ConfigClass def has_multiple_values?; false; end def _section :scp end @props = {'hostname'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^[$a-zA-Z0-9._-]+$', 'maxlen'=>'63', 'help-string'=>'ftp hostname'}, 'port'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'scp port'}, 'path'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[\.\+/,\{\}0-9a-zA-Z_-]+$', 'maxlen'=>'255', 'help-string'=>'scp server path'}, 'username'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'scp username', 'minlen'=>'1', 'maxlen'=>'255', 'regex'=>'[^\']*'}, 'password'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'scp password', 'minlen'=>'0', 'maxlen'=>'255', 'regex'=>'[^\']*', 'encrypt'=>'yes'}} # ftp hostname def hostname prop_get('hostname') end # ftp hostname def hostname=(val) prop_set('hostname', val) end # scp port def port prop_get('port') end # scp port def port=(val) prop_set('port', val) end # scp server path def path prop_get('path') end # scp server path def path=(val) prop_set('path', val) end # scp username def username prop_get('username') end # scp username def username=(val) prop_set('username', val) end # scp password def password prop_get('password') end # scp password def password=(val) prop_set('password', val) end end def scp @subclasses['scp'] ||= Scp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def protocol maybe_register_subclass('protocol', Protocol.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'Schedule name'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'enable'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes'}, 'log-type'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'traffic'}, {'value'=>'threat'}, {'value'=>'gtp', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420'}, {'value'=>'sctp', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420'}, {'value'=>'tunnel'}, {'value'=>'userid'}, {'value'=>'iptag'}, {'value'=>'auth'}, {'value'=>'url'}, {'value'=>'data'}, {'value'=>'hipmatch'}, {'value'=>'wildfire'}, {'value'=>'decryption'}, {'value'=>'globalprotect'}]}, 'start-time'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3]):([0-5][0-9])', 'minlen'=>'5', 'maxlen'=>'5', 'help-string'=>'Time to start the scheduled export hh:mm (e.g. 03:30)'}} # Schedule name def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end def log_type prop_get('log-type') end def log_type=(val) prop_set('log-type', val) end # Time to start the scheduled export hh:mm (e.g. 03:30) def start_time prop_get('start-time') end # Time to start the scheduled export hh:mm (e.g. 03:30) def start_time=(val) prop_set('start-time', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def log_export_schedule maybe_register_subclass('log-export-schedule', LogExportSchedule.new(parent_instance: self, client: @client, create_children: @create_children)) end class UpdateSchedule < ConfigClass def has_multiple_values?; false; end def _section :'update-schedule' end class StatisticsService < ConfigClass def has_multiple_values?; false; end def _section :'statistics-service' end @props = {'application-reports'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Application Reports'}, 'threat-prevention-reports'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Threat Reports'}, 'threat-prevention-information'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Threat Prevention Information'}, 'threat-prevention-pcap'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Enable sending packet-captures with threat prevention information'}, 'passive-dns-monitoring'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Passive DNS Monitor'}, 'url-reports'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'URL Reports'}, 'health-performance-reports'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Health and Performance Reports'}, 'file-identification-reports'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'File Type Identification Reports'}} # Application Reports def application_reports prop_get('application-reports') end # Application Reports def application_reports=(val) prop_set('application-reports', val) end # Threat Reports def threat_prevention_reports prop_get('threat-prevention-reports') end # Threat Reports def threat_prevention_reports=(val) prop_set('threat-prevention-reports', val) end # Threat Prevention Information def threat_prevention_information prop_get('threat-prevention-information') end # Threat Prevention Information def threat_prevention_information=(val) prop_set('threat-prevention-information', val) end # Enable sending packet-captures with threat prevention information def threat_prevention_pcap prop_get('threat-prevention-pcap') end # Enable sending packet-captures with threat prevention information def threat_prevention_pcap=(val) prop_set('threat-prevention-pcap', val) end # Passive DNS Monitor def passive_dns_monitoring prop_get('passive-dns-monitoring') end # Passive DNS Monitor def passive_dns_monitoring=(val) prop_set('passive-dns-monitoring', val) end # URL Reports def url_reports prop_get('url-reports') end # URL Reports def url_reports=(val) prop_set('url-reports', val) end # Health and Performance Reports def health_performance_reports prop_get('health-performance-reports') end # Health and Performance Reports def health_performance_reports=(val) prop_set('health-performance-reports', val) end # File Type Identification Reports def file_identification_reports prop_get('file-identification-reports') end # File Type Identification Reports def file_identification_reports=(val) prop_set('file-identification-reports', val) end end def statistics_service @subclasses['statistics-service'] ||= StatisticsService.new(parent_instance: self, client: @client, create_children: @create_children) end class Threats < ConfigClass def has_multiple_values?; false; end def _section :threats end class Recurring < ConfigClass def has_multiple_values?; false; end def _section :recurring end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end class Every30Mins < ConfigClass def has_multiple_values?; false; end def _section :'every-30-mins' end @props = {'at'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'29', 'help-string'=>'Minutes past half-hour'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'download-only', 'help-string'=>'Download but do not install'}, {'value'=>'download-and-install', 'help-string'=>'Download and install'}]}, 'disable-new-content'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'help-string'=>'Disable new applications after installation'}} # Minutes past half-hour def at prop_get('at') end # Minutes past half-hour def at=(val) prop_set('at', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # Disable new applications after installation def disable_new_content prop_get('disable-new-content') end # Disable new applications after installation def disable_new_content=(val) prop_set('disable-new-content', val) end end def every_30_mins @subclasses['every-30-mins'] ||= Every30Mins.new(parent_instance: self, client: @client, create_children: @create_children) end class Hourly < ConfigClass def has_multiple_values?; false; end def _section :hourly end @props = {'at'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'59', 'help-string'=>'Minutes past hour'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'download-only', 'help-string'=>'Download but do not install'}, {'value'=>'download-and-install', 'help-string'=>'Download and install'}]}, 'disable-new-content'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'help-string'=>'Disable new applications after installation'}} # Minutes past hour def at prop_get('at') end # Minutes past hour def at=(val) prop_set('at', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # Disable new applications after installation def disable_new_content prop_get('disable-new-content') end # Disable new applications after installation def disable_new_content=(val) prop_set('disable-new-content', val) end end def hourly @subclasses['hourly'] ||= Hourly.new(parent_instance: self, client: @client, create_children: @create_children) end class Daily < ConfigClass def has_multiple_values?; false; end def _section :daily end @props = {'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3]):([0-5][0-9])', 'minlen'=>'5', 'maxlen'=>'5', 'help-string'=>'Time specification hh:mm (e.g. 20:10)'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'download-only', 'help-string'=>'Download but do not install'}, {'value'=>'download-and-install', 'help-string'=>'Download and install'}]}, 'disable-new-content'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'help-string'=>'Disable new applications after installation'}} # Time specification hh:mm (e.g. 20:10) def at prop_get('at') end # Time specification hh:mm (e.g. 20:10) def at=(val) prop_set('at', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # Disable new applications after installation def disable_new_content prop_get('disable-new-content') end # Disable new applications after installation def disable_new_content=(val) prop_set('disable-new-content', val) end end def daily @subclasses['daily'] ||= Daily.new(parent_instance: self, client: @client, create_children: @create_children) end class Weekly < ConfigClass def has_multiple_values?; false; end def _section :weekly end @props = {'day-of-week'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'sunday'}, {'value'=>'monday'}, {'value'=>'tuesday'}, {'value'=>'wednesday'}, {'value'=>'thursday'}, {'value'=>'friday'}, {'value'=>'saturday'}]}, 'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3]):([0-5][0-9])', 'minlen'=>'5', 'maxlen'=>'5', 'help-string'=>'Time specification hh:mm (e.g. 20:10)'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'download-only', 'help-string'=>'Download but do not install'}, {'value'=>'download-and-install', 'help-string'=>'Download and install'}]}, 'disable-new-content'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'help-string'=>'Disable new applications after installation'}} def day_of_week prop_get('day-of-week') end def day_of_week=(val) prop_set('day-of-week', val) end # Time specification hh:mm (e.g. 20:10) def at prop_get('at') end # Time specification hh:mm (e.g. 20:10) def at=(val) prop_set('at', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # Disable new applications after installation def disable_new_content prop_get('disable-new-content') end # Disable new applications after installation def disable_new_content=(val) prop_set('disable-new-content', val) end end def weekly @subclasses['weekly'] ||= Weekly.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'threshold'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'336', 'help-string'=>'ignore if release date is new (hours)'}, 'new-app-threshold'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'336', 'help-string'=>'ignore new apps if release date is new (hours)'}, 'sync-to-peer'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'help-string'=>'Synchronize content with HA peer after download/install'}} # ignore if release date is new (hours) def threshold prop_get('threshold') end # ignore if release date is new (hours) def threshold=(val) prop_set('threshold', val) end # ignore new apps if release date is new (hours) def new_app_threshold prop_get('new-app-threshold') end # ignore new apps if release date is new (hours) def new_app_threshold=(val) prop_set('new-app-threshold', val) end # Synchronize content with HA peer after download/install def sync_to_peer prop_get('sync-to-peer') end # Synchronize content with HA peer after download/install def sync_to_peer=(val) prop_set('sync-to-peer', val) end end def recurring @subclasses['recurring'] ||= Recurring.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def threats @subclasses['threats'] ||= Threats.new(parent_instance: self, client: @client, create_children: @create_children) end class AppProfile < ConfigClass def has_multiple_values?; false; end def _section :'app-profile' end class Recurring < ConfigClass def has_multiple_values?; false; end def _section :recurring end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end class Daily < ConfigClass def has_multiple_values?; false; end def _section :daily end @props = {'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3]):([0-5][0-9])', 'minlen'=>'5', 'maxlen'=>'5', 'help-string'=>'Time specification hh:mm (e.g. 20:10)'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'download-only', 'help-string'=>'Download but do not install'}, {'value'=>'download-and-install', 'help-string'=>'Download and install'}]}} # Time specification hh:mm (e.g. 20:10) def at prop_get('at') end # Time specification hh:mm (e.g. 20:10) def at=(val) prop_set('at', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end end def daily @subclasses['daily'] ||= Daily.new(parent_instance: self, client: @client, create_children: @create_children) end class Weekly < ConfigClass def has_multiple_values?; false; end def _section :weekly end @props = {'day-of-week'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'sunday'}, {'value'=>'monday'}, {'value'=>'tuesday'}, {'value'=>'wednesday'}, {'value'=>'thursday'}, {'value'=>'friday'}, {'value'=>'saturday'}]}, 'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3]):([0-5][0-9])', 'minlen'=>'5', 'maxlen'=>'5', 'help-string'=>'Time specification hh:mm (e.g. 20:10)'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'download-only', 'help-string'=>'Download but do not install'}, {'value'=>'download-and-install', 'help-string'=>'Download and install'}]}} def day_of_week prop_get('day-of-week') end def day_of_week=(val) prop_set('day-of-week', val) end # Time specification hh:mm (e.g. 20:10) def at prop_get('at') end # Time specification hh:mm (e.g. 20:10) def at=(val) prop_set('at', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end end def weekly @subclasses['weekly'] ||= Weekly.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'threshold'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'336', 'help-string'=>'ignore if release date is new (hours)'}, 'sync-to-peer'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'help-string'=>'Synchronize content with HA peer after download/install'}} # ignore if release date is new (hours) def threshold prop_get('threshold') end # ignore if release date is new (hours) def threshold=(val) prop_set('threshold', val) end # Synchronize content with HA peer after download/install def sync_to_peer prop_get('sync-to-peer') end # Synchronize content with HA peer after download/install def sync_to_peer=(val) prop_set('sync-to-peer', val) end end def recurring @subclasses['recurring'] ||= Recurring.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def app_profile @subclasses['app-profile'] ||= AppProfile.new(parent_instance: self, client: @client, create_children: @create_children) end class AntiVirus < ConfigClass def has_multiple_values?; false; end def _section :'anti-virus' end class Recurring < ConfigClass def has_multiple_values?; false; end def _section :recurring end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end class Hourly < ConfigClass def has_multiple_values?; false; end def _section :hourly end @props = {'at'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'59', 'help-string'=>'Minutes past hour'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'download-only', 'help-string'=>'Download but do not install'}, {'value'=>'download-and-install', 'help-string'=>'Download and install'}]}} # Minutes past hour def at prop_get('at') end # Minutes past hour def at=(val) prop_set('at', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end end def hourly @subclasses['hourly'] ||= Hourly.new(parent_instance: self, client: @client, create_children: @create_children) end class Daily < ConfigClass def has_multiple_values?; false; end def _section :daily end @props = {'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3]):([0-5][0-9])', 'minlen'=>'5', 'maxlen'=>'5', 'help-string'=>'Time specification hh:mm (e.g. 20:10)'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'download-only', 'help-string'=>'Download but do not install'}, {'value'=>'download-and-install', 'help-string'=>'Download and install'}]}} # Time specification hh:mm (e.g. 20:10) def at prop_get('at') end # Time specification hh:mm (e.g. 20:10) def at=(val) prop_set('at', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end end def daily @subclasses['daily'] ||= Daily.new(parent_instance: self, client: @client, create_children: @create_children) end class Weekly < ConfigClass def has_multiple_values?; false; end def _section :weekly end @props = {'day-of-week'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'sunday'}, {'value'=>'monday'}, {'value'=>'tuesday'}, {'value'=>'wednesday'}, {'value'=>'thursday'}, {'value'=>'friday'}, {'value'=>'saturday'}]}, 'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3]):([0-5][0-9])', 'minlen'=>'5', 'maxlen'=>'5', 'help-string'=>'Time specification hh:mm (e.g. 20:10)'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'download-only', 'help-string'=>'Download but do not install'}, {'value'=>'download-and-install', 'help-string'=>'Download and install'}]}} def day_of_week prop_get('day-of-week') end def day_of_week=(val) prop_set('day-of-week', val) end # Time specification hh:mm (e.g. 20:10) def at prop_get('at') end # Time specification hh:mm (e.g. 20:10) def at=(val) prop_set('at', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end end def weekly @subclasses['weekly'] ||= Weekly.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'threshold'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'336', 'help-string'=>'ignore if release date is new (hours)'}, 'sync-to-peer'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'help-string'=>'Synchronize content with HA peer after download/install'}} # ignore if release date is new (hours) def threshold prop_get('threshold') end # ignore if release date is new (hours) def threshold=(val) prop_set('threshold', val) end # Synchronize content with HA peer after download/install def sync_to_peer prop_get('sync-to-peer') end # Synchronize content with HA peer after download/install def sync_to_peer=(val) prop_set('sync-to-peer', val) end end def recurring @subclasses['recurring'] ||= Recurring.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def anti_virus @subclasses['anti-virus'] ||= AntiVirus.new(parent_instance: self, client: @client, create_children: @create_children) end class Wildfire < ConfigClass def has_multiple_values?; false; end def _section :wildfire end class Recurring < ConfigClass def has_multiple_values?; false; end def _section :recurring end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end class RealTime < ConfigClass def has_multiple_values?; false; end def _section :'real-time' end @props = {} end def real_time @subclasses['real-time'] ||= RealTime.new(parent_instance: self, client: @client, create_children: @create_children) end class EveryMin < ConfigClass def has_multiple_values?; false; end def _section :'every-min' end @props = {'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'download-only', 'help-string'=>'Download but do not install'}, {'value'=>'download-and-install', 'help-string'=>'Download and install'}]}, 'sync-to-peer'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'help-string'=>'Synchronize content with HA peer after download/install'}} def action prop_get('action') end def action=(val) prop_set('action', val) end # Synchronize content with HA peer after download/install def sync_to_peer prop_get('sync-to-peer') end # Synchronize content with HA peer after download/install def sync_to_peer=(val) prop_set('sync-to-peer', val) end end def every_min @subclasses['every-min'] ||= EveryMin.new(parent_instance: self, client: @client, create_children: @create_children) end class Every15Mins < ConfigClass def has_multiple_values?; false; end def _section :'every-15-mins' end @props = {'at'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'14', 'help-string'=>'Minutes past quarter-hour'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'download-only', 'help-string'=>'Download but do not install'}, {'value'=>'download-and-install', 'help-string'=>'Download and install'}]}, 'sync-to-peer'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'help-string'=>'Synchronize content with HA peer after download/install'}} # Minutes past quarter-hour def at prop_get('at') end # Minutes past quarter-hour def at=(val) prop_set('at', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # Synchronize content with HA peer after download/install def sync_to_peer prop_get('sync-to-peer') end # Synchronize content with HA peer after download/install def sync_to_peer=(val) prop_set('sync-to-peer', val) end end def every_15_mins @subclasses['every-15-mins'] ||= Every15Mins.new(parent_instance: self, client: @client, create_children: @create_children) end class Every30Mins < ConfigClass def has_multiple_values?; false; end def _section :'every-30-mins' end @props = {'at'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'29', 'help-string'=>'Minutes past half-hour'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'download-only', 'help-string'=>'Download but do not install'}, {'value'=>'download-and-install', 'help-string'=>'Download and install'}]}, 'sync-to-peer'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'help-string'=>'Synchronize content with HA peer after download/install'}} # Minutes past half-hour def at prop_get('at') end # Minutes past half-hour def at=(val) prop_set('at', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # Synchronize content with HA peer after download/install def sync_to_peer prop_get('sync-to-peer') end # Synchronize content with HA peer after download/install def sync_to_peer=(val) prop_set('sync-to-peer', val) end end def every_30_mins @subclasses['every-30-mins'] ||= Every30Mins.new(parent_instance: self, client: @client, create_children: @create_children) end class EveryHour < ConfigClass def has_multiple_values?; false; end def _section :'every-hour' end @props = {'at'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'59', 'help-string'=>'Minutes past hour'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'download-only', 'help-string'=>'Download but do not install'}, {'value'=>'download-and-install', 'help-string'=>'Download and install'}]}, 'sync-to-peer'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'help-string'=>'Synchronize content with HA peer after download/install'}} # Minutes past hour def at prop_get('at') end # Minutes past hour def at=(val) prop_set('at', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # Synchronize content with HA peer after download/install def sync_to_peer prop_get('sync-to-peer') end # Synchronize content with HA peer after download/install def sync_to_peer=(val) prop_set('sync-to-peer', val) end end def every_hour @subclasses['every-hour'] ||= EveryHour.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def recurring @subclasses['recurring'] ||= Recurring.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def wildfire @subclasses['wildfire'] ||= Wildfire.new(parent_instance: self, client: @client, create_children: @create_children) end class WfPrivate < ConfigClass def has_multiple_values?; false; end def _section :'wf-private' end class Recurring < ConfigClass def has_multiple_values?; false; end def _section :recurring end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end class Every5Mins < ConfigClass def has_multiple_values?; false; end def _section :'every-5-mins' end @props = {'at'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4', 'help-string'=>'Minutes Past five minutes'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'download-only', 'help-string'=>'Download but do not install'}, {'value'=>'download-and-install', 'help-string'=>'Download and install'}]}} # Minutes Past five minutes def at prop_get('at') end # Minutes Past five minutes def at=(val) prop_set('at', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end end def every_5_mins @subclasses['every-5-mins'] ||= Every5Mins.new(parent_instance: self, client: @client, create_children: @create_children) end class Every15Mins < ConfigClass def has_multiple_values?; false; end def _section :'every-15-mins' end @props = {'at'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'14', 'help-string'=>'Minutes Past Quarter-Hour'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'download-only', 'help-string'=>'Download but do not install'}, {'value'=>'download-and-install', 'help-string'=>'Download and install'}]}} # Minutes Past Quarter-Hour def at prop_get('at') end # Minutes Past Quarter-Hour def at=(val) prop_set('at', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end end def every_15_mins @subclasses['every-15-mins'] ||= Every15Mins.new(parent_instance: self, client: @client, create_children: @create_children) end class Every30Mins < ConfigClass def has_multiple_values?; false; end def _section :'every-30-mins' end @props = {'at'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'29', 'help-string'=>'Minutes Past Half-Hour'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'download-only', 'help-string'=>'Download but do not install'}, {'value'=>'download-and-install', 'help-string'=>'Download and install'}]}} # Minutes Past Half-Hour def at prop_get('at') end # Minutes Past Half-Hour def at=(val) prop_set('at', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end end def every_30_mins @subclasses['every-30-mins'] ||= Every30Mins.new(parent_instance: self, client: @client, create_children: @create_children) end class EveryHour < ConfigClass def has_multiple_values?; false; end def _section :'every-hour' end @props = {'at'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'59', 'help-string'=>'Minutes Past Hour'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'download-only', 'help-string'=>'Download but do not install'}, {'value'=>'download-and-install', 'help-string'=>'Download and install'}]}} # Minutes Past Hour def at prop_get('at') end # Minutes Past Hour def at=(val) prop_set('at', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end end def every_hour @subclasses['every-hour'] ||= EveryHour.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'sync-to-peer'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'help-string'=>'Synchronize content with HA peer after download/install'}} # Synchronize content with HA peer after download/install def sync_to_peer prop_get('sync-to-peer') end # Synchronize content with HA peer after download/install def sync_to_peer=(val) prop_set('sync-to-peer', val) end end def recurring @subclasses['recurring'] ||= Recurring.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def wf_private @subclasses['wf-private'] ||= WfPrivate.new(parent_instance: self, client: @client, create_children: @create_children) end class GlobalProtectClientlessVpn < ConfigClass def has_multiple_values?; false; end def _section :'global-protect-clientless-vpn' end class Recurring < ConfigClass def has_multiple_values?; false; end def _section :recurring end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end class Hourly < ConfigClass def has_multiple_values?; false; end def _section :hourly end @props = {'at'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'59', 'help-string'=>'Minutes past hour'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'download-and-install', 'help-string'=>'Download and install'}, {'value'=>'download-only', 'help-string'=>'Download but do not install'}]}} # Minutes past hour def at prop_get('at') end # Minutes past hour def at=(val) prop_set('at', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end end def hourly @subclasses['hourly'] ||= Hourly.new(parent_instance: self, client: @client, create_children: @create_children) end class Daily < ConfigClass def has_multiple_values?; false; end def _section :daily end @props = {'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3]):([0-5][0-9])', 'minlen'=>'5', 'maxlen'=>'5', 'help-string'=>'Time specification hh:mm (e.g. 20:10)'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'download-and-install', 'help-string'=>'Download and install'}, {'value'=>'download-only', 'help-string'=>'Download but do not install'}]}} # Time specification hh:mm (e.g. 20:10) def at prop_get('at') end # Time specification hh:mm (e.g. 20:10) def at=(val) prop_set('at', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end end def daily @subclasses['daily'] ||= Daily.new(parent_instance: self, client: @client, create_children: @create_children) end class Weekly < ConfigClass def has_multiple_values?; false; end def _section :weekly end @props = {'day-of-week'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'sunday'}, {'value'=>'monday'}, {'value'=>'tuesday'}, {'value'=>'wednesday'}, {'value'=>'thursday'}, {'value'=>'friday'}, {'value'=>'saturday'}]}, 'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3]):([0-5][0-9])', 'minlen'=>'5', 'maxlen'=>'5', 'help-string'=>'Time specification hh:mm (e.g. 20:10)'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'download-and-install', 'help-string'=>'Download and install'}, {'value'=>'download-only', 'help-string'=>'Download but do not install'}]}} def day_of_week prop_get('day-of-week') end def day_of_week=(val) prop_set('day-of-week', val) end # Time specification hh:mm (e.g. 20:10) def at prop_get('at') end # Time specification hh:mm (e.g. 20:10) def at=(val) prop_set('at', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end end def weekly @subclasses['weekly'] ||= Weekly.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def recurring @subclasses['recurring'] ||= Recurring.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def global_protect_clientless_vpn @subclasses['global-protect-clientless-vpn'] ||= GlobalProtectClientlessVpn.new(parent_instance: self, client: @client, create_children: @create_children) end class GlobalProtectDatafile < ConfigClass def has_multiple_values?; false; end def _section :'global-protect-datafile' end class Recurring < ConfigClass def has_multiple_values?; false; end def _section :recurring end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end class Hourly < ConfigClass def has_multiple_values?; false; end def _section :hourly end @props = {'at'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'59', 'help-string'=>'Minutes past hour'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'download-and-install', 'help-string'=>'Download and install'}, {'value'=>'download-only', 'help-string'=>'Download but do not install'}]}} # Minutes past hour def at prop_get('at') end # Minutes past hour def at=(val) prop_set('at', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end end def hourly @subclasses['hourly'] ||= Hourly.new(parent_instance: self, client: @client, create_children: @create_children) end class Daily < ConfigClass def has_multiple_values?; false; end def _section :daily end @props = {'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3]):([0-5][0-9])', 'minlen'=>'5', 'maxlen'=>'5', 'help-string'=>'Time specification hh:mm (e.g. 20:10)'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'download-and-install', 'help-string'=>'Download and install'}]}} # Time specification hh:mm (e.g. 20:10) def at prop_get('at') end # Time specification hh:mm (e.g. 20:10) def at=(val) prop_set('at', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end end def daily @subclasses['daily'] ||= Daily.new(parent_instance: self, client: @client, create_children: @create_children) end class Weekly < ConfigClass def has_multiple_values?; false; end def _section :weekly end @props = {'day-of-week'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'sunday'}, {'value'=>'monday'}, {'value'=>'tuesday'}, {'value'=>'wednesday'}, {'value'=>'thursday'}, {'value'=>'friday'}, {'value'=>'saturday'}]}, 'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3]):([0-5][0-9])', 'minlen'=>'5', 'maxlen'=>'5', 'help-string'=>'Time specification hh:mm (e.g. 20:10)'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'download-and-install', 'help-string'=>'Download and install'}, {'value'=>'download-only', 'help-string'=>'Download but do not install'}]}} def day_of_week prop_get('day-of-week') end def day_of_week=(val) prop_set('day-of-week', val) end # Time specification hh:mm (e.g. 20:10) def at prop_get('at') end # Time specification hh:mm (e.g. 20:10) def at=(val) prop_set('at', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end end def weekly @subclasses['weekly'] ||= Weekly.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def recurring @subclasses['recurring'] ||= Recurring.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def global_protect_datafile @subclasses['global-protect-datafile'] ||= GlobalProtectDatafile.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def update_schedule @subclasses['update-schedule'] ||= UpdateSchedule.new(parent_instance: self, client: @client, create_children: @create_children) end class MotdAndBanner < ConfigClass def has_multiple_values?; false; end def _section :'motd-and-banner' end @props = {'motd-enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable/disable message of the day'}, 'message'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'3200', 'help-string'=>'Message of the day'}, 'motd-do-not-display-again'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Allow do not display again'}, 'motd-title'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'default'=>'Message of the Day', 'help-string'=>'Title for message of the day'}, 'motd-color'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'color1'}, {'value'=>'color2'}, {'value'=>'color3'}, {'value'=>'color4'}, {'value'=>'color5'}, {'value'=>'color6'}, {'value'=>'color7'}, {'value'=>'color8'}, {'value'=>'color9'}, {'value'=>'color10'}, {'value'=>'color11'}, {'value'=>'color12'}, {'value'=>'color13'}, {'value'=>'color14'}, {'value'=>'color15'}, {'value'=>'color16'}, {'value'=>'color17'}]}, 'severity'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Icon', 'multi-types'=>{'enum'=>[{'value'=>'warning', 'help-string'=>'Warning'}, {'value'=>'question', 'help-string'=>'Help'}, {'value'=>'error', 'help-string'=>'Error'}, {'value'=>'info', 'help-string'=>'Information'}]}}, 'banner-header'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'3200', 'help-string'=>'Header banner text'}, 'banner-header-color'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'color1'}, {'value'=>'color2'}, {'value'=>'color3'}, {'value'=>'color4'}, {'value'=>'color5'}, {'value'=>'color6'}, {'value'=>'color7'}, {'value'=>'color8'}, {'value'=>'color9'}, {'value'=>'color10'}, {'value'=>'color11'}, {'value'=>'color12'}, {'value'=>'color13'}, {'value'=>'color14'}, {'value'=>'color15'}, {'value'=>'color16'}, {'value'=>'color17'}]}, 'banner-header-text-color'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'color1'}, {'value'=>'color2'}, {'value'=>'color3'}, {'value'=>'color4'}, {'value'=>'color5'}, {'value'=>'color6'}, {'value'=>'color7'}, {'value'=>'color8'}, {'value'=>'color9'}, {'value'=>'color10'}, {'value'=>'color11'}, {'value'=>'color12'}, {'value'=>'color13'}, {'value'=>'color14'}, {'value'=>'color15'}, {'value'=>'color16'}, {'value'=>'color17'}, {'value'=>'color18'}]}, 'banner-header-footer-match'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Same banner for header and footer'}, 'banner-footer'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'3200', 'help-string'=>'Footer banner text'}, 'banner-footer-color'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'color1'}, {'value'=>'color2'}, {'value'=>'color3'}, {'value'=>'color4'}, {'value'=>'color5'}, {'value'=>'color6'}, {'value'=>'color7'}, {'value'=>'color8'}, {'value'=>'color9'}, {'value'=>'color10'}, {'value'=>'color11'}, {'value'=>'color12'}, {'value'=>'color13'}, {'value'=>'color14'}, {'value'=>'color15'}, {'value'=>'color16'}, {'value'=>'color17'}]}, 'banner-footer-text-color'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'color1'}, {'value'=>'color2'}, {'value'=>'color3'}, {'value'=>'color4'}, {'value'=>'color5'}, {'value'=>'color6'}, {'value'=>'color7'}, {'value'=>'color8'}, {'value'=>'color9'}, {'value'=>'color10'}, {'value'=>'color11'}, {'value'=>'color12'}, {'value'=>'color13'}, {'value'=>'color14'}, {'value'=>'color15'}, {'value'=>'color16'}, {'value'=>'color17'}, {'value'=>'color18'}]}} # Enable/disable message of the day def motd_enable prop_get('motd-enable') end # Enable/disable message of the day def motd_enable=(val) prop_set('motd-enable', val) end # Message of the day def message prop_get('message') end # Message of the day def message=(val) prop_set('message', val) end # Allow do not display again def motd_do_not_display_again prop_get('motd-do-not-display-again') end # Allow do not display again def motd_do_not_display_again=(val) prop_set('motd-do-not-display-again', val) end # Title for message of the day def motd_title prop_get('motd-title') end # Title for message of the day def motd_title=(val) prop_set('motd-title', val) end def motd_color prop_get('motd-color') end def motd_color=(val) prop_set('motd-color', val) end # Icon def severity prop_get('severity') end # Icon def severity=(val) prop_set('severity', val) end # Header banner text def banner_header prop_get('banner-header') end # Header banner text def banner_header=(val) prop_set('banner-header', val) end def banner_header_color prop_get('banner-header-color') end def banner_header_color=(val) prop_set('banner-header-color', val) end def banner_header_text_color prop_get('banner-header-text-color') end def banner_header_text_color=(val) prop_set('banner-header-text-color', val) end # Same banner for header and footer def banner_header_footer_match prop_get('banner-header-footer-match') end # Same banner for header and footer def banner_header_footer_match=(val) prop_set('banner-header-footer-match', val) end # Footer banner text def banner_footer prop_get('banner-footer') end # Footer banner text def banner_footer=(val) prop_set('banner-footer', val) end def banner_footer_color prop_get('banner-footer-color') end def banner_footer_color=(val) prop_set('banner-footer-color', val) end def banner_footer_text_color prop_get('banner-footer-text-color') end def banner_footer_text_color=(val) prop_set('banner-footer-text-color', val) end end def motd_and_banner @subclasses['motd-and-banner'] ||= MotdAndBanner.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'login-banner'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'3200'}, 'ack-login-banner'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Force Admins to Acknowledge Login Banner'}, 'hostname'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[a-zA-Z0-9\._-]+$', 'minlen'=>'1', 'maxlen'=>'32'}, 'domain'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'256'}, 'tls-mode'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'exclude-tlsv1.3', 'help-string'=>'TLS mode for web server', 'enum'=>[{'value'=>'tlsv1.3-only', 'help-string'=>'TLSv1.3 Only'}, {'value'=>'mixed-mode', 'help-string'=>'Mixed mode'}, {'value'=>'exclude-tlsv1.3', 'help-string'=>'Exclude TLSv1.3'}]}, 'certificate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'complete-handler'=>'system-webserver-certificate-completer', 'help-string'=>'TLS certificate for web server in TLSv1.3 and mixed mode'}, 'speed-duplex'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'auto-negotiate', 'help-string'=>'Speed and duplex for the management interface', 'enum'=>[{'value'=>'auto-negotiate'}, {'value'=>'10Mbps-half-duplex'}, {'value'=>'10Mbps-full-duplex'}, {'value'=>'100Mbps-half-duplex'}, {'value'=>'100Mbps-full-duplex'}, {'value'=>'1Gbps-half-duplex'}, {'value'=>'1Gbps-full-duplex'}]}, 'mtu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'576', 'max'=>'1500', 'default'=>'1500', 'help-string'=>'Maximum Transmission Unit for the management interface'}, 'ip-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'IP address for the management interface', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'netmask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'subtype'=>'var-ip-address', 'help-string'=>'IP netmask for the management interface'}, 'default-gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'unicast-only'=>'yes', 'help-string'=>'Default gateway', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}}}, 'ipv6-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'unicast-with-mask'=>'yes', 'ipv6-only'=>'yes', 'help-string'=>'IPv6 address for the management interface', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}}}, 'ipv6-default-gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'unicast-only'=>'yes', 'type'=>'multiple', 'help-string'=>'IPv6 Default gateway', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}}}, 'authentication-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'complete-handler'=>'system-auth-profile-completer', 'help-string'=>'Authentication profile to use for non-local admins. Only RADIUS, TACACS+ and SAML methods are supported.'}, 'non-ui-authentication-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Authentication profile to use for non-local admins. Only RADIUS, TACACS+ are supported.'}, 'certificate-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'profile for verifying client certificates'}, 'syslog-certificate'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'client certificate for syslog'}, 'ssl-tls-service-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'255', 'help-string'=>'SSL TLS service profile'}, 'fqdn-refresh-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'14399', 'default'=>'30', 'help-string'=>'Minimal seconds for periodic FQDN refresh'}, 'fqdn-stale-entry-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'10080', 'default'=>'1440', 'help-string'=>'Minutes for FQDN stale entry'}, 'update-server'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^([0-9a-zA-Z:./_-])+$', 'maxlen'=>'63', 'help-string'=>'PaloAlto Networks update server'}, 'server-verification'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Verify update server identity'}, 'secure-proxy-server'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^([$0-9a-zA-Z.:/_-])+$', 'maxlen'=>'63', 'help-string'=>'Secure Proxy server to use'}, 'secure-proxy-port'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Port for secure proxy server'}, 'secure-proxy-user'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Secure Proxy user name to use'}, 'secure-proxy-password'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'encrypt'=>'yes', 'help-string'=>'Secure Proxy password to use'}, 'lcaas-use-proxy'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable proxy access to CDL'}, 'auto-renew-mkey-lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'17520', 'default'=>'720', 'prune-on'=>'fips-mode', 'help-string'=>'Automatically renew master key lifetime when it expires. Extended time in hours. 0 means disable auto-renew lifetime.'}, 'locale'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'system default locale', 'default'=>'en', 'complete-handler'=>'locale-name-completer', 'multi-types'=>{'string'=>{}, 'enum'=>[{'value'=>'en', 'help-string'=>'English'}, {'value'=>'es', 'help-string'=>'Spanish'}, {'value'=>'ja', 'help-string'=>'Japanese'}, {'value'=>'fr', 'help-string'=>'French'}, {'value'=>'zh_CN', 'help-string'=>'Chinese-Simplified'}, {'value'=>'zh_TW', 'help-string'=>'Chinese-Traditional'}, {'value'=>'ko', 'help-string'=>'Korean'}]}}, 'domain-lookup-url'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'512'}, 'ip-address-lookup-url'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'512'}, 'timezone'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'Africa/Abidjan'}, {'value'=>'Africa/Accra'}, {'value'=>'Africa/Addis_Ababa'}, {'value'=>'Africa/Algiers'}, {'value'=>'Africa/Asmara'}, {'value'=>'Africa/Asmera'}, {'value'=>'Africa/Bamako'}, {'value'=>'Africa/Bangui'}, {'value'=>'Africa/Banjul'}, {'value'=>'Africa/Bissau'}, {'value'=>'Africa/Blantyre'}, {'value'=>'Africa/Brazzaville'}, {'value'=>'Africa/Bujumbura'}, {'value'=>'Africa/Cairo'}, {'value'=>'Africa/Casablanca'}, {'value'=>'Africa/Ceuta'}, {'value'=>'Africa/Conakry'}, {'value'=>'Africa/Dakar'}, {'value'=>'Africa/Dar_es_Salaam'}, {'value'=>'Africa/Djibouti'}, {'value'=>'Africa/Douala'}, {'value'=>'Africa/El_Aaiun'}, {'value'=>'Africa/Freetown'}, {'value'=>'Africa/Gaborone'}, {'value'=>'Africa/Harare'}, {'value'=>'Africa/Johannesburg'}, {'value'=>'Africa/Kampala'}, {'value'=>'Africa/Khartoum'}, {'value'=>'Africa/Kigali'}, {'value'=>'Africa/Kinshasa'}, {'value'=>'Africa/Lagos'}, {'value'=>'Africa/Libreville'}, {'value'=>'Africa/Lome'}, {'value'=>'Africa/Luanda'}, {'value'=>'Africa/Lubumbashi'}, {'value'=>'Africa/Lusaka'}, {'value'=>'Africa/Malabo'}, {'value'=>'Africa/Maputo'}, {'value'=>'Africa/Maseru'}, {'value'=>'Africa/Mbabane'}, {'value'=>'Africa/Mogadishu'}, {'value'=>'Africa/Monrovia'}, {'value'=>'Africa/Nairobi'}, {'value'=>'Africa/Ndjamena'}, {'value'=>'Africa/Niamey'}, {'value'=>'Africa/Nouakchott'}, {'value'=>'Africa/Ouagadougou'}, {'value'=>'Africa/Porto-Novo'}, {'value'=>'Africa/Sao_Tome'}, {'value'=>'Africa/Timbuktu'}, {'value'=>'Africa/Tripoli'}, {'value'=>'Africa/Tunis'}, {'value'=>'Africa/Windhoek'}, {'value'=>'America/Adak'}, {'value'=>'America/Anchorage'}, {'value'=>'America/Anguilla'}, {'value'=>'America/Antigua'}, {'value'=>'America/Araguaina'}, {'value'=>'America/Argentina/Buenos_Aires'}, {'value'=>'America/Argentina/Catamarca'}, {'value'=>'America/Argentina/ComodRivadavia'}, {'value'=>'America/Argentina/Cordoba'}, {'value'=>'America/Argentina/Jujuy'}, {'value'=>'America/Argentina/La_Rioja'}, {'value'=>'America/Argentina/Mendoza'}, {'value'=>'America/Argentina/Rio_Gallegos'}, {'value'=>'America/Argentina/Salta'}, {'value'=>'America/Argentina/San_Juan'}, {'value'=>'America/Argentina/San_Luis'}, {'value'=>'America/Argentina/Tucuman'}, {'value'=>'America/Argentina/Ushuaia'}, {'value'=>'America/Aruba'}, {'value'=>'America/Asuncion'}, {'value'=>'America/Atikokan'}, {'value'=>'America/Atka'}, {'value'=>'America/Bahia'}, {'value'=>'America/Barbados'}, {'value'=>'America/Belem'}, {'value'=>'America/Belize'}, {'value'=>'America/Blanc-Sablon'}, {'value'=>'America/Boa_Vista'}, {'value'=>'America/Bogota'}, {'value'=>'America/Boise'}, {'value'=>'America/Buenos_Aires'}, {'value'=>'America/Cambridge_Bay'}, {'value'=>'America/Campo_Grande'}, {'value'=>'America/Cancun'}, {'value'=>'America/Caracas'}, {'value'=>'America/Catamarca'}, {'value'=>'America/Cayenne'}, {'value'=>'America/Cayman'}, {'value'=>'America/Chicago'}, {'value'=>'America/Chihuahua'}, {'value'=>'America/Coral_Harbour'}, {'value'=>'America/Cordoba'}, {'value'=>'America/Costa_Rica'}, {'value'=>'America/Cuiaba'}, {'value'=>'America/Curacao'}, {'value'=>'America/Danmarkshavn'}, {'value'=>'America/Dawson'}, {'value'=>'America/Dawson_Creek'}, {'value'=>'America/Denver'}, {'value'=>'America/Detroit'}, {'value'=>'America/Dominica'}, {'value'=>'America/Edmonton'}, {'value'=>'America/Eirunepe'}, {'value'=>'America/El_Salvador'}, {'value'=>'America/Ensenada'}, {'value'=>'America/Fortaleza'}, {'value'=>'America/Fort_Wayne'}, {'value'=>'America/Glace_Bay'}, {'value'=>'America/Godthab'}, {'value'=>'America/Goose_Bay'}, {'value'=>'America/Grand_Turk'}, {'value'=>'America/Grenada'}, {'value'=>'America/Guadeloupe'}, {'value'=>'America/Guatemala'}, {'value'=>'America/Guayaquil'}, {'value'=>'America/Guyana'}, {'value'=>'America/Halifax'}, {'value'=>'America/Havana'}, {'value'=>'America/Hermosillo'}, {'value'=>'America/Indiana/Indianapolis'}, {'value'=>'America/Indiana/Knox'}, {'value'=>'America/Indiana/Marengo'}, {'value'=>'America/Indiana/Petersburg'}, {'value'=>'America/Indianapolis'}, {'value'=>'America/Indiana/Tell_City'}, {'value'=>'America/Indiana/Vevay'}, {'value'=>'America/Indiana/Vincennes'}, {'value'=>'America/Indiana/Winamac'}, {'value'=>'America/Inuvik'}, {'value'=>'America/Iqaluit'}, {'value'=>'America/Jamaica'}, {'value'=>'America/Jujuy'}, {'value'=>'America/Juneau'}, {'value'=>'America/Kentucky/Louisville'}, {'value'=>'America/Kentucky/Monticello'}, {'value'=>'America/Knox_IN'}, {'value'=>'America/La_Paz'}, {'value'=>'America/Lima'}, {'value'=>'America/Los_Angeles'}, {'value'=>'America/Louisville'}, {'value'=>'America/Maceio'}, {'value'=>'America/Managua'}, {'value'=>'America/Manaus'}, {'value'=>'America/Marigot'}, {'value'=>'America/Martinique'}, {'value'=>'America/Mazatlan'}, {'value'=>'America/Mendoza'}, {'value'=>'America/Menominee'}, {'value'=>'America/Merida'}, {'value'=>'America/Mexico_City'}, {'value'=>'America/Miquelon'}, {'value'=>'America/Moncton'}, {'value'=>'America/Monterrey'}, {'value'=>'America/Montevideo'}, {'value'=>'America/Montreal'}, {'value'=>'America/Montserrat'}, {'value'=>'America/Nassau'}, {'value'=>'America/New_York'}, {'value'=>'America/Nipigon'}, {'value'=>'America/Nome'}, {'value'=>'America/Noronha'}, {'value'=>'America/North_Dakota/Center'}, {'value'=>'America/North_Dakota/New_Salem'}, {'value'=>'America/Panama'}, {'value'=>'America/Pangnirtung'}, {'value'=>'America/Paramaribo'}, {'value'=>'America/Phoenix'}, {'value'=>'America/Port-au-Prince'}, {'value'=>'America/Porto_Acre'}, {'value'=>'America/Port_of_Spain'}, {'value'=>'America/Porto_Velho'}, {'value'=>'America/Puerto_Rico'}, {'value'=>'America/Rainy_River'}, {'value'=>'America/Rankin_Inlet'}, {'value'=>'America/Recife'}, {'value'=>'America/Regina'}, {'value'=>'America/Resolute'}, {'value'=>'America/Rio_Branco'}, {'value'=>'America/Rosario'}, {'value'=>'America/Santarem'}, {'value'=>'America/Santiago'}, {'value'=>'America/Santo_Domingo'}, {'value'=>'America/Sao_Paulo'}, {'value'=>'America/Scoresbysund'}, {'value'=>'America/Shiprock'}, {'value'=>'America/St_Barthelemy'}, {'value'=>'America/St_Johns'}, {'value'=>'America/St_Kitts'}, {'value'=>'America/St_Lucia'}, {'value'=>'America/St_Thomas'}, {'value'=>'America/St_Vincent'}, {'value'=>'America/Swift_Current'}, {'value'=>'America/Tegucigalpa'}, {'value'=>'America/Thule'}, {'value'=>'America/Thunder_Bay'}, {'value'=>'America/Tijuana'}, {'value'=>'America/Toronto'}, {'value'=>'America/Tortola'}, {'value'=>'America/Vancouver'}, {'value'=>'America/Virgin'}, {'value'=>'America/Whitehorse'}, {'value'=>'America/Winnipeg'}, {'value'=>'America/Yakutat'}, {'value'=>'America/Yellowknife'}, {'value'=>'Antarctica/Casey'}, {'value'=>'Antarctica/Davis'}, {'value'=>'Antarctica/DumontDUrville'}, {'value'=>'Antarctica/Mawson'}, {'value'=>'Antarctica/McMurdo'}, {'value'=>'Antarctica/Palmer'}, {'value'=>'Antarctica/Rothera'}, {'value'=>'Antarctica/South_Pole'}, {'value'=>'Antarctica/Syowa'}, {'value'=>'Antarctica/Vostok'}, {'value'=>'Arctic/Longyearbyen'}, {'value'=>'Asia/Aden'}, {'value'=>'Asia/Almaty'}, {'value'=>'Asia/Amman'}, {'value'=>'Asia/Anadyr'}, {'value'=>'Asia/Aqtau'}, {'value'=>'Asia/Aqtobe'}, {'value'=>'Asia/Ashgabat'}, {'value'=>'Asia/Ashkhabad'}, {'value'=>'Asia/Baghdad'}, {'value'=>'Asia/Bahrain'}, {'value'=>'Asia/Baku'}, {'value'=>'Asia/Bangkok'}, {'value'=>'Asia/Beirut'}, {'value'=>'Asia/Bishkek'}, {'value'=>'Asia/Brunei'}, {'value'=>'Asia/Calcutta'}, {'value'=>'Asia/Choibalsan'}, {'value'=>'Asia/Chongqing'}, {'value'=>'Asia/Chungking'}, {'value'=>'Asia/Colombo'}, {'value'=>'Asia/Dacca'}, {'value'=>'Asia/Damascus'}, {'value'=>'Asia/Dhaka'}, {'value'=>'Asia/Dili'}, {'value'=>'Asia/Dubai'}, {'value'=>'Asia/Dushanbe'}, {'value'=>'Asia/Gaza'}, {'value'=>'Asia/Harbin'}, {'value'=>'Asia/Ho_Chi_Minh'}, {'value'=>'Asia/Hong_Kong'}, {'value'=>'Asia/Hovd'}, {'value'=>'Asia/Irkutsk'}, {'value'=>'Asia/Istanbul'}, {'value'=>'Asia/Jakarta'}, {'value'=>'Asia/Jayapura'}, {'value'=>'Asia/Jerusalem'}, {'value'=>'Asia/Kabul'}, {'value'=>'Asia/Kamchatka'}, {'value'=>'Asia/Karachi'}, {'value'=>'Asia/Kashgar'}, {'value'=>'Asia/Kathmandu'}, {'value'=>'Asia/Katmandu'}, {'value'=>'Asia/Kolkata'}, {'value'=>'Asia/Krasnoyarsk'}, {'value'=>'Asia/Kuala_Lumpur'}, {'value'=>'Asia/Kuching'}, {'value'=>'Asia/Kuwait'}, {'value'=>'Asia/Macao'}, {'value'=>'Asia/Macau'}, {'value'=>'Asia/Magadan'}, {'value'=>'Asia/Makassar'}, {'value'=>'Asia/Manila'}, {'value'=>'Asia/Muscat'}, {'value'=>'Asia/Nicosia'}, {'value'=>'Asia/Novokuznetsk'}, {'value'=>'Asia/Novosibirsk'}, {'value'=>'Asia/Omsk'}, {'value'=>'Asia/Oral'}, {'value'=>'Asia/Phnom_Penh'}, {'value'=>'Asia/Pontianak'}, {'value'=>'Asia/Pyongyang'}, {'value'=>'Asia/Qatar'}, {'value'=>'Asia/Qyzylorda'}, {'value'=>'Asia/Rangoon'}, {'value'=>'Asia/Riyadh'}, {'value'=>'Asia/Riyadh87'}, {'value'=>'Asia/Riyadh88'}, {'value'=>'Asia/Riyadh89'}, {'value'=>'Asia/Saigon'}, {'value'=>'Asia/Sakhalin'}, {'value'=>'Asia/Samarkand'}, {'value'=>'Asia/Seoul'}, {'value'=>'Asia/Shanghai'}, {'value'=>'Asia/Singapore'}, {'value'=>'Asia/Taipei'}, {'value'=>'Asia/Tashkent'}, {'value'=>'Asia/Tbilisi'}, {'value'=>'Asia/Tehran'}, {'value'=>'Asia/Tel_Aviv'}, {'value'=>'Asia/Thimbu'}, {'value'=>'Asia/Thimphu'}, {'value'=>'Asia/Tokyo'}, {'value'=>'Asia/Ujung_Pandang'}, {'value'=>'Asia/Ulaanbaatar'}, {'value'=>'Asia/Ulan_Bator'}, {'value'=>'Asia/Urumqi'}, {'value'=>'Asia/Vientiane'}, {'value'=>'Asia/Vladivostok'}, {'value'=>'Asia/Yakutsk'}, {'value'=>'Asia/Yekaterinburg'}, {'value'=>'Asia/Yerevan'}, {'value'=>'Atlantic/Azores'}, {'value'=>'Atlantic/Bermuda'}, {'value'=>'Atlantic/Canary'}, {'value'=>'Atlantic/Cape_Verde'}, {'value'=>'Atlantic/Faeroe'}, {'value'=>'Atlantic/Faroe'}, {'value'=>'Atlantic/Jan_Mayen'}, {'value'=>'Atlantic/Madeira'}, {'value'=>'Atlantic/Reykjavik'}, {'value'=>'Atlantic/South_Georgia'}, {'value'=>'Atlantic/Stanley'}, {'value'=>'Atlantic/St_Helena'}, {'value'=>'Australia/ACT'}, {'value'=>'Australia/Adelaide'}, {'value'=>'Australia/Brisbane'}, {'value'=>'Australia/Broken_Hill'}, {'value'=>'Australia/Canberra'}, {'value'=>'Australia/Currie'}, {'value'=>'Australia/Darwin'}, {'value'=>'Australia/Eucla'}, {'value'=>'Australia/Hobart'}, {'value'=>'Australia/LHI'}, {'value'=>'Australia/Lindeman'}, {'value'=>'Australia/Lord_Howe'}, {'value'=>'Australia/Melbourne'}, {'value'=>'Australia/North'}, {'value'=>'Australia/NSW'}, {'value'=>'Australia/Perth'}, {'value'=>'Australia/Queensland'}, {'value'=>'Australia/South'}, {'value'=>'Australia/Sydney'}, {'value'=>'Australia/Tasmania'}, {'value'=>'Australia/Victoria'}, {'value'=>'Australia/West'}, {'value'=>'Australia/Yancowinna'}, {'value'=>'Brazil/Acre'}, {'value'=>'Brazil/DeNoronha'}, {'value'=>'Brazil/East'}, {'value'=>'Brazil/West'}, {'value'=>'Canada/Atlantic'}, {'value'=>'Canada/Central'}, {'value'=>'Canada/Eastern'}, {'value'=>'Canada/East-Saskatchewan'}, {'value'=>'Canada/Mountain'}, {'value'=>'Canada/Newfoundland'}, {'value'=>'Canada/Pacific'}, {'value'=>'Canada/Saskatchewan'}, {'value'=>'Canada/Yukon'}, {'value'=>'CET'}, {'value'=>'Chile/Continental'}, {'value'=>'Chile/EasterIsland'}, {'value'=>'CST6CDT'}, {'value'=>'Cuba'}, {'value'=>'EET'}, {'value'=>'Egypt'}, {'value'=>'Eire'}, {'value'=>'EST'}, {'value'=>'EST5EDT'}, {'value'=>'Etc/GMT'}, {'value'=>'Etc/GMT0'}, {'value'=>'Etc/GMT-0'}, {'value'=>'Etc/GMT+0'}, {'value'=>'Etc/GMT-1'}, {'value'=>'Etc/GMT+1'}, {'value'=>'Etc/GMT-10'}, {'value'=>'Etc/GMT+10'}, {'value'=>'Etc/GMT-11'}, {'value'=>'Etc/GMT+11'}, {'value'=>'Etc/GMT-12'}, {'value'=>'Etc/GMT+12'}, {'value'=>'Etc/GMT-13'}, {'value'=>'Etc/GMT-14'}, {'value'=>'Etc/GMT-2'}, {'value'=>'Etc/GMT+2'}, {'value'=>'Etc/GMT-3'}, {'value'=>'Etc/GMT+3'}, {'value'=>'Etc/GMT-4'}, {'value'=>'Etc/GMT+4'}, {'value'=>'Etc/GMT-5'}, {'value'=>'Etc/GMT+5'}, {'value'=>'Etc/GMT-6'}, {'value'=>'Etc/GMT+6'}, {'value'=>'Etc/GMT-7'}, {'value'=>'Etc/GMT+7'}, {'value'=>'Etc/GMT-8'}, {'value'=>'Etc/GMT+8'}, {'value'=>'Etc/GMT-9'}, {'value'=>'Etc/GMT+9'}, {'value'=>'Etc/Greenwich'}, {'value'=>'Etc/UCT'}, {'value'=>'Etc/Universal'}, {'value'=>'Etc/UTC'}, {'value'=>'Etc/Zulu'}, {'value'=>'Europe/Amsterdam'}, {'value'=>'Europe/Andorra'}, {'value'=>'Europe/Athens'}, {'value'=>'Europe/Belfast'}, {'value'=>'Europe/Belgrade'}, {'value'=>'Europe/Berlin'}, {'value'=>'Europe/Bratislava'}, {'value'=>'Europe/Brussels'}, {'value'=>'Europe/Bucharest'}, {'value'=>'Europe/Budapest'}, {'value'=>'Europe/Chisinau'}, {'value'=>'Europe/Copenhagen'}, {'value'=>'Europe/Dublin'}, {'value'=>'Europe/Gibraltar'}, {'value'=>'Europe/Guernsey'}, {'value'=>'Europe/Helsinki'}, {'value'=>'Europe/Isle_of_Man'}, {'value'=>'Europe/Istanbul'}, {'value'=>'Europe/Jersey'}, {'value'=>'Europe/Kaliningrad'}, {'value'=>'Europe/Kiev'}, {'value'=>'Europe/Lisbon'}, {'value'=>'Europe/Ljubljana'}, {'value'=>'Europe/London'}, {'value'=>'Europe/Luxembourg'}, {'value'=>'Europe/Madrid'}, {'value'=>'Europe/Malta'}, {'value'=>'Europe/Mariehamn'}, {'value'=>'Europe/Minsk'}, {'value'=>'Europe/Monaco'}, {'value'=>'Europe/Moscow'}, {'value'=>'Europe/Nicosia'}, {'value'=>'Europe/Oslo'}, {'value'=>'Europe/Paris'}, {'value'=>'Europe/Podgorica'}, {'value'=>'Europe/Prague'}, {'value'=>'Europe/Riga'}, {'value'=>'Europe/Rome'}, {'value'=>'Europe/Samara'}, {'value'=>'Europe/San_Marino'}, {'value'=>'Europe/Sarajevo'}, {'value'=>'Europe/Simferopol'}, {'value'=>'Europe/Skopje'}, {'value'=>'Europe/Sofia'}, {'value'=>'Europe/Stockholm'}, {'value'=>'Europe/Tallinn'}, {'value'=>'Europe/Tirane'}, {'value'=>'Europe/Tiraspol'}, {'value'=>'Europe/Uzhgorod'}, {'value'=>'Europe/Vaduz'}, {'value'=>'Europe/Vatican'}, {'value'=>'Europe/Vienna'}, {'value'=>'Europe/Vilnius'}, {'value'=>'Europe/Volgograd'}, {'value'=>'Europe/Warsaw'}, {'value'=>'Europe/Zagreb'}, {'value'=>'Europe/Zaporozhye'}, {'value'=>'Europe/Zurich'}, {'value'=>'Factory'}, {'value'=>'GB'}, {'value'=>'GB-Eire'}, {'value'=>'GMT'}, {'value'=>'GMT0'}, {'value'=>'GMT-0'}, {'value'=>'GMT+0'}, {'value'=>'Greenwich'}, {'value'=>'Hongkong'}, {'value'=>'HST'}, {'value'=>'Iceland'}, {'value'=>'Indian/Antananarivo'}, {'value'=>'Indian/Chagos'}, {'value'=>'Indian/Christmas'}, {'value'=>'Indian/Cocos'}, {'value'=>'Indian/Comoro'}, {'value'=>'Indian/Kerguelen'}, {'value'=>'Indian/Mahe'}, {'value'=>'Indian/Maldives'}, {'value'=>'Indian/Mauritius'}, {'value'=>'Indian/Mayotte'}, {'value'=>'Indian/Reunion'}, {'value'=>'Iran'}, {'value'=>'Israel'}, {'value'=>'Jamaica'}, {'value'=>'Japan'}, {'value'=>'Kwajalein'}, {'value'=>'Libya'}, {'value'=>'MET'}, {'value'=>'Mexico/BajaNorte'}, {'value'=>'Mexico/BajaSur'}, {'value'=>'Mexico/General'}, {'value'=>'Mideast/Riyadh87'}, {'value'=>'Mideast/Riyadh88'}, {'value'=>'Mideast/Riyadh89'}, {'value'=>'MST'}, {'value'=>'MST7MDT'}, {'value'=>'Navajo'}, {'value'=>'NZ'}, {'value'=>'NZ-CHAT'}, {'value'=>'Pacific/Apia'}, {'value'=>'Pacific/Auckland'}, {'value'=>'Pacific/Chatham'}, {'value'=>'Pacific/Easter'}, {'value'=>'Pacific/Efate'}, {'value'=>'Pacific/Enderbury'}, {'value'=>'Pacific/Fakaofo'}, {'value'=>'Pacific/Fiji'}, {'value'=>'Pacific/Funafuti'}, {'value'=>'Pacific/Galapagos'}, {'value'=>'Pacific/Gambier'}, {'value'=>'Pacific/Guadalcanal'}, {'value'=>'Pacific/Guam'}, {'value'=>'Pacific/Honolulu'}, {'value'=>'Pacific/Johnston'}, {'value'=>'Pacific/Kiritimati'}, {'value'=>'Pacific/Kosrae'}, {'value'=>'Pacific/Kwajalein'}, {'value'=>'Pacific/Majuro'}, {'value'=>'Pacific/Marquesas'}, {'value'=>'Pacific/Midway'}, {'value'=>'Pacific/Nauru'}, {'value'=>'Pacific/Niue'}, {'value'=>'Pacific/Norfolk'}, {'value'=>'Pacific/Noumea'}, {'value'=>'Pacific/Pago_Pago'}, {'value'=>'Pacific/Palau'}, {'value'=>'Pacific/Pitcairn'}, {'value'=>'Pacific/Ponape'}, {'value'=>'Pacific/Port_Moresby'}, {'value'=>'Pacific/Rarotonga'}, {'value'=>'Pacific/Saipan'}, {'value'=>'Pacific/Samoa'}, {'value'=>'Pacific/Tahiti'}, {'value'=>'Pacific/Tarawa'}, {'value'=>'Pacific/Tongatapu'}, {'value'=>'Pacific/Truk'}, {'value'=>'Pacific/Wake'}, {'value'=>'Pacific/Wallis'}, {'value'=>'Pacific/Yap'}, {'value'=>'Poland'}, {'value'=>'Portugal'}, {'value'=>'PRC'}, {'value'=>'PST8PDT'}, {'value'=>'ROC'}, {'value'=>'ROK'}, {'value'=>'Singapore'}, {'value'=>'Turkey'}, {'value'=>'UCT'}, {'value'=>'Universal'}, {'value'=>'US/Alaska'}, {'value'=>'US/Aleutian'}, {'value'=>'US/Arizona'}, {'value'=>'US/Central'}, {'value'=>'US/Eastern'}, {'value'=>'US/East-Indiana'}, {'value'=>'US/Hawaii'}, {'value'=>'US/Indiana-Starke'}, {'value'=>'US/Michigan'}, {'value'=>'US/Mountain'}, {'value'=>'US/Pacific'}, {'value'=>'US/Samoa'}, {'value'=>'UTC'}, {'value'=>'WET'}, {'value'=>'W-SU'}, {'value'=>'Zulu'}]}} def login_banner prop_get('login-banner') end def login_banner=(val) prop_set('login-banner', val) end # Force Admins to Acknowledge Login Banner def ack_login_banner prop_get('ack-login-banner') end # Force Admins to Acknowledge Login Banner def ack_login_banner=(val) prop_set('ack-login-banner', val) end def hostname prop_get('hostname') end def hostname=(val) prop_set('hostname', val) end def domain prop_get('domain') end def domain=(val) prop_set('domain', val) end # TLS mode for web server def tls_mode prop_get('tls-mode') end # TLS mode for web server def tls_mode=(val) prop_set('tls-mode', val) end # TLS certificate for web server in TLSv1.3 and mixed mode def certificate prop_get('certificate') end # TLS certificate for web server in TLSv1.3 and mixed mode def certificate=(val) prop_set('certificate', val) end # Speed and duplex for the management interface def speed_duplex prop_get('speed-duplex') end # Speed and duplex for the management interface def speed_duplex=(val) prop_set('speed-duplex', val) end # Maximum Transmission Unit for the management interface def mtu prop_get('mtu') end # Maximum Transmission Unit for the management interface def mtu=(val) prop_set('mtu', val) end # IP address for the management interface def ip_address prop_get('ip-address') end # IP address for the management interface def ip_address=(val) prop_set('ip-address', val) end # IP netmask for the management interface def netmask prop_get('netmask') end # IP netmask for the management interface def netmask=(val) prop_set('netmask', val) end # Default gateway def default_gateway prop_get('default-gateway') end # Default gateway def default_gateway=(val) prop_set('default-gateway', val) end # IPv6 address for the management interface def ipv6_address prop_get('ipv6-address') end # IPv6 address for the management interface def ipv6_address=(val) prop_set('ipv6-address', val) end # IPv6 Default gateway def ipv6_default_gateway prop_get('ipv6-default-gateway') end # IPv6 Default gateway def ipv6_default_gateway=(val) prop_set('ipv6-default-gateway', val) end # Authentication profile to use for non-local admins. Only RADIUS, TACACS+ and SAML methods are supported. def authentication_profile prop_get('authentication-profile') end # Authentication profile to use for non-local admins. Only RADIUS, TACACS+ and SAML methods are supported. def authentication_profile=(val) prop_set('authentication-profile', val) end # Authentication profile to use for non-local admins. Only RADIUS, TACACS+ are supported. def non_ui_authentication_profile prop_get('non-ui-authentication-profile') end # Authentication profile to use for non-local admins. Only RADIUS, TACACS+ are supported. def non_ui_authentication_profile=(val) prop_set('non-ui-authentication-profile', val) end # profile for verifying client certificates def certificate_profile prop_get('certificate-profile') end # profile for verifying client certificates def certificate_profile=(val) prop_set('certificate-profile', val) end # client certificate for syslog def syslog_certificate prop_get('syslog-certificate') end # client certificate for syslog def syslog_certificate=(val) prop_set('syslog-certificate', val) end # SSL TLS service profile def ssl_tls_service_profile prop_get('ssl-tls-service-profile') end # SSL TLS service profile def ssl_tls_service_profile=(val) prop_set('ssl-tls-service-profile', val) end # Minimal seconds for periodic FQDN refresh def fqdn_refresh_time prop_get('fqdn-refresh-time') end # Minimal seconds for periodic FQDN refresh def fqdn_refresh_time=(val) prop_set('fqdn-refresh-time', val) end # Minutes for FQDN stale entry def fqdn_stale_entry_timeout prop_get('fqdn-stale-entry-timeout') end # Minutes for FQDN stale entry def fqdn_stale_entry_timeout=(val) prop_set('fqdn-stale-entry-timeout', val) end # PaloAlto Networks update server def update_server prop_get('update-server') end # PaloAlto Networks update server def update_server=(val) prop_set('update-server', val) end # Verify update server identity def server_verification prop_get('server-verification') end # Verify update server identity def server_verification=(val) prop_set('server-verification', val) end # Secure Proxy server to use def secure_proxy_server prop_get('secure-proxy-server') end # Secure Proxy server to use def secure_proxy_server=(val) prop_set('secure-proxy-server', val) end # Port for secure proxy server def secure_proxy_port prop_get('secure-proxy-port') end # Port for secure proxy server def secure_proxy_port=(val) prop_set('secure-proxy-port', val) end # Secure Proxy user name to use def secure_proxy_user prop_get('secure-proxy-user') end # Secure Proxy user name to use def secure_proxy_user=(val) prop_set('secure-proxy-user', val) end # Secure Proxy password to use def secure_proxy_password prop_get('secure-proxy-password') end # Secure Proxy password to use def secure_proxy_password=(val) prop_set('secure-proxy-password', val) end # Enable proxy access to CDL def lcaas_use_proxy prop_get('lcaas-use-proxy') end # Enable proxy access to CDL def lcaas_use_proxy=(val) prop_set('lcaas-use-proxy', val) end # Automatically renew master key lifetime when it expires. Extended time in hours. 0 means disable auto-renew lifetime. def auto_renew_mkey_lifetime prop_get('auto-renew-mkey-lifetime') end # Automatically renew master key lifetime when it expires. Extended time in hours. 0 means disable auto-renew lifetime. def auto_renew_mkey_lifetime=(val) prop_set('auto-renew-mkey-lifetime', val) end # system default locale def locale prop_get('locale') end # system default locale def locale=(val) prop_set('locale', val) end def domain_lookup_url prop_get('domain-lookup-url') end def domain_lookup_url=(val) prop_set('domain-lookup-url', val) end def ip_address_lookup_url prop_get('ip-address-lookup-url') end def ip_address_lookup_url=(val) prop_set('ip-address-lookup-url', val) end def timezone prop_get('timezone') end def timezone=(val) prop_set('timezone', val) end end def system @subclasses['system'] ||= System.new(parent_instance: self, client: @client, create_children: @create_children) end class Setting < ConfigClass def has_multiple_values?; false; end def _section :setting end class Nat < ConfigClass def has_multiple_values?; false; end def _section :nat end @props = {'reserve-ip'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'reserve translated IP for specified time'}, 'reserve-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'604800', 'default'=>'120', 'help-string'=>'reserve time value in seconds'}, 'dipp-oversub'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-string'=>'DIPP oversubscription ratio', 'enum'=>[{'value'=>'1x', 'help-string'=>'No oversubscription'}, {'value'=>'2x', 'help-string'=>'2 times oversubscription'}, {'value'=>'4x', 'help-string'=>'4 times oversubscription'}, {'value'=>'8x', 'help-string'=>'8 times oversubscription'}]}} # reserve translated IP for specified time def reserve_ip prop_get('reserve-ip') end # reserve translated IP for specified time def reserve_ip=(val) prop_set('reserve-ip', val) end # reserve time value in seconds def reserve_time prop_get('reserve-time') end # reserve time value in seconds def reserve_time=(val) prop_set('reserve-time', val) end # DIPP oversubscription ratio def dipp_oversub prop_get('dipp-oversub') end # DIPP oversubscription ratio def dipp_oversub=(val) prop_set('dipp-oversub', val) end end def nat @subclasses['nat'] ||= Nat.new(parent_instance: self, client: @client, create_children: @create_children) end class JumboFrame < ConfigClass def has_multiple_values?; false; end def _section :'jumbo-frame' end @props = {'mtu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'9192', 'min'=>'512', 'max'=>'9216', 'help-string'=>'device MTU excluding Ethernet header'}} # device MTU excluding Ethernet header def mtu prop_get('mtu') end # device MTU excluding Ethernet header def mtu=(val) prop_set('mtu', val) end end def jumbo_frame @subclasses['jumbo-frame'] ||= JumboFrame.new(parent_instance: self, client: @client, create_children: @create_children) end class Icmpv6RateLimit < ConfigClass def has_multiple_values?; false; end def _section :'icmpv6-rate-limit' end @props = {'bucket-size'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'100', 'min'=>'10', 'max'=>'65535', 'help-string'=>'token-bucket size for ICMPv6 error rate limiting'}, 'packet-rate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'100', 'min'=>'1', 'max'=>'65535', 'help-string'=>'ICMPv6 error packet limit per second'}} # token-bucket size for ICMPv6 error rate limiting def bucket_size prop_get('bucket-size') end # token-bucket size for ICMPv6 error rate limiting def bucket_size=(val) prop_set('bucket-size', val) end # ICMPv6 error packet limit per second def packet_rate prop_get('packet-rate') end # ICMPv6 error packet limit per second def packet_rate=(val) prop_set('packet-rate', val) end end def icmpv6_rate_limit @subclasses['icmpv6-rate-limit'] ||= Icmpv6RateLimit.new(parent_instance: self, client: @client, create_children: @create_children) end class Nat64 < ConfigClass def has_multiple_values?; false; end def _section :nat64 end @props = {'ipv6-min-network-mtu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1280', 'max'=>'9216', 'default'=>'1280', 'help-string'=>'NAT64 minimum IPv6 MTU in the network'}} # NAT64 minimum IPv6 MTU in the network def ipv6_min_network_mtu prop_get('ipv6-min-network-mtu') end # NAT64 minimum IPv6 MTU in the network def ipv6_min_network_mtu=(val) prop_set('ipv6-min-network-mtu', val) end end def nat64 @subclasses['nat64'] ||= Nat64.new(parent_instance: self, client: @client, create_children: @create_children) end class Packet < ConfigClass def has_multiple_values?; false; end def _section :packet end @props = {'ip-frag-limit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'enable/disable ip frag packet limit'}} # enable/disable ip frag packet limit def ip_frag_limit prop_get('ip-frag-limit') end # enable/disable ip frag packet limit def ip_frag_limit=(val) prop_set('ip-frag-limit', val) end end def packet @subclasses['packet'] ||= Packet.new(parent_instance: self, client: @client, create_children: @create_children) end class Util < ConfigClass def has_multiple_values?; false; end def _section :util end @props = {'assert-crash-once'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable/disable assert crash only one'}} # enable/disable assert crash only one def assert_crash_once prop_get('assert-crash-once') end # enable/disable assert crash only one def assert_crash_once=(val) prop_set('assert-crash-once', val) end end def util @subclasses['util'] ||= Util.new(parent_instance: self, client: @client, create_children: @create_children) end class PanUrlDb < ConfigClass def has_multiple_values?; false; end def _section :'pan-url-db' end @props = {'cloud-static-list'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'1023', 'help-string'=>'Cloud list separated by commas'}, 'timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'300', 'min'=>'1', 'max'=>'300', 'help-string'=>'Timeout for request to cloud'}} # Cloud list separated by commas def cloud_static_list prop_get('cloud-static-list') end # Cloud list separated by commas def cloud_static_list=(val) prop_set('cloud-static-list', val) end # Timeout for request to cloud def timeout prop_get('timeout') end # Timeout for request to cloud def timeout=(val) prop_set('timeout', val) end end def pan_url_db @subclasses['pan-url-db'] ||= PanUrlDb.new(parent_instance: self, client: @client, create_children: @create_children) end class Hawkeye < ConfigClass def has_multiple_values?; false; end def _section :hawkeye end @props = {'public-cloud-server'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^([$a-zA-Z0-9./_-])+$', 'default'=>'hawkeye.services-edge.paloaltonetworks.com', 'maxlen'=>'1023', 'help-string'=>'Hawkeye FQDN/Server. Default hawkeye.services-edge.paloaltonetworks.com'}} # Hawkeye FQDN/Server. Default hawkeye.services-edge.paloaltonetworks.com def public_cloud_server prop_get('public-cloud-server') end # Hawkeye FQDN/Server. Default hawkeye.services-edge.paloaltonetworks.com def public_cloud_server=(val) prop_set('public-cloud-server', val) end end def hawkeye @subclasses['hawkeye'] ||= Hawkeye.new(parent_instance: self, client: @client, create_children: @create_children) end class GlobalProtect < ConfigClass def has_multiple_values?; false; end def _section :'global-protect' end @props = {'timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'30', 'min'=>'3', 'max'=>'150', 'help-string'=>'timeout in seconds for global-protect gateways'}, 'enable-external-gateway-priority'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'enable external gateway priority by source location for best gateway selection'}, 'location'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'100', 'help-string'=>'location for portal/gateway with max length 100'}, 'tasks'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'1000', 'min'=>'10', 'max'=>'100000', 'help-string'=>'number of task threads for GlobalProtect server; default 1000'}, 'auth-requests'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'4096', 'min'=>'1024', 'max'=>'8192', 'help-string'=>'number of concurrent requests to authentication daemon; default 4096'}} # timeout in seconds for global-protect gateways def timeout prop_get('timeout') end # timeout in seconds for global-protect gateways def timeout=(val) prop_set('timeout', val) end # enable external gateway priority by source location for best gateway selection def enable_external_gateway_priority prop_get('enable-external-gateway-priority') end # enable external gateway priority by source location for best gateway selection def enable_external_gateway_priority=(val) prop_set('enable-external-gateway-priority', val) end # location for portal/gateway with max length 100 def location prop_get('location') end # location for portal/gateway with max length 100 def location=(val) prop_set('location', val) end # number of task threads for GlobalProtect server; default 1000 def tasks prop_get('tasks') end # number of task threads for GlobalProtect server; default 1000 def tasks=(val) prop_set('tasks', val) end # number of concurrent requests to authentication daemon; default 4096 def auth_requests prop_get('auth-requests') end # number of concurrent requests to authentication daemon; default 4096 def auth_requests=(val) prop_set('auth-requests', val) end end def global_protect @subclasses['global-protect'] ||= GlobalProtect.new(parent_instance: self, client: @client, create_children: @create_children) end class L3Service < ConfigClass def has_multiple_values?; false; end def _section :'l3-service' end @props = {'timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'30', 'min'=>'3', 'max'=>'125', 'help-string'=>'timeout in seconds for l3 services'}} # timeout in seconds for l3 services def timeout prop_get('timeout') end # timeout in seconds for l3 services def timeout=(val) prop_set('timeout', val) end end def l3_service @subclasses['l3-service'] ||= L3Service.new(parent_instance: self, client: @client, create_children: @create_children) end class CaptivePortal < ConfigClass def has_multiple_values?; false; end def _section :'captive-portal' end @props = {'number-workers'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'2', 'min'=>'2', 'max'=>'12', 'help-string'=>'number of captive-portal workers'}, 'disable-token'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'disable token caculation when do captive-portal'}} # number of captive-portal workers def number_workers prop_get('number-workers') end # number of captive-portal workers def number_workers=(val) prop_set('number-workers', val) end # disable token caculation when do captive-portal def disable_token prop_get('disable-token') end # disable token caculation when do captive-portal def disable_token=(val) prop_set('disable-token', val) end end def captive_portal @subclasses['captive-portal'] ||= CaptivePortal.new(parent_instance: self, client: @client, create_children: @create_children) end class Application < ConfigClass def has_multiple_values?; false; end def _section :application end class Traceroute < ConfigClass def has_multiple_values?; false; end def _section :traceroute end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'enable/disable application identification for traceroute'}, 'ttl-threshold'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255', 'default'=>'30', 'help-string'=>'set the TTL threshold value for traceroute identification'}} # enable/disable application identification for traceroute def enable prop_get('enable') end # enable/disable application identification for traceroute def enable=(val) prop_set('enable', val) end # set the TTL threshold value for traceroute identification def ttl_threshold prop_get('ttl-threshold') end # set the TTL threshold value for traceroute identification def ttl_threshold=(val) prop_set('ttl-threshold', val) end end def traceroute @subclasses['traceroute'] ||= Traceroute.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'identify-unknown-traffic-by-port'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'set if unknown traffic should be identified by source or destination port'}, 'dump-unknown'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'on', 'help-string'=>'set if unknown application capture should be enabled', 'enum'=>[{'value'=>'on', 'help-string'=>'Turn on unknown application dump'}, {'value'=>'off', 'help-string'=>'Turn off unknown application dump'}]}, 'cache'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'set if application cache should be enabled'}, 'use-cache-for-identification'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set to use the App-ID cache result for identification'}, 'cache-threshold'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'16', 'min'=>'1', 'max'=>'65535', 'help-string'=>'set application cache threshold'}, 'supernode'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'set if supernode detection should be enabled'}, 'heuristics'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'set if heuristics detection should be enabled'}, 'notify-user'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'set if user should be notified when web-application is blocked'}, 'bypass-exceed-queue'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'whether to skip inspection of session if queue limit is exceeded'}} # set if unknown traffic should be identified by source or destination port def identify_unknown_traffic_by_port prop_get('identify-unknown-traffic-by-port') end # set if unknown traffic should be identified by source or destination port def identify_unknown_traffic_by_port=(val) prop_set('identify-unknown-traffic-by-port', val) end # set if unknown application capture should be enabled def dump_unknown prop_get('dump-unknown') end # set if unknown application capture should be enabled def dump_unknown=(val) prop_set('dump-unknown', val) end # set if application cache should be enabled def cache prop_get('cache') end # set if application cache should be enabled def cache=(val) prop_set('cache', val) end # Set to use the App-ID cache result for identification def use_cache_for_identification prop_get('use-cache-for-identification') end # Set to use the App-ID cache result for identification def use_cache_for_identification=(val) prop_set('use-cache-for-identification', val) end # set application cache threshold def cache_threshold prop_get('cache-threshold') end # set application cache threshold def cache_threshold=(val) prop_set('cache-threshold', val) end # set if supernode detection should be enabled def supernode prop_get('supernode') end # set if supernode detection should be enabled def supernode=(val) prop_set('supernode', val) end # set if heuristics detection should be enabled def heuristics prop_get('heuristics') end # set if heuristics detection should be enabled def heuristics=(val) prop_set('heuristics', val) end # set if user should be notified when web-application is blocked def notify_user prop_get('notify-user') end # set if user should be notified when web-application is blocked def notify_user=(val) prop_set('notify-user', val) end # whether to skip inspection of session if queue limit is exceeded def bypass_exceed_queue prop_get('bypass-exceed-queue') end # whether to skip inspection of session if queue limit is exceeded def bypass_exceed_queue=(val) prop_set('bypass-exceed-queue', val) end end def application @subclasses['application'] ||= Application.new(parent_instance: self, client: @client, create_children: @create_children) end class Autofocus < ConfigClass def has_multiple_values?; false; end def _section :autofocus end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable AutoFocus service'}, 'autofocus-url'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'1024', 'default'=>'https://autofocus.paloaltonetworks.com:10443', 'help-string'=>'URL for AutoFocus server'}, 'query-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'15', 'max'=>'3600', 'default'=>'15', 'help-string'=>'Query time out in seconds'}} # Enable AutoFocus service def enabled prop_get('enabled') end # Enable AutoFocus service def enabled=(val) prop_set('enabled', val) end # URL for AutoFocus server def autofocus_url prop_get('autofocus-url') end # URL for AutoFocus server def autofocus_url=(val) prop_set('autofocus-url', val) end # Query time out in seconds def query_timeout prop_get('query-timeout') end # Query time out in seconds def query_timeout=(val) prop_set('query-timeout', val) end end def autofocus @subclasses['autofocus'] ||= Autofocus.new(parent_instance: self, client: @client, create_children: @create_children) end class Wildfire < ConfigClass def has_multiple_values?; false; end def _section :wildfire end class FileSizeLimit < XML::ConfigClass def has_multiple_values?; true; end def _section :'file-size-limit' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'file type'}, 'size-limit'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'file size limit', 'complete-handler'=>'wf-file-size-limit-completer'}} # file type def name prop_get('@name') end # file size limit def size_limit prop_get('size-limit') end # file size limit def size_limit=(val) prop_set('size-limit', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def file_size_limit maybe_register_subclass('file-size-limit', FileSizeLimit.new(parent_instance: self, client: @client, create_children: @create_children)) end class SessionInfoSelect < ConfigClass def has_multiple_values?; false; end def _section :'session-info-select' end @props = {'exclude-src-ip'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'exclude source IP address'}, 'exclude-src-port'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'exclude source port'}, 'exclude-dest-ip'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'exclude destination IP address'}, 'exclude-dest-port'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'exclude destination port'}, 'exclude-vsys-id'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'exclude vsys id'}, 'exclude-app-name'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'exclude application name'}, 'exclude-username'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'exclude user name'}, 'exclude-url'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'exclude url'}, 'exclude-filename'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'exclude file name'}, 'exclude-email-sender'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'exclude email sender'}, 'exclude-email-recipient'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'exclude email recipient'}, 'exclude-email-subject'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'exclude email subject'}} # exclude source IP address def exclude_src_ip prop_get('exclude-src-ip') end # exclude source IP address def exclude_src_ip=(val) prop_set('exclude-src-ip', val) end # exclude source port def exclude_src_port prop_get('exclude-src-port') end # exclude source port def exclude_src_port=(val) prop_set('exclude-src-port', val) end # exclude destination IP address def exclude_dest_ip prop_get('exclude-dest-ip') end # exclude destination IP address def exclude_dest_ip=(val) prop_set('exclude-dest-ip', val) end # exclude destination port def exclude_dest_port prop_get('exclude-dest-port') end # exclude destination port def exclude_dest_port=(val) prop_set('exclude-dest-port', val) end # exclude vsys id def exclude_vsys_id prop_get('exclude-vsys-id') end # exclude vsys id def exclude_vsys_id=(val) prop_set('exclude-vsys-id', val) end # exclude application name def exclude_app_name prop_get('exclude-app-name') end # exclude application name def exclude_app_name=(val) prop_set('exclude-app-name', val) end # exclude user name def exclude_username prop_get('exclude-username') end # exclude user name def exclude_username=(val) prop_set('exclude-username', val) end # exclude url def exclude_url prop_get('exclude-url') end # exclude url def exclude_url=(val) prop_set('exclude-url', val) end # exclude file name def exclude_filename prop_get('exclude-filename') end # exclude file name def exclude_filename=(val) prop_set('exclude-filename', val) end # exclude email sender def exclude_email_sender prop_get('exclude-email-sender') end # exclude email sender def exclude_email_sender=(val) prop_set('exclude-email-sender', val) end # exclude email recipient def exclude_email_recipient prop_get('exclude-email-recipient') end # exclude email recipient def exclude_email_recipient=(val) prop_set('exclude-email-recipient', val) end # exclude email subject def exclude_email_subject prop_get('exclude-email-subject') end # exclude email subject def exclude_email_subject=(val) prop_set('exclude-email-subject', val) end end def session_info_select @subclasses['session-info-select'] ||= SessionInfoSelect.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'file-idle-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'90', 'min'=>'5', 'max'=>'180', 'help-string'=>'set file caching idle timeout (second)'}, 'file-upload-rate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'150', 'platform-max'=>'cfg.general.fb.max-fbfiles-per-min', 'help-string'=>'set max number of files uploaded per minute'}, 'public-cloud-server'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^([$a-zA-Z0-9./_-])+$', 'minlen'=>'1', 'maxlen'=>'63', 'default'=>'wildfire.paloaltonetworks.com', 'help-string'=>'IP address or hostname for cloud server. Default is wildfire.paloaltonetworks.com'}, 'private-cloud-server'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^([:/$a-zA-Z0-9./_-])+$', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'IP address or hostname for private cloud server'}, 'real-time-cloud-server'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^([a-zA-Z0-9./_-])+$', 'minlen'=>'1', 'maxlen'=>'63', 'default'=>'realtimesignatures.service.paloaltonetworks.com', 'help-string'=>'IP address or hostname. Default is realtimesignatures.service.paloaltonetworks.com'}, 'real-time-hold'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable wfrt hold mode'}, 'real-time-hold-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'1000', 'min'=>'1', 'max'=>'5000', 'help-string'=>'Maximum time to wait for wfrt av verdict in milliseconds'}, 'real-time-hold-timeout-action'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'allow', 'help-string'=>'Select action to apply when wfrt av verdict timeout is hit', 'enum'=>[{'value'=>'allow'}, {'value'=>'reset-both'}]}, 'private-cloud-use-proxy'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Use global proxy, when configured, to connect to private cloud server.'}, 'disable-signature-verify'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'disable file signature verification'}, 'report-benign-file'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'collect reports from cloud for benign files'}, 'report-grayware-file'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'collect reports from cloud for grayware files'}} # set file caching idle timeout (second) def file_idle_timeout prop_get('file-idle-timeout') end # set file caching idle timeout (second) def file_idle_timeout=(val) prop_set('file-idle-timeout', val) end # set max number of files uploaded per minute def file_upload_rate prop_get('file-upload-rate') end # set max number of files uploaded per minute def file_upload_rate=(val) prop_set('file-upload-rate', val) end # IP address or hostname for cloud server. Default is wildfire.paloaltonetworks.com def public_cloud_server prop_get('public-cloud-server') end # IP address or hostname for cloud server. Default is wildfire.paloaltonetworks.com def public_cloud_server=(val) prop_set('public-cloud-server', val) end # IP address or hostname for private cloud server def private_cloud_server prop_get('private-cloud-server') end # IP address or hostname for private cloud server def private_cloud_server=(val) prop_set('private-cloud-server', val) end # IP address or hostname. Default is realtimesignatures.service.paloaltonetworks.com def real_time_cloud_server prop_get('real-time-cloud-server') end # IP address or hostname. Default is realtimesignatures.service.paloaltonetworks.com def real_time_cloud_server=(val) prop_set('real-time-cloud-server', val) end # Enable wfrt hold mode def real_time_hold prop_get('real-time-hold') end # Enable wfrt hold mode def real_time_hold=(val) prop_set('real-time-hold', val) end # Maximum time to wait for wfrt av verdict in milliseconds def real_time_hold_timeout prop_get('real-time-hold-timeout') end # Maximum time to wait for wfrt av verdict in milliseconds def real_time_hold_timeout=(val) prop_set('real-time-hold-timeout', val) end # Select action to apply when wfrt av verdict timeout is hit def real_time_hold_timeout_action prop_get('real-time-hold-timeout-action') end # Select action to apply when wfrt av verdict timeout is hit def real_time_hold_timeout_action=(val) prop_set('real-time-hold-timeout-action', val) end # Use global proxy, when configured, to connect to private cloud server. def private_cloud_use_proxy prop_get('private-cloud-use-proxy') end # Use global proxy, when configured, to connect to private cloud server. def private_cloud_use_proxy=(val) prop_set('private-cloud-use-proxy', val) end # disable file signature verification def disable_signature_verify prop_get('disable-signature-verify') end # disable file signature verification def disable_signature_verify=(val) prop_set('disable-signature-verify', val) end # collect reports from cloud for benign files def report_benign_file prop_get('report-benign-file') end # collect reports from cloud for benign files def report_benign_file=(val) prop_set('report-benign-file', val) end # collect reports from cloud for grayware files def report_grayware_file prop_get('report-grayware-file') end # collect reports from cloud for grayware files def report_grayware_file=(val) prop_set('report-grayware-file', val) end end def wildfire @subclasses['wildfire'] ||= Wildfire.new(parent_instance: self, client: @client, create_children: @create_children) end class Ctd < ConfigClass def has_multiple_values?; false; end def _section :ctd end @props = {'x-forwarded-for'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'0', 'help-string'=>'Select parsing mode for x-forwarded-for attribute', 'enum'=>[{'value'=>'0', 'help-string'=>'Disabled'}, {'value'=>'1', 'help-string'=>'Enabled for User-ID'}, {'value'=>'2', 'help-string'=>'Enabled for Security Policy'}]}, 'strip-x-fwd-for'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'whether to strip x-forwarded-for in http header'}, 'url-coach-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'15', 'min'=>'1', 'max'=>'86400', 'help-string'=>'set url coach continue timeout(minutes)'}, 'url-admin-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'15', 'min'=>'1', 'max'=>'86400', 'help-string'=>'set url admin continue timeout(minutes)'}, 'url-lockout-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'30', 'min'=>'1', 'max'=>'86400', 'help-string'=>'set url admin override lockout timeout(minutes)'}, 'url-wait-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'2', 'min'=>'1', 'max'=>'60', 'help-string'=>'set url category query timeout(seconds)'}, 'cap-portal-ask-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'2', 'min'=>'0', 'max'=>'65535', 'help-string'=>'set captive portal rate limit timeout(seconds)'}, 'cap-portal-ask-requests'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'5', 'min'=>'1', 'max'=>'32', 'help-string'=>'set captive portal rate limit max request count'}, 'cap-portal-max-session'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'2500', 'min'=>'0', 'max'=>'8192', 'help-string'=>'set maximum captive portal sessions'}, 'cap-portal-html-redirect'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'whether to redirect with html meta header'}, 'http-proxy-use-transaction'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'whether to use transaction for stats for http proxy sessions'}, 'tcp-bypass-exceed-queue'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'whether to skip inspection of TCP session if queue limit is exceeded'}, 'udp-bypass-exceed-queue'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'whether to skip inspection of UDP session if queue limit is exceeded'}, 'allow-http-range'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'whether to allow HTTP partial response'}, 'extended-capture-segment'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'5', 'min'=>'1', 'max'=>'50', 'help-string'=>'number of segment of threat packet capture.'}, 'track-filename'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'keep on tracking filenames without considering profile'}, 'hash-signature-allow'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'whether to do hashing for virus signatures'}, 'decode-filter-max-depth'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'4', 'min'=>'1', 'max'=>'7', 'help-string'=>'set number of levels for decode filter'}, 'hold-client-request'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'whether to hold client request for URL category lookup'}, 'header-insert-cleartext-proxy'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Use cleartext proxy for HTTP header insertion'}, 'block-on-cleartext-proxy-failure'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Block session when cleartext proxy fails to start'}, 'cloud-dns-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'100', 'min'=>'0', 'max'=>'60000', 'help-string'=>'set cloud DNS signature query timeout in milliseconds'}, 'cloud-dns-privacy-mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'set cloud DNS telemetry mask source ip address'}, 'cloudapp-implicit-policy-enforce'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enforce security policy for all cloud apps when not referenced in security policy.'}, 'shm-quota-threshold'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'50', 'min'=>'50', 'max'=>'80', 'help-string'=>'Threshold for quota from other services'}, 'shared-memory-quota-dlp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'40', 'min'=>'0', 'max'=>'100', 'help-string'=>'Quota for DLP'}, 'shared-memory-quota-iot'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'20', 'min'=>'0', 'max'=>'100', 'help-string'=>'Quota for IOT'}, 'shared-memory-quota-ace'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'20', 'min'=>'0', 'max'=>'100', 'help-string'=>'Quota for ACE'}, 'shared-memory-quota-url-cat'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'20', 'min'=>'0', 'max'=>'100', 'help-string'=>'Quota for URLCAT'}, 'siptcp-cleartext-proxy'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'1', 'help-string'=>'Select Cleartext proxy mode for SIP TCP', 'enum'=>[{'value'=>'0', 'help-string'=>'Always Off'}, {'value'=>'1', 'help-string'=>'Always enabled'}, {'value'=>'2', 'help-string'=>'Automatically enable proxy when needed'}]}, 'http2-cleartext-proxy'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'whether to enable/disable cleartext proxy for HTTP/2'}} # Select parsing mode for x-forwarded-for attribute def x_forwarded_for prop_get('x-forwarded-for') end # Select parsing mode for x-forwarded-for attribute def x_forwarded_for=(val) prop_set('x-forwarded-for', val) end # whether to strip x-forwarded-for in http header def strip_x_fwd_for prop_get('strip-x-fwd-for') end # whether to strip x-forwarded-for in http header def strip_x_fwd_for=(val) prop_set('strip-x-fwd-for', val) end # set url coach continue timeout(minutes) def url_coach_timeout prop_get('url-coach-timeout') end # set url coach continue timeout(minutes) def url_coach_timeout=(val) prop_set('url-coach-timeout', val) end # set url admin continue timeout(minutes) def url_admin_timeout prop_get('url-admin-timeout') end # set url admin continue timeout(minutes) def url_admin_timeout=(val) prop_set('url-admin-timeout', val) end # set url admin override lockout timeout(minutes) def url_lockout_timeout prop_get('url-lockout-timeout') end # set url admin override lockout timeout(minutes) def url_lockout_timeout=(val) prop_set('url-lockout-timeout', val) end # set url category query timeout(seconds) def url_wait_timeout prop_get('url-wait-timeout') end # set url category query timeout(seconds) def url_wait_timeout=(val) prop_set('url-wait-timeout', val) end # set captive portal rate limit timeout(seconds) def cap_portal_ask_timeout prop_get('cap-portal-ask-timeout') end # set captive portal rate limit timeout(seconds) def cap_portal_ask_timeout=(val) prop_set('cap-portal-ask-timeout', val) end # set captive portal rate limit max request count def cap_portal_ask_requests prop_get('cap-portal-ask-requests') end # set captive portal rate limit max request count def cap_portal_ask_requests=(val) prop_set('cap-portal-ask-requests', val) end # set maximum captive portal sessions def cap_portal_max_session prop_get('cap-portal-max-session') end # set maximum captive portal sessions def cap_portal_max_session=(val) prop_set('cap-portal-max-session', val) end # whether to redirect with html meta header def cap_portal_html_redirect prop_get('cap-portal-html-redirect') end # whether to redirect with html meta header def cap_portal_html_redirect=(val) prop_set('cap-portal-html-redirect', val) end # whether to use transaction for stats for http proxy sessions def http_proxy_use_transaction prop_get('http-proxy-use-transaction') end # whether to use transaction for stats for http proxy sessions def http_proxy_use_transaction=(val) prop_set('http-proxy-use-transaction', val) end # whether to skip inspection of TCP session if queue limit is exceeded def tcp_bypass_exceed_queue prop_get('tcp-bypass-exceed-queue') end # whether to skip inspection of TCP session if queue limit is exceeded def tcp_bypass_exceed_queue=(val) prop_set('tcp-bypass-exceed-queue', val) end # whether to skip inspection of UDP session if queue limit is exceeded def udp_bypass_exceed_queue prop_get('udp-bypass-exceed-queue') end # whether to skip inspection of UDP session if queue limit is exceeded def udp_bypass_exceed_queue=(val) prop_set('udp-bypass-exceed-queue', val) end # whether to allow HTTP partial response def allow_http_range prop_get('allow-http-range') end # whether to allow HTTP partial response def allow_http_range=(val) prop_set('allow-http-range', val) end # number of segment of threat packet capture. def extended_capture_segment prop_get('extended-capture-segment') end # number of segment of threat packet capture. def extended_capture_segment=(val) prop_set('extended-capture-segment', val) end # keep on tracking filenames without considering profile def track_filename prop_get('track-filename') end # keep on tracking filenames without considering profile def track_filename=(val) prop_set('track-filename', val) end # whether to do hashing for virus signatures def hash_signature_allow prop_get('hash-signature-allow') end # whether to do hashing for virus signatures def hash_signature_allow=(val) prop_set('hash-signature-allow', val) end # set number of levels for decode filter def decode_filter_max_depth prop_get('decode-filter-max-depth') end # set number of levels for decode filter def decode_filter_max_depth=(val) prop_set('decode-filter-max-depth', val) end # whether to hold client request for URL category lookup def hold_client_request prop_get('hold-client-request') end # whether to hold client request for URL category lookup def hold_client_request=(val) prop_set('hold-client-request', val) end # Use cleartext proxy for HTTP header insertion def header_insert_cleartext_proxy prop_get('header-insert-cleartext-proxy') end # Use cleartext proxy for HTTP header insertion def header_insert_cleartext_proxy=(val) prop_set('header-insert-cleartext-proxy', val) end # Block session when cleartext proxy fails to start def block_on_cleartext_proxy_failure prop_get('block-on-cleartext-proxy-failure') end # Block session when cleartext proxy fails to start def block_on_cleartext_proxy_failure=(val) prop_set('block-on-cleartext-proxy-failure', val) end # set cloud DNS signature query timeout in milliseconds def cloud_dns_timeout prop_get('cloud-dns-timeout') end # set cloud DNS signature query timeout in milliseconds def cloud_dns_timeout=(val) prop_set('cloud-dns-timeout', val) end # set cloud DNS telemetry mask source ip address def cloud_dns_privacy_mask prop_get('cloud-dns-privacy-mask') end # set cloud DNS telemetry mask source ip address def cloud_dns_privacy_mask=(val) prop_set('cloud-dns-privacy-mask', val) end # Enforce security policy for all cloud apps when not referenced in security policy. def cloudapp_implicit_policy_enforce prop_get('cloudapp-implicit-policy-enforce') end # Enforce security policy for all cloud apps when not referenced in security policy. def cloudapp_implicit_policy_enforce=(val) prop_set('cloudapp-implicit-policy-enforce', val) end # Threshold for quota from other services def shm_quota_threshold prop_get('shm-quota-threshold') end # Threshold for quota from other services def shm_quota_threshold=(val) prop_set('shm-quota-threshold', val) end # Quota for DLP def shared_memory_quota_dlp prop_get('shared-memory-quota-dlp') end # Quota for DLP def shared_memory_quota_dlp=(val) prop_set('shared-memory-quota-dlp', val) end # Quota for IOT def shared_memory_quota_iot prop_get('shared-memory-quota-iot') end # Quota for IOT def shared_memory_quota_iot=(val) prop_set('shared-memory-quota-iot', val) end # Quota for ACE def shared_memory_quota_ace prop_get('shared-memory-quota-ace') end # Quota for ACE def shared_memory_quota_ace=(val) prop_set('shared-memory-quota-ace', val) end # Quota for URLCAT def shared_memory_quota_url_cat prop_get('shared-memory-quota-url-cat') end # Quota for URLCAT def shared_memory_quota_url_cat=(val) prop_set('shared-memory-quota-url-cat', val) end # Select Cleartext proxy mode for SIP TCP def siptcp_cleartext_proxy prop_get('siptcp-cleartext-proxy') end # Select Cleartext proxy mode for SIP TCP def siptcp_cleartext_proxy=(val) prop_set('siptcp-cleartext-proxy', val) end # whether to enable/disable cleartext proxy for HTTP/2 def http2_cleartext_proxy prop_get('http2-cleartext-proxy') end # whether to enable/disable cleartext proxy for HTTP/2 def http2_cleartext_proxy=(val) prop_set('http2-cleartext-proxy', val) end end def ctd @subclasses['ctd'] ||= Ctd.new(parent_instance: self, client: @client, create_children: @create_children) end class InlineUrlSetting < ConfigClass def has_multiple_values?; false; end def _section :'inline-url-setting' end @props = {'max-latency'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'2500', 'min'=>'1', 'max'=>'240000', 'help-string'=>'Timeout for request to cloud in millisecond. (Timeout unit would be every 100ms)'}, 'allow-on-max-latency'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Action when timeout for request to cloud reached'}, 'log-scan'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Log Traffic Not Scanned'}} # Timeout for request to cloud in millisecond. (Timeout unit would be every 100ms) def max_latency prop_get('max-latency') end # Timeout for request to cloud in millisecond. (Timeout unit would be every 100ms) def max_latency=(val) prop_set('max-latency', val) end # Action when timeout for request to cloud reached def allow_on_max_latency prop_get('allow-on-max-latency') end # Action when timeout for request to cloud reached def allow_on_max_latency=(val) prop_set('allow-on-max-latency', val) end # Log Traffic Not Scanned def log_scan prop_get('log-scan') end # Log Traffic Not Scanned def log_scan=(val) prop_set('log-scan', val) end end def inline_url_setting @subclasses['inline-url-setting'] ||= InlineUrlSetting.new(parent_instance: self, client: @client, create_children: @create_children) end class InlineSpywareSetting < ConfigClass def has_multiple_values?; false; end def _section :'inline-spyware-setting' end @props = {'max-latency'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'200', 'min'=>'1', 'max'=>'240000', 'help-string'=>'Timeout for request to cloud in millisecond. (Timeout unit would be every 100ms)'}, 'allow-on-max-latency'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Action when timeout for request to cloud reached'}, 'log-scan'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Log Traffic Not Scanned'}} # Timeout for request to cloud in millisecond. (Timeout unit would be every 100ms) def max_latency prop_get('max-latency') end # Timeout for request to cloud in millisecond. (Timeout unit would be every 100ms) def max_latency=(val) prop_set('max-latency', val) end # Action when timeout for request to cloud reached def allow_on_max_latency prop_get('allow-on-max-latency') end # Action when timeout for request to cloud reached def allow_on_max_latency=(val) prop_set('allow-on-max-latency', val) end # Log Traffic Not Scanned def log_scan prop_get('log-scan') end # Log Traffic Not Scanned def log_scan=(val) prop_set('log-scan', val) end end def inline_spyware_setting @subclasses['inline-spyware-setting'] ||= InlineSpywareSetting.new(parent_instance: self, client: @client, create_children: @create_children) end class SslDecrypt < ConfigClass def has_multiple_values?; false; end def _section :'ssl-decrypt' end @props = {'url-wait'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'set if wait for url category if not in cache'}, 'url-proxy'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'set if proxy for ssl sessions if ip\'s url category is blocked'}, 'notify-user'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'set if user notification should be enabled'}, 'answer-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'86400', 'min'=>'1', 'max'=>'86400', 'help-string'=>'set user reply timeout value in seconds'}, 'crl'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'set whether to use CRL to check certificate status'}, 'ocsp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'set whether to use OCSP to check certificate status'}, 'crl-receive-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'60', 'default'=>'5', 'help-string'=>'set CRL receive timeout value in seconds'}, 'ocsp-receive-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'60', 'default'=>'5', 'help-string'=>'set OCSP receive timeout value in seconds'}, 'cert-status-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'60', 'default'=>'5', 'help-string'=>'set cert status query timeout value in seconds'}, 'session-cache-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'10', 'max'=>'86400', 'default'=>'3600', 'help-string'=>'set session cache timeout value in seconds'}, 'tcp-use-ts'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'set whether to use TCP timestamps'}, 'zero-window-track'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'set whether to track TCP zero window condition'}, 'fwd-proxy-server-cert-key-size-rsa'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'0', 'help-string'=>'select the rsa public key size for forward proxy', 'enum'=>[{'value'=>'0', 'help-string'=>'Defined by destination host'}, {'value'=>'1024', 'help-string'=>'1024-bit RSA'}, {'value'=>'2048', 'help-string'=>'2048-bit RSA'}, {'value'=>'3072', 'help-string'=>'3072-bit RSA'}, {'value'=>'4096', 'help-string'=>'4096-bit RSA'}]}, 'fwd-proxy-server-cert-key-size-ecdsa'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'0', 'help-string'=>'select the ecdsa public key size for forward proxy', 'enum'=>[{'value'=>'0', 'help-string'=>'Defined by destination host'}, {'value'=>'256', 'help-string'=>'256-bit ECDSA'}, {'value'=>'384', 'help-string'=>'384-bit ECDSA'}]}, 'default-elliptic-curve'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'256', 'help-string'=>'default ECC curve for key exchange', 'enum'=>[{'value'=>'192', 'help-string'=>'secp192r1, aka prime192v1'}, {'value'=>'224', 'help-string'=>'secp224r1'}, {'value'=>'256', 'help-string'=>'secp256r1, aka prime256v1'}, {'value'=>'384', 'help-string'=>'secp384r1'}, {'value'=>'521', 'help-string'=>'secp521r1'}]}, 'fptcp-rwin-max'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'524288', 'max'=>'8388608', 'default'=>'524288', 'help-string'=>'Maximum TCP receive window for proxy TCP sessions in bytes'}, 'scan-handshake'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Send handshake messages to CTD for inspection'}} # set if wait for url category if not in cache def url_wait prop_get('url-wait') end # set if wait for url category if not in cache def url_wait=(val) prop_set('url-wait', val) end # set if proxy for ssl sessions if ip's url category is blocked def url_proxy prop_get('url-proxy') end # set if proxy for ssl sessions if ip's url category is blocked def url_proxy=(val) prop_set('url-proxy', val) end # set if user notification should be enabled def notify_user prop_get('notify-user') end # set if user notification should be enabled def notify_user=(val) prop_set('notify-user', val) end # set user reply timeout value in seconds def answer_timeout prop_get('answer-timeout') end # set user reply timeout value in seconds def answer_timeout=(val) prop_set('answer-timeout', val) end # set whether to use CRL to check certificate status def crl prop_get('crl') end # set whether to use CRL to check certificate status def crl=(val) prop_set('crl', val) end # set whether to use OCSP to check certificate status def ocsp prop_get('ocsp') end # set whether to use OCSP to check certificate status def ocsp=(val) prop_set('ocsp', val) end # set CRL receive timeout value in seconds def crl_receive_timeout prop_get('crl-receive-timeout') end # set CRL receive timeout value in seconds def crl_receive_timeout=(val) prop_set('crl-receive-timeout', val) end # set OCSP receive timeout value in seconds def ocsp_receive_timeout prop_get('ocsp-receive-timeout') end # set OCSP receive timeout value in seconds def ocsp_receive_timeout=(val) prop_set('ocsp-receive-timeout', val) end # set cert status query timeout value in seconds def cert_status_timeout prop_get('cert-status-timeout') end # set cert status query timeout value in seconds def cert_status_timeout=(val) prop_set('cert-status-timeout', val) end # set session cache timeout value in seconds def session_cache_timeout prop_get('session-cache-timeout') end # set session cache timeout value in seconds def session_cache_timeout=(val) prop_set('session-cache-timeout', val) end # set whether to use TCP timestamps def tcp_use_ts prop_get('tcp-use-ts') end # set whether to use TCP timestamps def tcp_use_ts=(val) prop_set('tcp-use-ts', val) end # set whether to track TCP zero window condition def zero_window_track prop_get('zero-window-track') end # set whether to track TCP zero window condition def zero_window_track=(val) prop_set('zero-window-track', val) end # select the rsa public key size for forward proxy def fwd_proxy_server_cert_key_size_rsa prop_get('fwd-proxy-server-cert-key-size-rsa') end # select the rsa public key size for forward proxy def fwd_proxy_server_cert_key_size_rsa=(val) prop_set('fwd-proxy-server-cert-key-size-rsa', val) end # select the ecdsa public key size for forward proxy def fwd_proxy_server_cert_key_size_ecdsa prop_get('fwd-proxy-server-cert-key-size-ecdsa') end # select the ecdsa public key size for forward proxy def fwd_proxy_server_cert_key_size_ecdsa=(val) prop_set('fwd-proxy-server-cert-key-size-ecdsa', val) end # default ECC curve for key exchange def default_elliptic_curve prop_get('default-elliptic-curve') end # default ECC curve for key exchange def default_elliptic_curve=(val) prop_set('default-elliptic-curve', val) end # Maximum TCP receive window for proxy TCP sessions in bytes def fptcp_rwin_max prop_get('fptcp-rwin-max') end # Maximum TCP receive window for proxy TCP sessions in bytes def fptcp_rwin_max=(val) prop_set('fptcp-rwin-max', val) end # Send handshake messages to CTD for inspection def scan_handshake prop_get('scan-handshake') end # Send handshake messages to CTD for inspection def scan_handshake=(val) prop_set('scan-handshake', val) end end def ssl_decrypt @subclasses['ssl-decrypt'] ||= SslDecrypt.new(parent_instance: self, client: @client, create_children: @create_children) end class Session < ConfigClass def has_multiple_values?; false; end def _section :session end @props = {'timeout-tcp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'3600', 'min'=>'1', 'max'=>'15999999', 'help-string'=>'set tcp timeout value in seconds'}, 'timeout-udp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'30', 'min'=>'1', 'max'=>'15999999', 'help-string'=>'set udp timeout value in seconds'}, 'timeout-icmp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'6', 'min'=>'1', 'max'=>'15999999', 'help-string'=>'set icmp timeout value in seconds'}, 'timeout-default'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'30', 'min'=>'1', 'max'=>'15999999', 'help-string'=>'set session default timeout value in seconds'}, 'timeout-tcpinit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'5', 'min'=>'1', 'max'=>'60', 'help-string'=>'set tcp initial session timeout (before SYN-ACK is received) value in seconds'}, 'timeout-tcphandshake'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'10', 'min'=>'1', 'max'=>'60', 'help-string'=>'set tcp handshake session timeout (before 3-way handshaking is completed) value in seconds'}, 'timeout-tcp-half-closed'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'120', 'min'=>'1', 'max'=>'604800', 'help-string'=>'set session tcp half close timeout (after receiving first FIN/RST) value in seconds'}, 'timeout-tcp-time-wait'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'15', 'min'=>'1', 'max'=>'600', 'help-string'=>'set session tcp time wait timeout (after receiving second FIN/RST) value in seconds'}, 'timeout-tcp-unverified-rst'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'30', 'min'=>'1', 'max'=>'600', 'help-string'=>'set session tcp timeout value after receiving a RST with unverified sequence number in seconds'}, 'timeout-captive-portal'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'30', 'min'=>'1', 'max'=>'15999999', 'help-string'=>'set captive-portal session timeout value in seconds'}, 'timeout-discard-tcp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'15999999', 'default'=>'90', 'help-string'=>'set timeout of tcp session in discard state'}, 'timeout-discard-udp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'15999999', 'default'=>'60', 'help-string'=>'set timeout of udp session in discard state'}, 'timeout-discard-default'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'15999999', 'default'=>'60', 'help-string'=>'set timeout of non-tcp/udp session in discard state'}, 'icmp-unreachable-rate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'200', 'help-string'=>'set maximum number of ICMP unreachable messages sent per second'}, 'timeout-scan'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'5', 'max'=>'30', 'default'=>'10', 'help-string'=>'application trickling timeout value in seconds'}, 'scan-threshold'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'50', 'max'=>'99', 'default'=>'80', 'help-string'=>'resource utilization threshold to trigger session scan'}, 'scan-scaling-factor'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'8', 'min'=>'2', 'max'=>'16', 'help-string'=>'set scan scaling factor'}, 'accelerated-aging-enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'enable/disable accelerated session aging'}, 'accelerated-aging-threshold'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'80', 'min'=>'50', 'max'=>'99', 'help-string'=>'set accelerated aging threshold in percentage of session utilization'}, 'accelerated-aging-scaling-factor'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'2', 'min'=>'2', 'max'=>'16', 'help-string'=>'set accelerated session aging scaling factor (power of 2)'}, 'packet-buffer-protection-enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'enable/disable packet buffer protection'}, 'packet-buffer-protection-monitor-only'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable/disable packet buffer protection monitor only mode'}, 'packet-buffer-protection-alert'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'50', 'min'=>'0', 'max'=>'99', 'help-string'=>'percentage of packet buffer utilization'}, 'packet-buffer-protection-activate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'80', 'min'=>'0', 'max'=>'99', 'help-string'=>'percentage of packet buffer utilization'}, 'packet-buffer-protection-block-countdown'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'80', 'min'=>'0', 'max'=>'99', 'help-string'=>'percentage above which the block timer is counting down'}, 'packet-buffer-protection-block-hold-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'60', 'min'=>'0', 'max'=>'65535', 'help-string'=>'time the session continues to be abusive to packet buffers'}, 'packet-buffer-protection-block-duration-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'3600', 'min'=>'1', 'max'=>'15999999', 'help-string'=>'time the session is blocked after being abusive to packet buffers'}, 'packet-buffer-protection-use-latency'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'use buffering latency to make packet buffer protection decision'}, 'packet-buffer-protection-latency-alert'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'50', 'min'=>'1', 'max'=>'20000', 'help-string'=>'buffering latency that triggers pbp alert (in milliseconds)'}, 'packet-buffer-protection-latency-activate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'200', 'min'=>'1', 'max'=>'20000', 'help-string'=>'buffering latency that triggers Random Early Drop (RED) (in milliseconds)'}, 'packet-buffer-protection-latency-block-countdown'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'500', 'min'=>'1', 'max'=>'20000', 'help-string'=>'buffering latency that triggers block countdown timer'}, 'packet-buffer-protection-latency-max-tolerate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'500', 'min'=>'1', 'max'=>'20000', 'help-string'=>'buffering latency that triggers 100% packet drop for abusive traffic'}, 'tcp-reject-non-syn'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'reject non-SYN TCP packet for session setup'}, 'tcp-retransmit-scan'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable/disable tcp retransmit scan '}, 'offload'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'enable/disable hardware session offloading'}, 'ipv6-firewalling'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'enable/disable IPv6 firewalling'}, 'erspan'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable/disable ERSPAN'}, 'express-mode'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable/disable express-mode', 'prune-on-sdb'=>'cfg.platform.model=PA-VM,cfg.platform.model=PA-500,cfg.platform.model=PA-5050,cfg.platform.model=PA-5020,cfg.platform.model=PA-5060,cfg.platform.model=PA-200,cfg.platform.model=PA-3050,cfg.platform.model=PA-3020,cfg.platform.model=PA-7050,cfg.platform.model=PA-7080,cfg.platform.model=PA-820,cfg.platform.model=PA-850,cfg.platform.model=PA-220,cfg.platform.model=PA-5220,cfg.platform.model=PA-5250,cfg.platform.model=PA-5260,cfg.platform.model=PA-3220,cfg.platform.model=PA-3260,cfg.platform.model=PA-200R,cfg.platform.model=PA-3220-ZTP,cfg.platform.model=PA-3250-ZTP,cfg.platform.model=PA-3260-ZTP,cfg.platform.model=PA-820-ZTP,cfg.platform.model=PA-850-ZTP,cfg.platform.model=PA-220-ZTP,cfg.platform.model=PA-220R-ZTP,cfg.platform.model=PA-410,cfg.platform.model=PA-415,cfg.platform.model=PA-440,cfg.platform.model=PA-445,cfg.platform.model=PA-450,cfg.platform.model=PA-460,cfg.platform.model=PA-5400,cfg.platform.model=PA-3410,cfg.platform.model=PA-3420,cfg.platform.model=PA-3430,cfg.platform.model=PA-3440,cfg.platform.model=PA-1410,cfg.platform.model=PA-1420,cfg.platform.model=PA-5410,cfg.platform.model=PA-5420,cfg.platform.model=PA-5430,cfg.platform.model=PA-5440,cfg.platform.model=PA-5450'}, 'resource-limit-behavior'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'drop', 'help-string'=>'behavior when resource limit is reached', 'enum'=>[{'value'=>'bypass'}, {'value'=>'drop'}]}, 'multicast-route-setup-buffering'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable/disable multicast packet queue for pending multicast route'}, 'max-pending-mcast-pkts-per-session'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'default'=>'1000', 'help-string'=>'Max number of multicast packets queued per session'}, 'timeout-sctp-init'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'5', 'min'=>'1', 'max'=>'120', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420,cfg.platform.model=PA-1410,cfg.platform.model=PA-1420', 'help-string'=>'set sctp init timeout value in seconds'}, 'timeout-sctp-cookie'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'60', 'min'=>'1', 'max'=>'120', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420,cfg.platform.model=PA-1410,cfg.platform.model=PA-1420', 'help-string'=>'set sctp init cookie timeout value in seconds'}, 'timeout-discard-sctp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'30', 'min'=>'1', 'max'=>'600', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420,cfg.platform.model=PA-1410,cfg.platform.model=PA-1420', 'help-string'=>'set sctp discard timeout value in seconds'}, 'timeout-sctp-shutdown'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'60', 'min'=>'1', 'max'=>'600', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420,cfg.platform.model=PA-1410,cfg.platform.model=PA-1420', 'help-string'=>'set sctp shutdown timeout value in seconds'}, 'timeout-sctp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'3600', 'min'=>'1', 'max'=>'86400', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420,cfg.platform.model=PA-1410,cfg.platform.model=PA-1420', 'help-string'=>'set sctp timeout value in seconds'}, 'timeout-5gc-delete'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'15', 'min'=>'15', 'max'=>'1800', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420,cfg.platform.model=PA-1410,cfg.platform.model=PA-1420', 'help-string'=>'set 5gc delete timeout value in seconds'}, 'dhcp-bcast-session-on'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable/disable session setup for DHCP packets at DHCP server/replay interfaces.'}} # set tcp timeout value in seconds def timeout_tcp prop_get('timeout-tcp') end # set tcp timeout value in seconds def timeout_tcp=(val) prop_set('timeout-tcp', val) end # set udp timeout value in seconds def timeout_udp prop_get('timeout-udp') end # set udp timeout value in seconds def timeout_udp=(val) prop_set('timeout-udp', val) end # set icmp timeout value in seconds def timeout_icmp prop_get('timeout-icmp') end # set icmp timeout value in seconds def timeout_icmp=(val) prop_set('timeout-icmp', val) end # set session default timeout value in seconds def timeout_default prop_get('timeout-default') end # set session default timeout value in seconds def timeout_default=(val) prop_set('timeout-default', val) end # set tcp initial session timeout (before SYN-ACK is received) value in seconds def timeout_tcpinit prop_get('timeout-tcpinit') end # set tcp initial session timeout (before SYN-ACK is received) value in seconds def timeout_tcpinit=(val) prop_set('timeout-tcpinit', val) end # set tcp handshake session timeout (before 3-way handshaking is completed) value in seconds def timeout_tcphandshake prop_get('timeout-tcphandshake') end # set tcp handshake session timeout (before 3-way handshaking is completed) value in seconds def timeout_tcphandshake=(val) prop_set('timeout-tcphandshake', val) end # set session tcp half close timeout (after receiving first FIN/RST) value in seconds def timeout_tcp_half_closed prop_get('timeout-tcp-half-closed') end # set session tcp half close timeout (after receiving first FIN/RST) value in seconds def timeout_tcp_half_closed=(val) prop_set('timeout-tcp-half-closed', val) end # set session tcp time wait timeout (after receiving second FIN/RST) value in seconds def timeout_tcp_time_wait prop_get('timeout-tcp-time-wait') end # set session tcp time wait timeout (after receiving second FIN/RST) value in seconds def timeout_tcp_time_wait=(val) prop_set('timeout-tcp-time-wait', val) end # set session tcp timeout value after receiving a RST with unverified sequence number in seconds def timeout_tcp_unverified_rst prop_get('timeout-tcp-unverified-rst') end # set session tcp timeout value after receiving a RST with unverified sequence number in seconds def timeout_tcp_unverified_rst=(val) prop_set('timeout-tcp-unverified-rst', val) end # set captive-portal session timeout value in seconds def timeout_captive_portal prop_get('timeout-captive-portal') end # set captive-portal session timeout value in seconds def timeout_captive_portal=(val) prop_set('timeout-captive-portal', val) end # set timeout of tcp session in discard state def timeout_discard_tcp prop_get('timeout-discard-tcp') end # set timeout of tcp session in discard state def timeout_discard_tcp=(val) prop_set('timeout-discard-tcp', val) end # set timeout of udp session in discard state def timeout_discard_udp prop_get('timeout-discard-udp') end # set timeout of udp session in discard state def timeout_discard_udp=(val) prop_set('timeout-discard-udp', val) end # set timeout of non-tcp/udp session in discard state def timeout_discard_default prop_get('timeout-discard-default') end # set timeout of non-tcp/udp session in discard state def timeout_discard_default=(val) prop_set('timeout-discard-default', val) end # set maximum number of ICMP unreachable messages sent per second def icmp_unreachable_rate prop_get('icmp-unreachable-rate') end # set maximum number of ICMP unreachable messages sent per second def icmp_unreachable_rate=(val) prop_set('icmp-unreachable-rate', val) end # application trickling timeout value in seconds def timeout_scan prop_get('timeout-scan') end # application trickling timeout value in seconds def timeout_scan=(val) prop_set('timeout-scan', val) end # resource utilization threshold to trigger session scan def scan_threshold prop_get('scan-threshold') end # resource utilization threshold to trigger session scan def scan_threshold=(val) prop_set('scan-threshold', val) end # set scan scaling factor def scan_scaling_factor prop_get('scan-scaling-factor') end # set scan scaling factor def scan_scaling_factor=(val) prop_set('scan-scaling-factor', val) end # enable/disable accelerated session aging def accelerated_aging_enable prop_get('accelerated-aging-enable') end # enable/disable accelerated session aging def accelerated_aging_enable=(val) prop_set('accelerated-aging-enable', val) end # set accelerated aging threshold in percentage of session utilization def accelerated_aging_threshold prop_get('accelerated-aging-threshold') end # set accelerated aging threshold in percentage of session utilization def accelerated_aging_threshold=(val) prop_set('accelerated-aging-threshold', val) end # set accelerated session aging scaling factor (power of 2) def accelerated_aging_scaling_factor prop_get('accelerated-aging-scaling-factor') end # set accelerated session aging scaling factor (power of 2) def accelerated_aging_scaling_factor=(val) prop_set('accelerated-aging-scaling-factor', val) end # enable/disable packet buffer protection def packet_buffer_protection_enable prop_get('packet-buffer-protection-enable') end # enable/disable packet buffer protection def packet_buffer_protection_enable=(val) prop_set('packet-buffer-protection-enable', val) end # enable/disable packet buffer protection monitor only mode def packet_buffer_protection_monitor_only prop_get('packet-buffer-protection-monitor-only') end # enable/disable packet buffer protection monitor only mode def packet_buffer_protection_monitor_only=(val) prop_set('packet-buffer-protection-monitor-only', val) end # percentage of packet buffer utilization def packet_buffer_protection_alert prop_get('packet-buffer-protection-alert') end # percentage of packet buffer utilization def packet_buffer_protection_alert=(val) prop_set('packet-buffer-protection-alert', val) end # percentage of packet buffer utilization def packet_buffer_protection_activate prop_get('packet-buffer-protection-activate') end # percentage of packet buffer utilization def packet_buffer_protection_activate=(val) prop_set('packet-buffer-protection-activate', val) end # percentage above which the block timer is counting down def packet_buffer_protection_block_countdown prop_get('packet-buffer-protection-block-countdown') end # percentage above which the block timer is counting down def packet_buffer_protection_block_countdown=(val) prop_set('packet-buffer-protection-block-countdown', val) end # time the session continues to be abusive to packet buffers def packet_buffer_protection_block_hold_time prop_get('packet-buffer-protection-block-hold-time') end # time the session continues to be abusive to packet buffers def packet_buffer_protection_block_hold_time=(val) prop_set('packet-buffer-protection-block-hold-time', val) end # time the session is blocked after being abusive to packet buffers def packet_buffer_protection_block_duration_time prop_get('packet-buffer-protection-block-duration-time') end # time the session is blocked after being abusive to packet buffers def packet_buffer_protection_block_duration_time=(val) prop_set('packet-buffer-protection-block-duration-time', val) end # use buffering latency to make packet buffer protection decision def packet_buffer_protection_use_latency prop_get('packet-buffer-protection-use-latency') end # use buffering latency to make packet buffer protection decision def packet_buffer_protection_use_latency=(val) prop_set('packet-buffer-protection-use-latency', val) end # buffering latency that triggers pbp alert (in milliseconds) def packet_buffer_protection_latency_alert prop_get('packet-buffer-protection-latency-alert') end # buffering latency that triggers pbp alert (in milliseconds) def packet_buffer_protection_latency_alert=(val) prop_set('packet-buffer-protection-latency-alert', val) end # buffering latency that triggers Random Early Drop (RED) (in milliseconds) def packet_buffer_protection_latency_activate prop_get('packet-buffer-protection-latency-activate') end # buffering latency that triggers Random Early Drop (RED) (in milliseconds) def packet_buffer_protection_latency_activate=(val) prop_set('packet-buffer-protection-latency-activate', val) end # buffering latency that triggers block countdown timer def packet_buffer_protection_latency_block_countdown prop_get('packet-buffer-protection-latency-block-countdown') end # buffering latency that triggers block countdown timer def packet_buffer_protection_latency_block_countdown=(val) prop_set('packet-buffer-protection-latency-block-countdown', val) end # buffering latency that triggers 100% packet drop for abusive traffic def packet_buffer_protection_latency_max_tolerate prop_get('packet-buffer-protection-latency-max-tolerate') end # buffering latency that triggers 100% packet drop for abusive traffic def packet_buffer_protection_latency_max_tolerate=(val) prop_set('packet-buffer-protection-latency-max-tolerate', val) end # reject non-SYN TCP packet for session setup def tcp_reject_non_syn prop_get('tcp-reject-non-syn') end # reject non-SYN TCP packet for session setup def tcp_reject_non_syn=(val) prop_set('tcp-reject-non-syn', val) end # enable/disable tcp retransmit scan def tcp_retransmit_scan prop_get('tcp-retransmit-scan') end # enable/disable tcp retransmit scan def tcp_retransmit_scan=(val) prop_set('tcp-retransmit-scan', val) end # enable/disable hardware session offloading def offload prop_get('offload') end # enable/disable hardware session offloading def offload=(val) prop_set('offload', val) end # enable/disable IPv6 firewalling def ipv6_firewalling prop_get('ipv6-firewalling') end # enable/disable IPv6 firewalling def ipv6_firewalling=(val) prop_set('ipv6-firewalling', val) end # enable/disable ERSPAN def erspan prop_get('erspan') end # enable/disable ERSPAN def erspan=(val) prop_set('erspan', val) end # enable/disable express-mode def express_mode prop_get('express-mode') end # enable/disable express-mode def express_mode=(val) prop_set('express-mode', val) end # behavior when resource limit is reached def resource_limit_behavior prop_get('resource-limit-behavior') end # behavior when resource limit is reached def resource_limit_behavior=(val) prop_set('resource-limit-behavior', val) end # enable/disable multicast packet queue for pending multicast route def multicast_route_setup_buffering prop_get('multicast-route-setup-buffering') end # enable/disable multicast packet queue for pending multicast route def multicast_route_setup_buffering=(val) prop_set('multicast-route-setup-buffering', val) end # Max number of multicast packets queued per session def max_pending_mcast_pkts_per_session prop_get('max-pending-mcast-pkts-per-session') end # Max number of multicast packets queued per session def max_pending_mcast_pkts_per_session=(val) prop_set('max-pending-mcast-pkts-per-session', val) end # set sctp init timeout value in seconds def timeout_sctp_init prop_get('timeout-sctp-init') end # set sctp init timeout value in seconds def timeout_sctp_init=(val) prop_set('timeout-sctp-init', val) end # set sctp init cookie timeout value in seconds def timeout_sctp_cookie prop_get('timeout-sctp-cookie') end # set sctp init cookie timeout value in seconds def timeout_sctp_cookie=(val) prop_set('timeout-sctp-cookie', val) end # set sctp discard timeout value in seconds def timeout_discard_sctp prop_get('timeout-discard-sctp') end # set sctp discard timeout value in seconds def timeout_discard_sctp=(val) prop_set('timeout-discard-sctp', val) end # set sctp shutdown timeout value in seconds def timeout_sctp_shutdown prop_get('timeout-sctp-shutdown') end # set sctp shutdown timeout value in seconds def timeout_sctp_shutdown=(val) prop_set('timeout-sctp-shutdown', val) end # set sctp timeout value in seconds def timeout_sctp prop_get('timeout-sctp') end # set sctp timeout value in seconds def timeout_sctp=(val) prop_set('timeout-sctp', val) end # set 5gc delete timeout value in seconds def timeout_5gc_delete prop_get('timeout-5gc-delete') end # set 5gc delete timeout value in seconds def timeout_5gc_delete=(val) prop_set('timeout-5gc-delete', val) end # enable/disable session setup for DHCP packets at DHCP server/replay interfaces. def dhcp_bcast_session_on prop_get('dhcp-bcast-session-on') end # enable/disable session setup for DHCP packets at DHCP server/replay interfaces. def dhcp_bcast_session_on=(val) prop_set('dhcp-bcast-session-on', val) end end def session @subclasses['session'] ||= Session.new(parent_instance: self, client: @client, create_children: @create_children) end class Tcp < ConfigClass def has_multiple_values?; false; end def _section :tcp end @props = {'bypass-exceed-oo-queue'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'whether to skip inspection of session if out-of-order packets limit is exceeded'}, 'allow-challenge-ack'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Allow arbitrary ACK in response to SYN'}, 'check-timestamp-option'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'whether to drop packets with invalid timestamp option'}, 'asymmetric-path'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'drop', 'optional'=>'yes', 'help-string'=>'actions for TCP sliding window tracking errors, also control enable/disable TCP sequence number check for FIN/RST', 'enum'=>[{'value'=>'drop', 'help-string'=>'drop offending packets that violated TCP sliding window tracking, enable TCP sequence number check for FIN/RST'}, {'value'=>'bypass', 'help-string'=>'bypass inspection for the session that has TCP sliding window tracking errors'}]}, 'urgent-data'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'clear', 'help-string'=>'clear urgent flag in TCP header', 'enum'=>[{'value'=>'clear', 'help-string'=>'always clear urgent data pointers'}, {'value'=>'oobinline', 'help-string'=>'assume host process OOB data inline with normal data'}]}, 'drop-zero-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'whether to drop TCP packet if flag becomes zero after clear urgent flag'}, 'strip-mptcp-option'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'whether to strip MPTCP option'}} # whether to skip inspection of session if out-of-order packets limit is exceeded def bypass_exceed_oo_queue prop_get('bypass-exceed-oo-queue') end # whether to skip inspection of session if out-of-order packets limit is exceeded def bypass_exceed_oo_queue=(val) prop_set('bypass-exceed-oo-queue', val) end # Allow arbitrary ACK in response to SYN def allow_challenge_ack prop_get('allow-challenge-ack') end # Allow arbitrary ACK in response to SYN def allow_challenge_ack=(val) prop_set('allow-challenge-ack', val) end # whether to drop packets with invalid timestamp option def check_timestamp_option prop_get('check-timestamp-option') end # whether to drop packets with invalid timestamp option def check_timestamp_option=(val) prop_set('check-timestamp-option', val) end # actions for TCP sliding window tracking errors, also control enable/disable TCP sequence number check for FIN/RST def asymmetric_path prop_get('asymmetric-path') end # actions for TCP sliding window tracking errors, also control enable/disable TCP sequence number check for FIN/RST def asymmetric_path=(val) prop_set('asymmetric-path', val) end # clear urgent flag in TCP header def urgent_data prop_get('urgent-data') end # clear urgent flag in TCP header def urgent_data=(val) prop_set('urgent-data', val) end # whether to drop TCP packet if flag becomes zero after clear urgent flag def drop_zero_flag prop_get('drop-zero-flag') end # whether to drop TCP packet if flag becomes zero after clear urgent flag def drop_zero_flag=(val) prop_set('drop-zero-flag', val) end # whether to strip MPTCP option def strip_mptcp_option prop_get('strip-mptcp-option') end # whether to strip MPTCP option def strip_mptcp_option=(val) prop_set('strip-mptcp-option', val) end end def tcp @subclasses['tcp'] ||= Tcp.new(parent_instance: self, client: @client, create_children: @create_children) end class Zip < ConfigClass def has_multiple_values?; false; end def _section :zip end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'enable/disable zip engine'}, 'mode'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'auto', 'help-string'=>'whether to use hardware or software zip engine, or both', 'enum'=>[{'value'=>'hw', 'help-string'=>'hardware zip engine'}, {'value'=>'sw', 'help-string'=>'software zip engine'}, {'value'=>'auto', 'help-string'=>'automatically switch between hw and sw zip engines'}]}} # enable/disable zip engine def enable prop_get('enable') end # enable/disable zip engine def enable=(val) prop_set('enable', val) end # whether to use hardware or software zip engine, or both def mode prop_get('mode') end # whether to use hardware or software zip engine, or both def mode=(val) prop_set('mode', val) end end def zip @subclasses['zip'] ||= Zip.new(parent_instance: self, client: @client, create_children: @create_children) end class Http2 < ConfigClass def has_multiple_values?; false; end def _section :http2 end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'enable/disable http/2 inspection'}, 'stream-closed-buffer-threshold'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'10', 'min'=>'1', 'max'=>'100', 'help-string'=>'set closed stream session ring buffer threshold'}, 'server-push'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'enable/disable http/2 server push support'}, 'connection-logging'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable/disable http/2 connection logging'}} # enable/disable http/2 inspection def enable prop_get('enable') end # enable/disable http/2 inspection def enable=(val) prop_set('enable', val) end # set closed stream session ring buffer threshold def stream_closed_buffer_threshold prop_get('stream-closed-buffer-threshold') end # set closed stream session ring buffer threshold def stream_closed_buffer_threshold=(val) prop_set('stream-closed-buffer-threshold', val) end # enable/disable http/2 server push support def server_push prop_get('server-push') end # enable/disable http/2 server push support def server_push=(val) prop_set('server-push', val) end # enable/disable http/2 connection logging def connection_logging prop_get('connection-logging') end # enable/disable http/2 connection logging def connection_logging=(val) prop_set('connection-logging', val) end end def http2 @subclasses['http2'] ||= Http2.new(parent_instance: self, client: @client, create_children: @create_children) end class DnsOverHttps < ConfigClass def has_multiple_values?; false; end def _section :'dns-over-https' end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'enable/disable DNS-over-HTTPS (DoH) inspection'}} # enable/disable DNS-over-HTTPS (DoH) inspection def enable prop_get('enable') end # enable/disable DNS-over-HTTPS (DoH) inspection def enable=(val) prop_set('enable', val) end end def dns_over_https @subclasses['dns-over-https'] ||= DnsOverHttps.new(parent_instance: self, client: @client, create_children: @create_children) end class Pow < ConfigClass def has_multiple_values?; false; end def _section :pow end @props = {'wqe-tag-check'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'enable/disable wqe sess id tag check'}, 'wqe-inuse-check'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'enable/disable wqe in use check '}, 'wqe-swbuf-check'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'enable/disable wqe swbuf trailer check '}, 'wqe-swbuf-track'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable/disable wqe swbuf stack trace'}, 'wqe-hexspeak'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'enable/disable wqe hexspeak '}, 'wqe-swbuf-ref'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'enable/disable wqe swbuf ref in clone'}} # enable/disable wqe sess id tag check def wqe_tag_check prop_get('wqe-tag-check') end # enable/disable wqe sess id tag check def wqe_tag_check=(val) prop_set('wqe-tag-check', val) end # enable/disable wqe in use check def wqe_inuse_check prop_get('wqe-inuse-check') end # enable/disable wqe in use check def wqe_inuse_check=(val) prop_set('wqe-inuse-check', val) end # enable/disable wqe swbuf trailer check def wqe_swbuf_check prop_get('wqe-swbuf-check') end # enable/disable wqe swbuf trailer check def wqe_swbuf_check=(val) prop_set('wqe-swbuf-check', val) end # enable/disable wqe swbuf stack trace def wqe_swbuf_track prop_get('wqe-swbuf-track') end # enable/disable wqe swbuf stack trace def wqe_swbuf_track=(val) prop_set('wqe-swbuf-track', val) end # enable/disable wqe hexspeak def wqe_hexspeak prop_get('wqe-hexspeak') end # enable/disable wqe hexspeak def wqe_hexspeak=(val) prop_set('wqe-hexspeak', val) end # enable/disable wqe swbuf ref in clone def wqe_swbuf_ref prop_get('wqe-swbuf-ref') end # enable/disable wqe swbuf ref in clone def wqe_swbuf_ref=(val) prop_set('wqe-swbuf-ref', val) end end def pow @subclasses['pow'] ||= Pow.new(parent_instance: self, client: @client, create_children: @create_children) end class Config < ConfigClass def has_multiple_values?; false; end def _section :config end @props = {'rematch'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'rematch all sessions with new config policy'}, 'append-ending-token'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'append end token implicitly custom/edl-urls'}} # rematch all sessions with new config policy def rematch prop_get('rematch') end # rematch all sessions with new config policy def rematch=(val) prop_set('rematch', val) end # append end token implicitly custom/edl-urls def append_ending_token prop_get('append-ending-token') end # append end token implicitly custom/edl-urls def append_ending_token=(val) prop_set('append-ending-token', val) end end def config @subclasses['config'] ||= Config.new(parent_instance: self, client: @client, create_children: @create_children) end class Logging < ConfigClass def has_multiple_values?; false; end def _section :logging end class EnhancedApplicationLogging < ConfigClass def has_multiple_values?; false; end def _section :'enhanced-application-logging' end class DisableApplication < XML::ConfigClass def has_multiple_values?; true; end def _section :'disable-application' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def disable_application maybe_register_subclass('disable-application', DisableApplication.new(parent_instance: self, client: @client, create_children: @create_children)) end class DisableGlobal < ConfigClass def has_multiple_values?; false; end def _section :'disable-global' end class All < ConfigClass def has_multiple_values?; false; end def _section :all end @props = {} end def all @subclasses['all'] ||= All.new(parent_instance: self, client: @client, create_children: @create_children) end class Arp < ConfigClass def has_multiple_values?; false; end def _section :arp end @props = {} end def arp @subclasses['arp'] ||= Arp.new(parent_instance: self, client: @client, create_children: @create_children) end class NonSynTcp < ConfigClass def has_multiple_values?; false; end def _section :'non-syn-tcp' end @props = {} end def non_syn_tcp @subclasses['non-syn-tcp'] ||= NonSynTcp.new(parent_instance: self, client: @client, create_children: @create_children) end class ExtTraffic < ConfigClass def has_multiple_values?; false; end def _section :'ext-traffic' end @props = {} end def ext_traffic @subclasses['ext-traffic'] ||= ExtTraffic.new(parent_instance: self, client: @client, create_children: @create_children) end class HipReport < ConfigClass def has_multiple_values?; false; end def _section :'hip-report' end @props = {} end def hip_report @subclasses['hip-report'] ||= HipReport.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def disable_global @subclasses['disable-global'] ||= DisableGlobal.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable/disable enhanced-application-logging'}} # enable/disable enhanced-application-logging def enable prop_get('enable') end # enable/disable enhanced-application-logging def enable=(val) prop_set('enable', val) end end def enhanced_application_logging @subclasses['enhanced-application-logging'] ||= EnhancedApplicationLogging.new(parent_instance: self, client: @client, create_children: @create_children) end class LoggingServiceForwarding < ConfigClass def has_multiple_values?; false; end def _section :'logging-service-forwarding' end @props = {'enable'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'enable-duplicate-logging'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'logging-service-regions'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Logging Service log-forwarding region selection', 'complete-handler'=>'lcaas-region-complete-handler'}, 'ls-connection-count'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'1', 'max'=>'20', 'default'=>'5', 'help-string'=>'Connection count to logging service'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end def enable_duplicate_logging prop_get('enable-duplicate-logging') end def enable_duplicate_logging=(val) prop_set('enable-duplicate-logging', val) end # Logging Service log-forwarding region selection def logging_service_regions prop_get('logging-service-regions') end # Logging Service log-forwarding region selection def logging_service_regions=(val) prop_set('logging-service-regions', val) end # Connection count to logging service def ls_connection_count prop_get('ls-connection-count') end # Connection count to logging service def ls_connection_count=(val) prop_set('ls-connection-count', val) end end def logging_service_forwarding @subclasses['logging-service-forwarding'] ||= LoggingServiceForwarding.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'max-log-rate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'50000', 'min'=>'0', 'max'=>'50000', 'help-string'=>'set max. logging rate'}, 'max-packet-rate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'2560', 'min'=>'0', 'max'=>'2560', 'help-string'=>'set max. packet logging rate'}, 'log-suppression'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'yes', 'help-string'=>'enable/disable log suppression', 'enum'=>[{'value'=>'yes'}, {'value'=>'no'}]}} # set max. logging rate def max_log_rate prop_get('max-log-rate') end # set max. logging rate def max_log_rate=(val) prop_set('max-log-rate', val) end # set max. packet logging rate def max_packet_rate prop_get('max-packet-rate') end # set max. packet logging rate def max_packet_rate=(val) prop_set('max-packet-rate', val) end # enable/disable log suppression def log_suppression prop_get('log-suppression') end # enable/disable log suppression def log_suppression=(val) prop_set('log-suppression', val) end end def logging @subclasses['logging'] ||= Logging.new(parent_instance: self, client: @client, create_children: @create_children) end class Management < ConfigClass def has_multiple_values?; false; end def _section :management end class SecureConnClient < ConfigClass def has_multiple_values?; false; end def _section :'secure-conn-client' end class CertificateType < ConfigClass def has_multiple_values?; false; end def _section :'certificate-type' end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end class Local < ConfigClass def has_multiple_values?; false; end def _section :local end @props = {'certificate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'255', 'help-string'=>'Custom certificate used in management connections to Panorama and Log collectors'}, 'certificate-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'optional'=>'yes'}} # Custom certificate used in management connections to Panorama and Log collectors def certificate prop_get('certificate') end # Custom certificate used in management connections to Panorama and Log collectors def certificate=(val) prop_set('certificate', val) end def certificate_profile prop_get('certificate-profile') end def certificate_profile=(val) prop_set('certificate-profile', val) end end def local @subclasses['local'] ||= Local.new(parent_instance: self, client: @client, create_children: @create_children) end class Scep < ConfigClass def has_multiple_values?; false; end def _section :scep end @props = {'scep-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'optional'=>'yes', 'help-string'=>'SCEP profile name'}, 'certificate-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'optional'=>'yes'}} # SCEP profile name def scep_profile prop_get('scep-profile') end # SCEP profile name def scep_profile=(val) prop_set('scep-profile', val) end def certificate_profile prop_get('certificate-profile') end def certificate_profile=(val) prop_set('certificate-profile', val) end end def scep @subclasses['scep'] ||= Scep.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def certificate_type @subclasses['certificate-type'] ||= CertificateType.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'check-server-identity'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Check server certificate Subject common name(IP/FQDN) with the configured panorama servers. Default setting: \'no\''}, 'enable-secure-wildfire-communication'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Use the secure-client certificate settings for Wildfire connections. Default setting : \'no\'', 'optional'=>'yes'}, 'enable-secure-pandb-communication'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Use the secure-client certificate settings for pandb connections. Default setting : \'no\'', 'optional'=>'yes'}, 'enable-secure-panorama-communication'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Use the secure-client certificate settings for panorama connections. Default setting : \'no\'', 'optional'=>'yes'}, 'enable-secure-lc-communication'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Use the secure-client certificate settings for log collector connections. Default setting : \'no\'', 'optional'=>'yes'}, 'enable-secure-user-id-communication'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Use the secure-client certificate settings for User Identification connections. Default setting : \'no\'', 'optional'=>'yes'}} # Check server certificate Subject common name(IP/FQDN) with the configured panorama servers. Default setting: 'no' def check_server_identity prop_get('check-server-identity') end # Check server certificate Subject common name(IP/FQDN) with the configured panorama servers. Default setting: 'no' def check_server_identity=(val) prop_set('check-server-identity', val) end # Use the secure-client certificate settings for Wildfire connections. Default setting : 'no' def enable_secure_wildfire_communication prop_get('enable-secure-wildfire-communication') end # Use the secure-client certificate settings for Wildfire connections. Default setting : 'no' def enable_secure_wildfire_communication=(val) prop_set('enable-secure-wildfire-communication', val) end # Use the secure-client certificate settings for pandb connections. Default setting : 'no' def enable_secure_pandb_communication prop_get('enable-secure-pandb-communication') end # Use the secure-client certificate settings for pandb connections. Default setting : 'no' def enable_secure_pandb_communication=(val) prop_set('enable-secure-pandb-communication', val) end # Use the secure-client certificate settings for panorama connections. Default setting : 'no' def enable_secure_panorama_communication prop_get('enable-secure-panorama-communication') end # Use the secure-client certificate settings for panorama connections. Default setting : 'no' def enable_secure_panorama_communication=(val) prop_set('enable-secure-panorama-communication', val) end # Use the secure-client certificate settings for log collector connections. Default setting : 'no' def enable_secure_lc_communication prop_get('enable-secure-lc-communication') end # Use the secure-client certificate settings for log collector connections. Default setting : 'no' def enable_secure_lc_communication=(val) prop_set('enable-secure-lc-communication', val) end # Use the secure-client certificate settings for User Identification connections. Default setting : 'no' def enable_secure_user_id_communication prop_get('enable-secure-user-id-communication') end # Use the secure-client certificate settings for User Identification connections. Default setting : 'no' def enable_secure_user_id_communication=(val) prop_set('enable-secure-user-id-communication', val) end end def secure_conn_client @subclasses['secure-conn-client'] ||= SecureConnClient.new(parent_instance: self, client: @client, create_children: @create_children) end class SecureConnServer < ConfigClass def has_multiple_values?; false; end def _section :'secure-conn-server' end @props = {'ssl-tls-service-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'optional'=>'yes', 'help-string'=>'SSL TLS service profile'}, 'certificate-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'255', 'help-string'=>'profile for verifying client certificates'}, 'enable-secure-user-id-communication'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Use the secure server settings for User Identification connections. Default setting : \'no\'', 'optional'=>'yes'}} # SSL TLS service profile def ssl_tls_service_profile prop_get('ssl-tls-service-profile') end # SSL TLS service profile def ssl_tls_service_profile=(val) prop_set('ssl-tls-service-profile', val) end # profile for verifying client certificates def certificate_profile prop_get('certificate-profile') end # profile for verifying client certificates def certificate_profile=(val) prop_set('certificate-profile', val) end # Use the secure server settings for User Identification connections. Default setting : 'no' def enable_secure_user_id_communication prop_get('enable-secure-user-id-communication') end # Use the secure server settings for User Identification connections. Default setting : 'no' def enable_secure_user_id_communication=(val) prop_set('enable-secure-user-id-communication', val) end end def secure_conn_server @subclasses['secure-conn-server'] ||= SecureConnServer.new(parent_instance: self, client: @client, create_children: @create_children) end class QuotaSettings < ConfigClass def has_multiple_values?; false; end def _section :'quota-settings' end class ChassisQuota < ConfigClass def has_multiple_values?; false; end def _section :'chassis-quota' end class LogCard < ConfigClass def has_multiple_values?; false; end def _section :'log-card' end @props = {'traffic'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'traffic logs quota percentage'}, 'threat'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'threat logs quota percentage'}, 'trsum'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'traffic summary quota percentage'}, 'thsum'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'threat summary quota percentage'}, 'urlsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'url summary quota percentage'}, 'hourlytrsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Hourly traffic summary quota percentage'}, 'dailytrsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Daily traffic summary quota percentage'}, 'weeklytrsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Weekly traffic summary quota percentage'}, 'hourlythsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Hourly threat summary quota percentage'}, 'dailythsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Daily threat summary quota percentage'}, 'weeklythsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Weekly threat summary quota percentage'}, 'hourlyurlsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Hourly url summary quota percentage'}, 'dailyurlsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Daily url summary quota percentage'}, 'weeklyurlsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Weekly url summary quota percentage'}, 'threat-pcaps'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'threat packet capture quota percentage'}, 'hipmatch'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Hip match quota percentage'}, 'userid'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'User ID logs quota percentage'}, 'iptag'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'IP-Tag logs quota percentage'}, 'auth'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Authentication logs quota percentage'}, 'gtp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Tunnel and GTP logs quota percentage'}, 'gtpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Tunnel and GTP summary quota percentage'}, 'hourlygtpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Hourly Tunnel and GTP summary quota percentage'}, 'dailygtpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Daily Tunnel and GTP summary quota percentage'}, 'weeklygtpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Weekly Tunnel and GTP summary quota percentage'}, 'decryption'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'decryption logs quota percentage'}, 'desum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'decryption summary quota percentage'}, 'hourlydesum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Hourly decryption summary quota percentage'}, 'dailydesum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Daily decryption summary quota percentage'}, 'weeklydesum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Weekly decryption summary quota percentage'}, 'globalprotect'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'globalprotect logs quota percentage'}, 'sctp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'SCTP logs quota percentage'}, 'sctpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'SCTP summary quota percentage'}, 'hourlysctpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Hourly SCTP summary quota percentage'}, 'dailysctpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Daily SCTP summary quota percentage'}, 'weeklysctpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Weekly SCTP summary quota percentage'}} # traffic logs quota percentage def traffic prop_get('traffic') end # traffic logs quota percentage def traffic=(val) prop_set('traffic', val) end # threat logs quota percentage def threat prop_get('threat') end # threat logs quota percentage def threat=(val) prop_set('threat', val) end # traffic summary quota percentage def trsum prop_get('trsum') end # traffic summary quota percentage def trsum=(val) prop_set('trsum', val) end # threat summary quota percentage def thsum prop_get('thsum') end # threat summary quota percentage def thsum=(val) prop_set('thsum', val) end # url summary quota percentage def urlsum prop_get('urlsum') end # url summary quota percentage def urlsum=(val) prop_set('urlsum', val) end # Hourly traffic summary quota percentage def hourlytrsum prop_get('hourlytrsum') end # Hourly traffic summary quota percentage def hourlytrsum=(val) prop_set('hourlytrsum', val) end # Daily traffic summary quota percentage def dailytrsum prop_get('dailytrsum') end # Daily traffic summary quota percentage def dailytrsum=(val) prop_set('dailytrsum', val) end # Weekly traffic summary quota percentage def weeklytrsum prop_get('weeklytrsum') end # Weekly traffic summary quota percentage def weeklytrsum=(val) prop_set('weeklytrsum', val) end # Hourly threat summary quota percentage def hourlythsum prop_get('hourlythsum') end # Hourly threat summary quota percentage def hourlythsum=(val) prop_set('hourlythsum', val) end # Daily threat summary quota percentage def dailythsum prop_get('dailythsum') end # Daily threat summary quota percentage def dailythsum=(val) prop_set('dailythsum', val) end # Weekly threat summary quota percentage def weeklythsum prop_get('weeklythsum') end # Weekly threat summary quota percentage def weeklythsum=(val) prop_set('weeklythsum', val) end # Hourly url summary quota percentage def hourlyurlsum prop_get('hourlyurlsum') end # Hourly url summary quota percentage def hourlyurlsum=(val) prop_set('hourlyurlsum', val) end # Daily url summary quota percentage def dailyurlsum prop_get('dailyurlsum') end # Daily url summary quota percentage def dailyurlsum=(val) prop_set('dailyurlsum', val) end # Weekly url summary quota percentage def weeklyurlsum prop_get('weeklyurlsum') end # Weekly url summary quota percentage def weeklyurlsum=(val) prop_set('weeklyurlsum', val) end # threat packet capture quota percentage def threat_pcaps prop_get('threat-pcaps') end # threat packet capture quota percentage def threat_pcaps=(val) prop_set('threat-pcaps', val) end # Hip match quota percentage def hipmatch prop_get('hipmatch') end # Hip match quota percentage def hipmatch=(val) prop_set('hipmatch', val) end # User ID logs quota percentage def userid prop_get('userid') end # User ID logs quota percentage def userid=(val) prop_set('userid', val) end # IP-Tag logs quota percentage def iptag prop_get('iptag') end # IP-Tag logs quota percentage def iptag=(val) prop_set('iptag', val) end # Authentication logs quota percentage def auth prop_get('auth') end # Authentication logs quota percentage def auth=(val) prop_set('auth', val) end # Tunnel and GTP logs quota percentage def gtp prop_get('gtp') end # Tunnel and GTP logs quota percentage def gtp=(val) prop_set('gtp', val) end # Tunnel and GTP summary quota percentage def gtpsum prop_get('gtpsum') end # Tunnel and GTP summary quota percentage def gtpsum=(val) prop_set('gtpsum', val) end # Hourly Tunnel and GTP summary quota percentage def hourlygtpsum prop_get('hourlygtpsum') end # Hourly Tunnel and GTP summary quota percentage def hourlygtpsum=(val) prop_set('hourlygtpsum', val) end # Daily Tunnel and GTP summary quota percentage def dailygtpsum prop_get('dailygtpsum') end # Daily Tunnel and GTP summary quota percentage def dailygtpsum=(val) prop_set('dailygtpsum', val) end # Weekly Tunnel and GTP summary quota percentage def weeklygtpsum prop_get('weeklygtpsum') end # Weekly Tunnel and GTP summary quota percentage def weeklygtpsum=(val) prop_set('weeklygtpsum', val) end # decryption logs quota percentage def decryption prop_get('decryption') end # decryption logs quota percentage def decryption=(val) prop_set('decryption', val) end # decryption summary quota percentage def desum prop_get('desum') end # decryption summary quota percentage def desum=(val) prop_set('desum', val) end # Hourly decryption summary quota percentage def hourlydesum prop_get('hourlydesum') end # Hourly decryption summary quota percentage def hourlydesum=(val) prop_set('hourlydesum', val) end # Daily decryption summary quota percentage def dailydesum prop_get('dailydesum') end # Daily decryption summary quota percentage def dailydesum=(val) prop_set('dailydesum', val) end # Weekly decryption summary quota percentage def weeklydesum prop_get('weeklydesum') end # Weekly decryption summary quota percentage def weeklydesum=(val) prop_set('weeklydesum', val) end # globalprotect logs quota percentage def globalprotect prop_get('globalprotect') end # globalprotect logs quota percentage def globalprotect=(val) prop_set('globalprotect', val) end # SCTP logs quota percentage def sctp prop_get('sctp') end # SCTP logs quota percentage def sctp=(val) prop_set('sctp', val) end # SCTP summary quota percentage def sctpsum prop_get('sctpsum') end # SCTP summary quota percentage def sctpsum=(val) prop_set('sctpsum', val) end # Hourly SCTP summary quota percentage def hourlysctpsum prop_get('hourlysctpsum') end # Hourly SCTP summary quota percentage def hourlysctpsum=(val) prop_set('hourlysctpsum', val) end # Daily SCTP summary quota percentage def dailysctpsum prop_get('dailysctpsum') end # Daily SCTP summary quota percentage def dailysctpsum=(val) prop_set('dailysctpsum', val) end # Weekly SCTP summary quota percentage def weeklysctpsum prop_get('weeklysctpsum') end # Weekly SCTP summary quota percentage def weeklysctpsum=(val) prop_set('weeklysctpsum', val) end end def log_card @subclasses['log-card'] ||= LogCard.new(parent_instance: self, client: @client, create_children: @create_children) end class MgmtCard < ConfigClass def has_multiple_values?; false; end def _section :'mgmt-card' end @props = {'config'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'configuration logs quota percentage'}, 'system'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'system logs quota percentage'}, 'alarm'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'alarm logs quota percentage'}, 'appstat'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'application statistics quota percentage'}, 'hip-reports'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'host information profile quota percentage'}, 'application-pcaps'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'application packet capture quota percentage'}, 'debug-filter-pcaps'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'debug filter packet capture quota percentage'}, 'dlp-logs'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'data filter packet capture quota percentage'}} # configuration logs quota percentage def config prop_get('config') end # configuration logs quota percentage def config=(val) prop_set('config', val) end # system logs quota percentage def system prop_get('system') end # system logs quota percentage def system=(val) prop_set('system', val) end # alarm logs quota percentage def alarm prop_get('alarm') end # alarm logs quota percentage def alarm=(val) prop_set('alarm', val) end # application statistics quota percentage def appstat prop_get('appstat') end # application statistics quota percentage def appstat=(val) prop_set('appstat', val) end # host information profile quota percentage def hip_reports prop_get('hip-reports') end # host information profile quota percentage def hip_reports=(val) prop_set('hip-reports', val) end # application packet capture quota percentage def application_pcaps prop_get('application-pcaps') end # application packet capture quota percentage def application_pcaps=(val) prop_set('application-pcaps', val) end # debug filter packet capture quota percentage def debug_filter_pcaps prop_get('debug-filter-pcaps') end # debug filter packet capture quota percentage def debug_filter_pcaps=(val) prop_set('debug-filter-pcaps', val) end # data filter packet capture quota percentage def dlp_logs prop_get('dlp-logs') end # data filter packet capture quota percentage def dlp_logs=(val) prop_set('dlp-logs', val) end end def mgmt_card @subclasses['mgmt-card'] ||= MgmtCard.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def chassis_quota @subclasses['chassis-quota'] ||= ChassisQuota.new(parent_instance: self, client: @client, create_children: @create_children) end class ChassisLogExpirationPeriod < ConfigClass def has_multiple_values?; false; end def _section :'chassis-log-expiration-period' end class LogCard < ConfigClass def has_multiple_values?; false; end def _section :'log-card' end @props = {'traffic'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for traffic logs'}, 'threat'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for threat logs'}, 'decryption'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for decryption logs'}, 'trsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for trsum logs'}, 'urlsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for urlsum logs'}, 'thsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for thsum logs'}, 'desum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for desum logs'}, 'hourlytrsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for hourlytrsum logs'}, 'dailytrsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for dailytrsum logs'}, 'weeklytrsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for weeklytrsum logs'}, 'hourlythsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for hourlythsum logs'}, 'dailythsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for dailythsum logs'}, 'weeklythsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for weeklythsum logs'}, 'hourlyurlsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for hourlyurlsum logs'}, 'dailyurlsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for dailyurlsum logs'}, 'weeklyurlsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for weeklyurlsum logs'}, 'hourlydesum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for hourlydesum logs'}, 'dailydesum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for dailydesum logs'}, 'weeklydesum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for weeklydesum logs'}, 'threat-pcaps'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for threat-pcaps logs'}, 'hipmatch'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for hipmatch logs'}, 'userid'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for User-ID logs'}, 'auth'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for authentication logs'}, 'iptag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for iptag logs'}, 'gtp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for tunnel and gtp logs'}, 'gtpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for tunnel and gtp summary logs'}, 'hourlygtpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for hourly tunnel and gtp summary logs'}, 'dailygtpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for daily tunnel and gtp summary logs'}, 'weeklygtpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for weekly tunnel and gtp summary logs'}, 'globalprotect'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for globalprotect logs'}, 'sctp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420,cfg.platform.model=PA-1410,cfg.platform.model=PA-1420', 'help-string'=>'expiration period for sctp logs'}, 'sctpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420,cfg.platform.model=PA-1410,cfg.platform.model=PA-1420', 'help-string'=>'expiration period for sctp summary logs'}, 'hourlysctpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420,cfg.platform.model=PA-1410,cfg.platform.model=PA-1420', 'help-string'=>'expiration period for hourly sctp summmary logs'}, 'dailysctpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420,cfg.platform.model=PA-1410,cfg.platform.model=PA-1420', 'help-string'=>'expiration period for daily sctp summary logs'}, 'weeklysctpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420,cfg.platform.model=PA-1410,cfg.platform.model=PA-1420', 'help-string'=>'expiration period for weekly sctp summary logs'}} # expiration period for traffic logs def traffic prop_get('traffic') end # expiration period for traffic logs def traffic=(val) prop_set('traffic', val) end # expiration period for threat logs def threat prop_get('threat') end # expiration period for threat logs def threat=(val) prop_set('threat', val) end # expiration period for decryption logs def decryption prop_get('decryption') end # expiration period for decryption logs def decryption=(val) prop_set('decryption', val) end # expiration period for trsum logs def trsum prop_get('trsum') end # expiration period for trsum logs def trsum=(val) prop_set('trsum', val) end # expiration period for urlsum logs def urlsum prop_get('urlsum') end # expiration period for urlsum logs def urlsum=(val) prop_set('urlsum', val) end # expiration period for thsum logs def thsum prop_get('thsum') end # expiration period for thsum logs def thsum=(val) prop_set('thsum', val) end # expiration period for desum logs def desum prop_get('desum') end # expiration period for desum logs def desum=(val) prop_set('desum', val) end # expiration period for hourlytrsum logs def hourlytrsum prop_get('hourlytrsum') end # expiration period for hourlytrsum logs def hourlytrsum=(val) prop_set('hourlytrsum', val) end # expiration period for dailytrsum logs def dailytrsum prop_get('dailytrsum') end # expiration period for dailytrsum logs def dailytrsum=(val) prop_set('dailytrsum', val) end # expiration period for weeklytrsum logs def weeklytrsum prop_get('weeklytrsum') end # expiration period for weeklytrsum logs def weeklytrsum=(val) prop_set('weeklytrsum', val) end # expiration period for hourlythsum logs def hourlythsum prop_get('hourlythsum') end # expiration period for hourlythsum logs def hourlythsum=(val) prop_set('hourlythsum', val) end # expiration period for dailythsum logs def dailythsum prop_get('dailythsum') end # expiration period for dailythsum logs def dailythsum=(val) prop_set('dailythsum', val) end # expiration period for weeklythsum logs def weeklythsum prop_get('weeklythsum') end # expiration period for weeklythsum logs def weeklythsum=(val) prop_set('weeklythsum', val) end # expiration period for hourlyurlsum logs def hourlyurlsum prop_get('hourlyurlsum') end # expiration period for hourlyurlsum logs def hourlyurlsum=(val) prop_set('hourlyurlsum', val) end # expiration period for dailyurlsum logs def dailyurlsum prop_get('dailyurlsum') end # expiration period for dailyurlsum logs def dailyurlsum=(val) prop_set('dailyurlsum', val) end # expiration period for weeklyurlsum logs def weeklyurlsum prop_get('weeklyurlsum') end # expiration period for weeklyurlsum logs def weeklyurlsum=(val) prop_set('weeklyurlsum', val) end # expiration period for hourlydesum logs def hourlydesum prop_get('hourlydesum') end # expiration period for hourlydesum logs def hourlydesum=(val) prop_set('hourlydesum', val) end # expiration period for dailydesum logs def dailydesum prop_get('dailydesum') end # expiration period for dailydesum logs def dailydesum=(val) prop_set('dailydesum', val) end # expiration period for weeklydesum logs def weeklydesum prop_get('weeklydesum') end # expiration period for weeklydesum logs def weeklydesum=(val) prop_set('weeklydesum', val) end # expiration period for threat-pcaps logs def threat_pcaps prop_get('threat-pcaps') end # expiration period for threat-pcaps logs def threat_pcaps=(val) prop_set('threat-pcaps', val) end # expiration period for hipmatch logs def hipmatch prop_get('hipmatch') end # expiration period for hipmatch logs def hipmatch=(val) prop_set('hipmatch', val) end # expiration period for User-ID logs def userid prop_get('userid') end # expiration period for User-ID logs def userid=(val) prop_set('userid', val) end # expiration period for authentication logs def auth prop_get('auth') end # expiration period for authentication logs def auth=(val) prop_set('auth', val) end # expiration period for iptag logs def iptag prop_get('iptag') end # expiration period for iptag logs def iptag=(val) prop_set('iptag', val) end # expiration period for tunnel and gtp logs def gtp prop_get('gtp') end # expiration period for tunnel and gtp logs def gtp=(val) prop_set('gtp', val) end # expiration period for tunnel and gtp summary logs def gtpsum prop_get('gtpsum') end # expiration period for tunnel and gtp summary logs def gtpsum=(val) prop_set('gtpsum', val) end # expiration period for hourly tunnel and gtp summary logs def hourlygtpsum prop_get('hourlygtpsum') end # expiration period for hourly tunnel and gtp summary logs def hourlygtpsum=(val) prop_set('hourlygtpsum', val) end # expiration period for daily tunnel and gtp summary logs def dailygtpsum prop_get('dailygtpsum') end # expiration period for daily tunnel and gtp summary logs def dailygtpsum=(val) prop_set('dailygtpsum', val) end # expiration period for weekly tunnel and gtp summary logs def weeklygtpsum prop_get('weeklygtpsum') end # expiration period for weekly tunnel and gtp summary logs def weeklygtpsum=(val) prop_set('weeklygtpsum', val) end # expiration period for globalprotect logs def globalprotect prop_get('globalprotect') end # expiration period for globalprotect logs def globalprotect=(val) prop_set('globalprotect', val) end # expiration period for sctp logs def sctp prop_get('sctp') end # expiration period for sctp logs def sctp=(val) prop_set('sctp', val) end # expiration period for sctp summary logs def sctpsum prop_get('sctpsum') end # expiration period for sctp summary logs def sctpsum=(val) prop_set('sctpsum', val) end # expiration period for hourly sctp summmary logs def hourlysctpsum prop_get('hourlysctpsum') end # expiration period for hourly sctp summmary logs def hourlysctpsum=(val) prop_set('hourlysctpsum', val) end # expiration period for daily sctp summary logs def dailysctpsum prop_get('dailysctpsum') end # expiration period for daily sctp summary logs def dailysctpsum=(val) prop_set('dailysctpsum', val) end # expiration period for weekly sctp summary logs def weeklysctpsum prop_get('weeklysctpsum') end # expiration period for weekly sctp summary logs def weeklysctpsum=(val) prop_set('weeklysctpsum', val) end end def log_card @subclasses['log-card'] ||= LogCard.new(parent_instance: self, client: @client, create_children: @create_children) end class MgmtCard < ConfigClass def has_multiple_values?; false; end def _section :'mgmt-card' end @props = {'config'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for config logs'}, 'system'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for system logs'}, 'alarm'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for alarm logs'}, 'appstat'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for appstat logs'}, 'hip-reports'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for hip-reports logs'}, 'application-pcaps'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for application-pcaps logs'}, 'debug-filter-pcaps'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for debug-filter-pcaps logs'}, 'dlp-logs'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for dlp-logs'}} # expiration period for config logs def config prop_get('config') end # expiration period for config logs def config=(val) prop_set('config', val) end # expiration period for system logs def system prop_get('system') end # expiration period for system logs def system=(val) prop_set('system', val) end # expiration period for alarm logs def alarm prop_get('alarm') end # expiration period for alarm logs def alarm=(val) prop_set('alarm', val) end # expiration period for appstat logs def appstat prop_get('appstat') end # expiration period for appstat logs def appstat=(val) prop_set('appstat', val) end # expiration period for hip-reports logs def hip_reports prop_get('hip-reports') end # expiration period for hip-reports logs def hip_reports=(val) prop_set('hip-reports', val) end # expiration period for application-pcaps logs def application_pcaps prop_get('application-pcaps') end # expiration period for application-pcaps logs def application_pcaps=(val) prop_set('application-pcaps', val) end # expiration period for debug-filter-pcaps logs def debug_filter_pcaps prop_get('debug-filter-pcaps') end # expiration period for debug-filter-pcaps logs def debug_filter_pcaps=(val) prop_set('debug-filter-pcaps', val) end # expiration period for dlp-logs def dlp_logs prop_get('dlp-logs') end # expiration period for dlp-logs def dlp_logs=(val) prop_set('dlp-logs', val) end end def mgmt_card @subclasses['mgmt-card'] ||= MgmtCard.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def chassis_log_expiration_period @subclasses['chassis-log-expiration-period'] ||= ChassisLogExpirationPeriod.new(parent_instance: self, client: @client, create_children: @create_children) end class LogExpirationPeriod < ConfigClass def has_multiple_values?; false; end def _section :'log-expiration-period' end @props = {'traffic'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for traffic logs'}, 'threat'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for threat logs'}, 'decryption'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for decryption logs'}, 'config'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for config logs'}, 'system'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for system logs'}, 'alarm'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for alarm logs'}, 'appstat'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for appstat logs'}, 'trsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for trsum logs'}, 'thsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for trsum logs'}, 'urlsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for urlsum logs'}, 'desum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for desum logs'}, 'hipmatch'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for hipmatch logs'}, 'hourlytrsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for hourlytrsum logs'}, 'dailytrsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for dailytrsum logs'}, 'weeklytrsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for weeklytrsum logs'}, 'hourlythsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for hourlythsum logs'}, 'dailythsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for dailythsum logs'}, 'weeklythsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for weeklythsum logs'}, 'hourlyurlsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for hourlyurlsum logs'}, 'dailyurlsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for dailyurlsum logs'}, 'weeklyurlsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for weeklyurlsum logs'}, 'threat-pcaps'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for threat-pcaps logs'}, 'gtp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for tunnel and gtp logs'}, 'gtpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for tunnel and gtp summary logs'}, 'hourlygtpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for hourly tunnel and gtp summmary logs'}, 'dailygtpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for daily tunnel and gtp summary logs'}, 'weeklygtpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for weekly tunnel and gtp summary logs'}, 'hourlydesum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for hourlydesum logs'}, 'dailydesum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for dailydesum logs'}, 'weeklydesum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for weeklydesum logs'}, 'sctp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for sctp logs'}, 'sctpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for sctp summary logs'}, 'hourlysctpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for hourly sctp summmary logs'}, 'dailysctpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for daily sctp summary logs'}, 'weeklysctpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for weekly sctp summary logs'}, 'userid'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for User-ID logs'}, 'iptag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for iptag logs'}, 'auth'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for authentication logs'}, 'globalprotect'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for globalprotect logs'}, 'dlp-logs'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for dlp-logs logs'}, 'application-pcaps'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for application-pcaps logs'}, 'debug-filter-pcaps'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for debug-filter-pcaps logs'}, 'hip-reports'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for hip-reports logs'}} # expiration period for traffic logs def traffic prop_get('traffic') end # expiration period for traffic logs def traffic=(val) prop_set('traffic', val) end # expiration period for threat logs def threat prop_get('threat') end # expiration period for threat logs def threat=(val) prop_set('threat', val) end # expiration period for decryption logs def decryption prop_get('decryption') end # expiration period for decryption logs def decryption=(val) prop_set('decryption', val) end # expiration period for config logs def config prop_get('config') end # expiration period for config logs def config=(val) prop_set('config', val) end # expiration period for system logs def system prop_get('system') end # expiration period for system logs def system=(val) prop_set('system', val) end # expiration period for alarm logs def alarm prop_get('alarm') end # expiration period for alarm logs def alarm=(val) prop_set('alarm', val) end # expiration period for appstat logs def appstat prop_get('appstat') end # expiration period for appstat logs def appstat=(val) prop_set('appstat', val) end # expiration period for trsum logs def trsum prop_get('trsum') end # expiration period for trsum logs def trsum=(val) prop_set('trsum', val) end # expiration period for trsum logs def thsum prop_get('thsum') end # expiration period for trsum logs def thsum=(val) prop_set('thsum', val) end # expiration period for urlsum logs def urlsum prop_get('urlsum') end # expiration period for urlsum logs def urlsum=(val) prop_set('urlsum', val) end # expiration period for desum logs def desum prop_get('desum') end # expiration period for desum logs def desum=(val) prop_set('desum', val) end # expiration period for hipmatch logs def hipmatch prop_get('hipmatch') end # expiration period for hipmatch logs def hipmatch=(val) prop_set('hipmatch', val) end # expiration period for hourlytrsum logs def hourlytrsum prop_get('hourlytrsum') end # expiration period for hourlytrsum logs def hourlytrsum=(val) prop_set('hourlytrsum', val) end # expiration period for dailytrsum logs def dailytrsum prop_get('dailytrsum') end # expiration period for dailytrsum logs def dailytrsum=(val) prop_set('dailytrsum', val) end # expiration period for weeklytrsum logs def weeklytrsum prop_get('weeklytrsum') end # expiration period for weeklytrsum logs def weeklytrsum=(val) prop_set('weeklytrsum', val) end # expiration period for hourlythsum logs def hourlythsum prop_get('hourlythsum') end # expiration period for hourlythsum logs def hourlythsum=(val) prop_set('hourlythsum', val) end # expiration period for dailythsum logs def dailythsum prop_get('dailythsum') end # expiration period for dailythsum logs def dailythsum=(val) prop_set('dailythsum', val) end # expiration period for weeklythsum logs def weeklythsum prop_get('weeklythsum') end # expiration period for weeklythsum logs def weeklythsum=(val) prop_set('weeklythsum', val) end # expiration period for hourlyurlsum logs def hourlyurlsum prop_get('hourlyurlsum') end # expiration period for hourlyurlsum logs def hourlyurlsum=(val) prop_set('hourlyurlsum', val) end # expiration period for dailyurlsum logs def dailyurlsum prop_get('dailyurlsum') end # expiration period for dailyurlsum logs def dailyurlsum=(val) prop_set('dailyurlsum', val) end # expiration period for weeklyurlsum logs def weeklyurlsum prop_get('weeklyurlsum') end # expiration period for weeklyurlsum logs def weeklyurlsum=(val) prop_set('weeklyurlsum', val) end # expiration period for threat-pcaps logs def threat_pcaps prop_get('threat-pcaps') end # expiration period for threat-pcaps logs def threat_pcaps=(val) prop_set('threat-pcaps', val) end # expiration period for tunnel and gtp logs def gtp prop_get('gtp') end # expiration period for tunnel and gtp logs def gtp=(val) prop_set('gtp', val) end # expiration period for tunnel and gtp summary logs def gtpsum prop_get('gtpsum') end # expiration period for tunnel and gtp summary logs def gtpsum=(val) prop_set('gtpsum', val) end # expiration period for hourly tunnel and gtp summmary logs def hourlygtpsum prop_get('hourlygtpsum') end # expiration period for hourly tunnel and gtp summmary logs def hourlygtpsum=(val) prop_set('hourlygtpsum', val) end # expiration period for daily tunnel and gtp summary logs def dailygtpsum prop_get('dailygtpsum') end # expiration period for daily tunnel and gtp summary logs def dailygtpsum=(val) prop_set('dailygtpsum', val) end # expiration period for weekly tunnel and gtp summary logs def weeklygtpsum prop_get('weeklygtpsum') end # expiration period for weekly tunnel and gtp summary logs def weeklygtpsum=(val) prop_set('weeklygtpsum', val) end # expiration period for hourlydesum logs def hourlydesum prop_get('hourlydesum') end # expiration period for hourlydesum logs def hourlydesum=(val) prop_set('hourlydesum', val) end # expiration period for dailydesum logs def dailydesum prop_get('dailydesum') end # expiration period for dailydesum logs def dailydesum=(val) prop_set('dailydesum', val) end # expiration period for weeklydesum logs def weeklydesum prop_get('weeklydesum') end # expiration period for weeklydesum logs def weeklydesum=(val) prop_set('weeklydesum', val) end # expiration period for sctp logs def sctp prop_get('sctp') end # expiration period for sctp logs def sctp=(val) prop_set('sctp', val) end # expiration period for sctp summary logs def sctpsum prop_get('sctpsum') end # expiration period for sctp summary logs def sctpsum=(val) prop_set('sctpsum', val) end # expiration period for hourly sctp summmary logs def hourlysctpsum prop_get('hourlysctpsum') end # expiration period for hourly sctp summmary logs def hourlysctpsum=(val) prop_set('hourlysctpsum', val) end # expiration period for daily sctp summary logs def dailysctpsum prop_get('dailysctpsum') end # expiration period for daily sctp summary logs def dailysctpsum=(val) prop_set('dailysctpsum', val) end # expiration period for weekly sctp summary logs def weeklysctpsum prop_get('weeklysctpsum') end # expiration period for weekly sctp summary logs def weeklysctpsum=(val) prop_set('weeklysctpsum', val) end # expiration period for User-ID logs def userid prop_get('userid') end # expiration period for User-ID logs def userid=(val) prop_set('userid', val) end # expiration period for iptag logs def iptag prop_get('iptag') end # expiration period for iptag logs def iptag=(val) prop_set('iptag', val) end # expiration period for authentication logs def auth prop_get('auth') end # expiration period for authentication logs def auth=(val) prop_set('auth', val) end # expiration period for globalprotect logs def globalprotect prop_get('globalprotect') end # expiration period for globalprotect logs def globalprotect=(val) prop_set('globalprotect', val) end # expiration period for dlp-logs logs def dlp_logs prop_get('dlp-logs') end # expiration period for dlp-logs logs def dlp_logs=(val) prop_set('dlp-logs', val) end # expiration period for application-pcaps logs def application_pcaps prop_get('application-pcaps') end # expiration period for application-pcaps logs def application_pcaps=(val) prop_set('application-pcaps', val) end # expiration period for debug-filter-pcaps logs def debug_filter_pcaps prop_get('debug-filter-pcaps') end # expiration period for debug-filter-pcaps logs def debug_filter_pcaps=(val) prop_set('debug-filter-pcaps', val) end # expiration period for hip-reports logs def hip_reports prop_get('hip-reports') end # expiration period for hip-reports logs def hip_reports=(val) prop_set('hip-reports', val) end end def log_expiration_period @subclasses['log-expiration-period'] ||= LogExpirationPeriod.new(parent_instance: self, client: @client, create_children: @create_children) end class DiskQuota < ConfigClass def has_multiple_values?; false; end def _section :'disk-quota' end @props = {'traffic'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'traffic logs quota percentage'}, 'threat'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'threat logs quota percentage'}, 'config'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'configuration logs quota percentage'}, 'system'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'system logs quota percentage'}, 'globalprotect'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'globalprotect logs quota percentage'}, 'desum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'decryption summary quota percentage'}, 'decryption'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'decryption logs quota percentage'}, 'alarm'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'alarm logs quota percentage'}, 'appstat'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'application statistics quota percentage'}, 'trsum'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'traffic summary quota percentage'}, 'thsum'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'threat summary quota percentage'}, 'urlsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'url summary quota percentage'}, 'hipmatch'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Hip match quota percentage'}, 'hourlytrsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Hourly traffic summary quota percentage'}, 'dailytrsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Daily traffic summary quota percentage'}, 'weeklytrsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Weekly traffic summary quota percentage'}, 'hourlythsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Hourly threat summary quota percentage'}, 'dailythsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Daily threat summary quota percentage'}, 'weeklythsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Weekly threat summary quota percentage'}, 'hourlyurlsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Hourly url summary quota percentage'}, 'dailyurlsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Daily url summary quota percentage'}, 'weeklyurlsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Weekly url summary quota percentage'}, 'threat-pcaps'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'threat packet capture quota percentage'}, 'gtp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Tunnel and GTP logs quota percentage'}, 'gtpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Tunnel and GTP summary quota percentage'}, 'hourlygtpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Hourly Tunnel and GTP summary quota percentage'}, 'dailygtpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Daily Tunnel and GTP summary quota percentage'}, 'weeklygtpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Weekly Tunnel and GTP summary quota percentage'}, 'hourlydesum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Hourly decryption summary quota percentage'}, 'dailydesum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Daily decryption summary quota percentage'}, 'weeklydesum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Weekly decryption summary quota percentage'}, 'sctp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'SCTP logs quota percentage'}, 'sctpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'SCTP summary quota percentage'}, 'hourlysctpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Hourly SCTP summary quota percentage'}, 'dailysctpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Daily SCTP summary quota percentage'}, 'weeklysctpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Weekly SCTP summary quota percentage'}, 'userid'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'User ID logs quota percentage'}, 'auth'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Authentication logs quota percentage'}, 'iptag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'IP Tag logs quota percentage'}, 'dlp-logs'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'DLP log data quota percentage'}, 'application-pcaps'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'application packet capture quota percentage'}, 'debug-filter-pcaps'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'debug filter packet capture quota percentage'}, 'hip-reports'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'host information profile quota percentage'}} # traffic logs quota percentage def traffic prop_get('traffic') end # traffic logs quota percentage def traffic=(val) prop_set('traffic', val) end # threat logs quota percentage def threat prop_get('threat') end # threat logs quota percentage def threat=(val) prop_set('threat', val) end # configuration logs quota percentage def config prop_get('config') end # configuration logs quota percentage def config=(val) prop_set('config', val) end # system logs quota percentage def system prop_get('system') end # system logs quota percentage def system=(val) prop_set('system', val) end # globalprotect logs quota percentage def globalprotect prop_get('globalprotect') end # globalprotect logs quota percentage def globalprotect=(val) prop_set('globalprotect', val) end # decryption summary quota percentage def desum prop_get('desum') end # decryption summary quota percentage def desum=(val) prop_set('desum', val) end # decryption logs quota percentage def decryption prop_get('decryption') end # decryption logs quota percentage def decryption=(val) prop_set('decryption', val) end # alarm logs quota percentage def alarm prop_get('alarm') end # alarm logs quota percentage def alarm=(val) prop_set('alarm', val) end # application statistics quota percentage def appstat prop_get('appstat') end # application statistics quota percentage def appstat=(val) prop_set('appstat', val) end # traffic summary quota percentage def trsum prop_get('trsum') end # traffic summary quota percentage def trsum=(val) prop_set('trsum', val) end # threat summary quota percentage def thsum prop_get('thsum') end # threat summary quota percentage def thsum=(val) prop_set('thsum', val) end # url summary quota percentage def urlsum prop_get('urlsum') end # url summary quota percentage def urlsum=(val) prop_set('urlsum', val) end # Hip match quota percentage def hipmatch prop_get('hipmatch') end # Hip match quota percentage def hipmatch=(val) prop_set('hipmatch', val) end # Hourly traffic summary quota percentage def hourlytrsum prop_get('hourlytrsum') end # Hourly traffic summary quota percentage def hourlytrsum=(val) prop_set('hourlytrsum', val) end # Daily traffic summary quota percentage def dailytrsum prop_get('dailytrsum') end # Daily traffic summary quota percentage def dailytrsum=(val) prop_set('dailytrsum', val) end # Weekly traffic summary quota percentage def weeklytrsum prop_get('weeklytrsum') end # Weekly traffic summary quota percentage def weeklytrsum=(val) prop_set('weeklytrsum', val) end # Hourly threat summary quota percentage def hourlythsum prop_get('hourlythsum') end # Hourly threat summary quota percentage def hourlythsum=(val) prop_set('hourlythsum', val) end # Daily threat summary quota percentage def dailythsum prop_get('dailythsum') end # Daily threat summary quota percentage def dailythsum=(val) prop_set('dailythsum', val) end # Weekly threat summary quota percentage def weeklythsum prop_get('weeklythsum') end # Weekly threat summary quota percentage def weeklythsum=(val) prop_set('weeklythsum', val) end # Hourly url summary quota percentage def hourlyurlsum prop_get('hourlyurlsum') end # Hourly url summary quota percentage def hourlyurlsum=(val) prop_set('hourlyurlsum', val) end # Daily url summary quota percentage def dailyurlsum prop_get('dailyurlsum') end # Daily url summary quota percentage def dailyurlsum=(val) prop_set('dailyurlsum', val) end # Weekly url summary quota percentage def weeklyurlsum prop_get('weeklyurlsum') end # Weekly url summary quota percentage def weeklyurlsum=(val) prop_set('weeklyurlsum', val) end # threat packet capture quota percentage def threat_pcaps prop_get('threat-pcaps') end # threat packet capture quota percentage def threat_pcaps=(val) prop_set('threat-pcaps', val) end # Tunnel and GTP logs quota percentage def gtp prop_get('gtp') end # Tunnel and GTP logs quota percentage def gtp=(val) prop_set('gtp', val) end # Tunnel and GTP summary quota percentage def gtpsum prop_get('gtpsum') end # Tunnel and GTP summary quota percentage def gtpsum=(val) prop_set('gtpsum', val) end # Hourly Tunnel and GTP summary quota percentage def hourlygtpsum prop_get('hourlygtpsum') end # Hourly Tunnel and GTP summary quota percentage def hourlygtpsum=(val) prop_set('hourlygtpsum', val) end # Daily Tunnel and GTP summary quota percentage def dailygtpsum prop_get('dailygtpsum') end # Daily Tunnel and GTP summary quota percentage def dailygtpsum=(val) prop_set('dailygtpsum', val) end # Weekly Tunnel and GTP summary quota percentage def weeklygtpsum prop_get('weeklygtpsum') end # Weekly Tunnel and GTP summary quota percentage def weeklygtpsum=(val) prop_set('weeklygtpsum', val) end # Hourly decryption summary quota percentage def hourlydesum prop_get('hourlydesum') end # Hourly decryption summary quota percentage def hourlydesum=(val) prop_set('hourlydesum', val) end # Daily decryption summary quota percentage def dailydesum prop_get('dailydesum') end # Daily decryption summary quota percentage def dailydesum=(val) prop_set('dailydesum', val) end # Weekly decryption summary quota percentage def weeklydesum prop_get('weeklydesum') end # Weekly decryption summary quota percentage def weeklydesum=(val) prop_set('weeklydesum', val) end # SCTP logs quota percentage def sctp prop_get('sctp') end # SCTP logs quota percentage def sctp=(val) prop_set('sctp', val) end # SCTP summary quota percentage def sctpsum prop_get('sctpsum') end # SCTP summary quota percentage def sctpsum=(val) prop_set('sctpsum', val) end # Hourly SCTP summary quota percentage def hourlysctpsum prop_get('hourlysctpsum') end # Hourly SCTP summary quota percentage def hourlysctpsum=(val) prop_set('hourlysctpsum', val) end # Daily SCTP summary quota percentage def dailysctpsum prop_get('dailysctpsum') end # Daily SCTP summary quota percentage def dailysctpsum=(val) prop_set('dailysctpsum', val) end # Weekly SCTP summary quota percentage def weeklysctpsum prop_get('weeklysctpsum') end # Weekly SCTP summary quota percentage def weeklysctpsum=(val) prop_set('weeklysctpsum', val) end # User ID logs quota percentage def userid prop_get('userid') end # User ID logs quota percentage def userid=(val) prop_set('userid', val) end # Authentication logs quota percentage def auth prop_get('auth') end # Authentication logs quota percentage def auth=(val) prop_set('auth', val) end # IP Tag logs quota percentage def iptag prop_get('iptag') end # IP Tag logs quota percentage def iptag=(val) prop_set('iptag', val) end # DLP log data quota percentage def dlp_logs prop_get('dlp-logs') end # DLP log data quota percentage def dlp_logs=(val) prop_set('dlp-logs', val) end # application packet capture quota percentage def application_pcaps prop_get('application-pcaps') end # application packet capture quota percentage def application_pcaps=(val) prop_set('application-pcaps', val) end # debug filter packet capture quota percentage def debug_filter_pcaps prop_get('debug-filter-pcaps') end # debug filter packet capture quota percentage def debug_filter_pcaps=(val) prop_set('debug-filter-pcaps', val) end # host information profile quota percentage def hip_reports prop_get('hip-reports') end # host information profile quota percentage def hip_reports=(val) prop_set('hip-reports', val) end end def disk_quota @subclasses['disk-quota'] ||= DiskQuota.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def quota_settings @subclasses['quota-settings'] ||= QuotaSettings.new(parent_instance: self, client: @client, create_children: @create_children) end class DisablePredefinedReports < XML::ConfigClass def has_multiple_values?; true; end def _section :'disable-predefined-reports' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'help-string'=>'report element'}} # report element def member prop_get('member') end # report element def member=(val) prop_set('member', val) end end def disable_predefined_reports maybe_register_subclass('disable-predefined-reports', DisablePredefinedReports.new(parent_instance: self, client: @client, create_children: @create_children)) end class DisablePredefinedCorrelationObjs < XML::ConfigClass def has_multiple_values?; true; end def _section :'disable-predefined-correlation-objs' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'32', 'help-string'=>'Correlation objects'}} # Correlation objects def member prop_get('member') end # Correlation objects def member=(val) prop_set('member', val) end end def disable_predefined_correlation_objs maybe_register_subclass('disable-predefined-correlation-objs', DisablePredefinedCorrelationObjs.new(parent_instance: self, client: @client, create_children: @create_children)) end class CommonCriteria < ConfigClass def has_multiple_values?; false; end def _section :'common-criteria' end class SkipConfigurationLogsFor < XML::ConfigClass def has_multiple_values?; true; end def _section :'skip-configuration-logs-for' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def skip_configuration_logs_for maybe_register_subclass('skip-configuration-logs-for', SkipConfigurationLogsFor.new(parent_instance: self, client: @client, create_children: @create_children)) end class SelfTestSchedule < ConfigClass def has_multiple_values?; false; end def _section :'self-test-schedule' end class Crypto < ConfigClass def has_multiple_values?; false; end def _section :crypto end class StartTime < XML::ConfigClass def has_multiple_values?; true; end def _section :'start-time' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3]):([0-5][0-9])', 'minlen'=>'5', 'maxlen'=>'5', 'help-string'=>'Time to start daily self-test hh:mm (e.g. 03:30). Maximum 100.'}} # Time to start daily self-test hh:mm (e.g. 03:30). Maximum 100. def member prop_get('member') end # Time to start daily self-test hh:mm (e.g. 03:30). Maximum 100. def member=(val) prop_set('member', val) end end def start_time maybe_register_subclass('start-time', StartTime.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def crypto @subclasses['crypto'] ||= Crypto.new(parent_instance: self, client: @client, create_children: @create_children) end class SoftwareIntegrity < ConfigClass def has_multiple_values?; false; end def _section :'software-integrity' end class StartTime < XML::ConfigClass def has_multiple_values?; true; end def _section :'start-time' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3]):([0-5][0-9])', 'minlen'=>'5', 'maxlen'=>'5', 'help-string'=>'Time to start daily self-test hh:mm (e.g. 03:30). Maximum 100.'}} # Time to start daily self-test hh:mm (e.g. 03:30). Maximum 100. def member prop_get('member') end # Time to start daily self-test hh:mm (e.g. 03:30). Maximum 100. def member=(val) prop_set('member', val) end end def start_time maybe_register_subclass('start-time', StartTime.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def software_integrity @subclasses['software-integrity'] ||= SoftwareIntegrity.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def self_test_schedule @subclasses['self-test-schedule'] ||= SelfTestSchedule.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable-cconly-logs'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable logging of Common-Criteria only logs'}, 'enable-packet-drop-logs'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable logging of dropped packets'}, 'skip-authentication-success-logs'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Do not log successful authentication'}, 'skip-authentication-failure-logs'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Do not log unsuccessful authentication attempts'}, 'enable-tls-session-logging'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable logging TLS sessions'}, 'enable-ocsp-crl-logs'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable CA (OCSP/CRL) Session Establishment Logging'}, 'enable-ike-logging'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable IKE session Logging'}} # Enable logging of Common-Criteria only logs def enable_cconly_logs prop_get('enable-cconly-logs') end # Enable logging of Common-Criteria only logs def enable_cconly_logs=(val) prop_set('enable-cconly-logs', val) end # Enable logging of dropped packets def enable_packet_drop_logs prop_get('enable-packet-drop-logs') end # Enable logging of dropped packets def enable_packet_drop_logs=(val) prop_set('enable-packet-drop-logs', val) end # Do not log successful authentication def skip_authentication_success_logs prop_get('skip-authentication-success-logs') end # Do not log successful authentication def skip_authentication_success_logs=(val) prop_set('skip-authentication-success-logs', val) end # Do not log unsuccessful authentication attempts def skip_authentication_failure_logs prop_get('skip-authentication-failure-logs') end # Do not log unsuccessful authentication attempts def skip_authentication_failure_logs=(val) prop_set('skip-authentication-failure-logs', val) end # Enable logging TLS sessions def enable_tls_session_logging prop_get('enable-tls-session-logging') end # Enable logging TLS sessions def enable_tls_session_logging=(val) prop_set('enable-tls-session-logging', val) end # Enable CA (OCSP/CRL) Session Establishment Logging def enable_ocsp_crl_logs prop_get('enable-ocsp-crl-logs') end # Enable CA (OCSP/CRL) Session Establishment Logging def enable_ocsp_crl_logs=(val) prop_set('enable-ocsp-crl-logs', val) end # Enable IKE session Logging def enable_ike_logging prop_get('enable-ike-logging') end # Enable IKE session Logging def enable_ike_logging=(val) prop_set('enable-ike-logging', val) end end def common_criteria @subclasses['common-criteria'] ||= CommonCriteria.new(parent_instance: self, client: @client, create_children: @create_children) end class Api < ConfigClass def has_multiple_values?; false; end def _section :api end class Key < ConfigClass def has_multiple_values?; false; end def _section :key end @props = {'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'api key lifetime in minutes', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'525600'}, 'enum'=>[{'value'=>'0', 'help-string'=>'never'}]}}} # api key lifetime in minutes def lifetime prop_get('lifetime') end # api key lifetime in minutes def lifetime=(val) prop_set('lifetime', val) end end def key @subclasses['key'] ||= Key.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def api @subclasses['api'] ||= Api.new(parent_instance: self, client: @client, create_children: @create_children) end class AdminLockout < ConfigClass def has_multiple_values?; false; end def _section :'admin-lockout' end @props = {'failed-attempts'=>{'node-type'=>'element', 'prune-on'=>'fips-mode', 'default'=>'0', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'10', 'help-string'=>'Number of failed login attempts to trigger lock-out'}, 'lockout-time'=>{'node-type'=>'element', 'prune-on'=>'fips-mode', 'default'=>'0', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'60', 'help-string'=>'Number of minutes to lock-out'}} # Number of failed login attempts to trigger lock-out def failed_attempts prop_get('failed-attempts') end # Number of failed login attempts to trigger lock-out def failed_attempts=(val) prop_set('failed-attempts', val) end # Number of minutes to lock-out def lockout_time prop_get('lockout-time') end # Number of minutes to lock-out def lockout_time=(val) prop_set('lockout-time', val) end end def admin_lockout @subclasses['admin-lockout'] ||= AdminLockout.new(parent_instance: self, client: @client, create_children: @create_children) end class AdminSession < ConfigClass def has_multiple_values?; false; end def _section :'admin-session' end @props = {'max-session-count'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4', 'default'=>'0', 'prune-on'=>'fips-mode', 'help-string'=>'Set the maximum number of sessions administrators are allowed'}, 'max-session-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4', 'default'=>'0', 'prune-on'=>'fips-mode', 'help-string'=>'Set the maximum session time (0, 60-1499 minutes)', 'regex'=>'^((0)|([6-9][0-9])|([1-9][0-9][0-9])|(1[0-4][0-9][0-9]))$'}} # Set the maximum number of sessions administrators are allowed def max_session_count prop_get('max-session-count') end # Set the maximum number of sessions administrators are allowed def max_session_count=(val) prop_set('max-session-count', val) end # Set the maximum session time (0, 60-1499 minutes) def max_session_time prop_get('max-session-time') end # Set the maximum session time (0, 60-1499 minutes) def max_session_time=(val) prop_set('max-session-time', val) end end def admin_session @subclasses['admin-session'] ||= AdminSession.new(parent_instance: self, client: @client, create_children: @create_children) end class BrowseActivityReportSetting < ConfigClass def has_multiple_values?; false; end def _section :'browse-activity-report-setting' end @props = {'average-browse-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'300', 'default'=>'60', 'help-string'=>'Average time in seconds for a browse session'}, 'page-load-threshold'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'60', 'default'=>'20', 'help-string'=>'Average time in seconds to load a URL page'}} # Average time in seconds for a browse session def average_browse_time prop_get('average-browse-time') end # Average time in seconds for a browse session def average_browse_time=(val) prop_set('average-browse-time', val) end # Average time in seconds to load a URL page def page_load_threshold prop_get('page-load-threshold') end # Average time in seconds to load a URL page def page_load_threshold=(val) prop_set('page-load-threshold', val) end end def browse_activity_report_setting @subclasses['browse-activity-report-setting'] ||= BrowseActivityReportSetting.new(parent_instance: self, client: @client, create_children: @create_children) end class DeviceMonitoring < ConfigClass def has_multiple_values?; false; end def _section :'device-monitoring' end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable device monitoring'}} # Enable device monitoring def enabled prop_get('enabled') end # Enable device monitoring def enabled=(val) prop_set('enabled', val) end end def device_monitoring @subclasses['device-monitoring'] ||= DeviceMonitoring.new(parent_instance: self, client: @client, create_children: @create_children) end class CommonCriteriaAlarmGeneration < ConfigClass def has_multiple_values?; false; end def _section :'common-criteria-alarm-generation' end class SecurityPolicyLimits < ConfigClass def has_multiple_values?; false; end def _section :'security-policy-limits' end @props = {'count'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295'}, 'time-interval'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'30', 'max'=>'86400'}} def count prop_get('count') end def count=(val) prop_set('count', val) end def time_interval prop_get('time-interval') end def time_interval=(val) prop_set('time-interval', val) end end def security_policy_limits @subclasses['security-policy-limits'] ||= SecurityPolicyLimits.new(parent_instance: self, client: @client, create_children: @create_children) end class RuleGroupLimits < ConfigClass def has_multiple_values?; false; end def _section :'rule-group-limits' end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'count'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295'}, 'time-interval'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'30', 'max'=>'86400'}} def count prop_get('count') end def count=(val) prop_set('count', val) end def time_interval prop_get('time-interval') end def time_interval=(val) prop_set('time-interval', val) end end def rule_group_limits @subclasses['rule-group-limits'] ||= RuleGroupLimits.new(parent_instance: self, client: @client, create_children: @create_children) end class LogDatabasesAlarmThreshold < ConfigClass def has_multiple_values?; false; end def _section :'log-databases-alarm-threshold' end @props = {'traffic'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'0', 'max'=>'100', 'default'=>'90', 'help-string'=>'traffic logs database % full threshold value for alarm generation'}, 'threat'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'0', 'max'=>'100', 'default'=>'90', 'help-string'=>'threat logs database % full threshold value for alarm generation'}, 'config'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'0', 'max'=>'100', 'default'=>'90', 'help-string'=>'configuration logs database % full threshold value for alarm generation'}, 'system'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'0', 'max'=>'100', 'default'=>'90', 'help-string'=>'system logs database % full threshold value for alarm generation'}, 'alarm'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'0', 'max'=>'100', 'default'=>'90', 'help-string'=>'alarm logs database % full threshold value for alarm generation'}, 'hipmatch'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'0', 'max'=>'100', 'default'=>'90', 'help-string'=>'hipmatch logs database % full threshold value for alarm generation'}, 'userid'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'0', 'max'=>'100', 'default'=>'90', 'help-string'=>'User-ID logs database % full threshold value for alarm generation'}, 'iptag'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'0', 'max'=>'100', 'default'=>'90', 'help-string'=>'IP-TAG logs database % full threshold value for alarm generation'}, 'auth'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'0', 'max'=>'100', 'default'=>'90', 'help-string'=>'authentication logs database % full threshold value for alarm generation'}, 'gtp'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'0', 'max'=>'100', 'default'=>'90', 'help-string'=>'tunnel and gtp logs database % full threshold value for alarm generation'}, 'sctp'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'0', 'max'=>'100', 'default'=>'90', 'help-string'=>'SCTP logs database % full threshold value for alarm generation'}, 'globalprotect'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'0', 'max'=>'100', 'default'=>'90', 'help-string'=>'Globalprotect logs database % full threshold value for alarm generation'}, 'decryption'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'0', 'max'=>'100', 'default'=>'90', 'help-string'=>'decryption logs database % full threshold value for alarm generation'}} # traffic logs database % full threshold value for alarm generation def traffic prop_get('traffic') end # traffic logs database % full threshold value for alarm generation def traffic=(val) prop_set('traffic', val) end # threat logs database % full threshold value for alarm generation def threat prop_get('threat') end # threat logs database % full threshold value for alarm generation def threat=(val) prop_set('threat', val) end # configuration logs database % full threshold value for alarm generation def config prop_get('config') end # configuration logs database % full threshold value for alarm generation def config=(val) prop_set('config', val) end # system logs database % full threshold value for alarm generation def system prop_get('system') end # system logs database % full threshold value for alarm generation def system=(val) prop_set('system', val) end # alarm logs database % full threshold value for alarm generation def alarm prop_get('alarm') end # alarm logs database % full threshold value for alarm generation def alarm=(val) prop_set('alarm', val) end # hipmatch logs database % full threshold value for alarm generation def hipmatch prop_get('hipmatch') end # hipmatch logs database % full threshold value for alarm generation def hipmatch=(val) prop_set('hipmatch', val) end # User-ID logs database % full threshold value for alarm generation def userid prop_get('userid') end # User-ID logs database % full threshold value for alarm generation def userid=(val) prop_set('userid', val) end # IP-TAG logs database % full threshold value for alarm generation def iptag prop_get('iptag') end # IP-TAG logs database % full threshold value for alarm generation def iptag=(val) prop_set('iptag', val) end # authentication logs database % full threshold value for alarm generation def auth prop_get('auth') end # authentication logs database % full threshold value for alarm generation def auth=(val) prop_set('auth', val) end # tunnel and gtp logs database % full threshold value for alarm generation def gtp prop_get('gtp') end # tunnel and gtp logs database % full threshold value for alarm generation def gtp=(val) prop_set('gtp', val) end # SCTP logs database % full threshold value for alarm generation def sctp prop_get('sctp') end # SCTP logs database % full threshold value for alarm generation def sctp=(val) prop_set('sctp', val) end # Globalprotect logs database % full threshold value for alarm generation def globalprotect prop_get('globalprotect') end # Globalprotect logs database % full threshold value for alarm generation def globalprotect=(val) prop_set('globalprotect', val) end # decryption logs database % full threshold value for alarm generation def decryption prop_get('decryption') end # decryption logs database % full threshold value for alarm generation def decryption=(val) prop_set('decryption', val) end end def log_databases_alarm_threshold @subclasses['log-databases-alarm-threshold'] ||= LogDatabasesAlarmThreshold.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable-alarm-generation'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable CC alarms generation'}, 'enable-cli-alarm-notification'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable alarms notification on admin console'}, 'enable-web-alarm-notification'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable alarms notification on Web'}, 'enable-audible-alarms'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable audio sound for alarms'}, 'encrypt-decrypt-fail-count'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'help-string'=>'Encryption/Decryption failure count notification threshold'}} # Enable CC alarms generation def enable_alarm_generation prop_get('enable-alarm-generation') end # Enable CC alarms generation def enable_alarm_generation=(val) prop_set('enable-alarm-generation', val) end # Enable alarms notification on admin console def enable_cli_alarm_notification prop_get('enable-cli-alarm-notification') end # Enable alarms notification on admin console def enable_cli_alarm_notification=(val) prop_set('enable-cli-alarm-notification', val) end # Enable alarms notification on Web def enable_web_alarm_notification prop_get('enable-web-alarm-notification') end # Enable alarms notification on Web def enable_web_alarm_notification=(val) prop_set('enable-web-alarm-notification', val) end # Enable audio sound for alarms def enable_audible_alarms prop_get('enable-audible-alarms') end # Enable audio sound for alarms def enable_audible_alarms=(val) prop_set('enable-audible-alarms', val) end # Encryption/Decryption failure count notification threshold def encrypt_decrypt_fail_count prop_get('encrypt-decrypt-fail-count') end # Encryption/Decryption failure count notification threshold def encrypt_decrypt_fail_count=(val) prop_set('encrypt-decrypt-fail-count', val) end end def common_criteria_alarm_generation @subclasses['common-criteria-alarm-generation'] ||= CommonCriteriaAlarmGeneration.new(parent_instance: self, client: @client, create_children: @create_children) end class Initcfg < ConfigClass def has_multiple_values?; false; end def _section :initcfg end class Type < ConfigClass def has_multiple_values?; false; end def _section :type end class Static < ConfigClass def has_multiple_values?; false; end def _section :static end @props = {} end def static @subclasses['static'] ||= Static.new(parent_instance: self, client: @client, create_children: @create_children) end class DhcpClient < ConfigClass def has_multiple_values?; false; end def _section :'dhcp-client' end @props = {'send-hostname'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes'}, 'send-client-id'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no'}, 'accept-dhcp-hostname'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no'}, 'accept-dhcp-domain'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no'}} def send_hostname prop_get('send-hostname') end def send_hostname=(val) prop_set('send-hostname', val) end def send_client_id prop_get('send-client-id') end def send_client_id=(val) prop_set('send-client-id', val) end def accept_dhcp_hostname prop_get('accept-dhcp-hostname') end def accept_dhcp_hostname=(val) prop_set('accept-dhcp-hostname', val) end def accept_dhcp_domain prop_get('accept-dhcp-domain') end def accept_dhcp_domain=(val) prop_set('accept-dhcp-domain', val) end end def dhcp_client @subclasses['dhcp-client'] ||= DhcpClient.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type @subclasses['type'] ||= Type.new(parent_instance: self, client: @client, create_children: @create_children) end class CloudService < ConfigClass def has_multiple_values?; false; end def _section :'cloud-service' end @props = {} end def cloud_service @subclasses['cloud-service'] ||= CloudService.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'ip-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec'}, 'netmask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'subtype'=>'ip-address'}, 'default-gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-only'=>'yes'}, 'panorama-server'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^([0-9a-zA-Z:./_-])+$', 'maxlen'=>'63'}, 'panorama-server-2'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^([0-9a-zA-Z:./_-])+$', 'maxlen'=>'63'}, 'hostname'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[a-zA-Z0-9\._-]+$', 'minlen'=>'1', 'maxlen'=>'32'}, 'dns-primary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^([0-9a-zA-Z:./_-])+$', 'maxlen'=>'63'}, 'dns-secondary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^([0-9a-zA-Z:./_-])+$', 'maxlen'=>'63'}, 'ipv6-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-with-mask'=>'yes', 'ipv6-only'=>'yes'}, 'ipv6-default-gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-only'=>'yes'}, 'auth-key'=>{'node-type'=>'element', 'optional'=>'yes', 'maxlen'=>'255', 'type'=>'string'}, 'dgname'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string'}, 'cgname'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string'}, 'cluster-name'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63'}, 'certificate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string'}, 'certpassphrase'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string'}, 'certkeyfile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string'}, 'username'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string'}, 'userpassword'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string'}, 'tplname'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63'}, 'agent-name'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'64'}, 'hostInfo-agentId'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'64'}, 'hostInfo-hostName'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'64'}, 'public-key'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'(([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)?){1}', 'maxlen'=>'2048'}, 'op-command-modes'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'64'}, 'vm-auth-key'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string'}} def ip_address prop_get('ip-address') end def ip_address=(val) prop_set('ip-address', val) end def netmask prop_get('netmask') end def netmask=(val) prop_set('netmask', val) end def default_gateway prop_get('default-gateway') end def default_gateway=(val) prop_set('default-gateway', val) end def panorama_server prop_get('panorama-server') end def panorama_server=(val) prop_set('panorama-server', val) end def panorama_server_2 prop_get('panorama-server-2') end def panorama_server_2=(val) prop_set('panorama-server-2', val) end def hostname prop_get('hostname') end def hostname=(val) prop_set('hostname', val) end def dns_primary prop_get('dns-primary') end def dns_primary=(val) prop_set('dns-primary', val) end def dns_secondary prop_get('dns-secondary') end def dns_secondary=(val) prop_set('dns-secondary', val) end def ipv6_address prop_get('ipv6-address') end def ipv6_address=(val) prop_set('ipv6-address', val) end def ipv6_default_gateway prop_get('ipv6-default-gateway') end def ipv6_default_gateway=(val) prop_set('ipv6-default-gateway', val) end def auth_key prop_get('auth-key') end def auth_key=(val) prop_set('auth-key', val) end def dgname prop_get('dgname') end def dgname=(val) prop_set('dgname', val) end def cgname prop_get('cgname') end def cgname=(val) prop_set('cgname', val) end def cluster_name prop_get('cluster-name') end def cluster_name=(val) prop_set('cluster-name', val) end def certificate prop_get('certificate') end def certificate=(val) prop_set('certificate', val) end def certpassphrase prop_get('certpassphrase') end def certpassphrase=(val) prop_set('certpassphrase', val) end def certkeyfile prop_get('certkeyfile') end def certkeyfile=(val) prop_set('certkeyfile', val) end def username prop_get('username') end def username=(val) prop_set('username', val) end def userpassword prop_get('userpassword') end def userpassword=(val) prop_set('userpassword', val) end def tplname prop_get('tplname') end def tplname=(val) prop_set('tplname', val) end def agent_name prop_get('agent-name') end def agent_name=(val) prop_set('agent-name', val) end def hostInfo_agentId prop_get('hostInfo-agentId') end def hostInfo_agentId=(val) prop_set('hostInfo-agentId', val) end def hostInfo_hostName prop_get('hostInfo-hostName') end def hostInfo_hostName=(val) prop_set('hostInfo-hostName', val) end def public_key prop_get('public-key') end def public_key=(val) prop_set('public-key', val) end def op_command_modes prop_get('op-command-modes') end def op_command_modes=(val) prop_set('op-command-modes', val) end def vm_auth_key prop_get('vm-auth-key') end def vm_auth_key=(val) prop_set('vm-auth-key', val) end end def initcfg @subclasses['initcfg'] ||= Initcfg.new(parent_instance: self, client: @client, create_children: @create_children) end class AuditTracking < ConfigClass def has_multiple_values?; false; end def _section :'audit-tracking' end @props = {'op-commands'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'ui-actions'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'send-syslog'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string'}} def op_commands prop_get('op-commands') end def op_commands=(val) prop_set('op-commands', val) end def ui_actions prop_get('ui-actions') end def ui_actions=(val) prop_set('ui-actions', val) end def send_syslog prop_get('send-syslog') end def send_syslog=(val) prop_set('send-syslog', val) end end def audit_tracking @subclasses['audit-tracking'] ||= AuditTracking.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'idle-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'default administrative session idle timeout in minutes', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'1440', 'help-string'=>'minutes'}, 'enum'=>[{'value'=>'0', 'help-string'=>'never timeout'}]}}, 'appusage-lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'60', 'max'=>'365', 'help-string'=>'application usage data storage time in days'}, 'hostname-type-in-syslog'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'FQDN', 'help-string'=>'Choose type to send in hostname field in syslog header', 'enum'=>[{'value'=>'none', 'help-string'=>'Do not send hostname in syslog header'}, {'value'=>'FQDN', 'help-string'=>'Send FQDN field in header'}, {'value'=>'hostname', 'help-string'=>'Send hostname in header if available otherwise send \'-\' '}, {'value'=>'ipv4-address', 'help-string'=>'Send IPv4 address in header if available otherwise send \'-\''}, {'value'=>'ipv6-address', 'help-string'=>'Send IPv6 address in header if available otherwise send \'-\''}]}, 'report-run-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3]):00', 'minlen'=>'5', 'maxlen'=>'5', 'default'=>'02:00', 'help-string'=>'Time of day to run the scheduled reports hh:mm (e.g. 23:00)'}, 'report-expiration-period'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'Expiration-period for reports (in days)'}, 'threat-vault-access'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Turn threat-vault access on or off'}, 'support-utf8-for-log-output'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Support output log in UTF-8'}, 'auto-acquire-commit-lock'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Automatically add a commit lock when modifying configuration'}, 'disable-commit-recovery'=>{'node-type'=>'element', 'default'=>'no', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Disable automated commit recovery feature'}, 'commit-recovery-retry'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'5', 'default'=>'1', 'help-string'=>'Set number of attempts allowed for checking connectivity'}, 'commit-recovery-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'3', 'max'=>'30', 'default'=>'10', 'help-string'=>'Set a timeout interval between retries'}, 'rule-hit-count'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable/Disable Policy rule hit-count feature'}, 'wildcard-topdown-match-mode'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set/Unset wildcard topdown match mode, by default it is longest-prefix match mode'}, 'rule-require-tag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Require Tag on policies'}, 'rule-require-description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Require description on policies'}, 'rule-fail-commit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Fail commit if policies have no tag/description'}, 'rule-require-audit-comment'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Require audit comment on policies'}, 'rule-audit-comment-regex'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'256', 'help-string'=>'Audit Comment Regular Expression'}, 'appusage-policy'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable/Disable Policy Application usage feature', 'prune-on-sdb'=>'cfg.vm-license-type=vm50l'}, 'canonicalize-block-allow-list'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Enable/Disable canonicalization before matching url to block/allow list'}, 'enable-high-speed-log-forwarding'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Enable higher forwarding speeds when logs are being forwarding'}, 'traffic-stop-on-logdb-full'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Stop traffic if logdb is full with unexported logs'}, 'enable-log-high-dp-load'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Issue a progressive system log if one or more dataplane CPUs are under severe load'}, 'enable-certificate-expiration-check'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Check for expired certificates and stop using them'}, 'max-rows-in-csv-export'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'1048576', 'default'=>'65535', 'help-string'=>'maximum number of rows in exported csv files'}, 'max-rows-in-pdf-report'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'1048576', 'default'=>'5000', 'help-string'=>'maximum number of rows in user activity report'}, 'max-audit-versions'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'1048576', 'default'=>'100', 'help-string'=>'maximum number of audited versions of config to preserve'}, 'panorama-tcp-receive-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'240', 'help-string'=>'Receive timeout for TCP connection to Panorama'}, 'panorama-tcp-send-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'240', 'help-string'=>'Send timeout for TCP connection to Panorama'}, 'panorama-ssl-send-retries'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'64', 'help-string'=>'Retry count for SSL sends to Panorama'}} # default administrative session idle timeout in minutes def idle_timeout prop_get('idle-timeout') end # default administrative session idle timeout in minutes def idle_timeout=(val) prop_set('idle-timeout', val) end # application usage data storage time in days def appusage_lifetime prop_get('appusage-lifetime') end # application usage data storage time in days def appusage_lifetime=(val) prop_set('appusage-lifetime', val) end # Choose type to send in hostname field in syslog header def hostname_type_in_syslog prop_get('hostname-type-in-syslog') end # Choose type to send in hostname field in syslog header def hostname_type_in_syslog=(val) prop_set('hostname-type-in-syslog', val) end # Time of day to run the scheduled reports hh:mm (e.g. 23:00) def report_run_time prop_get('report-run-time') end # Time of day to run the scheduled reports hh:mm (e.g. 23:00) def report_run_time=(val) prop_set('report-run-time', val) end # Expiration-period for reports (in days) def report_expiration_period prop_get('report-expiration-period') end # Expiration-period for reports (in days) def report_expiration_period=(val) prop_set('report-expiration-period', val) end # Turn threat-vault access on or off def threat_vault_access prop_get('threat-vault-access') end # Turn threat-vault access on or off def threat_vault_access=(val) prop_set('threat-vault-access', val) end # Support output log in UTF-8 def support_utf8_for_log_output prop_get('support-utf8-for-log-output') end # Support output log in UTF-8 def support_utf8_for_log_output=(val) prop_set('support-utf8-for-log-output', val) end # Automatically add a commit lock when modifying configuration def auto_acquire_commit_lock prop_get('auto-acquire-commit-lock') end # Automatically add a commit lock when modifying configuration def auto_acquire_commit_lock=(val) prop_set('auto-acquire-commit-lock', val) end # Disable automated commit recovery feature def disable_commit_recovery prop_get('disable-commit-recovery') end # Disable automated commit recovery feature def disable_commit_recovery=(val) prop_set('disable-commit-recovery', val) end # Set number of attempts allowed for checking connectivity def commit_recovery_retry prop_get('commit-recovery-retry') end # Set number of attempts allowed for checking connectivity def commit_recovery_retry=(val) prop_set('commit-recovery-retry', val) end # Set a timeout interval between retries def commit_recovery_timeout prop_get('commit-recovery-timeout') end # Set a timeout interval between retries def commit_recovery_timeout=(val) prop_set('commit-recovery-timeout', val) end # Enable/Disable Policy rule hit-count feature def rule_hit_count prop_get('rule-hit-count') end # Enable/Disable Policy rule hit-count feature def rule_hit_count=(val) prop_set('rule-hit-count', val) end # Set/Unset wildcard topdown match mode, by default it is longest-prefix match mode def wildcard_topdown_match_mode prop_get('wildcard-topdown-match-mode') end # Set/Unset wildcard topdown match mode, by default it is longest-prefix match mode def wildcard_topdown_match_mode=(val) prop_set('wildcard-topdown-match-mode', val) end # Require Tag on policies def rule_require_tag prop_get('rule-require-tag') end # Require Tag on policies def rule_require_tag=(val) prop_set('rule-require-tag', val) end # Require description on policies def rule_require_description prop_get('rule-require-description') end # Require description on policies def rule_require_description=(val) prop_set('rule-require-description', val) end # Fail commit if policies have no tag/description def rule_fail_commit prop_get('rule-fail-commit') end # Fail commit if policies have no tag/description def rule_fail_commit=(val) prop_set('rule-fail-commit', val) end # Require audit comment on policies def rule_require_audit_comment prop_get('rule-require-audit-comment') end # Require audit comment on policies def rule_require_audit_comment=(val) prop_set('rule-require-audit-comment', val) end # Audit Comment Regular Expression def rule_audit_comment_regex prop_get('rule-audit-comment-regex') end # Audit Comment Regular Expression def rule_audit_comment_regex=(val) prop_set('rule-audit-comment-regex', val) end # Enable/Disable Policy Application usage feature def appusage_policy prop_get('appusage-policy') end # Enable/Disable Policy Application usage feature def appusage_policy=(val) prop_set('appusage-policy', val) end # Enable/Disable canonicalization before matching url to block/allow list def canonicalize_block_allow_list prop_get('canonicalize-block-allow-list') end # Enable/Disable canonicalization before matching url to block/allow list def canonicalize_block_allow_list=(val) prop_set('canonicalize-block-allow-list', val) end # Enable higher forwarding speeds when logs are being forwarding def enable_high_speed_log_forwarding prop_get('enable-high-speed-log-forwarding') end # Enable higher forwarding speeds when logs are being forwarding def enable_high_speed_log_forwarding=(val) prop_set('enable-high-speed-log-forwarding', val) end # Stop traffic if logdb is full with unexported logs def traffic_stop_on_logdb_full prop_get('traffic-stop-on-logdb-full') end # Stop traffic if logdb is full with unexported logs def traffic_stop_on_logdb_full=(val) prop_set('traffic-stop-on-logdb-full', val) end # Issue a progressive system log if one or more dataplane CPUs are under severe load def enable_log_high_dp_load prop_get('enable-log-high-dp-load') end # Issue a progressive system log if one or more dataplane CPUs are under severe load def enable_log_high_dp_load=(val) prop_set('enable-log-high-dp-load', val) end # Check for expired certificates and stop using them def enable_certificate_expiration_check prop_get('enable-certificate-expiration-check') end # Check for expired certificates and stop using them def enable_certificate_expiration_check=(val) prop_set('enable-certificate-expiration-check', val) end # maximum number of rows in exported csv files def max_rows_in_csv_export prop_get('max-rows-in-csv-export') end # maximum number of rows in exported csv files def max_rows_in_csv_export=(val) prop_set('max-rows-in-csv-export', val) end # maximum number of rows in user activity report def max_rows_in_pdf_report prop_get('max-rows-in-pdf-report') end # maximum number of rows in user activity report def max_rows_in_pdf_report=(val) prop_set('max-rows-in-pdf-report', val) end # maximum number of audited versions of config to preserve def max_audit_versions prop_get('max-audit-versions') end # maximum number of audited versions of config to preserve def max_audit_versions=(val) prop_set('max-audit-versions', val) end # Receive timeout for TCP connection to Panorama def panorama_tcp_receive_timeout prop_get('panorama-tcp-receive-timeout') end # Receive timeout for TCP connection to Panorama def panorama_tcp_receive_timeout=(val) prop_set('panorama-tcp-receive-timeout', val) end # Send timeout for TCP connection to Panorama def panorama_tcp_send_timeout prop_get('panorama-tcp-send-timeout') end # Send timeout for TCP connection to Panorama def panorama_tcp_send_timeout=(val) prop_set('panorama-tcp-send-timeout', val) end # Retry count for SSL sends to Panorama def panorama_ssl_send_retries prop_get('panorama-ssl-send-retries') end # Retry count for SSL sends to Panorama def panorama_ssl_send_retries=(val) prop_set('panorama-ssl-send-retries', val) end end def management @subclasses['management'] ||= Management.new(parent_instance: self, client: @client, create_children: @create_children) end class Logrcvr < ConfigClass def has_multiple_values?; false; end def _section :logrcvr end @props = {'container-page-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'60', 'default'=>'5', 'help-string'=>'Container page timeout in secs'}} # Container page timeout in secs def container_page_timeout prop_get('container-page-timeout') end # Container page timeout in secs def container_page_timeout=(val) prop_set('container-page-timeout', val) end end def logrcvr @subclasses['logrcvr'] ||= Logrcvr.new(parent_instance: self, client: @client, create_children: @create_children) end class Vpn < ConfigClass def has_multiple_values?; false; end def _section :vpn end class Ikev2 < ConfigClass def has_multiple_values?; false; end def _section :ikev2 end @props = {'cookie-threshold'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'500', 'min'=>'0', 'max'=>'65535', 'help-string'=>'Enable cookie if the number of half opened SA is over the threshold'}, 'max-half-opened-sa'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'65535', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Maximum number of half opened SA'}, 'certificate-cache-size'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'500', 'min'=>'0', 'max'=>'4000', 'help-string'=>'Maximum number of certificates in cache used for http peer certificates'}} # Enable cookie if the number of half opened SA is over the threshold def cookie_threshold prop_get('cookie-threshold') end # Enable cookie if the number of half opened SA is over the threshold def cookie_threshold=(val) prop_set('cookie-threshold', val) end # Maximum number of half opened SA def max_half_opened_sa prop_get('max-half-opened-sa') end # Maximum number of half opened SA def max_half_opened_sa=(val) prop_set('max-half-opened-sa', val) end # Maximum number of certificates in cache used for http peer certificates def certificate_cache_size prop_get('certificate-cache-size') end # Maximum number of certificates in cache used for http peer certificates def certificate_cache_size=(val) prop_set('certificate-cache-size', val) end end def ikev2 @subclasses['ikev2'] ||= Ikev2.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def vpn @subclasses['vpn'] ||= Vpn.new(parent_instance: self, client: @client, create_children: @create_children) end class CustomLogo < ConfigClass def has_multiple_values?; false; end def _section :'custom-logo' end class LoginScreen < ConfigClass def has_multiple_values?; false; end def _section :'login-screen' end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'256', 'help-string'=>'File name'}, 'content'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'base64', 'maxlen'=>'500000', 'help-string'=>'Upload custom login-screen page(base64 encoded).'}} # File name def name prop_get('name') end # File name def name=(val) prop_set('name', val) end # Upload custom login-screen page(base64 encoded). def content prop_get('content') end # Upload custom login-screen page(base64 encoded). def content=(val) prop_set('content', val) end end def login_screen @subclasses['login-screen'] ||= LoginScreen.new(parent_instance: self, client: @client, create_children: @create_children) end class MainUi < ConfigClass def has_multiple_values?; false; end def _section :'main-ui' end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'256', 'help-string'=>'File name'}, 'content'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'base64', 'maxlen'=>'500000', 'help-string'=>'Upload custom main-ui page(base64 encoded).'}} # File name def name prop_get('name') end # File name def name=(val) prop_set('name', val) end # Upload custom main-ui page(base64 encoded). def content prop_get('content') end # Upload custom main-ui page(base64 encoded). def content=(val) prop_set('content', val) end end def main_ui @subclasses['main-ui'] ||= MainUi.new(parent_instance: self, client: @client, create_children: @create_children) end class PdfReportHeader < ConfigClass def has_multiple_values?; false; end def _section :'pdf-report-header' end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'256', 'help-string'=>'File name'}, 'content'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'base64', 'maxlen'=>'500000', 'help-string'=>'Upload custom pdf-report-header page(base64 encoded).'}} # File name def name prop_get('name') end # File name def name=(val) prop_set('name', val) end # Upload custom pdf-report-header page(base64 encoded). def content prop_get('content') end # Upload custom pdf-report-header page(base64 encoded). def content=(val) prop_set('content', val) end end def pdf_report_header @subclasses['pdf-report-header'] ||= PdfReportHeader.new(parent_instance: self, client: @client, create_children: @create_children) end class PdfReportFooter < ConfigClass def has_multiple_values?; false; end def _section :'pdf-report-footer' end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'256', 'help-string'=>'File name'}, 'content'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'base64', 'maxlen'=>'500000', 'help-string'=>'Upload custom pdf-report-footer page(base64 encoded).'}} # File name def name prop_get('name') end # File name def name=(val) prop_set('name', val) end # Upload custom pdf-report-footer page(base64 encoded). def content prop_get('content') end # Upload custom pdf-report-footer page(base64 encoded). def content=(val) prop_set('content', val) end end def pdf_report_footer @subclasses['pdf-report-footer'] ||= PdfReportFooter.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'hide-panorama-header-background'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} def hide_panorama_header_background prop_get('hide-panorama-header-background') end def hide_panorama_header_background=(val) prop_set('hide-panorama-header-background', val) end end def custom_logo @subclasses['custom-logo'] ||= CustomLogo.new(parent_instance: self, client: @client, create_children: @create_children) end class Iot < ConfigClass def has_multiple_values?; false; end def _section :iot end class Edge < ConfigClass def has_multiple_values?; false; end def _section :edge end @props = {'enable-3rd-party'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'disable-device-cert'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'address'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'IP address or hostname for the edge cloud service', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'regex'=>'^([a-zA-Z0-9./_-])+$', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'Host name'}}}} def enable_3rd_party prop_get('enable-3rd-party') end def enable_3rd_party=(val) prop_set('enable-3rd-party', val) end def disable_device_cert prop_get('disable-device-cert') end def disable_device_cert=(val) prop_set('disable-device-cert', val) end # IP address or hostname for the edge cloud service def address prop_get('address') end # IP address or hostname for the edge cloud service def address=(val) prop_set('address', val) end end def edge @subclasses['edge'] ||= Edge.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def iot @subclasses['iot'] ||= Iot.new(parent_instance: self, client: @client, create_children: @create_children) end class Cloudapp < ConfigClass def has_multiple_values?; false; end def _section :cloudapp end class CloudappSrvrAddr < ConfigClass def has_multiple_values?; false; end def _section :'cloudapp-srvr-addr' end @props = {'address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'IP address or hostname for the cloud appid service', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'regex'=>'^([a-zA-Z0-9./_-])+$', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'Host name'}}}} # IP address or hostname for the cloud appid service def address prop_get('address') end # IP address or hostname for the cloud appid service def address=(val) prop_set('address', val) end end def cloudapp_srvr_addr @subclasses['cloudapp-srvr-addr'] ||= CloudappSrvrAddr.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'disable'=>{'node-type'=>'element', 'type'=>'bool', 'help-string'=>'prevent icd from automatically fetching cloud app data', 'optional'=>'yes', 'default'=>'no'}} # prevent icd from automatically fetching cloud app data def disable prop_get('disable') end # prevent icd from automatically fetching cloud app data def disable=(val) prop_set('disable', val) end end def cloudapp @subclasses['cloudapp'] ||= Cloudapp.new(parent_instance: self, client: @client, create_children: @create_children) end class DhcpSyslogServer < XML::ConfigClass def has_multiple_values?; true; end def _section :'dhcp-syslog-server' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256', 'subtype'=>'object-name', 'optional'=>'yes'}, 'enabled'=>{'node-type'=>'element', 'type'=>'bool', 'help-string'=>'To enable or disable DHCP log collection', 'optional'=>'yes', 'default'=>'no'}, 'ip-address'=>{'node-type'=>'element', 'type'=>'ipspec', 'unicast-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes', 'help-string'=>'IP address for the DHCP server'}, 'protocol'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'SSL', 'enum'=>[{'value'=>'SSL'}, {'value'=>'TCP'}, {'value'=>'UDP'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end # To enable or disable DHCP log collection def enabled prop_get('enabled') end # To enable or disable DHCP log collection def enabled=(val) prop_set('enabled', val) end # IP address for the DHCP server def ip_address prop_get('ip-address') end # IP address for the DHCP server def ip_address=(val) prop_set('ip-address', val) end def protocol prop_get('protocol') end def protocol=(val) prop_set('protocol', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def dhcp_syslog_server maybe_register_subclass('dhcp-syslog-server', DhcpSyslogServer.new(parent_instance: self, client: @client, create_children: @create_children)) end class CloudUserid < ConfigClass def has_multiple_values?; false; end def _section :'cloud-userid' end @props = {'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes'}, 'address'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'IP address or hostname for the edge cloud userid service', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'regex'=>'^([a-zA-Z0-9./_-])+$', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'Host name'}}}} def disabled prop_get('disabled') end def disabled=(val) prop_set('disabled', val) end # IP address or hostname for the edge cloud userid service def address prop_get('address') end # IP address or hostname for the edge cloud userid service def address=(val) prop_set('address', val) end end def cloud_userid @subclasses['cloud-userid'] ||= CloudUserid.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'auto-mac-detect'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.setting.auto-mac-detect-disable=True', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Using detected VM interface MAC as PANOS interface MAC'}, 'gtp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420,cfg.platform.model=PA-1410,cfg.platform.model=PA-1420'}, 'mobile-security-policy'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'tunnel-acceleration'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'to accelerate GTP-U, GRE and VxLAN traffic'}, 'net-inspection'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable net inspection'}, 'sctp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420,cfg.platform.model=PA-1410,cfg.platform.model=PA-1420'}, 'advance-routing'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable Advanced Routing Module'}} # Using detected VM interface MAC as PANOS interface MAC def auto_mac_detect prop_get('auto-mac-detect') end # Using detected VM interface MAC as PANOS interface MAC def auto_mac_detect=(val) prop_set('auto-mac-detect', val) end def gtp prop_get('gtp') end def gtp=(val) prop_set('gtp', val) end def mobile_security_policy prop_get('mobile-security-policy') end def mobile_security_policy=(val) prop_set('mobile-security-policy', val) end # to accelerate GTP-U, GRE and VxLAN traffic def tunnel_acceleration prop_get('tunnel-acceleration') end # to accelerate GTP-U, GRE and VxLAN traffic def tunnel_acceleration=(val) prop_set('tunnel-acceleration', val) end # enable net inspection def net_inspection prop_get('net-inspection') end # enable net inspection def net_inspection=(val) prop_set('net-inspection', val) end def sctp prop_get('sctp') end def sctp=(val) prop_set('sctp', val) end # Enable Advanced Routing Module def advance_routing prop_get('advance-routing') end # Enable Advanced Routing Module def advance_routing=(val) prop_set('advance-routing', val) end end def setting @subclasses['setting'] ||= Setting.new(parent_instance: self, client: @client, create_children: @create_children) end class HighAvailability < ConfigClass def has_multiple_values?; false; end def _section :'high-availability' end class Interface < ConfigClass def has_multiple_values?; false; end def _section :interface end class Ha1 < ConfigClass def has_multiple_values?; false; end def _section :ha1 end class Encryption < ConfigClass def has_multiple_values?; false; end def _section :encryption end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} def enabled prop_get('enabled') end def enabled=(val) prop_set('enabled', val) end end def encryption @subclasses['encryption'] ||= Encryption.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'port'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Interface name', 'optional'=>'yes', 'multi-types'=>{'string'=>{'prune-on-sdb'=>'cfg.platform.vm.high-availability.interface.ha1.port-disable=True'}, 'enum'=>[{'value'=>'dedicated-ha1', 'help-string'=>'Dedicated out of band HA1 interface for ha1'}, {'value'=>'ha1-a', 'help-string'=>'Dedicated out of band HA1-A interface for ha1'}, {'value'=>'ha1-b', 'help-string'=>'Dedicated out of band HA1-B interface for ha1'}, {'value'=>'aux-1', 'help-string'=>'Non-dedicated out of band AUX-1 interface for ha1'}, {'value'=>'aux-2', 'help-string'=>'Non-dedicated out of band AUX-2 interface for ha1'}, {'value'=>'management', 'help-string'=>'Non-dedicated out of band MGT interface for ha1'}]}}, 'link-speed'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'help-string'=>'Interface link speed', 'enum'=>[{'value'=>'auto', 'help-string'=>'Auto negotiation'}, {'value'=>'10', 'help-string'=>'10Mbps'}, {'value'=>'100', 'help-string'=>'100Mbps'}, {'value'=>'1000', 'help-string'=>'1000Mbps'}]}, 'link-duplex'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'help-string'=>'Interface link duplex', 'enum'=>[{'value'=>'auto', 'help-string'=>'Auto negotiation'}, {'value'=>'full', 'help-string'=>'Full duplex'}, {'value'=>'half', 'help-string'=>'Half duplex'}]}, 'ip-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'IPv4/IPv6 address for the HA1 interface', 'multi-types'=>{'ipspec'=>{'disallow-loopback'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'netmask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'IPv4 netmask for the HA1 interface'}, 'gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'IPv4/IPv6 Gateway for the HA1 interface', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'disallow-loopback'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'monitor-hold-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1000', 'max'=>'60000', 'default'=>'3000', 'help-string'=>'hold time in milliseconds to allow ha1 link flapping, default 3000'}} # Interface name def port prop_get('port') end # Interface name def port=(val) prop_set('port', val) end # Interface link speed def link_speed prop_get('link-speed') end # Interface link speed def link_speed=(val) prop_set('link-speed', val) end # Interface link duplex def link_duplex prop_get('link-duplex') end # Interface link duplex def link_duplex=(val) prop_set('link-duplex', val) end # IPv4/IPv6 address for the HA1 interface def ip_address prop_get('ip-address') end # IPv4/IPv6 address for the HA1 interface def ip_address=(val) prop_set('ip-address', val) end # IPv4 netmask for the HA1 interface def netmask prop_get('netmask') end # IPv4 netmask for the HA1 interface def netmask=(val) prop_set('netmask', val) end # IPv4/IPv6 Gateway for the HA1 interface def gateway prop_get('gateway') end # IPv4/IPv6 Gateway for the HA1 interface def gateway=(val) prop_set('gateway', val) end # hold time in milliseconds to allow ha1 link flapping, default 3000 def monitor_hold_time prop_get('monitor-hold-time') end # hold time in milliseconds to allow ha1 link flapping, default 3000 def monitor_hold_time=(val) prop_set('monitor-hold-time', val) end end def ha1 @subclasses['ha1'] ||= Ha1.new(parent_instance: self, client: @client, create_children: @create_children) end class Ha1Backup < ConfigClass def has_multiple_values?; false; end def _section :'ha1-backup' end @props = {'port'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'Interface name', 'multi-types'=>{'string'=>{}, 'enum'=>[{'value'=>'dedicated-ha1', 'help-string'=>'Dedicated out of band HA1 interface for ha1-backup'}, {'value'=>'ha1-a', 'help-string'=>'Dedicated out of band HA1-A interface for ha1-backup'}, {'value'=>'ha1-b', 'help-string'=>'Dedicated out of band HA1-B interface for ha1-backup'}, {'value'=>'aux-1', 'help-string'=>'Non-dedicated out of band AUX-1 interface for ha1-backup'}, {'value'=>'aux-2', 'help-string'=>'Non-dedicated out of band AUX-2 interface for ha1-backup'}, {'value'=>'management', 'help-string'=>'Non-dedicated out of band MGT interface for ha1-backup'}]}}, 'link-speed'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'help-string'=>'Interface link speed', 'enum'=>[{'value'=>'auto', 'help-string'=>'Auto negotiation'}, {'value'=>'10', 'help-string'=>'10Mbps'}, {'value'=>'100', 'help-string'=>'100Mbps'}, {'value'=>'1000', 'help-string'=>'1000Mbps'}]}, 'link-duplex'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'help-string'=>'Interface link duplex', 'enum'=>[{'value'=>'auto', 'help-string'=>'Auto negotiation'}, {'value'=>'full', 'help-string'=>'Full duplex'}, {'value'=>'half', 'help-string'=>'Half duplex'}]}, 'ip-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'IPv4/IPv6 address for the HA1 interface', 'multi-types'=>{'ipspec'=>{'disallow-loopback'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'netmask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'IPv4 netmask for the HA1 interface'}, 'gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'IPv4/IPv6 Gateway for the HA1 interface', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'disallow-loopback'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # Interface name def port prop_get('port') end # Interface name def port=(val) prop_set('port', val) end # Interface link speed def link_speed prop_get('link-speed') end # Interface link speed def link_speed=(val) prop_set('link-speed', val) end # Interface link duplex def link_duplex prop_get('link-duplex') end # Interface link duplex def link_duplex=(val) prop_set('link-duplex', val) end # IPv4/IPv6 address for the HA1 interface def ip_address prop_get('ip-address') end # IPv4/IPv6 address for the HA1 interface def ip_address=(val) prop_set('ip-address', val) end # IPv4 netmask for the HA1 interface def netmask prop_get('netmask') end # IPv4 netmask for the HA1 interface def netmask=(val) prop_set('netmask', val) end # IPv4/IPv6 Gateway for the HA1 interface def gateway prop_get('gateway') end # IPv4/IPv6 Gateway for the HA1 interface def gateway=(val) prop_set('gateway', val) end end def ha1_backup @subclasses['ha1-backup'] ||= Ha1Backup.new(parent_instance: self, client: @client, create_children: @create_children) end class Ha2 < ConfigClass def has_multiple_values?; false; end def _section :ha2 end @props = {'port'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'Interface name', 'multi-types'=>{'string'=>{}, 'enum'=>[{'value'=>'dedicated-ha2', 'help-string'=>'Dedicated HA2 interface'}, {'value'=>'hsci', 'help-string'=>'High Speed Chassis Interconnect (HSCI) dedicated for HA2 and HA3 interfaces'}]}}, 'link-speed'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'help-string'=>'Interface link speed', 'enum'=>[{'value'=>'auto', 'help-string'=>'Auto negotiation'}, {'value'=>'10', 'help-string'=>'10Mbps'}, {'value'=>'100', 'help-string'=>'100Mbps'}, {'value'=>'1000', 'help-string'=>'1000Mbps'}]}, 'link-duplex'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'help-string'=>'Interface link duplex', 'enum'=>[{'value'=>'auto', 'help-string'=>'Auto negotiation'}, {'value'=>'full', 'help-string'=>'Full duplex'}, {'value'=>'half', 'help-string'=>'Half duplex'}]}, 'ip-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'IPv4/IPv6 address for the HA2 interface', 'multi-types'=>{'ipspec'=>{'disallow-loopback'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'netmask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'IPv4 netmask for the HA2 interface'}, 'gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'IPv4/IPv6 Gateway for the HA2 interface', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'disallow-loopback'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # Interface name def port prop_get('port') end # Interface name def port=(val) prop_set('port', val) end # Interface link speed def link_speed prop_get('link-speed') end # Interface link speed def link_speed=(val) prop_set('link-speed', val) end # Interface link duplex def link_duplex prop_get('link-duplex') end # Interface link duplex def link_duplex=(val) prop_set('link-duplex', val) end # IPv4/IPv6 address for the HA2 interface def ip_address prop_get('ip-address') end # IPv4/IPv6 address for the HA2 interface def ip_address=(val) prop_set('ip-address', val) end # IPv4 netmask for the HA2 interface def netmask prop_get('netmask') end # IPv4 netmask for the HA2 interface def netmask=(val) prop_set('netmask', val) end # IPv4/IPv6 Gateway for the HA2 interface def gateway prop_get('gateway') end # IPv4/IPv6 Gateway for the HA2 interface def gateway=(val) prop_set('gateway', val) end end def ha2 @subclasses['ha2'] ||= Ha2.new(parent_instance: self, client: @client, create_children: @create_children) end class Ha2Backup < ConfigClass def has_multiple_values?; false; end def _section :'ha2-backup' end @props = {'port'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'Interface name', 'multi-types'=>{'string'=>{}, 'enum'=>[{'value'=>'dedicated-ha2', 'help-string'=>'Dedicated HA2 interface'}, {'value'=>'hsci', 'help-string'=>'High Speed Chassis Interconnect (HSCI) dedicated for HA2 and HA3 interfaces'}]}}, 'link-speed'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'help-string'=>'Interface link speed', 'enum'=>[{'value'=>'auto', 'help-string'=>'Auto negotiation'}, {'value'=>'10', 'help-string'=>'10Mbps'}, {'value'=>'100', 'help-string'=>'100Mbps'}, {'value'=>'1000', 'help-string'=>'1000Mbps'}]}, 'link-duplex'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'help-string'=>'Interface link duplex', 'enum'=>[{'value'=>'auto', 'help-string'=>'Auto negotiation'}, {'value'=>'full', 'help-string'=>'Full duplex'}, {'value'=>'half', 'help-string'=>'Half duplex'}]}, 'ip-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'IPv4/IPv6 address for the HA2 interface', 'multi-types'=>{'ipspec'=>{'disallow-loopback'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'netmask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'IPv4 netmask for the HA2 interface'}, 'gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'IPv4/IPv6 Gateway for the HA2 interface', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'disallow-loopback'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # Interface name def port prop_get('port') end # Interface name def port=(val) prop_set('port', val) end # Interface link speed def link_speed prop_get('link-speed') end # Interface link speed def link_speed=(val) prop_set('link-speed', val) end # Interface link duplex def link_duplex prop_get('link-duplex') end # Interface link duplex def link_duplex=(val) prop_set('link-duplex', val) end # IPv4/IPv6 address for the HA2 interface def ip_address prop_get('ip-address') end # IPv4/IPv6 address for the HA2 interface def ip_address=(val) prop_set('ip-address', val) end # IPv4 netmask for the HA2 interface def netmask prop_get('netmask') end # IPv4 netmask for the HA2 interface def netmask=(val) prop_set('netmask', val) end # IPv4/IPv6 Gateway for the HA2 interface def gateway prop_get('gateway') end # IPv4/IPv6 Gateway for the HA2 interface def gateway=(val) prop_set('gateway', val) end end def ha2_backup @subclasses['ha2-backup'] ||= Ha2Backup.new(parent_instance: self, client: @client, create_children: @create_children) end class Ha3 < ConfigClass def has_multiple_values?; false; end def _section :ha3 end @props = {'port'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Interface name', 'multi-types'=>{'string'=>{}, 'enum'=>[{'value'=>'hsci', 'help-string'=>'High Speed Chassis Interconnect (HSCI) dedicated for HA2 and HA3 interfaces'}]}}} # Interface name def port prop_get('port') end # Interface name def port=(val) prop_set('port', val) end end def ha3 @subclasses['ha3'] ||= Ha3.new(parent_instance: self, client: @client, create_children: @create_children) end class Ha4 < ConfigClass def has_multiple_values?; false; end def _section :ha4 end @props = {'port'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'Interface name', 'multi-types'=>{'string'=>{}}}, 'ip-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'IPv4/IPv6 address for the HA4 interface', 'multi-types'=>{'ipspec'=>{'disallow-loopback'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'netmask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'IPv4 netmask for the HA4 interface'}} # Interface name def port prop_get('port') end # Interface name def port=(val) prop_set('port', val) end # IPv4/IPv6 address for the HA4 interface def ip_address prop_get('ip-address') end # IPv4/IPv6 address for the HA4 interface def ip_address=(val) prop_set('ip-address', val) end # IPv4 netmask for the HA4 interface def netmask prop_get('netmask') end # IPv4 netmask for the HA4 interface def netmask=(val) prop_set('netmask', val) end end def ha4 @subclasses['ha4'] ||= Ha4.new(parent_instance: self, client: @client, create_children: @create_children) end class Ha4Backup < ConfigClass def has_multiple_values?; false; end def _section :'ha4-backup' end @props = {'port'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'Interface name', 'multi-types'=>{'string'=>{}}}, 'ip-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'IPv4/IPv6 address for the HA4-backup interface', 'multi-types'=>{'ipspec'=>{'disallow-loopback'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'netmask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'subtype'=>'ip-address', 'help-string'=>'IPv4 netmask for the HA4-backup interface'}} # Interface name def port prop_get('port') end # Interface name def port=(val) prop_set('port', val) end # IPv4/IPv6 address for the HA4-backup interface def ip_address prop_get('ip-address') end # IPv4/IPv6 address for the HA4-backup interface def ip_address=(val) prop_set('ip-address', val) end # IPv4 netmask for the HA4-backup interface def netmask prop_get('netmask') end # IPv4 netmask for the HA4-backup interface def netmask=(val) prop_set('netmask', val) end end def ha4_backup @subclasses['ha4-backup'] ||= Ha4Backup.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def interface @subclasses['interface'] ||= Interface.new(parent_instance: self, client: @client, create_children: @create_children) end class Cluster < ConfigClass def has_multiple_values?; false; end def _section :cluster end class ClusterMembers < XML::ConfigClass def has_multiple_values?; true; end def _section :'cluster-members' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'64', 'help-string'=>'Member device serial number'}, 'ha4-ip-address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'IPv4/IPv6 address for the cluster member HA4 interface', 'multi-types'=>{'ipspec'=>{'disallow-loopback'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'ha4-backup-ip-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'IPv4/IPv6 address for the cluster member HA4-backup interface', 'multi-types'=>{'ipspec'=>{'disallow-loopback'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'session-synchronization'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'enabled', 'optional'=>'yes', 'help-string'=>'Enable/disable session synchronization from current device to given member', 'enum'=>[{'value'=>'enabled', 'help-string'=>'Enable cluster session synchronization'}, {'value'=>'disabled', 'help-string'=>'Disable cluster session synchronization'}]}, 'comments'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'128', 'help-string'=>'Provide cluster member specific comments'}} # Member device serial number def name prop_get('@name') end # IPv4/IPv6 address for the cluster member HA4 interface def ha4_ip_address prop_get('ha4-ip-address') end # IPv4/IPv6 address for the cluster member HA4 interface def ha4_ip_address=(val) prop_set('ha4-ip-address', val) end # IPv4/IPv6 address for the cluster member HA4-backup interface def ha4_backup_ip_address prop_get('ha4-backup-ip-address') end # IPv4/IPv6 address for the cluster member HA4-backup interface def ha4_backup_ip_address=(val) prop_set('ha4-backup-ip-address', val) end # Enable/disable session synchronization from current device to given member def session_synchronization prop_get('session-synchronization') end # Enable/disable session synchronization from current device to given member def session_synchronization=(val) prop_set('session-synchronization', val) end # Provide cluster member specific comments def comments prop_get('comments') end # Provide cluster member specific comments def comments=(val) prop_set('comments', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def cluster_members maybe_register_subclass('cluster-members', ClusterMembers.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable/disable cluster participation'}, 'cluster-id'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'ID to identify members of same cluster', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'99'}, 'string'=>{'maxlen'=>'63'}}}, 'cluster-synchronization-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'30', 'default'=>'0', 'help-string'=>'Cluster synchronization completion wait timeout in minutes (default 0 minutes)'}, 'cluster-keepalive-threshold'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'5000', 'max'=>'60000', 'default'=>'10000', 'help-string'=>'Interval in milliseconds to wait before declaring keep-alive failure (default 10000 milliseconds)'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'128', 'help-string'=>'Cluster description'}, 'suspend-on-slot-failure'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'disabled', 'optional'=>'yes', 'help-string'=>'Determine if HA cluster should be suspended on any slot failure.', 'enum'=>[{'value'=>'enabled', 'help-string'=>'Suspend HA cluster on any slot failure'}, {'value'=>'disabled', 'help-string'=>'Best effort to keep cluster functional on slot failure'}]}, 'monitor-fail-hold-down-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'60', 'default'=>'1', 'help-string'=>'Interval in minutes to stay in cluster-non-functional or ha-non-functional state following a link/path monitor failure, default 1'}} # Enable/disable cluster participation def enabled prop_get('enabled') end # Enable/disable cluster participation def enabled=(val) prop_set('enabled', val) end # ID to identify members of same cluster def cluster_id prop_get('cluster-id') end # ID to identify members of same cluster def cluster_id=(val) prop_set('cluster-id', val) end # Cluster synchronization completion wait timeout in minutes (default 0 minutes) def cluster_synchronization_timeout prop_get('cluster-synchronization-timeout') end # Cluster synchronization completion wait timeout in minutes (default 0 minutes) def cluster_synchronization_timeout=(val) prop_set('cluster-synchronization-timeout', val) end # Interval in milliseconds to wait before declaring keep-alive failure (default 10000 milliseconds) def cluster_keepalive_threshold prop_get('cluster-keepalive-threshold') end # Interval in milliseconds to wait before declaring keep-alive failure (default 10000 milliseconds) def cluster_keepalive_threshold=(val) prop_set('cluster-keepalive-threshold', val) end # Cluster description def description prop_get('description') end # Cluster description def description=(val) prop_set('description', val) end # Determine if HA cluster should be suspended on any slot failure. def suspend_on_slot_failure prop_get('suspend-on-slot-failure') end # Determine if HA cluster should be suspended on any slot failure. def suspend_on_slot_failure=(val) prop_set('suspend-on-slot-failure', val) end # Interval in minutes to stay in cluster-non-functional or ha-non-functional state following a link/path monitor failure, default 1 def monitor_fail_hold_down_time prop_get('monitor-fail-hold-down-time') end # Interval in minutes to stay in cluster-non-functional or ha-non-functional state following a link/path monitor failure, default 1 def monitor_fail_hold_down_time=(val) prop_set('monitor-fail-hold-down-time', val) end end def cluster @subclasses['cluster'] ||= Cluster.new(parent_instance: self, client: @client, create_children: @create_children) end class Group < ConfigClass def has_multiple_values?; false; end def _section :group end class ElectionOption < ConfigClass def has_multiple_values?; false; end def _section :'election-option' end class Timers < ConfigClass def has_multiple_values?; false; end def _section :timers end class Recommended < ConfigClass def has_multiple_values?; false; end def _section :recommended end @props = {} end def recommended @subclasses['recommended'] ||= Recommended.new(parent_instance: self, client: @client, create_children: @create_children) end class Aggressive < ConfigClass def has_multiple_values?; false; end def _section :aggressive end @props = {} end def aggressive @subclasses['aggressive'] ||= Aggressive.new(parent_instance: self, client: @client, create_children: @create_children) end class Advanced < ConfigClass def has_multiple_values?; false; end def _section :advanced end @props = {'promotion-hold-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'60000', 'default'=>'2000', 'help-string'=>'Interval in milliseconds to state change from Passive to Active or Active-Secondary to Active-Primary, default 2000'}, 'hello-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'8000', 'max'=>'60000', 'default'=>'8000', 'help-string'=>'Interval in milliseconds to send Hello messages, default 8000'}, 'heartbeat-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1000', 'max'=>'60000', 'default'=>'2000', 'help-string'=>'Interval in milliseconds to send Heartbeat pings, default 2000'}, 'flap-max'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'3', 'help-string'=>'Flaps before entering suspended state min=disable, max=infinite default =3', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'16', 'default'=>'3'}, 'enum'=>[{'value'=>'infinite', 'help-string'=>'Keep flapping infinitely'}, {'value'=>'disable', 'help-string'=>'Directly go to suspended state'}]}}, 'preemption-hold-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'60', 'default'=>'1', 'help-string'=>'Interval in minutes to stay Passive before preempting Active device or to stay Active-Secondary before preempting Active-Primary device, default 1'}, 'monitor-fail-hold-up-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'60000', 'default'=>'0', 'help-string'=>'Interval in milliseconds to wait before honoring a path or link monitor failure on this device, default 0'}, 'additional-master-hold-up-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'60000', 'default'=>'500', 'help-string'=>'Interval in milliseconds to wait before honoring a path or link monitor failure on the Active or Active-Primary device, default 500'}} # Interval in milliseconds to state change from Passive to Active or Active-Secondary to Active-Primary, default 2000 def promotion_hold_time prop_get('promotion-hold-time') end # Interval in milliseconds to state change from Passive to Active or Active-Secondary to Active-Primary, default 2000 def promotion_hold_time=(val) prop_set('promotion-hold-time', val) end # Interval in milliseconds to send Hello messages, default 8000 def hello_interval prop_get('hello-interval') end # Interval in milliseconds to send Hello messages, default 8000 def hello_interval=(val) prop_set('hello-interval', val) end # Interval in milliseconds to send Heartbeat pings, default 2000 def heartbeat_interval prop_get('heartbeat-interval') end # Interval in milliseconds to send Heartbeat pings, default 2000 def heartbeat_interval=(val) prop_set('heartbeat-interval', val) end # Flaps before entering suspended state min=disable, max=infinite default =3 def flap_max prop_get('flap-max') end # Flaps before entering suspended state min=disable, max=infinite default =3 def flap_max=(val) prop_set('flap-max', val) end # Interval in minutes to stay Passive before preempting Active device or to stay Active-Secondary before preempting Active-Primary device, default 1 def preemption_hold_time prop_get('preemption-hold-time') end # Interval in minutes to stay Passive before preempting Active device or to stay Active-Secondary before preempting Active-Primary device, default 1 def preemption_hold_time=(val) prop_set('preemption-hold-time', val) end # Interval in milliseconds to wait before honoring a path or link monitor failure on this device, default 0 def monitor_fail_hold_up_time prop_get('monitor-fail-hold-up-time') end # Interval in milliseconds to wait before honoring a path or link monitor failure on this device, default 0 def monitor_fail_hold_up_time=(val) prop_set('monitor-fail-hold-up-time', val) end # Interval in milliseconds to wait before honoring a path or link monitor failure on the Active or Active-Primary device, default 500 def additional_master_hold_up_time prop_get('additional-master-hold-up-time') end # Interval in milliseconds to wait before honoring a path or link monitor failure on the Active or Active-Primary device, default 500 def additional_master_hold_up_time=(val) prop_set('additional-master-hold-up-time', val) end end def advanced @subclasses['advanced'] ||= Advanced.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def timers @subclasses['timers'] ||= Timers.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'device-priority'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'highest: 0, lowest: 255', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'255'}, 'string'=>{'maxlen'=>'63'}}}, 'preemptive'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Configure on both HA peers to allow preemption by Passive or Active-Secondary device based on device-priority, default no'}, 'heartbeat-backup'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.cloud-ha-support=True', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Use management port as backup path for heartbeat messages'}} # highest: 0, lowest: 255 def device_priority prop_get('device-priority') end # highest: 0, lowest: 255 def device_priority=(val) prop_set('device-priority', val) end # Configure on both HA peers to allow preemption by Passive or Active-Secondary device based on device-priority, default no def preemptive prop_get('preemptive') end # Configure on both HA peers to allow preemption by Passive or Active-Secondary device based on device-priority, default no def preemptive=(val) prop_set('preemptive', val) end # Use management port as backup path for heartbeat messages def heartbeat_backup prop_get('heartbeat-backup') end # Use management port as backup path for heartbeat messages def heartbeat_backup=(val) prop_set('heartbeat-backup', val) end end def election_option @subclasses['election-option'] ||= ElectionOption.new(parent_instance: self, client: @client, create_children: @create_children) end class StateSynchronization < ConfigClass def has_multiple_values?; false; end def _section :'state-synchronization' end class Ha2KeepAlive < ConfigClass def has_multiple_values?; false; end def _section :'ha2-keep-alive' end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable or disable feature'}, 'action'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.cloud-ha-support=True', 'optional'=>'yes', 'type'=>'enum', 'default'=>'log-only', 'help-string'=>'System response on keep-alive failure', 'enum'=>[{'value'=>'log-only', 'help-string'=>'Log keep-alive failures only (default)'}, {'value'=>'split-datapath', 'help-string'=>'Disable state-synchronization on failure'}]}, 'threshold'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'5000', 'max'=>'60000', 'default'=>'10000', 'help-string'=>'Keep-alive failure duration in msecs before failure declared (default 10000 msecs)'}} # Enable or disable feature def enabled prop_get('enabled') end # Enable or disable feature def enabled=(val) prop_set('enabled', val) end # System response on keep-alive failure def action prop_get('action') end # System response on keep-alive failure def action=(val) prop_set('action', val) end # Keep-alive failure duration in msecs before failure declared (default 10000 msecs) def threshold prop_get('threshold') end # Keep-alive failure duration in msecs before failure declared (default 10000 msecs) def threshold=(val) prop_set('threshold', val) end end def ha2_keep_alive @subclasses['ha2-keep-alive'] ||= Ha2KeepAlive.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'transport'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'ethernet', 'help-string'=>'transport layer configuration', 'enum'=>[{'value'=>'ethernet', 'prune-on-sdb'=>'cfg.platform.vm.ha2-transport-eth-disable=True', 'help-string'=>'Layer2 transport via Ethernet'}, {'value'=>'ip', 'help-string'=>'Layer3 transport via IP protocol 99'}, {'value'=>'udp', 'help-string'=>'Layer4 transport via UDP/29281'}]}} def enabled prop_get('enabled') end def enabled=(val) prop_set('enabled', val) end # transport layer configuration def transport prop_get('transport') end # transport layer configuration def transport=(val) prop_set('transport', val) end end def state_synchronization @subclasses['state-synchronization'] ||= StateSynchronization.new(parent_instance: self, client: @client, create_children: @create_children) end class ConfigurationSynchronization < ConfigClass def has_multiple_values?; false; end def _section :'configuration-synchronization' end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}} def enabled prop_get('enabled') end def enabled=(val) prop_set('enabled', val) end end def configuration_synchronization @subclasses['configuration-synchronization'] ||= ConfigurationSynchronization.new(parent_instance: self, client: @client, create_children: @create_children) end class Mode < ConfigClass def has_multiple_values?; false; end def _section :mode end class ActivePassive < ConfigClass def has_multiple_values?; false; end def _section :'active-passive' end @props = {'passive-link-state'=>{'node-type'=>'element', 'optional'=>'yes', 'prune-on-sdb'=>'cfg.platform.cloud-ha-support=True', 'default'=>'shutdown', 'type'=>'enum', 'help-string'=>'Link mode of data-plane interfaces while in Passive state', 'enum'=>[{'value'=>'shutdown', 'help-string'=>'Link put into powered off state'}, {'value'=>'auto', 'help-string'=>'Link put into automatically configured mode'}]}, 'monitor-fail-hold-down-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'60', 'default'=>'1', 'help-string'=>'Interval in minutes to stay in non-functional state following a link/path monitor failure, default 1'}} # Link mode of data-plane interfaces while in Passive state def passive_link_state prop_get('passive-link-state') end # Link mode of data-plane interfaces while in Passive state def passive_link_state=(val) prop_set('passive-link-state', val) end # Interval in minutes to stay in non-functional state following a link/path monitor failure, default 1 def monitor_fail_hold_down_time prop_get('monitor-fail-hold-down-time') end # Interval in minutes to stay in non-functional state following a link/path monitor failure, default 1 def monitor_fail_hold_down_time=(val) prop_set('monitor-fail-hold-down-time', val) end end def active_passive @subclasses['active-passive'] ||= ActivePassive.new(parent_instance: self, client: @client, create_children: @create_children) end class ActiveActive < ConfigClass def has_multiple_values?; false; end def _section :'active-active' end class NetworkConfiguration < ConfigClass def has_multiple_values?; false; end def _section :'network-configuration' end class Sync < ConfigClass def has_multiple_values?; false; end def _section :sync end @props = {'virtual-router'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Synchronize virtual router configuration'}, 'logical-router'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Synchronize logical router configuration'}, 'qos'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Synchronize interface QoS configuration'}} # Synchronize virtual router configuration def virtual_router prop_get('virtual-router') end # Synchronize virtual router configuration def virtual_router=(val) prop_set('virtual-router', val) end # Synchronize logical router configuration def logical_router prop_get('logical-router') end # Synchronize logical router configuration def logical_router=(val) prop_set('logical-router', val) end # Synchronize interface QoS configuration def qos prop_get('qos') end # Synchronize interface QoS configuration def qos=(val) prop_set('qos', val) end end def sync @subclasses['sync'] ||= Sync.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def network_configuration @subclasses['network-configuration'] ||= NetworkConfiguration.new(parent_instance: self, client: @client, create_children: @create_children) end class VirtualAddress < XML::ConfigClass def has_multiple_values?; true; end def _section :'virtual-address' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Ip < XML::ConfigClass def has_multiple_values?; true; end def _section :ip end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Floating < ConfigClass def has_multiple_values?; false; end def _section :floating end class DevicePriority < ConfigClass def has_multiple_values?; false; end def _section :'device-priority' end @props = {'device-0'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255', 'help-string'=>'Device 0 priority, highest: 0, lowest: 255', 'optional'=>'yes'}, 'device-1'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255', 'help-string'=>'Device 1 priority, highest: 0, lowest: 255', 'optional'=>'yes'}, 'failover-on-link-down'=>{'node-type'=>'element', 'optional'=>'yes', 'help-string'=>'Failover address if link state is down', 'type'=>'bool', 'default'=>'yes'}} # Device 0 priority, highest: 0, lowest: 255 def device_0 prop_get('device-0') end # Device 0 priority, highest: 0, lowest: 255 def device_0=(val) prop_set('device-0', val) end # Device 1 priority, highest: 0, lowest: 255 def device_1 prop_get('device-1') end # Device 1 priority, highest: 0, lowest: 255 def device_1=(val) prop_set('device-1', val) end # Failover address if link state is down def failover_on_link_down prop_get('failover-on-link-down') end # Failover address if link state is down def failover_on_link_down=(val) prop_set('failover-on-link-down', val) end end def device_priority @subclasses['device-priority'] ||= DevicePriority.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'bind-to-active-primary'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Floating IP bound to the Active-Primary device'}} # Floating IP bound to the Active-Primary device def bind_to_active_primary prop_get('bind-to-active-primary') end # Floating IP bound to the Active-Primary device def bind_to_active_primary=(val) prop_set('bind-to-active-primary', val) end end def floating @subclasses['floating'] ||= Floating.new(parent_instance: self, client: @client, create_children: @create_children) end class ArpLoadSharing < ConfigClass def has_multiple_values?; false; end def _section :'arp-load-sharing' end class IpModulo < ConfigClass def has_multiple_values?; false; end def _section :'ip-modulo' end @props = {} end def ip_modulo @subclasses['ip-modulo'] ||= IpModulo.new(parent_instance: self, client: @client, create_children: @create_children) end class IpHash < ConfigClass def has_multiple_values?; false; end def _section :'ip-hash' end @props = {'hash-seed'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'help-string'=>'User-specified hash seed'}} # User-specified hash seed def hash_seed prop_get('hash-seed') end # User-specified hash seed def hash_seed=(val) prop_set('hash-seed', val) end end def ip_hash @subclasses['ip-hash'] ||= IpHash.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def arp_load_sharing @subclasses['arp-load-sharing'] ||= ArpLoadSharing.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'IP address or address object'}} # IP address or address object def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ip maybe_register_subclass('ip', Ip.new(parent_instance: self, client: @client, create_children: @create_children)) end class Ipv6 < XML::ConfigClass def has_multiple_values?; true; end def _section :ipv6 end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Floating < ConfigClass def has_multiple_values?; false; end def _section :floating end class DevicePriority < ConfigClass def has_multiple_values?; false; end def _section :'device-priority' end @props = {'device-0'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255', 'help-string'=>'Device 0 priority, highest: 0, lowest: 255', 'optional'=>'yes'}, 'device-1'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255', 'help-string'=>'Device 1 priority, highest: 0, lowest: 255', 'optional'=>'yes'}, 'failover-on-link-down'=>{'node-type'=>'element', 'optional'=>'yes', 'help-string'=>'Failover address if link state is down', 'type'=>'bool', 'default'=>'yes'}} # Device 0 priority, highest: 0, lowest: 255 def device_0 prop_get('device-0') end # Device 0 priority, highest: 0, lowest: 255 def device_0=(val) prop_set('device-0', val) end # Device 1 priority, highest: 0, lowest: 255 def device_1 prop_get('device-1') end # Device 1 priority, highest: 0, lowest: 255 def device_1=(val) prop_set('device-1', val) end # Failover address if link state is down def failover_on_link_down prop_get('failover-on-link-down') end # Failover address if link state is down def failover_on_link_down=(val) prop_set('failover-on-link-down', val) end end def device_priority @subclasses['device-priority'] ||= DevicePriority.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'bind-to-active-primary'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Floating IP bound to the Active-Primary device'}} # Floating IP bound to the Active-Primary device def bind_to_active_primary prop_get('bind-to-active-primary') end # Floating IP bound to the Active-Primary device def bind_to_active_primary=(val) prop_set('bind-to-active-primary', val) end end def floating @subclasses['floating'] ||= Floating.new(parent_instance: self, client: @client, create_children: @create_children) end class ArpLoadSharing < ConfigClass def has_multiple_values?; false; end def _section :'arp-load-sharing' end class IpModulo < ConfigClass def has_multiple_values?; false; end def _section :'ip-modulo' end @props = {} end def ip_modulo @subclasses['ip-modulo'] ||= IpModulo.new(parent_instance: self, client: @client, create_children: @create_children) end class IpHash < ConfigClass def has_multiple_values?; false; end def _section :'ip-hash' end @props = {'hash-seed'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'help-string'=>'User-specified hash seed'}} # User-specified hash seed def hash_seed prop_get('hash-seed') end # User-specified hash seed def hash_seed=(val) prop_set('hash-seed', val) end end def ip_hash @subclasses['ip-hash'] ||= IpHash.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def arp_load_sharing @subclasses['arp-load-sharing'] ||= ArpLoadSharing.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'IPv6 address or address object'}} # IPv6 address or address object def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ipv6 maybe_register_subclass('ipv6', Ipv6.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'Layer3 interface name'}} # Layer3 interface name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def virtual_address maybe_register_subclass('virtual-address', VirtualAddress.new(parent_instance: self, client: @client, create_children: @create_children)) end class SessionOwnerSelection < ConfigClass def has_multiple_values?; false; end def _section :'session-owner-selection' end class PrimaryDevice < ConfigClass def has_multiple_values?; false; end def _section :'primary-device' end @props = {} end def primary_device @subclasses['primary-device'] ||= PrimaryDevice.new(parent_instance: self, client: @client, create_children: @create_children) end class FirstPacket < ConfigClass def has_multiple_values?; false; end def _section :'first-packet' end class SessionSetup < ConfigClass def has_multiple_values?; false; end def _section :'session-setup' end class PrimaryDevice < ConfigClass def has_multiple_values?; false; end def _section :'primary-device' end @props = {} end def primary_device @subclasses['primary-device'] ||= PrimaryDevice.new(parent_instance: self, client: @client, create_children: @create_children) end class FirstPacket < ConfigClass def has_multiple_values?; false; end def _section :'first-packet' end @props = {} end def first_packet @subclasses['first-packet'] ||= FirstPacket.new(parent_instance: self, client: @client, create_children: @create_children) end class IpModulo < ConfigClass def has_multiple_values?; false; end def _section :'ip-modulo' end @props = {} end def ip_modulo @subclasses['ip-modulo'] ||= IpModulo.new(parent_instance: self, client: @client, create_children: @create_children) end class IpHash < ConfigClass def has_multiple_values?; false; end def _section :'ip-hash' end @props = {'hash-key'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'source-and-destination', 'help-string'=>'Address(es) to use as hash key', 'enum'=>[{'value'=>'source', 'help-string'=>'Source address only'}, {'value'=>'source-and-destination', 'help-string'=>'Source and destination addresses'}]}, 'hash-seed'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'default'=>'0', 'help-string'=>'User-specified hash seed'}} # Address(es) to use as hash key def hash_key prop_get('hash-key') end # Address(es) to use as hash key def hash_key=(val) prop_set('hash-key', val) end # User-specified hash seed def hash_seed prop_get('hash-seed') end # User-specified hash seed def hash_seed=(val) prop_set('hash-seed', val) end end def ip_hash @subclasses['ip-hash'] ||= IpHash.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def session_setup @subclasses['session-setup'] ||= SessionSetup.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def first_packet @subclasses['first-packet'] ||= FirstPacket.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def session_owner_selection @subclasses['session-owner-selection'] ||= SessionOwnerSelection.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'device-id'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Device ID in HA group, 0 or 1 or variable', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'0', 'help-string'=>'Higher priority device'}, {'value'=>'1', 'help-string'=>'Lower priority device'}]}}, 'tentative-hold-time'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'60', 'help-string'=>'Interval in seconds to stay in Tentative state following a link/path monitor recovery or before moving to an Active state, default 60 secs', 'multi-types'=>{'rangedint'=>{'min'=>'10', 'max'=>'600', 'help-string'=>'Interval in seconds'}, 'enum'=>[{'value'=>'disabled', 'help-string'=>'disable tentative-hold-time functionality'}]}}} # Device ID in HA group, 0 or 1 or variable def device_id prop_get('device-id') end # Device ID in HA group, 0 or 1 or variable def device_id=(val) prop_set('device-id', val) end # Interval in seconds to stay in Tentative state following a link/path monitor recovery or before moving to an Active state, default 60 secs def tentative_hold_time prop_get('tentative-hold-time') end # Interval in seconds to stay in Tentative state following a link/path monitor recovery or before moving to an Active state, default 60 secs def tentative_hold_time=(val) prop_set('tentative-hold-time', val) end end def active_active @subclasses['active-active'] ||= ActiveActive.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def mode @subclasses['mode'] ||= Mode.new(parent_instance: self, client: @client, create_children: @create_children) end class Monitoring < ConfigClass def has_multiple_values?; false; end def _section :monitoring end class PathMonitoring < ConfigClass def has_multiple_values?; false; end def _section :'path-monitoring' end class PathGroup < ConfigClass def has_multiple_values?; false; end def _section :'path-group' end class VirtualWire < XML::ConfigClass def has_multiple_values?; true; end def _section :'virtual-wire' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class DestinationIpGroup < XML::ConfigClass def has_multiple_values?; true; end def _section :'destination-ip-group' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class DestinationIp < XML::ConfigClass def has_multiple_values?; true; end def _section :'destination-ip' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'IPv4/6 address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # IPv4/6 address def member prop_get('member') end # IPv4/6 address def member=(val) prop_set('member', val) end end def destination_ip maybe_register_subclass('destination-ip', DestinationIp.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31'}, 'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'failure-condition'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'any', 'help-string'=>'Condition to determine failure, default any (failure on any monitored IP)', 'enum'=>[{'value'=>'any'}, {'value'=>'all'}]}} def name prop_get('@name') end def enabled prop_get('enabled') end def enabled=(val) prop_set('enabled', val) end # Condition to determine failure, default any (failure on any monitored IP) def failure_condition prop_get('failure-condition') end # Condition to determine failure, default any (failure on any monitored IP) def failure_condition=(val) prop_set('failure-condition', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def destination_ip_group maybe_register_subclass('destination-ip-group', DestinationIpGroup.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31'}, 'source-ip'=>{'node-type'=>'element', 'type'=>'ipspec', 'unicast-only'=>'yes', 'help-string'=>'Source IPv4/6 address to send monitoring packet'}, 'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'failure-condition'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'any', 'help-string'=>'Condition to determine failure, default any (failure on any monitored IP)', 'enum'=>[{'value'=>'any'}, {'value'=>'all'}]}, 'ping-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'200', 'max'=>'60000', 'default'=>'200'}, 'ping-count'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'3', 'max'=>'10', 'default'=>'10'}} def name prop_get('@name') end # Source IPv4/6 address to send monitoring packet def source_ip prop_get('source-ip') end # Source IPv4/6 address to send monitoring packet def source_ip=(val) prop_set('source-ip', val) end def enabled prop_get('enabled') end def enabled=(val) prop_set('enabled', val) end # Condition to determine failure, default any (failure on any monitored IP) def failure_condition prop_get('failure-condition') end # Condition to determine failure, default any (failure on any monitored IP) def failure_condition=(val) prop_set('failure-condition', val) end def ping_interval prop_get('ping-interval') end def ping_interval=(val) prop_set('ping-interval', val) end def ping_count prop_get('ping-count') end def ping_count=(val) prop_set('ping-count', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def virtual_wire maybe_register_subclass('virtual-wire', VirtualWire.new(parent_instance: self, client: @client, create_children: @create_children)) end class Vlan < XML::ConfigClass def has_multiple_values?; true; end def _section :vlan end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class DestinationIpGroup < XML::ConfigClass def has_multiple_values?; true; end def _section :'destination-ip-group' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class DestinationIp < XML::ConfigClass def has_multiple_values?; true; end def _section :'destination-ip' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'IPv4/6 address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # IPv4/6 address def member prop_get('member') end # IPv4/6 address def member=(val) prop_set('member', val) end end def destination_ip maybe_register_subclass('destination-ip', DestinationIp.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31'}, 'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'failure-condition'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'any', 'help-string'=>'Condition to determine failure, default any (failure on any monitored IP)', 'enum'=>[{'value'=>'any'}, {'value'=>'all'}]}} def name prop_get('@name') end def enabled prop_get('enabled') end def enabled=(val) prop_set('enabled', val) end # Condition to determine failure, default any (failure on any monitored IP) def failure_condition prop_get('failure-condition') end # Condition to determine failure, default any (failure on any monitored IP) def failure_condition=(val) prop_set('failure-condition', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def destination_ip_group maybe_register_subclass('destination-ip-group', DestinationIpGroup.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31'}, 'source-ip'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-only'=>'yes', 'help-string'=>'Source IPv4/6 address to send monitoring packet'}, 'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'failure-condition'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'any', 'help-string'=>'Condition to determine failure, default any (failure on any monitored IP)', 'enum'=>[{'value'=>'any'}, {'value'=>'all'}]}, 'ping-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'200', 'max'=>'60000', 'default'=>'200'}, 'ping-count'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'3', 'max'=>'10', 'default'=>'10'}} def name prop_get('@name') end # Source IPv4/6 address to send monitoring packet def source_ip prop_get('source-ip') end # Source IPv4/6 address to send monitoring packet def source_ip=(val) prop_set('source-ip', val) end def enabled prop_get('enabled') end def enabled=(val) prop_set('enabled', val) end # Condition to determine failure, default any (failure on any monitored IP) def failure_condition prop_get('failure-condition') end # Condition to determine failure, default any (failure on any monitored IP) def failure_condition=(val) prop_set('failure-condition', val) end def ping_interval prop_get('ping-interval') end def ping_interval=(val) prop_set('ping-interval', val) end def ping_count prop_get('ping-count') end def ping_count=(val) prop_set('ping-count', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vlan maybe_register_subclass('vlan', Vlan.new(parent_instance: self, client: @client, create_children: @create_children)) end class VirtualRouter < XML::ConfigClass def has_multiple_values?; true; end def _section :'virtual-router' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class DestinationIpGroup < XML::ConfigClass def has_multiple_values?; true; end def _section :'destination-ip-group' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class DestinationIp < XML::ConfigClass def has_multiple_values?; true; end def _section :'destination-ip' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'IPv4/6 address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # IPv4/6 address def member prop_get('member') end # IPv4/6 address def member=(val) prop_set('member', val) end end def destination_ip maybe_register_subclass('destination-ip', DestinationIp.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31'}, 'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'failure-condition'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'any', 'help-string'=>'Condition to determine failure, default any (failure on any monitored IP)', 'enum'=>[{'value'=>'any'}, {'value'=>'all'}]}} def name prop_get('@name') end def enabled prop_get('enabled') end def enabled=(val) prop_set('enabled', val) end # Condition to determine failure, default any (failure on any monitored IP) def failure_condition prop_get('failure-condition') end # Condition to determine failure, default any (failure on any monitored IP) def failure_condition=(val) prop_set('failure-condition', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def destination_ip_group maybe_register_subclass('destination-ip-group', DestinationIpGroup.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31'}, 'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'failure-condition'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'any', 'help-string'=>'Condition to determine failure, default any (failure on any monitored IP)', 'enum'=>[{'value'=>'any'}, {'value'=>'all'}]}, 'ping-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'200', 'max'=>'60000', 'default'=>'200'}, 'ping-count'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'3', 'max'=>'10', 'default'=>'10'}} def name prop_get('@name') end def enabled prop_get('enabled') end def enabled=(val) prop_set('enabled', val) end # Condition to determine failure, default any (failure on any monitored IP) def failure_condition prop_get('failure-condition') end # Condition to determine failure, default any (failure on any monitored IP) def failure_condition=(val) prop_set('failure-condition', val) end def ping_interval prop_get('ping-interval') end def ping_interval=(val) prop_set('ping-interval', val) end def ping_count prop_get('ping-count') end def ping_count=(val) prop_set('ping-count', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def virtual_router maybe_register_subclass('virtual-router', VirtualRouter.new(parent_instance: self, client: @client, create_children: @create_children)) end class LogicalRouter < XML::ConfigClass def has_multiple_values?; true; end def _section :'logical-router' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class DestinationIpGroup < XML::ConfigClass def has_multiple_values?; true; end def _section :'destination-ip-group' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class DestinationIp < XML::ConfigClass def has_multiple_values?; true; end def _section :'destination-ip' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'IPv4/6 address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # IPv4/6 address def member prop_get('member') end # IPv4/6 address def member=(val) prop_set('member', val) end end def destination_ip maybe_register_subclass('destination-ip', DestinationIp.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31'}, 'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'failure-condition'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'any', 'help-string'=>'Condition to determine failure, default any (failure on any monitored IP)', 'enum'=>[{'value'=>'any'}, {'value'=>'all'}]}} def name prop_get('@name') end def enabled prop_get('enabled') end def enabled=(val) prop_set('enabled', val) end # Condition to determine failure, default any (failure on any monitored IP) def failure_condition prop_get('failure-condition') end # Condition to determine failure, default any (failure on any monitored IP) def failure_condition=(val) prop_set('failure-condition', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def destination_ip_group maybe_register_subclass('destination-ip-group', DestinationIpGroup.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31'}, 'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'failure-condition'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'any', 'help-string'=>'Condition to determine failure, default any (failure on any monitored IP)', 'enum'=>[{'value'=>'any'}, {'value'=>'all'}]}, 'ping-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'200', 'max'=>'60000', 'default'=>'200'}, 'ping-count'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'3', 'max'=>'10', 'default'=>'10'}} def name prop_get('@name') end def enabled prop_get('enabled') end def enabled=(val) prop_set('enabled', val) end # Condition to determine failure, default any (failure on any monitored IP) def failure_condition prop_get('failure-condition') end # Condition to determine failure, default any (failure on any monitored IP) def failure_condition=(val) prop_set('failure-condition', val) end def ping_interval prop_get('ping-interval') end def ping_interval=(val) prop_set('ping-interval', val) end def ping_count prop_get('ping-count') end def ping_count=(val) prop_set('ping-count', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def logical_router maybe_register_subclass('logical-router', LogicalRouter.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def path_group @subclasses['path-group'] ||= PathGroup.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'failure-condition'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'any', 'help-string'=>'Condition to determine failure, default any (failure on any path group)', 'enum'=>[{'value'=>'any'}, {'value'=>'all'}]}} def enabled prop_get('enabled') end def enabled=(val) prop_set('enabled', val) end # Condition to determine failure, default any (failure on any path group) def failure_condition prop_get('failure-condition') end # Condition to determine failure, default any (failure on any path group) def failure_condition=(val) prop_set('failure-condition', val) end end def path_monitoring @subclasses['path-monitoring'] ||= PathMonitoring.new(parent_instance: self, client: @client, create_children: @create_children) end class LinkMonitoring < ConfigClass def has_multiple_values?; false; end def _section :'link-monitoring' end class LinkGroup < XML::ConfigClass def has_multiple_values?; true; end def _section :'link-group' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Interface < XML::ConfigClass def has_multiple_values?; true; end def _section :interface end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def interface maybe_register_subclass('interface', Interface.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'31'}, 'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'failure-condition'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'any', 'help-string'=>'Condition to determine failure, default any (failure on any link)', 'enum'=>[{'value'=>'any'}, {'value'=>'all'}]}} def name prop_get('@name') end def enabled prop_get('enabled') end def enabled=(val) prop_set('enabled', val) end # Condition to determine failure, default any (failure on any link) def failure_condition prop_get('failure-condition') end # Condition to determine failure, default any (failure on any link) def failure_condition=(val) prop_set('failure-condition', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def link_group maybe_register_subclass('link-group', LinkGroup.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'failure-condition'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'any', 'help-string'=>'Condition to determine failure, default any (failure on any link group)', 'enum'=>[{'value'=>'any'}, {'value'=>'all'}]}} def enabled prop_get('enabled') end def enabled=(val) prop_set('enabled', val) end # Condition to determine failure, default any (failure on any link group) def failure_condition prop_get('failure-condition') end # Condition to determine failure, default any (failure on any link group) def failure_condition=(val) prop_set('failure-condition', val) end end def link_monitoring @subclasses['link-monitoring'] ||= LinkMonitoring.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def monitoring @subclasses['monitoring'] ||= Monitoring.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'group-id'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'63'}, 'string'=>{'maxlen'=>'63'}}}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'64', 'help-string'=>'HA pair group description'}, 'peer-ip'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'HA pair Peer IP address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'disallow-loopback'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'peer-ip-backup'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.cloud-ha-support=True', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'HA pair Backup Peer IP address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'disallow-loopback'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} def group_id prop_get('group-id') end def group_id=(val) prop_set('group-id', val) end # HA pair group description def description prop_get('description') end # HA pair group description def description=(val) prop_set('description', val) end # HA pair Peer IP address def peer_ip prop_get('peer-ip') end # HA pair Peer IP address def peer_ip=(val) prop_set('peer-ip', val) end # HA pair Backup Peer IP address def peer_ip_backup prop_get('peer-ip-backup') end # HA pair Backup Peer IP address def peer_ip_backup=(val) prop_set('peer-ip-backup', val) end end def group @subclasses['group'] ||= Group.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable high-availability pair'}} # Enable high-availability pair def enabled prop_get('enabled') end # Enable high-availability pair def enabled=(val) prop_set('enabled', val) end end def high_availability @subclasses['high-availability'] ||= HighAvailability.new(parent_instance: self, client: @client, create_children: @create_children) end class LogFwdCard < ConfigClass def has_multiple_values?; false; end def _section :'log-fwd-card' end class Interface < XML::ConfigClass def has_multiple_values?; true; end def _section :interface end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Units < XML::ConfigClass def has_multiple_values?; true; end def _section :units end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'prefix'=>'concat(../../@name, \'.\')', 'regex'=>'^((lfc[1-9]\/[1-9]\.)?([1-9][0-9]{0,3}))$'}, 'ip-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'IP address for the log card forwarding interface', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'netmask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'subtype'=>'ip-address', 'help-string'=>'IP netmask for the log card forwarding interface'}, 'default-gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'log forwarding card default gateway', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'ipv6-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'ipv6-only'=>'yes', 'help-string'=>'IPv6 address for the log card forwarding interface', 'multi-types'=>{'ipspec'=>{'unicast-with-mask'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'ipv6-default-gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'log forwarding IPv6 card default gateway', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'comment'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'1024'}, 'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4094', 'help-string'=>'802.1q VLAN tag'}} def name prop_get('@name') end # IP address for the log card forwarding interface def ip_address prop_get('ip-address') end # IP address for the log card forwarding interface def ip_address=(val) prop_set('ip-address', val) end # IP netmask for the log card forwarding interface def netmask prop_get('netmask') end # IP netmask for the log card forwarding interface def netmask=(val) prop_set('netmask', val) end # log forwarding card default gateway def default_gateway prop_get('default-gateway') end # log forwarding card default gateway def default_gateway=(val) prop_set('default-gateway', val) end # IPv6 address for the log card forwarding interface def ipv6_address prop_get('ipv6-address') end # IPv6 address for the log card forwarding interface def ipv6_address=(val) prop_set('ipv6-address', val) end # log forwarding IPv6 card default gateway def ipv6_default_gateway prop_get('ipv6-default-gateway') end # log forwarding IPv6 card default gateway def ipv6_default_gateway=(val) prop_set('ipv6-default-gateway', val) end def comment prop_get('comment') end def comment=(val) prop_set('comment', val) end # 802.1q VLAN tag def tag prop_get('tag') end # 802.1q VLAN tag def tag=(val) prop_set('tag', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def units maybe_register_subclass('units', Units.new(parent_instance: self, client: @client, create_children: @create_children)) end class Lacp < ConfigClass def has_multiple_values?; false; end def _section :lacp end @props = {'port-priority'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'32768', 'help-string'=>'port priority in LACP'}} # port priority in LACP def port_priority prop_get('port-priority') end # port priority in LACP def port_priority=(val) prop_set('port-priority', val) end end def lacp @subclasses['lacp'] ||= Lacp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string'}, 'link-speed'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'auto', 'help-string'=>'Interface link speed', 'enum'=>[{'value'=>'auto', 'help-string'=>'Auto negotiation'}]}, 'link-duplex'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'auto', 'help-string'=>'Interface link duplex', 'enum'=>[{'value'=>'auto', 'help-string'=>'Auto negotiation'}]}, 'link-state'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'auto', 'help-string'=>'Interface link state', 'enum'=>[{'value'=>'auto', 'help-string'=>'Auto detect'}, {'value'=>'up', 'help-string'=>'Force to up'}, {'value'=>'down', 'help-string'=>'Force to down'}]}, 'ip-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'IP address for the log card forwarding interface', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'netmask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'subtype'=>'ip-address', 'help-string'=>'IP netmask for the log card forwarding interface'}, 'default-gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'log forwarding card default gateway', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'ipv6-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'unicast-with-mask'=>'yes', 'ipv6-only'=>'yes', 'help-string'=>'IPv6 address for the log card forwarding interface', 'multi-types'=>{'ipspec'=>{'unicast-with-mask'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'ipv6-default-gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'log forwarding IPv6 card default gateway', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'comment'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'0', 'maxlen'=>'1023'}} def name prop_get('@name') end # Interface link speed def link_speed prop_get('link-speed') end # Interface link speed def link_speed=(val) prop_set('link-speed', val) end # Interface link duplex def link_duplex prop_get('link-duplex') end # Interface link duplex def link_duplex=(val) prop_set('link-duplex', val) end # Interface link state def link_state prop_get('link-state') end # Interface link state def link_state=(val) prop_set('link-state', val) end # IP address for the log card forwarding interface def ip_address prop_get('ip-address') end # IP address for the log card forwarding interface def ip_address=(val) prop_set('ip-address', val) end # IP netmask for the log card forwarding interface def netmask prop_get('netmask') end # IP netmask for the log card forwarding interface def netmask=(val) prop_set('netmask', val) end # log forwarding card default gateway def default_gateway prop_get('default-gateway') end # log forwarding card default gateway def default_gateway=(val) prop_set('default-gateway', val) end # IPv6 address for the log card forwarding interface def ipv6_address prop_get('ipv6-address') end # IPv6 address for the log card forwarding interface def ipv6_address=(val) prop_set('ipv6-address', val) end # log forwarding IPv6 card default gateway def ipv6_default_gateway prop_get('ipv6-default-gateway') end # log forwarding IPv6 card default gateway def ipv6_default_gateway=(val) prop_set('ipv6-default-gateway', val) end def comment prop_get('comment') end def comment=(val) prop_set('comment', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def interface maybe_register_subclass('interface', Interface.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def log_fwd_card @subclasses['log-fwd-card'] ||= LogFwdCard.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def deviceconfig @subclasses['deviceconfig'] ||= Deviceconfig.new(parent_instance: self, client: @client, create_children: @create_children) end class Network < ConfigClass def has_multiple_values?; false; end def _section :network end class Profiles < ConfigClass def has_multiple_values?; false; end def _section :profiles end class MonitorProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'monitor-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'2', 'max'=>'100', 'default'=>'3', 'help-string'=>'probing interval in seconds'}, 'threshold'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'2', 'max'=>'10', 'default'=>'5', 'help-string'=>'number of failed probe to determine tunnel is down'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'wait-recover', 'help-string'=>'configure action triggered when tunnel status change', 'enum'=>[{'value'=>'wait-recover', 'help-string'=>'when tunnel is down, wait for the recover'}, {'value'=>'fail-over', 'help-string'=>'when tunnel is down, make traffic fail over to backup path is configured'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # probing interval in seconds def interval prop_get('interval') end # probing interval in seconds def interval=(val) prop_set('interval', val) end # number of failed probe to determine tunnel is down def threshold prop_get('threshold') end # number of failed probe to determine tunnel is down def threshold=(val) prop_set('threshold', val) end # configure action triggered when tunnel status change def action prop_get('action') end # configure action triggered when tunnel status change def action=(val) prop_set('action', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def monitor_profile maybe_register_subclass('monitor-profile', MonitorProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class InterfaceManagementProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'interface-management-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class PermittedIp < XML::ConfigClass def has_multiple_values?; true; end def _section :'permitted-ip' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'multiple', 'help-string'=>'ip address/prefix', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}}}} # ip address/prefix def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def permitted_ip maybe_register_subclass('permitted-ip', PermittedIp.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'http'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool'}, 'https'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool'}, 'ping'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool'}, 'response-pages'=>{'node-type'=>'element', 'optional'=>'yes', 'default'=>'no', 'type'=>'bool'}, 'userid-service'=>{'node-type'=>'element', 'optional'=>'yes', 'default'=>'no', 'type'=>'bool'}, 'userid-syslog-listener-ssl'=>{'node-type'=>'element', 'optional'=>'yes', 'default'=>'no', 'type'=>'bool'}, 'userid-syslog-listener-udp'=>{'node-type'=>'element', 'optional'=>'yes', 'default'=>'no', 'type'=>'bool', 'prune-on'=>'fips-mode'}, 'ssh'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool'}, 'telnet'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool'}, 'snmp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool'}, 'http-ocsp'=>{'node-type'=>'element', 'optional'=>'yes', 'default'=>'no', 'type'=>'bool'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def http prop_get('http') end def http=(val) prop_set('http', val) end def https prop_get('https') end def https=(val) prop_set('https', val) end def ping prop_get('ping') end def ping=(val) prop_set('ping', val) end def response_pages prop_get('response-pages') end def response_pages=(val) prop_set('response-pages', val) end def userid_service prop_get('userid-service') end def userid_service=(val) prop_set('userid-service', val) end def userid_syslog_listener_ssl prop_get('userid-syslog-listener-ssl') end def userid_syslog_listener_ssl=(val) prop_set('userid-syslog-listener-ssl', val) end def userid_syslog_listener_udp prop_get('userid-syslog-listener-udp') end def userid_syslog_listener_udp=(val) prop_set('userid-syslog-listener-udp', val) end def ssh prop_get('ssh') end def ssh=(val) prop_set('ssh', val) end def telnet prop_get('telnet') end def telnet=(val) prop_set('telnet', val) end def snmp prop_get('snmp') end def snmp=(val) prop_set('snmp', val) end def http_ocsp prop_get('http-ocsp') end def http_ocsp=(val) prop_set('http-ocsp', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def interface_management_profile maybe_register_subclass('interface-management-profile', InterfaceManagementProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class ZoneProtectionProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'zone-protection-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Scan < XML::ConfigClass def has_multiple_values?; true; end def _section :scan end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Action < XML::ConfigClass def has_multiple_values?; true; end def _section :action end class Allow < ConfigClass def has_multiple_values?; false; end def _section :allow end @props = {} end def allow @subclasses['allow'] ||= Allow.new(parent_instance: self, client: @client, create_children: @create_children) end class Alert < ConfigClass def has_multiple_values?; false; end def _section :alert end @props = {} end def alert @subclasses['alert'] ||= Alert.new(parent_instance: self, client: @client, create_children: @create_children) end class Block < ConfigClass def has_multiple_values?; false; end def _section :block end @props = {} end def block @subclasses['block'] ||= Block.new(parent_instance: self, client: @client, create_children: @create_children) end class BlockIp < ConfigClass def has_multiple_values?; false; end def _section :'block-ip' end @props = {'track-by'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'source'}, {'value'=>'source-and-destination'}]}, 'duration'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'help-string'=>'Duration for block ip'}} def track_by prop_get('track-by') end def track_by=(val) prop_set('track-by', val) end # Duration for block ip def duration prop_get('duration') end # Duration for block ip def duration=(val) prop_set('duration', val) end end def block_ip @subclasses['block-ip'] ||= BlockIp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def action maybe_register_subclass('action', Action.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'16', 'regex'=>'^[0-9]+$', 'help-string'=>'threat id'}, 'interval'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'2', 'max'=>'65535'}, 'threshold'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'2', 'max'=>'65535'}} # threat id def name prop_get('@name') end def interval prop_get('interval') end def interval=(val) prop_set('interval', val) end def threshold prop_get('threshold') end def threshold=(val) prop_set('threshold', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def scan maybe_register_subclass('scan', Scan.new(parent_instance: self, client: @client, create_children: @create_children)) end class ScanWhiteList < XML::ConfigClass def has_multiple_values?; true; end def _section :'scan-white-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string'}, 'ipv4'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'IPv4 address'}, 'ipv6'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'50', 'help-string'=>'IPv6 address'}} def name prop_get('@name') end # IPv4 address def ipv4 prop_get('ipv4') end # IPv4 address def ipv4=(val) prop_set('ipv4', val) end # IPv6 address def ipv6 prop_get('ipv6') end # IPv6 address def ipv6=(val) prop_set('ipv6', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def scan_white_list maybe_register_subclass('scan-white-list', ScanWhiteList.new(parent_instance: self, client: @client, create_children: @create_children)) end class Flood < ConfigClass def has_multiple_values?; false; end def _section :flood end class TcpSyn < ConfigClass def has_multiple_values?; false; end def _section :'tcp-syn' end class Red < ConfigClass def has_multiple_values?; false; end def _section :red end @props = {'alarm-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'2000000', 'default'=>'10000', 'help-string'=>'Connection rate (cps) to generate alarm'}, 'activate-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000000', 'default'=>'10000', 'help-string'=>'Connection rate (cps) to start RED'}, 'maximal-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000000', 'default'=>'40000', 'help-string'=>'Maximal connection rate (cps) allowed'}} # Connection rate (cps) to generate alarm def alarm_rate prop_get('alarm-rate') end # Connection rate (cps) to generate alarm def alarm_rate=(val) prop_set('alarm-rate', val) end # Connection rate (cps) to start RED def activate_rate prop_get('activate-rate') end # Connection rate (cps) to start RED def activate_rate=(val) prop_set('activate-rate', val) end # Maximal connection rate (cps) allowed def maximal_rate prop_get('maximal-rate') end # Maximal connection rate (cps) allowed def maximal_rate=(val) prop_set('maximal-rate', val) end end def red @subclasses['red'] ||= Red.new(parent_instance: self, client: @client, create_children: @create_children) end class SynCookies < ConfigClass def has_multiple_values?; false; end def _section :'syn-cookies' end @props = {'alarm-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'2000000', 'default'=>'10000', 'help-string'=>'Connection rate (cps) to generate alarm'}, 'activate-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'2000000', 'default'=>'0', 'help-string'=>'Connection rate (cps) to activate SYN cookies proxy'}, 'maximal-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000000', 'default'=>'1000000', 'help-string'=>'Maximal connection rate (cps) allowed'}} # Connection rate (cps) to generate alarm def alarm_rate prop_get('alarm-rate') end # Connection rate (cps) to generate alarm def alarm_rate=(val) prop_set('alarm-rate', val) end # Connection rate (cps) to activate SYN cookies proxy def activate_rate prop_get('activate-rate') end # Connection rate (cps) to activate SYN cookies proxy def activate_rate=(val) prop_set('activate-rate', val) end # Maximal connection rate (cps) allowed def maximal_rate prop_get('maximal-rate') end # Maximal connection rate (cps) allowed def maximal_rate=(val) prop_set('maximal-rate', val) end end def syn_cookies @subclasses['syn-cookies'] ||= SynCookies.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def tcp_syn @subclasses['tcp-syn'] ||= TcpSyn.new(parent_instance: self, client: @client, create_children: @create_children) end class Udp < ConfigClass def has_multiple_values?; false; end def _section :udp end class Red < ConfigClass def has_multiple_values?; false; end def _section :red end @props = {'alarm-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'2000000', 'default'=>'10000', 'help-string'=>'Connection rate (cps) to generate alarm'}, 'activate-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000000', 'default'=>'10000', 'help-string'=>'Connection rate (cps) to start RED'}, 'maximal-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000000', 'default'=>'40000', 'help-string'=>'Maximal connection rate (cps) allowed'}} # Connection rate (cps) to generate alarm def alarm_rate prop_get('alarm-rate') end # Connection rate (cps) to generate alarm def alarm_rate=(val) prop_set('alarm-rate', val) end # Connection rate (cps) to start RED def activate_rate prop_get('activate-rate') end # Connection rate (cps) to start RED def activate_rate=(val) prop_set('activate-rate', val) end # Maximal connection rate (cps) allowed def maximal_rate prop_get('maximal-rate') end # Maximal connection rate (cps) allowed def maximal_rate=(val) prop_set('maximal-rate', val) end end def red @subclasses['red'] ||= Red.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def udp @subclasses['udp'] ||= Udp.new(parent_instance: self, client: @client, create_children: @create_children) end class Icmp < ConfigClass def has_multiple_values?; false; end def _section :icmp end class Red < ConfigClass def has_multiple_values?; false; end def _section :red end @props = {'alarm-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'2000000', 'default'=>'10000', 'help-string'=>'Connection rate (cps) to generate alarm'}, 'activate-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000000', 'default'=>'10000', 'help-string'=>'Connection rate (cps) to start RED'}, 'maximal-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000000', 'default'=>'40000', 'help-string'=>'Maximal connection rate (cps) allowed'}} # Connection rate (cps) to generate alarm def alarm_rate prop_get('alarm-rate') end # Connection rate (cps) to generate alarm def alarm_rate=(val) prop_set('alarm-rate', val) end # Connection rate (cps) to start RED def activate_rate prop_get('activate-rate') end # Connection rate (cps) to start RED def activate_rate=(val) prop_set('activate-rate', val) end # Maximal connection rate (cps) allowed def maximal_rate prop_get('maximal-rate') end # Maximal connection rate (cps) allowed def maximal_rate=(val) prop_set('maximal-rate', val) end end def red @subclasses['red'] ||= Red.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def icmp @subclasses['icmp'] ||= Icmp.new(parent_instance: self, client: @client, create_children: @create_children) end class Icmpv6 < ConfigClass def has_multiple_values?; false; end def _section :icmpv6 end class Red < ConfigClass def has_multiple_values?; false; end def _section :red end @props = {'alarm-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'2000000', 'default'=>'10000', 'help-string'=>'Connection rate (cps) to generate alarm'}, 'activate-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000000', 'default'=>'10000', 'help-string'=>'Connection rate (cps) to start RED'}, 'maximal-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000000', 'default'=>'40000', 'help-string'=>'Maximal connection rate (cps) allowed'}} # Connection rate (cps) to generate alarm def alarm_rate prop_get('alarm-rate') end # Connection rate (cps) to generate alarm def alarm_rate=(val) prop_set('alarm-rate', val) end # Connection rate (cps) to start RED def activate_rate prop_get('activate-rate') end # Connection rate (cps) to start RED def activate_rate=(val) prop_set('activate-rate', val) end # Maximal connection rate (cps) allowed def maximal_rate prop_get('maximal-rate') end # Maximal connection rate (cps) allowed def maximal_rate=(val) prop_set('maximal-rate', val) end end def red @subclasses['red'] ||= Red.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def icmpv6 @subclasses['icmpv6'] ||= Icmpv6.new(parent_instance: self, client: @client, create_children: @create_children) end class OtherIp < ConfigClass def has_multiple_values?; false; end def _section :'other-ip' end class Red < ConfigClass def has_multiple_values?; false; end def _section :red end @props = {'alarm-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'2000000', 'default'=>'10000', 'help-string'=>'Connection rate (cps) to generate alarm'}, 'activate-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000000', 'default'=>'10000', 'help-string'=>'Connection rate (cps) to start RED'}, 'maximal-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000000', 'default'=>'40000', 'help-string'=>'Maximal connection rate (cps) allowed'}} # Connection rate (cps) to generate alarm def alarm_rate prop_get('alarm-rate') end # Connection rate (cps) to generate alarm def alarm_rate=(val) prop_set('alarm-rate', val) end # Connection rate (cps) to start RED def activate_rate prop_get('activate-rate') end # Connection rate (cps) to start RED def activate_rate=(val) prop_set('activate-rate', val) end # Maximal connection rate (cps) allowed def maximal_rate prop_get('maximal-rate') end # Maximal connection rate (cps) allowed def maximal_rate=(val) prop_set('maximal-rate', val) end end def red @subclasses['red'] ||= Red.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def other_ip @subclasses['other-ip'] ||= OtherIp.new(parent_instance: self, client: @client, create_children: @create_children) end class SctpInit < ConfigClass def has_multiple_values?; false; end def _section :'sctp-init' end class Red < ConfigClass def has_multiple_values?; false; end def _section :red end @props = {'alarm-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'2000000', 'default'=>'10000', 'help-string'=>'Connection rate (cps) to generate alarm'}, 'activate-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000000', 'default'=>'10000', 'help-string'=>'Connection rate (cps) to start RED'}, 'maximal-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000000', 'default'=>'40000', 'help-string'=>'Maximal connection rate (cps) allowed'}} # Connection rate (cps) to generate alarm def alarm_rate prop_get('alarm-rate') end # Connection rate (cps) to generate alarm def alarm_rate=(val) prop_set('alarm-rate', val) end # Connection rate (cps) to start RED def activate_rate prop_get('activate-rate') end # Connection rate (cps) to start RED def activate_rate=(val) prop_set('activate-rate', val) end # Maximal connection rate (cps) allowed def maximal_rate prop_get('maximal-rate') end # Maximal connection rate (cps) allowed def maximal_rate=(val) prop_set('maximal-rate', val) end end def red @subclasses['red'] ||= Red.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def sctp_init @subclasses['sctp-init'] ||= SctpInit.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def flood @subclasses['flood'] ||= Flood.new(parent_instance: self, client: @client, create_children: @create_children) end class Ipv6 < ConfigClass def has_multiple_values?; false; end def _section :ipv6 end class FilterExtHdr < ConfigClass def has_multiple_values?; false; end def _section :'filter-ext-hdr' end @props = {'hop-by-hop-hdr'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Drop packets with Hop-by-Hop extension'}, 'routing-hdr'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Drop packets with Routing extension'}, 'dest-option-hdr'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Drop packets with Destination extension'}} # Drop packets with Hop-by-Hop extension def hop_by_hop_hdr prop_get('hop-by-hop-hdr') end # Drop packets with Hop-by-Hop extension def hop_by_hop_hdr=(val) prop_set('hop-by-hop-hdr', val) end # Drop packets with Routing extension def routing_hdr prop_get('routing-hdr') end # Drop packets with Routing extension def routing_hdr=(val) prop_set('routing-hdr', val) end # Drop packets with Destination extension def dest_option_hdr prop_get('dest-option-hdr') end # Drop packets with Destination extension def dest_option_hdr=(val) prop_set('dest-option-hdr', val) end end def filter_ext_hdr @subclasses['filter-ext-hdr'] ||= FilterExtHdr.new(parent_instance: self, client: @client, create_children: @create_children) end class IgnoreInvPkt < ConfigClass def has_multiple_values?; false; end def _section :'ignore-inv-pkt' end @props = {'dest-unreach'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'ICMPv6 destination unreachable - require explicit security rule match'}, 'pkt-too-big'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'ICMPv6 packet too big - require explicit security rule match'}, 'time-exceeded'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'ICMPv6 time exceeded - require explicit security rule match'}, 'param-problem'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'ICMPv6 parameter problem - require explicit security rule match'}, 'redirect'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'ICMPv6 redirect - require explicit security rule match'}} # ICMPv6 destination unreachable - require explicit security rule match def dest_unreach prop_get('dest-unreach') end # ICMPv6 destination unreachable - require explicit security rule match def dest_unreach=(val) prop_set('dest-unreach', val) end # ICMPv6 packet too big - require explicit security rule match def pkt_too_big prop_get('pkt-too-big') end # ICMPv6 packet too big - require explicit security rule match def pkt_too_big=(val) prop_set('pkt-too-big', val) end # ICMPv6 time exceeded - require explicit security rule match def time_exceeded prop_get('time-exceeded') end # ICMPv6 time exceeded - require explicit security rule match def time_exceeded=(val) prop_set('time-exceeded', val) end # ICMPv6 parameter problem - require explicit security rule match def param_problem prop_get('param-problem') end # ICMPv6 parameter problem - require explicit security rule match def param_problem=(val) prop_set('param-problem', val) end # ICMPv6 redirect - require explicit security rule match def redirect prop_get('redirect') end # ICMPv6 redirect - require explicit security rule match def redirect=(val) prop_set('redirect', val) end end def ignore_inv_pkt @subclasses['ignore-inv-pkt'] ||= IgnoreInvPkt.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'routing-header-0'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Drop packets with type 0 routing header'}, 'routing-header-1'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Drop packets with type 1 routing header'}, 'routing-header-3'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Drop packets with type 3 routing header'}, 'routing-header-4-252'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Drop packets with type 4 to type 252 routing header'}, 'routing-header-253'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Drop packets with type 253 routing header'}, 'routing-header-254'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Drop packets with type 254 routing header'}, 'routing-header-255'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Drop packets with type 255 routing header'}, 'ipv4-compatible-address'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Drop packets with IPv4 compatible address'}, 'multicast-source'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Drop packets with multicast source address'}, 'anycast-source'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Drop packets with anycast source address'}, 'options-invalid-ipv6-discard'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Drop packets with invalid IPv6 options in extension header'}, 'icmpv6-too-big-small-mtu-discard'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Drop packets with MTU in ICMPv6 (Packet Too Big) less than 1280 bytes'}, 'needless-fragment-hdr'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Drop packets with needless fragment header'}, 'reserved-field-set-discard'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Drop packets with reserved field different than 0'}} # Drop packets with type 0 routing header def routing_header_0 prop_get('routing-header-0') end # Drop packets with type 0 routing header def routing_header_0=(val) prop_set('routing-header-0', val) end # Drop packets with type 1 routing header def routing_header_1 prop_get('routing-header-1') end # Drop packets with type 1 routing header def routing_header_1=(val) prop_set('routing-header-1', val) end # Drop packets with type 3 routing header def routing_header_3 prop_get('routing-header-3') end # Drop packets with type 3 routing header def routing_header_3=(val) prop_set('routing-header-3', val) end # Drop packets with type 4 to type 252 routing header def routing_header_4_252 prop_get('routing-header-4-252') end # Drop packets with type 4 to type 252 routing header def routing_header_4_252=(val) prop_set('routing-header-4-252', val) end # Drop packets with type 253 routing header def routing_header_253 prop_get('routing-header-253') end # Drop packets with type 253 routing header def routing_header_253=(val) prop_set('routing-header-253', val) end # Drop packets with type 254 routing header def routing_header_254 prop_get('routing-header-254') end # Drop packets with type 254 routing header def routing_header_254=(val) prop_set('routing-header-254', val) end # Drop packets with type 255 routing header def routing_header_255 prop_get('routing-header-255') end # Drop packets with type 255 routing header def routing_header_255=(val) prop_set('routing-header-255', val) end # Drop packets with IPv4 compatible address def ipv4_compatible_address prop_get('ipv4-compatible-address') end # Drop packets with IPv4 compatible address def ipv4_compatible_address=(val) prop_set('ipv4-compatible-address', val) end # Drop packets with multicast source address def multicast_source prop_get('multicast-source') end # Drop packets with multicast source address def multicast_source=(val) prop_set('multicast-source', val) end # Drop packets with anycast source address def anycast_source prop_get('anycast-source') end # Drop packets with anycast source address def anycast_source=(val) prop_set('anycast-source', val) end # Drop packets with invalid IPv6 options in extension header def options_invalid_ipv6_discard prop_get('options-invalid-ipv6-discard') end # Drop packets with invalid IPv6 options in extension header def options_invalid_ipv6_discard=(val) prop_set('options-invalid-ipv6-discard', val) end # Drop packets with MTU in ICMPv6 (Packet Too Big) less than 1280 bytes def icmpv6_too_big_small_mtu_discard prop_get('icmpv6-too-big-small-mtu-discard') end # Drop packets with MTU in ICMPv6 (Packet Too Big) less than 1280 bytes def icmpv6_too_big_small_mtu_discard=(val) prop_set('icmpv6-too-big-small-mtu-discard', val) end # Drop packets with needless fragment header def needless_fragment_hdr prop_get('needless-fragment-hdr') end # Drop packets with needless fragment header def needless_fragment_hdr=(val) prop_set('needless-fragment-hdr', val) end # Drop packets with reserved field different than 0 def reserved_field_set_discard prop_get('reserved-field-set-discard') end # Drop packets with reserved field different than 0 def reserved_field_set_discard=(val) prop_set('reserved-field-set-discard', val) end end def ipv6 @subclasses['ipv6'] ||= Ipv6.new(parent_instance: self, client: @client, create_children: @create_children) end class NonIpProtocol < ConfigClass def has_multiple_values?; false; end def _section :'non-ip-protocol' end class Protocol < XML::ConfigClass def has_multiple_values?; true; end def _section :protocol end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'Protocol name'}, 'ether-type'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{4}$', 'help-string'=>'ether type in 2-byte hex value'}, 'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}} # Protocol name def name prop_get('@name') end # ether type in 2-byte hex value def ether_type prop_get('ether-type') end # ether type in 2-byte hex value def ether_type=(val) prop_set('ether-type', val) end def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def protocol maybe_register_subclass('protocol', Protocol.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'list-type'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'exclude', 'help-string'=>'exclude or include list', 'uiHint-fieldLabel'=>'Rule Type', 'enum'=>[{'value'=>'exclude', 'help-string'=>'Exclude List'}, {'value'=>'include', 'help-string'=>'Include List'}]}} # exclude or include list def list_type prop_get('list-type') end # exclude or include list def list_type=(val) prop_set('list-type', val) end end def non_ip_protocol @subclasses['non-ip-protocol'] ||= NonIpProtocol.new(parent_instance: self, client: @client, create_children: @create_children) end class L2SecGroupTagProtection < ConfigClass def has_multiple_values?; false; end def _section :'l2-sec-group-tag-protection' end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'tag name'}, 'tag'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^((0|[1-9][0-9]{0,4})|((0|[1-9][0-9]{0,4})-(0|[1-9][0-9]{0,4})))$', 'help-string'=>'tag or range of tags to block'}, 'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}} # tag name def name prop_get('@name') end # tag or range of tags to block def tag prop_get('tag') end # tag or range of tags to block def tag=(val) prop_set('tag', val) end def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def l2_sec_group_tag_protection @subclasses['l2-sec-group-tag-protection'] ||= L2SecGroupTagProtection.new(parent_instance: self, client: @client, create_children: @create_children) end class NetInspection < ConfigClass def has_multiple_values?; false; end def _section :'net-inspection' end class PredefinedRule < ConfigClass def has_multiple_values?; false; end def _section :'predefined-rule' end @props = {'threat-id'=>{'node-type'=>'element', 'optional'=>'no', 'type'=>'rangedint', 'help-string'=>'predefined threat ID'}, 'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} # predefined threat ID def threat_id prop_get('threat-id') end # predefined threat ID def threat_id=(val) prop_set('threat-id', val) end def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def predefined_rule @subclasses['predefined-rule'] ||= PredefinedRule.new(parent_instance: self, client: @client, create_children: @create_children) end class Rule < XML::ConfigClass def has_multiple_values?; true; end def _section :rule end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Signature < ConfigClass def has_multiple_values?; false; end def _section :signature end class OrCondition < XML::ConfigClass def has_multiple_values?; true; end def _section :'or-condition' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class AndCondition < XML::ConfigClass def has_multiple_values?; true; end def _section :'and-condition' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Operator < XML::ConfigClass def has_multiple_values?; true; end def _section :operator end class GreaterThan < ConfigClass def has_multiple_values?; false; end def _section :'greater-than' end class Context < XML::ConfigClass def has_multiple_values?; true; end def _section :context end class IpVersion < ConfigClass def has_multiple_values?; false; end def _section :'ip-version' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'15'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip_version @subclasses['ip-version'] ||= IpVersion.new(parent_instance: self, client: @client, create_children: @create_children) end class IpHeaderLength < ConfigClass def has_multiple_values?; false; end def _section :'ip-header-length' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'15'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip_header_length @subclasses['ip-header-length'] ||= IpHeaderLength.new(parent_instance: self, client: @client, create_children: @create_children) end class IpTos < ConfigClass def has_multiple_values?; false; end def _section :'ip-tos' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip_tos @subclasses['ip-tos'] ||= IpTos.new(parent_instance: self, client: @client, create_children: @create_children) end class IpTotalLength < ConfigClass def has_multiple_values?; false; end def _section :'ip-total-length' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip_total_length @subclasses['ip-total-length'] ||= IpTotalLength.new(parent_instance: self, client: @client, create_children: @create_children) end class IpId < ConfigClass def has_multiple_values?; false; end def _section :'ip-id' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip_id @subclasses['ip-id'] ||= IpId.new(parent_instance: self, client: @client, create_children: @create_children) end class IpFragmentOffset < ConfigClass def has_multiple_values?; false; end def _section :'ip-fragment-offset' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'8191'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip_fragment_offset @subclasses['ip-fragment-offset'] ||= IpFragmentOffset.new(parent_instance: self, client: @client, create_children: @create_children) end class IpTtl < ConfigClass def has_multiple_values?; false; end def _section :'ip-ttl' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip_ttl @subclasses['ip-ttl'] ||= IpTtl.new(parent_instance: self, client: @client, create_children: @create_children) end class IpProtocol < ConfigClass def has_multiple_values?; false; end def _section :'ip-protocol' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip_protocol @subclasses['ip-protocol'] ||= IpProtocol.new(parent_instance: self, client: @client, create_children: @create_children) end class IpHeaderChecksum < ConfigClass def has_multiple_values?; false; end def _section :'ip-header-checksum' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip_header_checksum @subclasses['ip-header-checksum'] ||= IpHeaderChecksum.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionType < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-type' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip_option_type @subclasses['ip-option-type'] ||= IpOptionType.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionNumber < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-number' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'31'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip_option_number @subclasses['ip-option-number'] ||= IpOptionNumber.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionLength < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-length' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip_option_length @subclasses['ip-option-length'] ||= IpOptionLength.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionUserDefined < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-user-defined' end @props = {'offset'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'40', 'help-string'=>'Byte offset'}, 'width'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'Bit width'}, 'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} # Byte offset def offset prop_get('offset') end # Byte offset def offset=(val) prop_set('offset', val) end # Bit width def width prop_get('width') end # Bit width def width=(val) prop_set('width', val) end def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip_option_user_defined @subclasses['ip-option-user-defined'] ||= IpOptionUserDefined.new(parent_instance: self, client: @client, create_children: @create_children) end class IpUserDefined < ConfigClass def has_multiple_values?; false; end def _section :'ip-user-defined' end @props = {'offset'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'60', 'help-string'=>'Byte offset'}, 'width'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'Bit width'}, 'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} # Byte offset def offset prop_get('offset') end # Byte offset def offset=(val) prop_set('offset', val) end # Bit width def width prop_get('width') end # Bit width def width=(val) prop_set('width', val) end def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip_user_defined @subclasses['ip-user-defined'] ||= IpUserDefined.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip6Version < ConfigClass def has_multiple_values?; false; end def _section :'ip6-version' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'15'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip6_version @subclasses['ip6-version'] ||= Ip6Version.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip6TrafficClass < ConfigClass def has_multiple_values?; false; end def _section :'ip6-traffic-class' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip6_traffic_class @subclasses['ip6-traffic-class'] ||= Ip6TrafficClass.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip6FlowLabel < ConfigClass def has_multiple_values?; false; end def _section :'ip6-flow-label' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'1048575'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip6_flow_label @subclasses['ip6-flow-label'] ||= Ip6FlowLabel.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip6PayloadLength < ConfigClass def has_multiple_values?; false; end def _section :'ip6-payload-length' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip6_payload_length @subclasses['ip6-payload-length'] ||= Ip6PayloadLength.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip6NextHeader < ConfigClass def has_multiple_values?; false; end def _section :'ip6-next-header' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip6_next_header @subclasses['ip6-next-header'] ||= Ip6NextHeader.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip6HopLimit < ConfigClass def has_multiple_values?; false; end def _section :'ip6-hop-limit' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip6_hop_limit @subclasses['ip6-hop-limit'] ||= Ip6HopLimit.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip6UserDefined < ConfigClass def has_multiple_values?; false; end def _section :'ip6-user-defined' end @props = {'offset'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'40', 'help-string'=>'Byte offset'}, 'width'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'Bit width'}, 'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} # Byte offset def offset prop_get('offset') end # Byte offset def offset=(val) prop_set('offset', val) end # Bit width def width prop_get('width') end # Bit width def width=(val) prop_set('width', val) end def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip6_user_defined @subclasses['ip6-user-defined'] ||= Ip6UserDefined.new(parent_instance: self, client: @client, create_children: @create_children) end class IcmpType < ConfigClass def has_multiple_values?; false; end def _section :'icmp-type' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def icmp_type @subclasses['icmp-type'] ||= IcmpType.new(parent_instance: self, client: @client, create_children: @create_children) end class IcmpCode < ConfigClass def has_multiple_values?; false; end def _section :'icmp-code' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def icmp_code @subclasses['icmp-code'] ||= IcmpCode.new(parent_instance: self, client: @client, create_children: @create_children) end class IcmpChecksum < ConfigClass def has_multiple_values?; false; end def _section :'icmp-checksum' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def icmp_checksum @subclasses['icmp-checksum'] ||= IcmpChecksum.new(parent_instance: self, client: @client, create_children: @create_children) end class IcmpId < ConfigClass def has_multiple_values?; false; end def _section :'icmp-id' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def icmp_id @subclasses['icmp-id'] ||= IcmpId.new(parent_instance: self, client: @client, create_children: @create_children) end class IcmpSequence < ConfigClass def has_multiple_values?; false; end def _section :'icmp-sequence' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def icmp_sequence @subclasses['icmp-sequence'] ||= IcmpSequence.new(parent_instance: self, client: @client, create_children: @create_children) end class IcmpUserDefined < ConfigClass def has_multiple_values?; false; end def _section :'icmp-user-defined' end @props = {'offset'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'8', 'help-string'=>'Byte offset'}, 'width'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'Bit width'}, 'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} # Byte offset def offset prop_get('offset') end # Byte offset def offset=(val) prop_set('offset', val) end # Bit width def width prop_get('width') end # Bit width def width=(val) prop_set('width', val) end def value prop_get('value') end def value=(val) prop_set('value', val) end end def icmp_user_defined @subclasses['icmp-user-defined'] ||= IcmpUserDefined.new(parent_instance: self, client: @client, create_children: @create_children) end class Icmp6Type < ConfigClass def has_multiple_values?; false; end def _section :'icmp6-type' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def icmp6_type @subclasses['icmp6-type'] ||= Icmp6Type.new(parent_instance: self, client: @client, create_children: @create_children) end class Icmp6Code < ConfigClass def has_multiple_values?; false; end def _section :'icmp6-code' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def icmp6_code @subclasses['icmp6-code'] ||= Icmp6Code.new(parent_instance: self, client: @client, create_children: @create_children) end class Icmp6Checksum < ConfigClass def has_multiple_values?; false; end def _section :'icmp6-checksum' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def icmp6_checksum @subclasses['icmp6-checksum'] ||= Icmp6Checksum.new(parent_instance: self, client: @client, create_children: @create_children) end class Icmp6UserDefined < ConfigClass def has_multiple_values?; false; end def _section :'icmp6-user-defined' end @props = {'offset'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4', 'help-string'=>'Byte offset'}, 'width'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'Bit width'}, 'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} # Byte offset def offset prop_get('offset') end # Byte offset def offset=(val) prop_set('offset', val) end # Bit width def width prop_get('width') end # Bit width def width=(val) prop_set('width', val) end def value prop_get('value') end def value=(val) prop_set('value', val) end end def icmp6_user_defined @subclasses['icmp6-user-defined'] ||= Icmp6UserDefined.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpSourcePort < ConfigClass def has_multiple_values?; false; end def _section :'tcp-source-port' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_source_port @subclasses['tcp-source-port'] ||= TcpSourcePort.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpDestinationPort < ConfigClass def has_multiple_values?; false; end def _section :'tcp-destination-port' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_destination_port @subclasses['tcp-destination-port'] ||= TcpDestinationPort.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpSequenceNumber < ConfigClass def has_multiple_values?; false; end def _section :'tcp-sequence-number' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_sequence_number @subclasses['tcp-sequence-number'] ||= TcpSequenceNumber.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpAcknowledgeNumber < ConfigClass def has_multiple_values?; false; end def _section :'tcp-acknowledge-number' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_acknowledge_number @subclasses['tcp-acknowledge-number'] ||= TcpAcknowledgeNumber.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpDataOffset < ConfigClass def has_multiple_values?; false; end def _section :'tcp-data-offset' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'15'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_data_offset @subclasses['tcp-data-offset'] ||= TcpDataOffset.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpReserved < ConfigClass def has_multiple_values?; false; end def _section :'tcp-reserved' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'7'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_reserved @subclasses['tcp-reserved'] ||= TcpReserved.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpWindowSize < ConfigClass def has_multiple_values?; false; end def _section :'tcp-window-size' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_window_size @subclasses['tcp-window-size'] ||= TcpWindowSize.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpChecksum < ConfigClass def has_multiple_values?; false; end def _section :'tcp-checksum' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_checksum @subclasses['tcp-checksum'] ||= TcpChecksum.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpUrgentPointer < ConfigClass def has_multiple_values?; false; end def _section :'tcp-urgent-pointer' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_urgent_pointer @subclasses['tcp-urgent-pointer'] ||= TcpUrgentPointer.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpUserDefined < ConfigClass def has_multiple_values?; false; end def _section :'tcp-user-defined' end @props = {'offset'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'24', 'help-string'=>'Byte offset'}, 'width'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'Bit width'}, 'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} # Byte offset def offset prop_get('offset') end # Byte offset def offset=(val) prop_set('offset', val) end # Bit width def width prop_get('width') end # Bit width def width=(val) prop_set('width', val) end def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_user_defined @subclasses['tcp-user-defined'] ||= TcpUserDefined.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionKind < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-kind' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_option_kind @subclasses['tcp-option-kind'] ||= TcpOptionKind.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionLength < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-length' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_option_length @subclasses['tcp-option-length'] ||= TcpOptionLength.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionUserDefined < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-user-defined' end @props = {'offset'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'40', 'help-string'=>'Byte offset'}, 'width'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'Bit width'}, 'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} # Byte offset def offset prop_get('offset') end # Byte offset def offset=(val) prop_set('offset', val) end # Bit width def width prop_get('width') end # Bit width def width=(val) prop_set('width', val) end def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_option_user_defined @subclasses['tcp-option-user-defined'] ||= TcpOptionUserDefined.new(parent_instance: self, client: @client, create_children: @create_children) end class UdpSourcePort < ConfigClass def has_multiple_values?; false; end def _section :'udp-source-port' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def udp_source_port @subclasses['udp-source-port'] ||= UdpSourcePort.new(parent_instance: self, client: @client, create_children: @create_children) end class UdpDestinationPort < ConfigClass def has_multiple_values?; false; end def _section :'udp-destination-port' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def udp_destination_port @subclasses['udp-destination-port'] ||= UdpDestinationPort.new(parent_instance: self, client: @client, create_children: @create_children) end class UdpLength < ConfigClass def has_multiple_values?; false; end def _section :'udp-length' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def udp_length @subclasses['udp-length'] ||= UdpLength.new(parent_instance: self, client: @client, create_children: @create_children) end class UdpChecksum < ConfigClass def has_multiple_values?; false; end def _section :'udp-checksum' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def udp_checksum @subclasses['udp-checksum'] ||= UdpChecksum.new(parent_instance: self, client: @client, create_children: @create_children) end class UdpUserDefined < ConfigClass def has_multiple_values?; false; end def _section :'udp-user-defined' end @props = {'offset'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'8', 'help-string'=>'Byte offset'}, 'width'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'Bit width'}, 'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} # Byte offset def offset prop_get('offset') end # Byte offset def offset=(val) prop_set('offset', val) end # Bit width def width prop_get('width') end # Bit width def width=(val) prop_set('width', val) end def value prop_get('value') end def value=(val) prop_set('value', val) end end def udp_user_defined @subclasses['udp-user-defined'] ||= UdpUserDefined.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def context maybe_register_subclass('context', Context.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def greater_than @subclasses['greater-than'] ||= GreaterThan.new(parent_instance: self, client: @client, create_children: @create_children) end class LessThan < ConfigClass def has_multiple_values?; false; end def _section :'less-than' end class Context < XML::ConfigClass def has_multiple_values?; true; end def _section :context end class IpVersion < ConfigClass def has_multiple_values?; false; end def _section :'ip-version' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'15'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip_version @subclasses['ip-version'] ||= IpVersion.new(parent_instance: self, client: @client, create_children: @create_children) end class IpHeaderLength < ConfigClass def has_multiple_values?; false; end def _section :'ip-header-length' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'15'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip_header_length @subclasses['ip-header-length'] ||= IpHeaderLength.new(parent_instance: self, client: @client, create_children: @create_children) end class IpTos < ConfigClass def has_multiple_values?; false; end def _section :'ip-tos' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip_tos @subclasses['ip-tos'] ||= IpTos.new(parent_instance: self, client: @client, create_children: @create_children) end class IpTotalLength < ConfigClass def has_multiple_values?; false; end def _section :'ip-total-length' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip_total_length @subclasses['ip-total-length'] ||= IpTotalLength.new(parent_instance: self, client: @client, create_children: @create_children) end class IpId < ConfigClass def has_multiple_values?; false; end def _section :'ip-id' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip_id @subclasses['ip-id'] ||= IpId.new(parent_instance: self, client: @client, create_children: @create_children) end class IpFragmentOffset < ConfigClass def has_multiple_values?; false; end def _section :'ip-fragment-offset' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'8191'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip_fragment_offset @subclasses['ip-fragment-offset'] ||= IpFragmentOffset.new(parent_instance: self, client: @client, create_children: @create_children) end class IpTtl < ConfigClass def has_multiple_values?; false; end def _section :'ip-ttl' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip_ttl @subclasses['ip-ttl'] ||= IpTtl.new(parent_instance: self, client: @client, create_children: @create_children) end class IpProtocol < ConfigClass def has_multiple_values?; false; end def _section :'ip-protocol' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip_protocol @subclasses['ip-protocol'] ||= IpProtocol.new(parent_instance: self, client: @client, create_children: @create_children) end class IpHeaderChecksum < ConfigClass def has_multiple_values?; false; end def _section :'ip-header-checksum' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip_header_checksum @subclasses['ip-header-checksum'] ||= IpHeaderChecksum.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionType < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-type' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip_option_type @subclasses['ip-option-type'] ||= IpOptionType.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionNumber < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-number' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'31'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip_option_number @subclasses['ip-option-number'] ||= IpOptionNumber.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionLength < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-length' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip_option_length @subclasses['ip-option-length'] ||= IpOptionLength.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionUserDefined < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-user-defined' end @props = {'offset'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'40', 'help-string'=>'Byte offset'}, 'width'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'Bit width'}, 'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} # Byte offset def offset prop_get('offset') end # Byte offset def offset=(val) prop_set('offset', val) end # Bit width def width prop_get('width') end # Bit width def width=(val) prop_set('width', val) end def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip_option_user_defined @subclasses['ip-option-user-defined'] ||= IpOptionUserDefined.new(parent_instance: self, client: @client, create_children: @create_children) end class IpUserDefined < ConfigClass def has_multiple_values?; false; end def _section :'ip-user-defined' end @props = {'offset'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'60', 'help-string'=>'Byte offset'}, 'width'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'Bit width'}, 'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} # Byte offset def offset prop_get('offset') end # Byte offset def offset=(val) prop_set('offset', val) end # Bit width def width prop_get('width') end # Bit width def width=(val) prop_set('width', val) end def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip_user_defined @subclasses['ip-user-defined'] ||= IpUserDefined.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip6Version < ConfigClass def has_multiple_values?; false; end def _section :'ip6-version' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'15'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip6_version @subclasses['ip6-version'] ||= Ip6Version.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip6TrafficClass < ConfigClass def has_multiple_values?; false; end def _section :'ip6-traffic-class' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip6_traffic_class @subclasses['ip6-traffic-class'] ||= Ip6TrafficClass.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip6FlowLabel < ConfigClass def has_multiple_values?; false; end def _section :'ip6-flow-label' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'1048575'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip6_flow_label @subclasses['ip6-flow-label'] ||= Ip6FlowLabel.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip6PayloadLength < ConfigClass def has_multiple_values?; false; end def _section :'ip6-payload-length' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip6_payload_length @subclasses['ip6-payload-length'] ||= Ip6PayloadLength.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip6NextHeader < ConfigClass def has_multiple_values?; false; end def _section :'ip6-next-header' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip6_next_header @subclasses['ip6-next-header'] ||= Ip6NextHeader.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip6HopLimit < ConfigClass def has_multiple_values?; false; end def _section :'ip6-hop-limit' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip6_hop_limit @subclasses['ip6-hop-limit'] ||= Ip6HopLimit.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip6UserDefined < ConfigClass def has_multiple_values?; false; end def _section :'ip6-user-defined' end @props = {'offset'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'40', 'help-string'=>'Byte offset'}, 'width'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'Bit width'}, 'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} # Byte offset def offset prop_get('offset') end # Byte offset def offset=(val) prop_set('offset', val) end # Bit width def width prop_get('width') end # Bit width def width=(val) prop_set('width', val) end def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip6_user_defined @subclasses['ip6-user-defined'] ||= Ip6UserDefined.new(parent_instance: self, client: @client, create_children: @create_children) end class IcmpType < ConfigClass def has_multiple_values?; false; end def _section :'icmp-type' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def icmp_type @subclasses['icmp-type'] ||= IcmpType.new(parent_instance: self, client: @client, create_children: @create_children) end class IcmpCode < ConfigClass def has_multiple_values?; false; end def _section :'icmp-code' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def icmp_code @subclasses['icmp-code'] ||= IcmpCode.new(parent_instance: self, client: @client, create_children: @create_children) end class IcmpChecksum < ConfigClass def has_multiple_values?; false; end def _section :'icmp-checksum' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def icmp_checksum @subclasses['icmp-checksum'] ||= IcmpChecksum.new(parent_instance: self, client: @client, create_children: @create_children) end class IcmpId < ConfigClass def has_multiple_values?; false; end def _section :'icmp-id' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def icmp_id @subclasses['icmp-id'] ||= IcmpId.new(parent_instance: self, client: @client, create_children: @create_children) end class IcmpSequence < ConfigClass def has_multiple_values?; false; end def _section :'icmp-sequence' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def icmp_sequence @subclasses['icmp-sequence'] ||= IcmpSequence.new(parent_instance: self, client: @client, create_children: @create_children) end class IcmpUserDefined < ConfigClass def has_multiple_values?; false; end def _section :'icmp-user-defined' end @props = {'offset'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'8', 'help-string'=>'Byte offset'}, 'width'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'Bit width'}, 'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} # Byte offset def offset prop_get('offset') end # Byte offset def offset=(val) prop_set('offset', val) end # Bit width def width prop_get('width') end # Bit width def width=(val) prop_set('width', val) end def value prop_get('value') end def value=(val) prop_set('value', val) end end def icmp_user_defined @subclasses['icmp-user-defined'] ||= IcmpUserDefined.new(parent_instance: self, client: @client, create_children: @create_children) end class Icmp6Type < ConfigClass def has_multiple_values?; false; end def _section :'icmp6-type' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def icmp6_type @subclasses['icmp6-type'] ||= Icmp6Type.new(parent_instance: self, client: @client, create_children: @create_children) end class Icmp6Code < ConfigClass def has_multiple_values?; false; end def _section :'icmp6-code' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def icmp6_code @subclasses['icmp6-code'] ||= Icmp6Code.new(parent_instance: self, client: @client, create_children: @create_children) end class Icmp6Checksum < ConfigClass def has_multiple_values?; false; end def _section :'icmp6-checksum' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def icmp6_checksum @subclasses['icmp6-checksum'] ||= Icmp6Checksum.new(parent_instance: self, client: @client, create_children: @create_children) end class Icmp6UserDefined < ConfigClass def has_multiple_values?; false; end def _section :'icmp6-user-defined' end @props = {'offset'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4', 'help-string'=>'Byte offset'}, 'width'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'Bit width'}, 'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} # Byte offset def offset prop_get('offset') end # Byte offset def offset=(val) prop_set('offset', val) end # Bit width def width prop_get('width') end # Bit width def width=(val) prop_set('width', val) end def value prop_get('value') end def value=(val) prop_set('value', val) end end def icmp6_user_defined @subclasses['icmp6-user-defined'] ||= Icmp6UserDefined.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpSourcePort < ConfigClass def has_multiple_values?; false; end def _section :'tcp-source-port' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_source_port @subclasses['tcp-source-port'] ||= TcpSourcePort.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpDestinationPort < ConfigClass def has_multiple_values?; false; end def _section :'tcp-destination-port' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_destination_port @subclasses['tcp-destination-port'] ||= TcpDestinationPort.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpSequenceNumber < ConfigClass def has_multiple_values?; false; end def _section :'tcp-sequence-number' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_sequence_number @subclasses['tcp-sequence-number'] ||= TcpSequenceNumber.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpAcknowledgeNumber < ConfigClass def has_multiple_values?; false; end def _section :'tcp-acknowledge-number' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_acknowledge_number @subclasses['tcp-acknowledge-number'] ||= TcpAcknowledgeNumber.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpDataOffset < ConfigClass def has_multiple_values?; false; end def _section :'tcp-data-offset' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'15'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_data_offset @subclasses['tcp-data-offset'] ||= TcpDataOffset.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpReserved < ConfigClass def has_multiple_values?; false; end def _section :'tcp-reserved' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'7'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_reserved @subclasses['tcp-reserved'] ||= TcpReserved.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpWindowSize < ConfigClass def has_multiple_values?; false; end def _section :'tcp-window-size' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_window_size @subclasses['tcp-window-size'] ||= TcpWindowSize.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpChecksum < ConfigClass def has_multiple_values?; false; end def _section :'tcp-checksum' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_checksum @subclasses['tcp-checksum'] ||= TcpChecksum.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpUrgentPointer < ConfigClass def has_multiple_values?; false; end def _section :'tcp-urgent-pointer' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_urgent_pointer @subclasses['tcp-urgent-pointer'] ||= TcpUrgentPointer.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpUserDefined < ConfigClass def has_multiple_values?; false; end def _section :'tcp-user-defined' end @props = {'offset'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'24', 'help-string'=>'Byte offset'}, 'width'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'Bit width'}, 'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} # Byte offset def offset prop_get('offset') end # Byte offset def offset=(val) prop_set('offset', val) end # Bit width def width prop_get('width') end # Bit width def width=(val) prop_set('width', val) end def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_user_defined @subclasses['tcp-user-defined'] ||= TcpUserDefined.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionKind < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-kind' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_option_kind @subclasses['tcp-option-kind'] ||= TcpOptionKind.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionLength < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-length' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_option_length @subclasses['tcp-option-length'] ||= TcpOptionLength.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionUserDefined < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-user-defined' end @props = {'offset'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'40', 'help-string'=>'Byte offset'}, 'width'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'Bit width'}, 'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} # Byte offset def offset prop_get('offset') end # Byte offset def offset=(val) prop_set('offset', val) end # Bit width def width prop_get('width') end # Bit width def width=(val) prop_set('width', val) end def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_option_user_defined @subclasses['tcp-option-user-defined'] ||= TcpOptionUserDefined.new(parent_instance: self, client: @client, create_children: @create_children) end class UdpSourcePort < ConfigClass def has_multiple_values?; false; end def _section :'udp-source-port' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def udp_source_port @subclasses['udp-source-port'] ||= UdpSourcePort.new(parent_instance: self, client: @client, create_children: @create_children) end class UdpDestinationPort < ConfigClass def has_multiple_values?; false; end def _section :'udp-destination-port' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def udp_destination_port @subclasses['udp-destination-port'] ||= UdpDestinationPort.new(parent_instance: self, client: @client, create_children: @create_children) end class UdpLength < ConfigClass def has_multiple_values?; false; end def _section :'udp-length' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def udp_length @subclasses['udp-length'] ||= UdpLength.new(parent_instance: self, client: @client, create_children: @create_children) end class UdpChecksum < ConfigClass def has_multiple_values?; false; end def _section :'udp-checksum' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def udp_checksum @subclasses['udp-checksum'] ||= UdpChecksum.new(parent_instance: self, client: @client, create_children: @create_children) end class UdpUserDefined < ConfigClass def has_multiple_values?; false; end def _section :'udp-user-defined' end @props = {'offset'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'8', 'help-string'=>'Byte offset'}, 'width'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'Bit width'}, 'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} # Byte offset def offset prop_get('offset') end # Byte offset def offset=(val) prop_set('offset', val) end # Bit width def width prop_get('width') end # Bit width def width=(val) prop_set('width', val) end def value prop_get('value') end def value=(val) prop_set('value', val) end end def udp_user_defined @subclasses['udp-user-defined'] ||= UdpUserDefined.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def context maybe_register_subclass('context', Context.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def less_than @subclasses['less-than'] ||= LessThan.new(parent_instance: self, client: @client, create_children: @create_children) end class EqualTo < ConfigClass def has_multiple_values?; false; end def _section :'equal-to' end class Context < XML::ConfigClass def has_multiple_values?; true; end def _section :context end class IpSourceAddress < ConfigClass def has_multiple_values?; false; end def _section :'ip-source-address' end @props = {'value'=>{'node-type'=>'element', 'type'=>'ipspec', 'ipv4-only'=>'yes', 'unicast-only'=>'no'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'ipv4-only'=>'yes', 'unicast-only'=>'yes', 'help-string'=>'IPv4 netmask'}, 'prefix'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'subnet prefix length'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # IPv4 netmask def mask prop_get('mask') end # IPv4 netmask def mask=(val) prop_set('mask', val) end # subnet prefix length def prefix prop_get('prefix') end # subnet prefix length def prefix=(val) prop_set('prefix', val) end end def ip_source_address @subclasses['ip-source-address'] ||= IpSourceAddress.new(parent_instance: self, client: @client, create_children: @create_children) end class IpDestinationAddress < ConfigClass def has_multiple_values?; false; end def _section :'ip-destination-address' end @props = {'value'=>{'node-type'=>'element', 'type'=>'ipspec', 'ipv4-only'=>'yes', 'unicast-only'=>'no'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'ipv4-only'=>'yes', 'unicast-only'=>'yes', 'help-string'=>'IPv4 netmask'}, 'prefix'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'subnet prefix length'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # IPv4 netmask def mask prop_get('mask') end # IPv4 netmask def mask=(val) prop_set('mask', val) end # subnet prefix length def prefix prop_get('prefix') end # subnet prefix length def prefix=(val) prop_set('prefix', val) end end def ip_destination_address @subclasses['ip-destination-address'] ||= IpDestinationAddress.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip6SourceAddress < ConfigClass def has_multiple_values?; false; end def _section :'ip6-source-address' end @props = {'value'=>{'node-type'=>'element', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'unicast-only'=>'yes'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'unicast-only'=>'yes'}, 'prefix'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'128', 'help-string'=>'subnet prefix length'}} def value prop_get('value') end def value=(val) prop_set('value', val) end def mask prop_get('mask') end def mask=(val) prop_set('mask', val) end # subnet prefix length def prefix prop_get('prefix') end # subnet prefix length def prefix=(val) prop_set('prefix', val) end end def ip6_source_address @subclasses['ip6-source-address'] ||= Ip6SourceAddress.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip6DestinationAddress < ConfigClass def has_multiple_values?; false; end def _section :'ip6-destination-address' end @props = {'value'=>{'node-type'=>'element', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'unicast-only'=>'yes'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'unicast-only'=>'yes'}, 'prefix'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'128', 'help-string'=>'subnet prefix length'}} def value prop_get('value') end def value=(val) prop_set('value', val) end def mask prop_get('mask') end def mask=(val) prop_set('mask', val) end # subnet prefix length def prefix prop_get('prefix') end # subnet prefix length def prefix=(val) prop_set('prefix', val) end end def ip6_destination_address @subclasses['ip6-destination-address'] ||= Ip6DestinationAddress.new(parent_instance: self, client: @client, create_children: @create_children) end class IpVersion < ConfigClass def has_multiple_values?; false; end def _section :'ip-version' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'15'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1}$', 'help-string'=>'1-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 1-byte hex value def mask prop_get('mask') end # 1-byte hex value def mask=(val) prop_set('mask', val) end end def ip_version @subclasses['ip-version'] ||= IpVersion.new(parent_instance: self, client: @client, create_children: @create_children) end class IpHeaderLength < ConfigClass def has_multiple_values?; false; end def _section :'ip-header-length' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'15'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1}$', 'help-string'=>'1-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 1-byte hex value def mask prop_get('mask') end # 1-byte hex value def mask=(val) prop_set('mask', val) end end def ip_header_length @subclasses['ip-header-length'] ||= IpHeaderLength.new(parent_instance: self, client: @client, create_children: @create_children) end class IpTos < ConfigClass def has_multiple_values?; false; end def _section :'ip-tos' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,2}$', 'help-string'=>'1-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 1-byte hex value def mask prop_get('mask') end # 1-byte hex value def mask=(val) prop_set('mask', val) end end def ip_tos @subclasses['ip-tos'] ||= IpTos.new(parent_instance: self, client: @client, create_children: @create_children) end class IpTotalLength < ConfigClass def has_multiple_values?; false; end def _section :'ip-total-length' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,4}$', 'help-string'=>'2-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 2-byte hex value def mask prop_get('mask') end # 2-byte hex value def mask=(val) prop_set('mask', val) end end def ip_total_length @subclasses['ip-total-length'] ||= IpTotalLength.new(parent_instance: self, client: @client, create_children: @create_children) end class IpId < ConfigClass def has_multiple_values?; false; end def _section :'ip-id' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,4}$', 'help-string'=>'2-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 2-byte hex value def mask prop_get('mask') end # 2-byte hex value def mask=(val) prop_set('mask', val) end end def ip_id @subclasses['ip-id'] ||= IpId.new(parent_instance: self, client: @client, create_children: @create_children) end class IpFragmentOffset < ConfigClass def has_multiple_values?; false; end def _section :'ip-fragment-offset' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'8191'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,4}$', 'help-string'=>'2-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 2-byte hex value def mask prop_get('mask') end # 2-byte hex value def mask=(val) prop_set('mask', val) end end def ip_fragment_offset @subclasses['ip-fragment-offset'] ||= IpFragmentOffset.new(parent_instance: self, client: @client, create_children: @create_children) end class IpTtl < ConfigClass def has_multiple_values?; false; end def _section :'ip-ttl' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,2}$', 'help-string'=>'1-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 1-byte hex value def mask prop_get('mask') end # 1-byte hex value def mask=(val) prop_set('mask', val) end end def ip_ttl @subclasses['ip-ttl'] ||= IpTtl.new(parent_instance: self, client: @client, create_children: @create_children) end class IpProtocol < ConfigClass def has_multiple_values?; false; end def _section :'ip-protocol' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,2}$', 'help-string'=>'1-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 1-byte hex value def mask prop_get('mask') end # 1-byte hex value def mask=(val) prop_set('mask', val) end end def ip_protocol @subclasses['ip-protocol'] ||= IpProtocol.new(parent_instance: self, client: @client, create_children: @create_children) end class IpHeaderChecksum < ConfigClass def has_multiple_values?; false; end def _section :'ip-header-checksum' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,4}$', 'help-string'=>'2-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 2-byte hex value def mask prop_get('mask') end # 2-byte hex value def mask=(val) prop_set('mask', val) end end def ip_header_checksum @subclasses['ip-header-checksum'] ||= IpHeaderChecksum.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionType < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-type' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,2}$', 'help-string'=>'1-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 1-byte hex value def mask prop_get('mask') end # 1-byte hex value def mask=(val) prop_set('mask', val) end end def ip_option_type @subclasses['ip-option-type'] ||= IpOptionType.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionNumber < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-number' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'31'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,2}$', 'help-string'=>'1-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 1-byte hex value def mask prop_get('mask') end # 1-byte hex value def mask=(val) prop_set('mask', val) end end def ip_option_number @subclasses['ip-option-number'] ||= IpOptionNumber.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionLength < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-length' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,2}$', 'help-string'=>'1-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 1-byte hex value def mask prop_get('mask') end # 1-byte hex value def mask=(val) prop_set('mask', val) end end def ip_option_length @subclasses['ip-option-length'] ||= IpOptionLength.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionUserDefined < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-user-defined' end @props = {'offset'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'40', 'help-string'=>'Byte offset'}, 'width'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'Bit width'}, 'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,8}$', 'help-string'=>'4-byte hex value'}} # Byte offset def offset prop_get('offset') end # Byte offset def offset=(val) prop_set('offset', val) end # Bit width def width prop_get('width') end # Bit width def width=(val) prop_set('width', val) end def value prop_get('value') end def value=(val) prop_set('value', val) end # 4-byte hex value def mask prop_get('mask') end # 4-byte hex value def mask=(val) prop_set('mask', val) end end def ip_option_user_defined @subclasses['ip-option-user-defined'] ||= IpOptionUserDefined.new(parent_instance: self, client: @client, create_children: @create_children) end class IpFlagReserved < ConfigClass def has_multiple_values?; false; end def _section :'ip-flag-reserved' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'1'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip_flag_reserved @subclasses['ip-flag-reserved'] ||= IpFlagReserved.new(parent_instance: self, client: @client, create_children: @create_children) end class IpFlagDf < ConfigClass def has_multiple_values?; false; end def _section :'ip-flag-df' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'1'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip_flag_df @subclasses['ip-flag-df'] ||= IpFlagDf.new(parent_instance: self, client: @client, create_children: @create_children) end class IpFlagMf < ConfigClass def has_multiple_values?; false; end def _section :'ip-flag-mf' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'1'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip_flag_mf @subclasses['ip-flag-mf'] ||= IpFlagMf.new(parent_instance: self, client: @client, create_children: @create_children) end class IpUserDefined < ConfigClass def has_multiple_values?; false; end def _section :'ip-user-defined' end @props = {'offset'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'60', 'help-string'=>'Byte offset'}, 'width'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'Bit width'}, 'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,8}$', 'help-string'=>'4-byte hex value'}} # Byte offset def offset prop_get('offset') end # Byte offset def offset=(val) prop_set('offset', val) end # Bit width def width prop_get('width') end # Bit width def width=(val) prop_set('width', val) end def value prop_get('value') end def value=(val) prop_set('value', val) end # 4-byte hex value def mask prop_get('mask') end # 4-byte hex value def mask=(val) prop_set('mask', val) end end def ip_user_defined @subclasses['ip-user-defined'] ||= IpUserDefined.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip6Version < ConfigClass def has_multiple_values?; false; end def _section :'ip6-version' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'15'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1}$', 'help-string'=>'1-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 1-byte hex value def mask prop_get('mask') end # 1-byte hex value def mask=(val) prop_set('mask', val) end end def ip6_version @subclasses['ip6-version'] ||= Ip6Version.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip6TrafficClass < ConfigClass def has_multiple_values?; false; end def _section :'ip6-traffic-class' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,2}$', 'help-string'=>'1-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 1-byte hex value def mask prop_get('mask') end # 1-byte hex value def mask=(val) prop_set('mask', val) end end def ip6_traffic_class @subclasses['ip6-traffic-class'] ||= Ip6TrafficClass.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip6FlowLabel < ConfigClass def has_multiple_values?; false; end def _section :'ip6-flow-label' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'1048575'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,5}$', 'help-string'=>'3-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 3-byte hex value def mask prop_get('mask') end # 3-byte hex value def mask=(val) prop_set('mask', val) end end def ip6_flow_label @subclasses['ip6-flow-label'] ||= Ip6FlowLabel.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip6PayloadLength < ConfigClass def has_multiple_values?; false; end def _section :'ip6-payload-length' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,4}$', 'help-string'=>'2-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 2-byte hex value def mask prop_get('mask') end # 2-byte hex value def mask=(val) prop_set('mask', val) end end def ip6_payload_length @subclasses['ip6-payload-length'] ||= Ip6PayloadLength.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip6NextHeader < ConfigClass def has_multiple_values?; false; end def _section :'ip6-next-header' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,2}$', 'help-string'=>'1-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 1-byte hex value def mask prop_get('mask') end # 1-byte hex value def mask=(val) prop_set('mask', val) end end def ip6_next_header @subclasses['ip6-next-header'] ||= Ip6NextHeader.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip6HopLimit < ConfigClass def has_multiple_values?; false; end def _section :'ip6-hop-limit' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,2}$', 'help-string'=>'1-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 1-byte hex value def mask prop_get('mask') end # 1-byte hex value def mask=(val) prop_set('mask', val) end end def ip6_hop_limit @subclasses['ip6-hop-limit'] ||= Ip6HopLimit.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip6UserDefined < ConfigClass def has_multiple_values?; false; end def _section :'ip6-user-defined' end @props = {'offset'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'40', 'help-string'=>'Byte offset'}, 'width'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'Bit width'}, 'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,8}$', 'help-string'=>'4-byte hex value'}} # Byte offset def offset prop_get('offset') end # Byte offset def offset=(val) prop_set('offset', val) end # Bit width def width prop_get('width') end # Bit width def width=(val) prop_set('width', val) end def value prop_get('value') end def value=(val) prop_set('value', val) end # 4-byte hex value def mask prop_get('mask') end # 4-byte hex value def mask=(val) prop_set('mask', val) end end def ip6_user_defined @subclasses['ip6-user-defined'] ||= Ip6UserDefined.new(parent_instance: self, client: @client, create_children: @create_children) end class IcmpType < ConfigClass def has_multiple_values?; false; end def _section :'icmp-type' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,2}$', 'help-string'=>'1-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 1-byte hex value def mask prop_get('mask') end # 1-byte hex value def mask=(val) prop_set('mask', val) end end def icmp_type @subclasses['icmp-type'] ||= IcmpType.new(parent_instance: self, client: @client, create_children: @create_children) end class IcmpCode < ConfigClass def has_multiple_values?; false; end def _section :'icmp-code' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,2}$', 'help-string'=>'1-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 1-byte hex value def mask prop_get('mask') end # 1-byte hex value def mask=(val) prop_set('mask', val) end end def icmp_code @subclasses['icmp-code'] ||= IcmpCode.new(parent_instance: self, client: @client, create_children: @create_children) end class IcmpChecksum < ConfigClass def has_multiple_values?; false; end def _section :'icmp-checksum' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,4}$', 'help-string'=>'2-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 2-byte hex value def mask prop_get('mask') end # 2-byte hex value def mask=(val) prop_set('mask', val) end end def icmp_checksum @subclasses['icmp-checksum'] ||= IcmpChecksum.new(parent_instance: self, client: @client, create_children: @create_children) end class IcmpId < ConfigClass def has_multiple_values?; false; end def _section :'icmp-id' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,4}$', 'help-string'=>'2-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 2-byte hex value def mask prop_get('mask') end # 2-byte hex value def mask=(val) prop_set('mask', val) end end def icmp_id @subclasses['icmp-id'] ||= IcmpId.new(parent_instance: self, client: @client, create_children: @create_children) end class IcmpSequence < ConfigClass def has_multiple_values?; false; end def _section :'icmp-sequence' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,4}$', 'help-string'=>'2-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 2-byte hex value def mask prop_get('mask') end # 2-byte hex value def mask=(val) prop_set('mask', val) end end def icmp_sequence @subclasses['icmp-sequence'] ||= IcmpSequence.new(parent_instance: self, client: @client, create_children: @create_children) end class IcmpUserDefined < ConfigClass def has_multiple_values?; false; end def _section :'icmp-user-defined' end @props = {'offset'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'8', 'help-string'=>'Byte offset'}, 'width'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'Bit width'}, 'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,8}$', 'help-string'=>'4-byte hex value'}} # Byte offset def offset prop_get('offset') end # Byte offset def offset=(val) prop_set('offset', val) end # Bit width def width prop_get('width') end # Bit width def width=(val) prop_set('width', val) end def value prop_get('value') end def value=(val) prop_set('value', val) end # 4-byte hex value def mask prop_get('mask') end # 4-byte hex value def mask=(val) prop_set('mask', val) end end def icmp_user_defined @subclasses['icmp-user-defined'] ||= IcmpUserDefined.new(parent_instance: self, client: @client, create_children: @create_children) end class Icmp6Type < ConfigClass def has_multiple_values?; false; end def _section :'icmp6-type' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,2}$', 'help-string'=>'1-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 1-byte hex value def mask prop_get('mask') end # 1-byte hex value def mask=(val) prop_set('mask', val) end end def icmp6_type @subclasses['icmp6-type'] ||= Icmp6Type.new(parent_instance: self, client: @client, create_children: @create_children) end class Icmp6Code < ConfigClass def has_multiple_values?; false; end def _section :'icmp6-code' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,2}$', 'help-string'=>'1-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 1-byte hex value def mask prop_get('mask') end # 1-byte hex value def mask=(val) prop_set('mask', val) end end def icmp6_code @subclasses['icmp6-code'] ||= Icmp6Code.new(parent_instance: self, client: @client, create_children: @create_children) end class Icmp6Checksum < ConfigClass def has_multiple_values?; false; end def _section :'icmp6-checksum' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,4}$', 'help-string'=>'2-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 2-byte hex value def mask prop_get('mask') end # 2-byte hex value def mask=(val) prop_set('mask', val) end end def icmp6_checksum @subclasses['icmp6-checksum'] ||= Icmp6Checksum.new(parent_instance: self, client: @client, create_children: @create_children) end class Icmp6UserDefined < ConfigClass def has_multiple_values?; false; end def _section :'icmp6-user-defined' end @props = {'offset'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4', 'help-string'=>'Byte offset'}, 'width'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'Bit width'}, 'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,8}$', 'help-string'=>'4-byte hex value'}} # Byte offset def offset prop_get('offset') end # Byte offset def offset=(val) prop_set('offset', val) end # Bit width def width prop_get('width') end # Bit width def width=(val) prop_set('width', val) end def value prop_get('value') end def value=(val) prop_set('value', val) end # 4-byte hex value def mask prop_get('mask') end # 4-byte hex value def mask=(val) prop_set('mask', val) end end def icmp6_user_defined @subclasses['icmp6-user-defined'] ||= Icmp6UserDefined.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpSourcePort < ConfigClass def has_multiple_values?; false; end def _section :'tcp-source-port' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,4}$', 'help-string'=>'2-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 2-byte hex value def mask prop_get('mask') end # 2-byte hex value def mask=(val) prop_set('mask', val) end end def tcp_source_port @subclasses['tcp-source-port'] ||= TcpSourcePort.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpDestinationPort < ConfigClass def has_multiple_values?; false; end def _section :'tcp-destination-port' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,4}$', 'help-string'=>'2-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 2-byte hex value def mask prop_get('mask') end # 2-byte hex value def mask=(val) prop_set('mask', val) end end def tcp_destination_port @subclasses['tcp-destination-port'] ||= TcpDestinationPort.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpSequenceNumber < ConfigClass def has_multiple_values?; false; end def _section :'tcp-sequence-number' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,8}$', 'help-string'=>'4-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 4-byte hex value def mask prop_get('mask') end # 4-byte hex value def mask=(val) prop_set('mask', val) end end def tcp_sequence_number @subclasses['tcp-sequence-number'] ||= TcpSequenceNumber.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpAcknowledgeNumber < ConfigClass def has_multiple_values?; false; end def _section :'tcp-acknowledge-number' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,8}$', 'help-string'=>'4-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 4-byte hex value def mask prop_get('mask') end # 4-byte hex value def mask=(val) prop_set('mask', val) end end def tcp_acknowledge_number @subclasses['tcp-acknowledge-number'] ||= TcpAcknowledgeNumber.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpDataOffset < ConfigClass def has_multiple_values?; false; end def _section :'tcp-data-offset' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'15'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1}$', 'help-string'=>'1-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 1-byte hex value def mask prop_get('mask') end # 1-byte hex value def mask=(val) prop_set('mask', val) end end def tcp_data_offset @subclasses['tcp-data-offset'] ||= TcpDataOffset.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpReserved < ConfigClass def has_multiple_values?; false; end def _section :'tcp-reserved' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'7'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1}$', 'elp-string'=>'1-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end def mask prop_get('mask') end def mask=(val) prop_set('mask', val) end end def tcp_reserved @subclasses['tcp-reserved'] ||= TcpReserved.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpFlagEce < ConfigClass def has_multiple_values?; false; end def _section :'tcp-flag-ece' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'1'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_flag_ece @subclasses['tcp-flag-ece'] ||= TcpFlagEce.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpFlagCwr < ConfigClass def has_multiple_values?; false; end def _section :'tcp-flag-cwr' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'1'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_flag_cwr @subclasses['tcp-flag-cwr'] ||= TcpFlagCwr.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpFlagUrg < ConfigClass def has_multiple_values?; false; end def _section :'tcp-flag-urg' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'1'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_flag_urg @subclasses['tcp-flag-urg'] ||= TcpFlagUrg.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpFlagAck < ConfigClass def has_multiple_values?; false; end def _section :'tcp-flag-ack' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'1'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_flag_ack @subclasses['tcp-flag-ack'] ||= TcpFlagAck.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpFlagPsh < ConfigClass def has_multiple_values?; false; end def _section :'tcp-flag-psh' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'1'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_flag_psh @subclasses['tcp-flag-psh'] ||= TcpFlagPsh.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpFlagRst < ConfigClass def has_multiple_values?; false; end def _section :'tcp-flag-rst' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'1'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_flag_rst @subclasses['tcp-flag-rst'] ||= TcpFlagRst.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpFlagSyn < ConfigClass def has_multiple_values?; false; end def _section :'tcp-flag-syn' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'1'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_flag_syn @subclasses['tcp-flag-syn'] ||= TcpFlagSyn.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpFlagFin < ConfigClass def has_multiple_values?; false; end def _section :'tcp-flag-fin' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'1'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_flag_fin @subclasses['tcp-flag-fin'] ||= TcpFlagFin.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpWindowSize < ConfigClass def has_multiple_values?; false; end def _section :'tcp-window-size' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,4}$', 'help-string'=>'2-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 2-byte hex value def mask prop_get('mask') end # 2-byte hex value def mask=(val) prop_set('mask', val) end end def tcp_window_size @subclasses['tcp-window-size'] ||= TcpWindowSize.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpChecksum < ConfigClass def has_multiple_values?; false; end def _section :'tcp-checksum' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,4}$', 'help-string'=>'2-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 2-byte hex value def mask prop_get('mask') end # 2-byte hex value def mask=(val) prop_set('mask', val) end end def tcp_checksum @subclasses['tcp-checksum'] ||= TcpChecksum.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpUrgentPointer < ConfigClass def has_multiple_values?; false; end def _section :'tcp-urgent-pointer' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,4}$', 'help-string'=>'2-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 2-byte hex value def mask prop_get('mask') end # 2-byte hex value def mask=(val) prop_set('mask', val) end end def tcp_urgent_pointer @subclasses['tcp-urgent-pointer'] ||= TcpUrgentPointer.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpUserDefined < ConfigClass def has_multiple_values?; false; end def _section :'tcp-user-defined' end @props = {'offset'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'24', 'help-string'=>'Byte offset'}, 'width'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'Bit width'}, 'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,8}$', 'help-string'=>'4-byte hex value'}} # Byte offset def offset prop_get('offset') end # Byte offset def offset=(val) prop_set('offset', val) end # Bit width def width prop_get('width') end # Bit width def width=(val) prop_set('width', val) end def value prop_get('value') end def value=(val) prop_set('value', val) end # 4-byte hex value def mask prop_get('mask') end # 4-byte hex value def mask=(val) prop_set('mask', val) end end def tcp_user_defined @subclasses['tcp-user-defined'] ||= TcpUserDefined.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionKind < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-kind' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,2}$', 'help-string'=>'1-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 1-byte hex value def mask prop_get('mask') end # 1-byte hex value def mask=(val) prop_set('mask', val) end end def tcp_option_kind @subclasses['tcp-option-kind'] ||= TcpOptionKind.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionLength < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-length' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,2}$', 'help-string'=>'1-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 1-byte hex value def mask prop_get('mask') end # 1-byte hex value def mask=(val) prop_set('mask', val) end end def tcp_option_length @subclasses['tcp-option-length'] ||= TcpOptionLength.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionUserDefined < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-user-defined' end @props = {'offset'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'40', 'help-string'=>'Byte offset'}, 'width'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'Bit width'}, 'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,8}$', 'help-string'=>'4-byte hex value'}} # Byte offset def offset prop_get('offset') end # Byte offset def offset=(val) prop_set('offset', val) end # Bit width def width prop_get('width') end # Bit width def width=(val) prop_set('width', val) end def value prop_get('value') end def value=(val) prop_set('value', val) end # 4-byte hex value def mask prop_get('mask') end # 4-byte hex value def mask=(val) prop_set('mask', val) end end def tcp_option_user_defined @subclasses['tcp-option-user-defined'] ||= TcpOptionUserDefined.new(parent_instance: self, client: @client, create_children: @create_children) end class UdpSourcePort < ConfigClass def has_multiple_values?; false; end def _section :'udp-source-port' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,4}$', 'help-string'=>'2-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 2-byte hex value def mask prop_get('mask') end # 2-byte hex value def mask=(val) prop_set('mask', val) end end def udp_source_port @subclasses['udp-source-port'] ||= UdpSourcePort.new(parent_instance: self, client: @client, create_children: @create_children) end class UdpDestinationPort < ConfigClass def has_multiple_values?; false; end def _section :'udp-destination-port' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,4}$', 'help-string'=>'2-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 2-byte hex value def mask prop_get('mask') end # 2-byte hex value def mask=(val) prop_set('mask', val) end end def udp_destination_port @subclasses['udp-destination-port'] ||= UdpDestinationPort.new(parent_instance: self, client: @client, create_children: @create_children) end class UdpLength < ConfigClass def has_multiple_values?; false; end def _section :'udp-length' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,4}$', 'help-string'=>'2-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 2-byte hex value def mask prop_get('mask') end # 2-byte hex value def mask=(val) prop_set('mask', val) end end def udp_length @subclasses['udp-length'] ||= UdpLength.new(parent_instance: self, client: @client, create_children: @create_children) end class UdpChecksum < ConfigClass def has_multiple_values?; false; end def _section :'udp-checksum' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,4}$', 'help-string'=>'2-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 2-byte hex value def mask prop_get('mask') end # 2-byte hex value def mask=(val) prop_set('mask', val) end end def udp_checksum @subclasses['udp-checksum'] ||= UdpChecksum.new(parent_instance: self, client: @client, create_children: @create_children) end class UdpUserDefined < ConfigClass def has_multiple_values?; false; end def _section :'udp-user-defined' end @props = {'offset'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'8', 'help-string'=>'Byte offset'}, 'width'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'Bit width'}, 'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,8}$', 'help-string'=>'4-byte hex value'}} # Byte offset def offset prop_get('offset') end # Byte offset def offset=(val) prop_set('offset', val) end # Bit width def width prop_get('width') end # Bit width def width=(val) prop_set('width', val) end def value prop_get('value') end def value=(val) prop_set('value', val) end # 4-byte hex value def mask prop_get('mask') end # 4-byte hex value def mask=(val) prop_set('mask', val) end end def udp_user_defined @subclasses['udp-user-defined'] ||= UdpUserDefined.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def context maybe_register_subclass('context', Context.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'negate'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}} def negate prop_get('negate') end def negate=(val) prop_set('negate', val) end end def equal_to @subclasses['equal-to'] ||= EqualTo.new(parent_instance: self, client: @client, create_children: @create_children) end class Range < ConfigClass def has_multiple_values?; false; end def _section :range end class Context < XML::ConfigClass def has_multiple_values?; true; end def _section :context end class IpVersion < ConfigClass def has_multiple_values?; false; end def _section :'ip-version' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'15'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'15'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def ip_version @subclasses['ip-version'] ||= IpVersion.new(parent_instance: self, client: @client, create_children: @create_children) end class IpHeaderLength < ConfigClass def has_multiple_values?; false; end def _section :'ip-header-length' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'15'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'15'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def ip_header_length @subclasses['ip-header-length'] ||= IpHeaderLength.new(parent_instance: self, client: @client, create_children: @create_children) end class IpTos < ConfigClass def has_multiple_values?; false; end def _section :'ip-tos' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def ip_tos @subclasses['ip-tos'] ||= IpTos.new(parent_instance: self, client: @client, create_children: @create_children) end class IpTotalLength < ConfigClass def has_multiple_values?; false; end def _section :'ip-total-length' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def ip_total_length @subclasses['ip-total-length'] ||= IpTotalLength.new(parent_instance: self, client: @client, create_children: @create_children) end class IpId < ConfigClass def has_multiple_values?; false; end def _section :'ip-id' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def ip_id @subclasses['ip-id'] ||= IpId.new(parent_instance: self, client: @client, create_children: @create_children) end class IpFragmentOffset < ConfigClass def has_multiple_values?; false; end def _section :'ip-fragment-offset' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'8191'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'8191'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def ip_fragment_offset @subclasses['ip-fragment-offset'] ||= IpFragmentOffset.new(parent_instance: self, client: @client, create_children: @create_children) end class IpTtl < ConfigClass def has_multiple_values?; false; end def _section :'ip-ttl' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def ip_ttl @subclasses['ip-ttl'] ||= IpTtl.new(parent_instance: self, client: @client, create_children: @create_children) end class IpProtocol < ConfigClass def has_multiple_values?; false; end def _section :'ip-protocol' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def ip_protocol @subclasses['ip-protocol'] ||= IpProtocol.new(parent_instance: self, client: @client, create_children: @create_children) end class IpHeaderChecksum < ConfigClass def has_multiple_values?; false; end def _section :'ip-header-checksum' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def ip_header_checksum @subclasses['ip-header-checksum'] ||= IpHeaderChecksum.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionType < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-type' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def ip_option_type @subclasses['ip-option-type'] ||= IpOptionType.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionNumber < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-number' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'31'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'31'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def ip_option_number @subclasses['ip-option-number'] ||= IpOptionNumber.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionLength < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-length' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def ip_option_length @subclasses['ip-option-length'] ||= IpOptionLength.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionUserDefined < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-user-defined' end @props = {'offset'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'40', 'help-string'=>'Byte offset'}, 'width'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'Bit width'}, 'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} # Byte offset def offset prop_get('offset') end # Byte offset def offset=(val) prop_set('offset', val) end # Bit width def width prop_get('width') end # Bit width def width=(val) prop_set('width', val) end def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def ip_option_user_defined @subclasses['ip-option-user-defined'] ||= IpOptionUserDefined.new(parent_instance: self, client: @client, create_children: @create_children) end class IpUserDefined < ConfigClass def has_multiple_values?; false; end def _section :'ip-user-defined' end @props = {'offset'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'60', 'help-string'=>'Byte offset'}, 'width'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'Bit width'}, 'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} # Byte offset def offset prop_get('offset') end # Byte offset def offset=(val) prop_set('offset', val) end # Bit width def width prop_get('width') end # Bit width def width=(val) prop_set('width', val) end def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def ip_user_defined @subclasses['ip-user-defined'] ||= IpUserDefined.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip6Version < ConfigClass def has_multiple_values?; false; end def _section :'ip6-version' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'15'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'15'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def ip6_version @subclasses['ip6-version'] ||= Ip6Version.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip6TrafficClass < ConfigClass def has_multiple_values?; false; end def _section :'ip6-traffic-class' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def ip6_traffic_class @subclasses['ip6-traffic-class'] ||= Ip6TrafficClass.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip6FlowLabel < ConfigClass def has_multiple_values?; false; end def _section :'ip6-flow-label' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'1048575'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'1048575'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def ip6_flow_label @subclasses['ip6-flow-label'] ||= Ip6FlowLabel.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip6PayloadLength < ConfigClass def has_multiple_values?; false; end def _section :'ip6-payload-length' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def ip6_payload_length @subclasses['ip6-payload-length'] ||= Ip6PayloadLength.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip6NextHeader < ConfigClass def has_multiple_values?; false; end def _section :'ip6-next-header' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def ip6_next_header @subclasses['ip6-next-header'] ||= Ip6NextHeader.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip6HopLimit < ConfigClass def has_multiple_values?; false; end def _section :'ip6-hop-limit' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def ip6_hop_limit @subclasses['ip6-hop-limit'] ||= Ip6HopLimit.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip6UserDefined < ConfigClass def has_multiple_values?; false; end def _section :'ip6-user-defined' end @props = {'offset'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'40', 'help-string'=>'Byte offset'}, 'width'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'Bit width'}, 'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} # Byte offset def offset prop_get('offset') end # Byte offset def offset=(val) prop_set('offset', val) end # Bit width def width prop_get('width') end # Bit width def width=(val) prop_set('width', val) end def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def ip6_user_defined @subclasses['ip6-user-defined'] ||= Ip6UserDefined.new(parent_instance: self, client: @client, create_children: @create_children) end class IcmpType < ConfigClass def has_multiple_values?; false; end def _section :'icmp-type' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def icmp_type @subclasses['icmp-type'] ||= IcmpType.new(parent_instance: self, client: @client, create_children: @create_children) end class IcmpCode < ConfigClass def has_multiple_values?; false; end def _section :'icmp-code' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def icmp_code @subclasses['icmp-code'] ||= IcmpCode.new(parent_instance: self, client: @client, create_children: @create_children) end class IcmpChecksum < ConfigClass def has_multiple_values?; false; end def _section :'icmp-checksum' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def icmp_checksum @subclasses['icmp-checksum'] ||= IcmpChecksum.new(parent_instance: self, client: @client, create_children: @create_children) end class IcmpId < ConfigClass def has_multiple_values?; false; end def _section :'icmp-id' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def icmp_id @subclasses['icmp-id'] ||= IcmpId.new(parent_instance: self, client: @client, create_children: @create_children) end class IcmpSequence < ConfigClass def has_multiple_values?; false; end def _section :'icmp-sequence' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def icmp_sequence @subclasses['icmp-sequence'] ||= IcmpSequence.new(parent_instance: self, client: @client, create_children: @create_children) end class IcmpUserDefined < ConfigClass def has_multiple_values?; false; end def _section :'icmp-user-defined' end @props = {'offset'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'8', 'help-string'=>'Byte offset'}, 'width'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'Bit width'}, 'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} # Byte offset def offset prop_get('offset') end # Byte offset def offset=(val) prop_set('offset', val) end # Bit width def width prop_get('width') end # Bit width def width=(val) prop_set('width', val) end def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def icmp_user_defined @subclasses['icmp-user-defined'] ||= IcmpUserDefined.new(parent_instance: self, client: @client, create_children: @create_children) end class Icmp6Type < ConfigClass def has_multiple_values?; false; end def _section :'icmp6-type' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def icmp6_type @subclasses['icmp6-type'] ||= Icmp6Type.new(parent_instance: self, client: @client, create_children: @create_children) end class Icmp6Code < ConfigClass def has_multiple_values?; false; end def _section :'icmp6-code' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def icmp6_code @subclasses['icmp6-code'] ||= Icmp6Code.new(parent_instance: self, client: @client, create_children: @create_children) end class Icmp6Checksum < ConfigClass def has_multiple_values?; false; end def _section :'icmp6-checksum' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def icmp6_checksum @subclasses['icmp6-checksum'] ||= Icmp6Checksum.new(parent_instance: self, client: @client, create_children: @create_children) end class Icmp6UserDefined < ConfigClass def has_multiple_values?; false; end def _section :'icmp6-user-defined' end @props = {'offset'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4', 'help-string'=>'Byte offset'}, 'width'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'Bit width'}, 'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} # Byte offset def offset prop_get('offset') end # Byte offset def offset=(val) prop_set('offset', val) end # Bit width def width prop_get('width') end # Bit width def width=(val) prop_set('width', val) end def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def icmp6_user_defined @subclasses['icmp6-user-defined'] ||= Icmp6UserDefined.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpSourcePort < ConfigClass def has_multiple_values?; false; end def _section :'tcp-source-port' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def tcp_source_port @subclasses['tcp-source-port'] ||= TcpSourcePort.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpDestinationPort < ConfigClass def has_multiple_values?; false; end def _section :'tcp-destination-port' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def tcp_destination_port @subclasses['tcp-destination-port'] ||= TcpDestinationPort.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpSequenceNumber < ConfigClass def has_multiple_values?; false; end def _section :'tcp-sequence-number' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def tcp_sequence_number @subclasses['tcp-sequence-number'] ||= TcpSequenceNumber.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpAcknowledgeNumber < ConfigClass def has_multiple_values?; false; end def _section :'tcp-acknowledge-number' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def tcp_acknowledge_number @subclasses['tcp-acknowledge-number'] ||= TcpAcknowledgeNumber.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpDataOffset < ConfigClass def has_multiple_values?; false; end def _section :'tcp-data-offset' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'15'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'15'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def tcp_data_offset @subclasses['tcp-data-offset'] ||= TcpDataOffset.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpReserved < ConfigClass def has_multiple_values?; false; end def _section :'tcp-reserved' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'7'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'7'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def tcp_reserved @subclasses['tcp-reserved'] ||= TcpReserved.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpWindowSize < ConfigClass def has_multiple_values?; false; end def _section :'tcp-window-size' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def tcp_window_size @subclasses['tcp-window-size'] ||= TcpWindowSize.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpChecksum < ConfigClass def has_multiple_values?; false; end def _section :'tcp-checksum' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def tcp_checksum @subclasses['tcp-checksum'] ||= TcpChecksum.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpUrgentPointer < ConfigClass def has_multiple_values?; false; end def _section :'tcp-urgent-pointer' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def tcp_urgent_pointer @subclasses['tcp-urgent-pointer'] ||= TcpUrgentPointer.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpUserDefined < ConfigClass def has_multiple_values?; false; end def _section :'tcp-user-defined' end @props = {'offset'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'24', 'help-string'=>'Byte offset'}, 'width'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'Bit width'}, 'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} # Byte offset def offset prop_get('offset') end # Byte offset def offset=(val) prop_set('offset', val) end # Bit width def width prop_get('width') end # Bit width def width=(val) prop_set('width', val) end def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def tcp_user_defined @subclasses['tcp-user-defined'] ||= TcpUserDefined.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionKind < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-kind' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def tcp_option_kind @subclasses['tcp-option-kind'] ||= TcpOptionKind.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionLength < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-length' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def tcp_option_length @subclasses['tcp-option-length'] ||= TcpOptionLength.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionUserDefined < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-user-defined' end @props = {'offset'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'40', 'help-string'=>'Byte offset'}, 'width'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'Bit width'}, 'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} # Byte offset def offset prop_get('offset') end # Byte offset def offset=(val) prop_set('offset', val) end # Bit width def width prop_get('width') end # Bit width def width=(val) prop_set('width', val) end def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def tcp_option_user_defined @subclasses['tcp-option-user-defined'] ||= TcpOptionUserDefined.new(parent_instance: self, client: @client, create_children: @create_children) end class UdpSourcePort < ConfigClass def has_multiple_values?; false; end def _section :'udp-source-port' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def udp_source_port @subclasses['udp-source-port'] ||= UdpSourcePort.new(parent_instance: self, client: @client, create_children: @create_children) end class UdpDestinationPort < ConfigClass def has_multiple_values?; false; end def _section :'udp-destination-port' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def udp_destination_port @subclasses['udp-destination-port'] ||= UdpDestinationPort.new(parent_instance: self, client: @client, create_children: @create_children) end class UdpLength < ConfigClass def has_multiple_values?; false; end def _section :'udp-length' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def udp_length @subclasses['udp-length'] ||= UdpLength.new(parent_instance: self, client: @client, create_children: @create_children) end class UdpChecksum < ConfigClass def has_multiple_values?; false; end def _section :'udp-checksum' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def udp_checksum @subclasses['udp-checksum'] ||= UdpChecksum.new(parent_instance: self, client: @client, create_children: @create_children) end class UdpUserDefined < ConfigClass def has_multiple_values?; false; end def _section :'udp-user-defined' end @props = {'offset'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'8', 'help-string'=>'Byte offset'}, 'width'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'Bit width'}, 'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} # Byte offset def offset prop_get('offset') end # Byte offset def offset=(val) prop_set('offset', val) end # Bit width def width prop_get('width') end # Bit width def width=(val) prop_set('width', val) end def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def udp_user_defined @subclasses['udp-user-defined'] ||= UdpUserDefined.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def context maybe_register_subclass('context', Context.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def range @subclasses['range'] ||= Range.new(parent_instance: self, client: @client, create_children: @create_children) end class Event < ConfigClass def has_multiple_values?; false; end def _section :event end class Context < XML::ConfigClass def has_multiple_values?; true; end def _section :context end class IpSameAddress < ConfigClass def has_multiple_values?; false; end def _section :'ip-same-address' end @props = {} end def ip_same_address @subclasses['ip-same-address'] ||= IpSameAddress.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip6SameAddress < ConfigClass def has_multiple_values?; false; end def _section :'ip6-same-address' end @props = {} end def ip6_same_address @subclasses['ip6-same-address'] ||= Ip6SameAddress.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionEool < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-eool' end @props = {} end def ip_option_eool @subclasses['ip-option-eool'] ||= IpOptionEool.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionNop < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-nop' end @props = {} end def ip_option_nop @subclasses['ip-option-nop'] ||= IpOptionNop.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionSec < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-sec' end @props = {} end def ip_option_sec @subclasses['ip-option-sec'] ||= IpOptionSec.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionLsr < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-lsr' end @props = {} end def ip_option_lsr @subclasses['ip-option-lsr'] ||= IpOptionLsr.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionTs < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-ts' end @props = {} end def ip_option_ts @subclasses['ip-option-ts'] ||= IpOptionTs.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionEsec < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-esec' end @props = {} end def ip_option_esec @subclasses['ip-option-esec'] ||= IpOptionEsec.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionCipso < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-cipso' end @props = {} end def ip_option_cipso @subclasses['ip-option-cipso'] ||= IpOptionCipso.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionRr < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-rr' end @props = {} end def ip_option_rr @subclasses['ip-option-rr'] ||= IpOptionRr.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionSid < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-sid' end @props = {} end def ip_option_sid @subclasses['ip-option-sid'] ||= IpOptionSid.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionSsr < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-ssr' end @props = {} end def ip_option_ssr @subclasses['ip-option-ssr'] ||= IpOptionSsr.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionZsu < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-zsu' end @props = {} end def ip_option_zsu @subclasses['ip-option-zsu'] ||= IpOptionZsu.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionMtup < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-mtup' end @props = {} end def ip_option_mtup @subclasses['ip-option-mtup'] ||= IpOptionMtup.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionMtur < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-mtur' end @props = {} end def ip_option_mtur @subclasses['ip-option-mtur'] ||= IpOptionMtur.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionFinn < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-finn' end @props = {} end def ip_option_finn @subclasses['ip-option-finn'] ||= IpOptionFinn.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionVisa < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-visa' end @props = {} end def ip_option_visa @subclasses['ip-option-visa'] ||= IpOptionVisa.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionEncode < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-encode' end @props = {} end def ip_option_encode @subclasses['ip-option-encode'] ||= IpOptionEncode.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionImitd < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-imitd' end @props = {} end def ip_option_imitd @subclasses['ip-option-imitd'] ||= IpOptionImitd.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionEip < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-eip' end @props = {} end def ip_option_eip @subclasses['ip-option-eip'] ||= IpOptionEip.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionTr < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-tr' end @props = {} end def ip_option_tr @subclasses['ip-option-tr'] ||= IpOptionTr.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionAddext < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-addext' end @props = {} end def ip_option_addext @subclasses['ip-option-addext'] ||= IpOptionAddext.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionRtralt < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-rtralt' end @props = {} end def ip_option_rtralt @subclasses['ip-option-rtralt'] ||= IpOptionRtralt.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionSdb < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-sdb' end @props = {} end def ip_option_sdb @subclasses['ip-option-sdb'] ||= IpOptionSdb.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionDps < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-dps' end @props = {} end def ip_option_dps @subclasses['ip-option-dps'] ||= IpOptionDps.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionUmp < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-ump' end @props = {} end def ip_option_ump @subclasses['ip-option-ump'] ||= IpOptionUmp.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionQs < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-qs' end @props = {} end def ip_option_qs @subclasses['ip-option-qs'] ||= IpOptionQs.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionEool < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-eool' end @props = {} end def tcp_option_eool @subclasses['tcp-option-eool'] ||= TcpOptionEool.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionNop < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-nop' end @props = {} end def tcp_option_nop @subclasses['tcp-option-nop'] ||= TcpOptionNop.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionMss < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-mss' end @props = {} end def tcp_option_mss @subclasses['tcp-option-mss'] ||= TcpOptionMss.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionWs < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-ws' end @props = {} end def tcp_option_ws @subclasses['tcp-option-ws'] ||= TcpOptionWs.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionSackPermit < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-sack-permit' end @props = {} end def tcp_option_sack_permit @subclasses['tcp-option-sack-permit'] ||= TcpOptionSackPermit.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionSack < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-sack' end @props = {} end def tcp_option_sack @subclasses['tcp-option-sack'] ||= TcpOptionSack.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionEcho < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-echo' end @props = {} end def tcp_option_echo @subclasses['tcp-option-echo'] ||= TcpOptionEcho.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionEchoReply < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-echo-reply' end @props = {} end def tcp_option_echo_reply @subclasses['tcp-option-echo-reply'] ||= TcpOptionEchoReply.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionTs < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-ts' end @props = {} end def tcp_option_ts @subclasses['tcp-option-ts'] ||= TcpOptionTs.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionPartialPermit < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-partial-permit' end @props = {} end def tcp_option_partial_permit @subclasses['tcp-option-partial-permit'] ||= TcpOptionPartialPermit.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionPartialProfile < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-partial-profile' end @props = {} end def tcp_option_partial_profile @subclasses['tcp-option-partial-profile'] ||= TcpOptionPartialProfile.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionCc < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-cc' end @props = {} end def tcp_option_cc @subclasses['tcp-option-cc'] ||= TcpOptionCc.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionCcNew < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-cc-new' end @props = {} end def tcp_option_cc_new @subclasses['tcp-option-cc-new'] ||= TcpOptionCcNew.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionCcEcho < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-cc-echo' end @props = {} end def tcp_option_cc_echo @subclasses['tcp-option-cc-echo'] ||= TcpOptionCcEcho.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionAltRst < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-alt-rst' end @props = {} end def tcp_option_alt_rst @subclasses['tcp-option-alt-rst'] ||= TcpOptionAltRst.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionAltDat < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-alt-dat' end @props = {} end def tcp_option_alt_dat @subclasses['tcp-option-alt-dat'] ||= TcpOptionAltDat.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionSkeeter < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-skeeter' end @props = {} end def tcp_option_skeeter @subclasses['tcp-option-skeeter'] ||= TcpOptionSkeeter.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionBubba < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-bubba' end @props = {} end def tcp_option_bubba @subclasses['tcp-option-bubba'] ||= TcpOptionBubba.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionTrailer < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-trailer' end @props = {} end def tcp_option_trailer @subclasses['tcp-option-trailer'] ||= TcpOptionTrailer.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionMd5 < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-md5' end @props = {} end def tcp_option_md5 @subclasses['tcp-option-md5'] ||= TcpOptionMd5.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionScps < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-scps' end @props = {} end def tcp_option_scps @subclasses['tcp-option-scps'] ||= TcpOptionScps.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionSnak < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-snak' end @props = {} end def tcp_option_snak @subclasses['tcp-option-snak'] ||= TcpOptionSnak.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionRecBd < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-rec-bd' end @props = {} end def tcp_option_rec_bd @subclasses['tcp-option-rec-bd'] ||= TcpOptionRecBd.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionCorrupt < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-corrupt' end @props = {} end def tcp_option_corrupt @subclasses['tcp-option-corrupt'] ||= TcpOptionCorrupt.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionSnap < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-snap' end @props = {} end def tcp_option_snap @subclasses['tcp-option-snap'] ||= TcpOptionSnap.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionCompress < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-compress' end @props = {} end def tcp_option_compress @subclasses['tcp-option-compress'] ||= TcpOptionCompress.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionQsRes < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-qs-res' end @props = {} end def tcp_option_qs_res @subclasses['tcp-option-qs-res'] ||= TcpOptionQsRes.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionUserTimeout < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-user-timeout' end @props = {} end def tcp_option_user_timeout @subclasses['tcp-option-user-timeout'] ||= TcpOptionUserTimeout.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionTcpAo < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-tcp-ao' end @props = {} end def tcp_option_tcp_ao @subclasses['tcp-option-tcp-ao'] ||= TcpOptionTcpAo.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionMptcp < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-mptcp' end @props = {} end def tcp_option_mptcp @subclasses['tcp-option-mptcp'] ||= TcpOptionMptcp.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionFast < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-fast' end @props = {} end def tcp_option_fast @subclasses['tcp-option-fast'] ||= TcpOptionFast.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionEno < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-eno' end @props = {} end def tcp_option_eno @subclasses['tcp-option-eno'] ||= TcpOptionEno.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def context maybe_register_subclass('context', Context.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def event @subclasses['event'] ||= Event.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def operator maybe_register_subclass('operator', Operator.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def and_condition maybe_register_subclass('and-condition', AndCondition.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def or_condition maybe_register_subclass('or-condition', OrCondition.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'comment'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'256'}} def comment prop_get('comment') end def comment=(val) prop_set('comment', val) end end def signature @subclasses['signature'] ||= Signature.new(parent_instance: self, client: @client, create_children: @create_children) end class Cve < XML::ConfigClass def has_multiple_values?; true; end def _section :cve end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'CVE #, CVE-1999-0001 etc'}} # CVE #, CVE-1999-0001 etc def member prop_get('member') end # CVE #, CVE-1999-0001 etc def member=(val) prop_set('member', val) end end def cve maybe_register_subclass('cve', Cve.new(parent_instance: self, client: @client, create_children: @create_children)) end class Bugtraq < XML::ConfigClass def has_multiple_values?; true; end def _section :bugtraq end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'bugtraq id'}} # bugtraq id def member prop_get('member') end # bugtraq id def member=(val) prop_set('member', val) end end def bugtraq maybe_register_subclass('bugtraq', Bugtraq.new(parent_instance: self, client: @client, create_children: @create_children)) end class Vendor < XML::ConfigClass def has_multiple_values?; true; end def _section :vendor end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'Vendor\'s refer id, for example, MS03-026'}} # Vendor's refer id, for example, MS03-026 def member prop_get('member') end # Vendor's refer id, for example, MS03-026 def member=(val) prop_set('member', val) end end def vendor maybe_register_subclass('vendor', Vendor.new(parent_instance: self, client: @client, create_children: @create_children)) end class Reference < XML::ConfigClass def has_multiple_values?; true; end def _section :reference end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256', 'help-string'=>'URL'}} # URL def member prop_get('member') end # URL def member=(val) prop_set('member', val) end end def reference maybe_register_subclass('reference', Reference.new(parent_instance: self, client: @client, create_children: @create_children)) end class ExemptIp < XML::ConfigClass def has_multiple_values?; true; end def _section :'exempt-ip' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'optional'=>'no', 'type'=>'ipspec', 'unicast-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes', 'help-string'=>'Exempt IP address'}} # Exempt IP address def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def exempt_ip maybe_register_subclass('exempt-ip', ExemptIp.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'threat-id'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'41000', 'max'=>'6900000', 'help-string'=>'threat id range <41000-45000> and <6800001-6900000>'}, 'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'icmp-unreachable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'send icmp unreachable packets if packet is dropped'}, 'action'=>{'node-type'=>'element', 'optional'=>'no', 'type'=>'enum', 'default'=>'allow', 'enum'=>[{'value'=>'allow'}, {'value'=>'alert'}, {'value'=>'drop'}, {'value'=>'reset-client'}, {'value'=>'reset-server'}, {'value'=>'reset-both'}]}, 'log-severity'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'default'=>'medium', 'help-string'=>'log severity when credential matched'}, 'log-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'15', 'min'=>'15', 'max'=>'3600', 'help-string'=>'interval to log matching packet'}, 'packet-capture'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'disable', 'enum'=>[{'value'=>'disable'}, {'value'=>'single-packet'}, {'value'=>'extended-capture'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # threat id range <41000-45000> and <6800001-6900000> def threat_id prop_get('threat-id') end # threat id range <41000-45000> and <6800001-6900000> def threat_id=(val) prop_set('threat-id', val) end def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # send icmp unreachable packets if packet is dropped def icmp_unreachable prop_get('icmp-unreachable') end # send icmp unreachable packets if packet is dropped def icmp_unreachable=(val) prop_set('icmp-unreachable', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # log severity when credential matched def log_severity prop_get('log-severity') end # log severity when credential matched def log_severity=(val) prop_set('log-severity', val) end # interval to log matching packet def log_interval prop_get('log-interval') end # interval to log matching packet def log_interval=(val) prop_set('log-interval', val) end def packet_capture prop_get('packet-capture') end def packet_capture=(val) prop_set('packet-capture', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rule maybe_register_subclass('rule', Rule.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def net_inspection @subclasses['net-inspection'] ||= NetInspection.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'tcp-reject-non-syn'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'global', 'help-string'=>'reject non-SYN TCP packet for session setup', 'enum'=>[{'value'=>'global', 'help-string'=>'Use global setting'}, {'value'=>'yes', 'help-string'=>'Reject non-SYN TCP'}, {'value'=>'no', 'help-string'=>'Accept non-SYN TCP'}]}, 'strip-mptcp-option'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'global', 'help-string'=>'strip mptcp option', 'enum'=>[{'value'=>'global', 'help-string'=>'Use global setting'}, {'value'=>'yes', 'help-string'=>'Strip mptcp option'}, {'value'=>'no', 'help-string'=>'Not Strip mptcp option'}]}, 'asymmetric-path'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'global', 'help-string'=>'actions for TCP sliding window tracking errors, also control enable/disable TCP sequence number check for FIN/RST', 'enum'=>[{'value'=>'global', 'help-string'=>'Use global setting'}, {'value'=>'drop', 'help-string'=>'drop offending packets that violated TCP sliding window tracking, enable TCP sequence number check for FIN/RST'}, {'value'=>'bypass', 'help-string'=>'bypass inspection for the session that has TCP sliding window tracking errors'}]}, 'discard-ip-spoof'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Discard spoofed IP packet'}, 'discard-ip-frag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Discard IP fragment'}, 'discard-icmp-ping-zero-id'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Discard ICMP Ping with zero ID'}, 'discard-icmp-frag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Discard ICMP fragment'}, 'discard-icmp-large-packet'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Discard Large ICMP packet (IP length > 1024B)'}, 'discard-icmp-error'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Discard ICMP embedded with error message'}, 'suppress-icmp-timeexceeded'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Do not reply ICMP TTL expired error (layer3 only)'}, 'suppress-icmp-needfrag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Do not reply ICMP NEEDFRAG (layer3 only)'}, 'discard-strict-source-routing'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Discard packets with strict source routing IP option'}, 'discard-loose-source-routing'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Discard packets with loose source routing IP option'}, 'discard-timestamp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Discard packets with Timestmp IP option'}, 'discard-record-route'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Discard packets with Record Route IP option'}, 'discard-security'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Discard packets with Security IP option'}, 'discard-stream-id'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Discard packets with Stream ID IP option'}, 'discard-unknown-option'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Discard packets with unknown IP option'}, 'discard-malformed-option'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Discard packets with malformed IP option'}, 'discard-overlapping-tcp-segment-mismatch'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Discard sessions with mismatch tcp overlapping segment'}, 'strict-ip-check'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Perform strict IP address check'}, 'remove-tcp-timestamp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Remove TCP Timestamp'}, 'discard-tcp-split-handshake'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Discard tcp split handshake packet'}, 'discard-tcp-syn-with-data'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Discard tcp syn packet with data payload'}, 'discard-tcp-synack-with-data'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Discard tcp syn ack packet with data payload'}, 'strip-tcp-fast-open-and-data'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Strip tcp fast option and data payload'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end # reject non-SYN TCP packet for session setup def tcp_reject_non_syn prop_get('tcp-reject-non-syn') end # reject non-SYN TCP packet for session setup def tcp_reject_non_syn=(val) prop_set('tcp-reject-non-syn', val) end # strip mptcp option def strip_mptcp_option prop_get('strip-mptcp-option') end # strip mptcp option def strip_mptcp_option=(val) prop_set('strip-mptcp-option', val) end # actions for TCP sliding window tracking errors, also control enable/disable TCP sequence number check for FIN/RST def asymmetric_path prop_get('asymmetric-path') end # actions for TCP sliding window tracking errors, also control enable/disable TCP sequence number check for FIN/RST def asymmetric_path=(val) prop_set('asymmetric-path', val) end # Discard spoofed IP packet def discard_ip_spoof prop_get('discard-ip-spoof') end # Discard spoofed IP packet def discard_ip_spoof=(val) prop_set('discard-ip-spoof', val) end # Discard IP fragment def discard_ip_frag prop_get('discard-ip-frag') end # Discard IP fragment def discard_ip_frag=(val) prop_set('discard-ip-frag', val) end # Discard ICMP Ping with zero ID def discard_icmp_ping_zero_id prop_get('discard-icmp-ping-zero-id') end # Discard ICMP Ping with zero ID def discard_icmp_ping_zero_id=(val) prop_set('discard-icmp-ping-zero-id', val) end # Discard ICMP fragment def discard_icmp_frag prop_get('discard-icmp-frag') end # Discard ICMP fragment def discard_icmp_frag=(val) prop_set('discard-icmp-frag', val) end # Discard Large ICMP packet (IP length > 1024B) def discard_icmp_large_packet prop_get('discard-icmp-large-packet') end # Discard Large ICMP packet (IP length > 1024B) def discard_icmp_large_packet=(val) prop_set('discard-icmp-large-packet', val) end # Discard ICMP embedded with error message def discard_icmp_error prop_get('discard-icmp-error') end # Discard ICMP embedded with error message def discard_icmp_error=(val) prop_set('discard-icmp-error', val) end # Do not reply ICMP TTL expired error (layer3 only) def suppress_icmp_timeexceeded prop_get('suppress-icmp-timeexceeded') end # Do not reply ICMP TTL expired error (layer3 only) def suppress_icmp_timeexceeded=(val) prop_set('suppress-icmp-timeexceeded', val) end # Do not reply ICMP NEEDFRAG (layer3 only) def suppress_icmp_needfrag prop_get('suppress-icmp-needfrag') end # Do not reply ICMP NEEDFRAG (layer3 only) def suppress_icmp_needfrag=(val) prop_set('suppress-icmp-needfrag', val) end # Discard packets with strict source routing IP option def discard_strict_source_routing prop_get('discard-strict-source-routing') end # Discard packets with strict source routing IP option def discard_strict_source_routing=(val) prop_set('discard-strict-source-routing', val) end # Discard packets with loose source routing IP option def discard_loose_source_routing prop_get('discard-loose-source-routing') end # Discard packets with loose source routing IP option def discard_loose_source_routing=(val) prop_set('discard-loose-source-routing', val) end # Discard packets with Timestmp IP option def discard_timestamp prop_get('discard-timestamp') end # Discard packets with Timestmp IP option def discard_timestamp=(val) prop_set('discard-timestamp', val) end # Discard packets with Record Route IP option def discard_record_route prop_get('discard-record-route') end # Discard packets with Record Route IP option def discard_record_route=(val) prop_set('discard-record-route', val) end # Discard packets with Security IP option def discard_security prop_get('discard-security') end # Discard packets with Security IP option def discard_security=(val) prop_set('discard-security', val) end # Discard packets with Stream ID IP option def discard_stream_id prop_get('discard-stream-id') end # Discard packets with Stream ID IP option def discard_stream_id=(val) prop_set('discard-stream-id', val) end # Discard packets with unknown IP option def discard_unknown_option prop_get('discard-unknown-option') end # Discard packets with unknown IP option def discard_unknown_option=(val) prop_set('discard-unknown-option', val) end # Discard packets with malformed IP option def discard_malformed_option prop_get('discard-malformed-option') end # Discard packets with malformed IP option def discard_malformed_option=(val) prop_set('discard-malformed-option', val) end # Discard sessions with mismatch tcp overlapping segment def discard_overlapping_tcp_segment_mismatch prop_get('discard-overlapping-tcp-segment-mismatch') end # Discard sessions with mismatch tcp overlapping segment def discard_overlapping_tcp_segment_mismatch=(val) prop_set('discard-overlapping-tcp-segment-mismatch', val) end # Perform strict IP address check def strict_ip_check prop_get('strict-ip-check') end # Perform strict IP address check def strict_ip_check=(val) prop_set('strict-ip-check', val) end # Remove TCP Timestamp def remove_tcp_timestamp prop_get('remove-tcp-timestamp') end # Remove TCP Timestamp def remove_tcp_timestamp=(val) prop_set('remove-tcp-timestamp', val) end # Discard tcp split handshake packet def discard_tcp_split_handshake prop_get('discard-tcp-split-handshake') end # Discard tcp split handshake packet def discard_tcp_split_handshake=(val) prop_set('discard-tcp-split-handshake', val) end # Discard tcp syn packet with data payload def discard_tcp_syn_with_data prop_get('discard-tcp-syn-with-data') end # Discard tcp syn packet with data payload def discard_tcp_syn_with_data=(val) prop_set('discard-tcp-syn-with-data', val) end # Discard tcp syn ack packet with data payload def discard_tcp_synack_with_data prop_get('discard-tcp-synack-with-data') end # Discard tcp syn ack packet with data payload def discard_tcp_synack_with_data=(val) prop_set('discard-tcp-synack-with-data', val) end # Strip tcp fast option and data payload def strip_tcp_fast_open_and_data prop_get('strip-tcp-fast-open-and-data') end # Strip tcp fast option and data payload def strip_tcp_fast_open_and_data=(val) prop_set('strip-tcp-fast-open-and-data', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def zone_protection_profile maybe_register_subclass('zone-protection-profile', ZoneProtectionProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class LldpProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'lldp-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class OptionTlvs < ConfigClass def has_multiple_values?; false; end def _section :'option-tlvs' end class ManagementAddress < ConfigClass def has_multiple_values?; false; end def _section :'management-address' end class Iplist < XML::ConfigClass def has_multiple_values?; true; end def _section :iplist end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'optional'=>'no', 'type'=>'string', 'maxlen'=>'31'}, 'interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'interface name'}, 'ipv4'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'IPv4 address'}, 'ipv6'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'50', 'help-string'=>'IPv6 address'}} def name prop_get('@name') end # interface name def interface prop_get('interface') end # interface name def interface=(val) prop_set('interface', val) end # IPv4 address def ipv4 prop_get('ipv4') end # IPv4 address def ipv4=(val) prop_set('ipv4', val) end # IPv6 address def ipv6 prop_get('ipv6') end # IPv6 address def ipv6=(val) prop_set('ipv6', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def iplist maybe_register_subclass('iplist', Iplist.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'default'=>'no', 'type'=>'bool'}} def enabled prop_get('enabled') end def enabled=(val) prop_set('enabled', val) end end def management_address @subclasses['management-address'] ||= ManagementAddress.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'port-description'=>{'node-type'=>'element', 'optional'=>'yes', 'default'=>'no', 'type'=>'bool'}, 'system-name'=>{'node-type'=>'element', 'optional'=>'yes', 'default'=>'no', 'type'=>'bool'}, 'system-description'=>{'node-type'=>'element', 'optional'=>'yes', 'default'=>'no', 'type'=>'bool'}, 'system-capabilities'=>{'node-type'=>'element', 'optional'=>'yes', 'default'=>'no', 'type'=>'bool'}} def port_description prop_get('port-description') end def port_description=(val) prop_set('port-description', val) end def system_name prop_get('system-name') end def system_name=(val) prop_set('system-name', val) end def system_description prop_get('system-description') end def system_description=(val) prop_set('system-description', val) end def system_capabilities prop_get('system-capabilities') end def system_capabilities=(val) prop_set('system-capabilities', val) end end def option_tlvs @subclasses['option-tlvs'] ||= OptionTlvs.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'mode'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'transmit-receive', 'help-string'=>'lldp operation mode', 'enum'=>[{'value'=>'transmit-receive', 'help-string'=>'transmit and receive'}, {'value'=>'transmit-only', 'help-string'=>'transmit only and will not receive'}, {'value'=>'receive-only', 'help-string'=>'receive only and will not transmit'}]}, 'snmp-syslog-notification'=>{'node-type'=>'element', 'optional'=>'yes', 'default'=>'no', 'type'=>'bool'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # lldp operation mode def mode prop_get('mode') end # lldp operation mode def mode=(val) prop_set('mode', val) end def snmp_syslog_notification prop_get('snmp-syslog-notification') end def snmp_syslog_notification=(val) prop_set('snmp-syslog-notification', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def lldp_profile maybe_register_subclass('lldp-profile', LldpProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class BfdProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'bfd-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Multihop < ConfigClass def has_multiple_values?; false; end def _section :multihop end @props = {'min-received-ttl'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'254', 'help-string'=>'minimum accepted ttl on received BFD packet', 'uiHint-fieldLabel'=>'Minimum Rx TTL'}} # minimum accepted ttl on received BFD packet def min_received_ttl prop_get('min-received-ttl') end # minimum accepted ttl on received BFD packet def min_received_ttl=(val) prop_set('min-received-ttl', val) end end def multihop @subclasses['multihop'] ||= Multihop.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'mode'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'active', 'help-string'=>'BFD operation mode', 'enum'=>[{'value'=>'active', 'help-string'=>'actively sends control packets to neighbor'}, {'value'=>'passive', 'help-string'=>'wait for neighbor to send control packets, will respond as required'}]}, 'min-tx-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'50', 'max'=>'10000', 'default'=>'1000', 'help-string'=>'desired minimum tx interval in ms', 'uiHint-fieldLabel'=>'Desired Minimum Tx Interval (ms)'}, 'min-rx-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'50', 'max'=>'10000', 'default'=>'1000', 'help-string'=>'required minimum rx interval in ms', 'uiHint-fieldLabel'=>'Required Minimum Rx Interval (ms)'}, 'detection-multiplier'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'2', 'max'=>'255', 'default'=>'3', 'help-string'=>'multiplier sent to remote system', 'uiHint-fieldLabel'=>'Detection Time Multiplier'}, 'hold-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'120000', 'default'=>'0', 'help-string'=>'delay transmission and reception of control packets in ms', 'uiHint-fieldLabel'=>'Hold Time (ms)'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # BFD operation mode def mode prop_get('mode') end # BFD operation mode def mode=(val) prop_set('mode', val) end # desired minimum tx interval in ms def min_tx_interval prop_get('min-tx-interval') end # desired minimum tx interval in ms def min_tx_interval=(val) prop_set('min-tx-interval', val) end # required minimum rx interval in ms def min_rx_interval prop_get('min-rx-interval') end # required minimum rx interval in ms def min_rx_interval=(val) prop_set('min-rx-interval', val) end # multiplier sent to remote system def detection_multiplier prop_get('detection-multiplier') end # multiplier sent to remote system def detection_multiplier=(val) prop_set('detection-multiplier', val) end # delay transmission and reception of control packets in ms def hold_time prop_get('hold-time') end # delay transmission and reception of control packets in ms def hold_time=(val) prop_set('hold-time', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def bfd_profile maybe_register_subclass('bfd-profile', BfdProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def profiles @subclasses['profiles'] ||= Profiles.new(parent_instance: self, client: @client, create_children: @create_children) end class Interface < ConfigClass def has_multiple_values?; false; end def _section :interface end class Ethernet < XML::ConfigClass def has_multiple_values?; true; end def _section :ethernet end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Poe < ConfigClass def has_multiple_values?; false; end def _section :poe end @props = {'poe-rsvd-pwr'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'90', 'default'=>'0', 'optional'=>'yes', 'help-string'=>'Reserved Power'}, 'poe-enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'PoE Enable'}} # Reserved Power def poe_rsvd_pwr prop_get('poe-rsvd-pwr') end # Reserved Power def poe_rsvd_pwr=(val) prop_set('poe-rsvd-pwr', val) end # PoE Enable def poe_enabled prop_get('poe-enabled') end # PoE Enable def poe_enabled=(val) prop_set('poe-enabled', val) end end def poe @subclasses['poe'] ||= Poe.new(parent_instance: self, client: @client, create_children: @create_children) end class Tap < ConfigClass def has_multiple_values?; false; end def _section :tap end @props = {'netflow-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'Netflow Server Profile'}} # Netflow Server Profile def netflow_profile prop_get('netflow-profile') end # Netflow Server Profile def netflow_profile=(val) prop_set('netflow-profile', val) end end def tap @subclasses['tap'] ||= Tap.new(parent_instance: self, client: @client, create_children: @create_children) end class Ha < ConfigClass def has_multiple_values?; false; end def _section :ha end @props = {} end def ha @subclasses['ha'] ||= Ha.new(parent_instance: self, client: @client, create_children: @create_children) end class LogCard < ConfigClass def has_multiple_values?; false; end def _section :'log-card' end class Units < XML::ConfigClass def has_multiple_values?; true; end def _section :units end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'prefix'=>'concat(../../../@name, \'.\')', 'regex'=>'^((ethernet[1-9][0-9]?\/[1-9][0-9]?\.)?([1-9][0-9]{0,3}))$'}, 'ip-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'IP address for the log card forwarding interface', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'netmask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'subtype'=>'ip-address', 'help-string'=>'IP netmask for the log card forwarding interface'}, 'default-gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'log forwarding card default gateway', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'ipv6-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'ipv6-only'=>'yes', 'help-string'=>'IPv6 address for the log card forwarding interface', 'multi-types'=>{'ipspec'=>{'unicast-with-mask'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'ipv6-default-gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'log forwarding IPv6 card default gateway', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'comment'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'1024'}, 'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4094', 'help-string'=>'802.1q VLAN tag'}} def name prop_get('@name') end # IP address for the log card forwarding interface def ip_address prop_get('ip-address') end # IP address for the log card forwarding interface def ip_address=(val) prop_set('ip-address', val) end # IP netmask for the log card forwarding interface def netmask prop_get('netmask') end # IP netmask for the log card forwarding interface def netmask=(val) prop_set('netmask', val) end # log forwarding card default gateway def default_gateway prop_get('default-gateway') end # log forwarding card default gateway def default_gateway=(val) prop_set('default-gateway', val) end # IPv6 address for the log card forwarding interface def ipv6_address prop_get('ipv6-address') end # IPv6 address for the log card forwarding interface def ipv6_address=(val) prop_set('ipv6-address', val) end # log forwarding IPv6 card default gateway def ipv6_default_gateway prop_get('ipv6-default-gateway') end # log forwarding IPv6 card default gateway def ipv6_default_gateway=(val) prop_set('ipv6-default-gateway', val) end def comment prop_get('comment') end def comment=(val) prop_set('comment', val) end # 802.1q VLAN tag def tag prop_get('tag') end # 802.1q VLAN tag def tag=(val) prop_set('tag', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def units maybe_register_subclass('units', Units.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'ip-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'IP address for the log card forwarding interface', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'netmask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'subtype'=>'ip-address', 'help-string'=>'IP netmask for the log card forwarding interface'}, 'default-gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'log forwarding card default gateway', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'ipv6-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'unicast-with-mask'=>'yes', 'ipv6-only'=>'yes', 'help-string'=>'IPv6 address for the log card forwarding interface', 'multi-types'=>{'ipspec'=>{'unicast-with-mask'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'ipv6-default-gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'log forwarding IPv6 card default gateway', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # IP address for the log card forwarding interface def ip_address prop_get('ip-address') end # IP address for the log card forwarding interface def ip_address=(val) prop_set('ip-address', val) end # IP netmask for the log card forwarding interface def netmask prop_get('netmask') end # IP netmask for the log card forwarding interface def netmask=(val) prop_set('netmask', val) end # log forwarding card default gateway def default_gateway prop_get('default-gateway') end # log forwarding card default gateway def default_gateway=(val) prop_set('default-gateway', val) end # IPv6 address for the log card forwarding interface def ipv6_address prop_get('ipv6-address') end # IPv6 address for the log card forwarding interface def ipv6_address=(val) prop_set('ipv6-address', val) end # log forwarding IPv6 card default gateway def ipv6_default_gateway prop_get('ipv6-default-gateway') end # log forwarding IPv6 card default gateway def ipv6_default_gateway=(val) prop_set('ipv6-default-gateway', val) end end def log_card @subclasses['log-card'] ||= LogCard.new(parent_instance: self, client: @client, create_children: @create_children) end class DecryptMirror < ConfigClass def has_multiple_values?; false; end def _section :'decrypt-mirror' end @props = {} end def decrypt_mirror @subclasses['decrypt-mirror'] ||= DecryptMirror.new(parent_instance: self, client: @client, create_children: @create_children) end class VirtualWire < ConfigClass def has_multiple_values?; false; end def _section :'virtual-wire' end class Units < XML::ConfigClass def has_multiple_values?; true; end def _section :units end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class IpClassifier < XML::ConfigClass def has_multiple_values?; true; end def _section :'ip-classifier' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'max-count'=>'1024', 'multi-types'=>{'ipspec'=>{}, 'iprangespec'=>{}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def ip_classifier maybe_register_subclass('ip-classifier', IpClassifier.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'prefix'=>'concat(../../../@name, \'.\')', 'regex'=>'^((ethernet[1-9][0-9]?\/[1-9][0-9]?\.)?([1-9][0-9]{0,3}))$'}, 'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4094', 'help-string'=>'802.1q VLAN tag'}, 'netflow-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'Netflow Server Profile'}, 'comment'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'0', 'maxlen'=>'1023'}} def name prop_get('@name') end # 802.1q VLAN tag def tag prop_get('tag') end # 802.1q VLAN tag def tag=(val) prop_set('tag', val) end # Netflow Server Profile def netflow_profile prop_get('netflow-profile') end # Netflow Server Profile def netflow_profile=(val) prop_set('netflow-profile', val) end def comment prop_get('comment') end def comment=(val) prop_set('comment', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def units maybe_register_subclass('units', Units.new(parent_instance: self, client: @client, create_children: @create_children)) end class Lldp < ConfigClass def has_multiple_values?; false; end def _section :lldp end class HighAvailability < ConfigClass def has_multiple_values?; false; end def _section :'high-availability' end @props = {'passive-pre-negotiation'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Enable LLDP pre-negotiation in HA passive state'}} # Enable LLDP pre-negotiation in HA passive state def passive_pre_negotiation prop_get('passive-pre-negotiation') end # Enable LLDP pre-negotiation in HA passive state def passive_pre_negotiation=(val) prop_set('passive-pre-negotiation', val) end end def high_availability @subclasses['high-availability'] ||= HighAvailability.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'profile'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'LLDP profile', 'optional'=>'yes'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # LLDP profile def profile prop_get('profile') end # LLDP profile def profile=(val) prop_set('profile', val) end end def lldp @subclasses['lldp'] ||= Lldp.new(parent_instance: self, client: @client, create_children: @create_children) end class Lacp < ConfigClass def has_multiple_values?; false; end def _section :lacp end class HighAvailability < ConfigClass def has_multiple_values?; false; end def _section :'high-availability' end @props = {'passive-pre-negotiation'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Allow LACP traffic to traverse this device in HA passive state'}} # Allow LACP traffic to traverse this device in HA passive state def passive_pre_negotiation prop_get('passive-pre-negotiation') end # Allow LACP traffic to traverse this device in HA passive state def passive_pre_negotiation=(val) prop_set('passive-pre-negotiation', val) end end def high_availability @subclasses['high-availability'] ||= HighAvailability.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def lacp @subclasses['lacp'] ||= Lacp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'netflow-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'Netflow Server Profile'}} # Netflow Server Profile def netflow_profile prop_get('netflow-profile') end # Netflow Server Profile def netflow_profile=(val) prop_set('netflow-profile', val) end end def virtual_wire @subclasses['virtual-wire'] ||= VirtualWire.new(parent_instance: self, client: @client, create_children: @create_children) end class Layer2 < ConfigClass def has_multiple_values?; false; end def _section :layer2 end class Units < XML::ConfigClass def has_multiple_values?; true; end def _section :units end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'prefix'=>'concat(../../../@name, \'.\')', 'regex'=>'^((ethernet[1-9][0-9]?\/[1-9][0-9]?\.)?([1-9][0-9]{0,3}))$'}, 'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4094', 'help-string'=>'802.1q VLAN tag'}, 'netflow-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'Netflow Server Profile'}, 'comment'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'0', 'maxlen'=>'1023'}} def name prop_get('@name') end # 802.1q VLAN tag def tag prop_get('tag') end # 802.1q VLAN tag def tag=(val) prop_set('tag', val) end # Netflow Server Profile def netflow_profile prop_get('netflow-profile') end # Netflow Server Profile def netflow_profile=(val) prop_set('netflow-profile', val) end def comment prop_get('comment') end def comment=(val) prop_set('comment', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def units maybe_register_subclass('units', Units.new(parent_instance: self, client: @client, create_children: @create_children)) end class Lldp < ConfigClass def has_multiple_values?; false; end def _section :lldp end class HighAvailability < ConfigClass def has_multiple_values?; false; end def _section :'high-availability' end @props = {'passive-pre-negotiation'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Enable LLDP pre-negotiation in HA passive state'}} # Enable LLDP pre-negotiation in HA passive state def passive_pre_negotiation prop_get('passive-pre-negotiation') end # Enable LLDP pre-negotiation in HA passive state def passive_pre_negotiation=(val) prop_set('passive-pre-negotiation', val) end end def high_availability @subclasses['high-availability'] ||= HighAvailability.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'profile'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'LLDP profile', 'optional'=>'yes'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # LLDP profile def profile prop_get('profile') end # LLDP profile def profile=(val) prop_set('profile', val) end end def lldp @subclasses['lldp'] ||= Lldp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'netflow-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'Netflow Server Profile'}} # Netflow Server Profile def netflow_profile prop_get('netflow-profile') end # Netflow Server Profile def netflow_profile=(val) prop_set('netflow-profile', val) end end def layer2 @subclasses['layer2'] ||= Layer2.new(parent_instance: self, client: @client, create_children: @create_children) end class Layer3 < ConfigClass def has_multiple_values?; false; end def _section :layer3 end class Bonjour < ConfigClass def has_multiple_values?; false; end def _section :bonjour end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set to support Bonjour service'}, 'ttl-check'=>{'node-type'=>'element', 'internal'=>'yes', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set to check and update TTL'}, 'group-id'=>{'node-type'=>'element', 'internal'=>'yes', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'40', 'min'=>'0', 'max'=>'16', 'help-string'=>'default 0: NO-Group'}} # Set to support Bonjour service def enable prop_get('enable') end # Set to support Bonjour service def enable=(val) prop_set('enable', val) end # Set to check and update TTL def ttl_check prop_get('ttl-check') end # Set to check and update TTL def ttl_check=(val) prop_set('ttl-check', val) end # default 0: NO-Group def group_id prop_get('group-id') end # default 0: NO-Group def group_id=(val) prop_set('group-id', val) end end def bonjour @subclasses['bonjour'] ||= Bonjour.new(parent_instance: self, client: @client, create_children: @create_children) end class AdjustTcpMss < ConfigClass def has_multiple_values?; false; end def _section :'adjust-tcp-mss' end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set if TCP MSS value should be reduced based on mtu'}, 'ipv4-mss-adjustment'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'40', 'min'=>'40', 'max'=>'300', 'help-string'=>'IPv4 MSS adjustment size (in bytes)'}, 'ipv6-mss-adjustment'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'60', 'min'=>'60', 'max'=>'300', 'help-string'=>'IPv6 MSS adjustment size (in bytes)'}} # Set if TCP MSS value should be reduced based on mtu def enable prop_get('enable') end # Set if TCP MSS value should be reduced based on mtu def enable=(val) prop_set('enable', val) end # IPv4 MSS adjustment size (in bytes) def ipv4_mss_adjustment prop_get('ipv4-mss-adjustment') end # IPv4 MSS adjustment size (in bytes) def ipv4_mss_adjustment=(val) prop_set('ipv4-mss-adjustment', val) end # IPv6 MSS adjustment size (in bytes) def ipv6_mss_adjustment prop_get('ipv6-mss-adjustment') end # IPv6 MSS adjustment size (in bytes) def ipv6_mss_adjustment=(val) prop_set('ipv6-mss-adjustment', val) end end def adjust_tcp_mss @subclasses['adjust-tcp-mss'] ||= AdjustTcpMss.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip < XML::ConfigClass def has_multiple_values?; true; end def _section :ip end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'regex'=>'^([ $0-9a-zA-Z:@./_-])+$', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'IP address/netmask or address object name'}, 'sdwan-gateway'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'Gateway IPv4 Address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'ipv4-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # IP address/netmask or address object name def name prop_get('@name') end # Gateway IPv4 Address def sdwan_gateway prop_get('sdwan-gateway') end # Gateway IPv4 Address def sdwan_gateway=(val) prop_set('sdwan-gateway', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ip maybe_register_subclass('ip', Ip.new(parent_instance: self, client: @client, create_children: @create_children)) end class Ipv6 < ConfigClass def has_multiple_values?; false; end def _section :ipv6 end class Address < XML::ConfigClass def has_multiple_values?; true; end def _section :address end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Prefix < ConfigClass def has_multiple_values?; false; end def _section :prefix end @props = {} end def prefix @subclasses['prefix'] ||= Prefix.new(parent_instance: self, client: @client, create_children: @create_children) end class Anycast < ConfigClass def has_multiple_values?; false; end def _section :anycast end @props = {} end def anycast @subclasses['anycast'] ||= Anycast.new(parent_instance: self, client: @client, create_children: @create_children) end class Advertise < ConfigClass def has_multiple_values?; false; end def _section :advertise end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable advertising this prefix in router advertisements'}, 'valid-lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'2592000', 'help-string'=>'Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967294'}, 'enum'=>[{'value'=>'infinity'}]}}, 'preferred-lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'604800', 'help-string'=>'Preferred Lifetime (in seconds) of the prefix advertised in Router Advertisement messages', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967294'}, 'enum'=>[{'value'=>'infinity'}]}}, 'onlink-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages'}, 'auto-config-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages'}} # enable advertising this prefix in router advertisements def enable prop_get('enable') end # enable advertising this prefix in router advertisements def enable=(val) prop_set('enable', val) end # Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def valid_lifetime prop_get('valid-lifetime') end # Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def valid_lifetime=(val) prop_set('valid-lifetime', val) end # Preferred Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def preferred_lifetime prop_get('preferred-lifetime') end # Preferred Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def preferred_lifetime=(val) prop_set('preferred-lifetime', val) end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag prop_get('onlink-flag') end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag=(val) prop_set('onlink-flag', val) end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag prop_get('auto-config-flag') end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag=(val) prop_set('auto-config-flag', val) end end def advertise @subclasses['advertise'] ||= Advertise.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'^([ $0-9a-zA-Z:@./_-])+$', 'maxlen'=>'63', 'help-string'=>'IPv6 address/prefix length or address object name'}, 'enable-on-interface'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'configure this address on interface'}} # IPv6 address/prefix length or address object name def name prop_get('@name') end # configure this address on interface def enable_on_interface prop_get('enable-on-interface') end # configure this address on interface def enable_on_interface=(val) prop_set('enable-on-interface', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def address maybe_register_subclass('address', Address.new(parent_instance: self, client: @client, create_children: @create_children)) end class NeighborDiscovery < ConfigClass def has_multiple_values?; false; end def _section :'neighbor-discovery' end class RouterAdvertisement < ConfigClass def has_multiple_values?; false; end def _section :'router-advertisement' end class Prefix < XML::ConfigClass def has_multiple_values?; true; end def _section :prefix end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class ValidLifetime < XML::ConfigClass def has_multiple_values?; true; end def _section :'valid-lifetime' end @props = {'fixed-time'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'default'=>'2592000', 'help-string'=>'fixed value (in seconds) of the Valid Lifetime field of the prefix in Router Advertisement messages'}, 'expire-time'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'19', 'maxlen'=>'19', 'regex'=>'[0-9][0-9][0-9][0-9]/([0][1-9]|[1][0-2])/([0-2][0-9]|[3][0-1])@([01][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9])', 'help-string'=>'expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59)'}} # fixed value (in seconds) of the Valid Lifetime field of the prefix in Router Advertisement messages def fixed_time prop_get('fixed-time') end # fixed value (in seconds) of the Valid Lifetime field of the prefix in Router Advertisement messages def fixed_time=(val) prop_set('fixed-time', val) end # expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59) def expire_time prop_get('expire-time') end # expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59) def expire_time=(val) prop_set('expire-time', val) end end def valid_lifetime maybe_register_subclass('valid-lifetime', ValidLifetime.new(parent_instance: self, client: @client, create_children: @create_children)) end class PreferredLifetime < XML::ConfigClass def has_multiple_values?; true; end def _section :'preferred-lifetime' end @props = {'fixed-time'=>{'node-type'=>'element', 'type'=>'rangedint', 'default'=>'604800', 'min'=>'0', 'max'=>'4294967295', 'help-string'=>'Fixed value (in seconds) of the Preferred Lifetime field of the prefix in Router Advertisement messages'}, 'expire-time'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'19', 'maxlen'=>'19', 'regex'=>'[0-9][0-9][0-9][0-9]/([0][1-9]|[1][0-2])/([0-2][0-9]|[3][0-1])@([01][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9])', 'help-string'=>'expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59)'}} # Fixed value (in seconds) of the Preferred Lifetime field of the prefix in Router Advertisement messages def fixed_time prop_get('fixed-time') end # Fixed value (in seconds) of the Preferred Lifetime field of the prefix in Router Advertisement messages def fixed_time=(val) prop_set('fixed-time', val) end # expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59) def expire_time prop_get('expire-time') end # expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59) def expire_time=(val) prop_set('expire-time', val) end end def preferred_lifetime maybe_register_subclass('preferred-lifetime', PreferredLifetime.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'help-string'=>'IPv6 prefix'}, 'onlink-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages'}, 'auto-config-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages'}} # IPv6 prefix def name prop_get('@name') end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag prop_get('onlink-flag') end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag=(val) prop_set('onlink-flag', val) end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag prop_get('auto-config-flag') end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag=(val) prop_set('auto-config-flag', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def prefix maybe_register_subclass('prefix', Prefix.new(parent_instance: self, client: @client, create_children: @create_children)) end class DnsSupport < ConfigClass def has_multiple_values?; false; end def _section :'dns-support' end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'unicast-only'=>'yes', 'help-string'=>'IPv6 address'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) lifetime in seconds'}} # IPv6 address def name prop_get('@name') end # (4-3600) lifetime in seconds def lifetime prop_get('lifetime') end # (4-3600) lifetime in seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end class Suffix < XML::ConfigClass def has_multiple_values?; true; end def _section :suffix end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'domain name', 'minlen'=>'1', 'maxlen'=>'255'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) lifetime in seconds'}} # domain name def name prop_get('@name') end # (4-3600) lifetime in seconds def lifetime prop_get('lifetime') end # (4-3600) lifetime in seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def suffix maybe_register_subclass('suffix', Suffix.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'defaule'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def dns_support @subclasses['dns-support'] ||= DnsSupport.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'max-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'1800', 'default'=>'600', 'help-string'=>'Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages'}, 'min-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'3', 'max'=>'1350', 'default'=>'200', 'help-string'=>'Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages'}, 'managed-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set the Managed Configuration Flag (M-bit) in Router Advertisement messages'}, 'other-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages'}, 'link-mtu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise', 'multi-types'=>{'rangedint'=>{'min'=>'1280', 'max'=>'9216'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'reachable-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'Reachable Time (in milliseconds) advertised in Router Advertisement messages', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'3600000'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'retransmission-timer'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'Retransmission Timer (in milliseconds) advertised in Router Advertisement messages', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967295'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'hop-limit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'64', 'help-string'=>'Current Hop Limit advertised in Router Advertisement messages', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'255'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'9000', 'default'=>'1800', 'help-string'=>'Router Lifetime (in seconds) advertised in Router Advertisement messages'}, 'router-preference'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'Medium', 'enum'=>[{'value'=>'High', 'help-string'=>'01 High'}, {'value'=>'Medium', 'help-string'=>'00 Medium'}, {'value'=>'Low', 'help-string'=>'11 Low'}]}, 'enable-consistency-check'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'check consistency of RA messages from other routers.'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages def max_interval prop_get('max-interval') end # Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages def max_interval=(val) prop_set('max-interval', val) end # Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages def min_interval prop_get('min-interval') end # Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages def min_interval=(val) prop_set('min-interval', val) end # Set the Managed Configuration Flag (M-bit) in Router Advertisement messages def managed_flag prop_get('managed-flag') end # Set the Managed Configuration Flag (M-bit) in Router Advertisement messages def managed_flag=(val) prop_set('managed-flag', val) end # Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages def other_flag prop_get('other-flag') end # Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages def other_flag=(val) prop_set('other-flag', val) end # value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise def link_mtu prop_get('link-mtu') end # value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise def link_mtu=(val) prop_set('link-mtu', val) end # Reachable Time (in milliseconds) advertised in Router Advertisement messages def reachable_time prop_get('reachable-time') end # Reachable Time (in milliseconds) advertised in Router Advertisement messages def reachable_time=(val) prop_set('reachable-time', val) end # Retransmission Timer (in milliseconds) advertised in Router Advertisement messages def retransmission_timer prop_get('retransmission-timer') end # Retransmission Timer (in milliseconds) advertised in Router Advertisement messages def retransmission_timer=(val) prop_set('retransmission-timer', val) end # Current Hop Limit advertised in Router Advertisement messages def hop_limit prop_get('hop-limit') end # Current Hop Limit advertised in Router Advertisement messages def hop_limit=(val) prop_set('hop-limit', val) end # Router Lifetime (in seconds) advertised in Router Advertisement messages def lifetime prop_get('lifetime') end # Router Lifetime (in seconds) advertised in Router Advertisement messages def lifetime=(val) prop_set('lifetime', val) end def router_preference prop_get('router-preference') end def router_preference=(val) prop_set('router-preference', val) end # check consistency of RA messages from other routers. def enable_consistency_check prop_get('enable-consistency-check') end # check consistency of RA messages from other routers. def enable_consistency_check=(val) prop_set('enable-consistency-check', val) end end def router_advertisement @subclasses['router-advertisement'] ||= RouterAdvertisement.new(parent_instance: self, client: @client, create_children: @create_children) end class Neighbor < XML::ConfigClass def has_multiple_values?; true; end def _section :neighbor end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'help-string'=>'IP address'}, 'hw-address'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'mac-address', 'help-string'=>'MAC address (format xx:xx:xx:xx:xx:xx)'}} # IP address def name prop_get('@name') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address prop_get('hw-address') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address=(val) prop_set('hw-address', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def neighbor maybe_register_subclass('neighbor', Neighbor.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable-ndp-monitor'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable ndp monitoring'}, 'enable-dad'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable duplicate address detection'}, 'dad-attempts'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'10', 'default'=>'1', 'help-string'=>'number of consecutive neighbor solicitation messages sent for duplicate address detection'}, 'ns-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'1', 'help-string'=>'interval (in seconds) between consecutive neighbor solicitation messages'}, 'reachable-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'10', 'max'=>'36000', 'default'=>'30', 'help-string'=>'time (in seconds) that the Reachable status for a neighbor can be maintained'}, 'disable-nud'=>{'node-type'=>'element', 'disabled'=>'yes', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'disable Neighbor Unreachability Detection'}} # enable ndp monitoring def enable_ndp_monitor prop_get('enable-ndp-monitor') end # enable ndp monitoring def enable_ndp_monitor=(val) prop_set('enable-ndp-monitor', val) end # enable duplicate address detection def enable_dad prop_get('enable-dad') end # enable duplicate address detection def enable_dad=(val) prop_set('enable-dad', val) end # number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts prop_get('dad-attempts') end # number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts=(val) prop_set('dad-attempts', val) end # interval (in seconds) between consecutive neighbor solicitation messages def ns_interval prop_get('ns-interval') end # interval (in seconds) between consecutive neighbor solicitation messages def ns_interval=(val) prop_set('ns-interval', val) end # time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time prop_get('reachable-time') end # time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time=(val) prop_set('reachable-time', val) end # disable Neighbor Unreachability Detection def disable_nud prop_get('disable-nud') end # disable Neighbor Unreachability Detection def disable_nud=(val) prop_set('disable-nud', val) end end def neighbor_discovery @subclasses['neighbor-discovery'] ||= NeighborDiscovery.new(parent_instance: self, client: @client, create_children: @create_children) end class DhcpClient < ConfigClass def has_multiple_values?; false; end def _section :'dhcp-client' end class V6Options < ConfigClass def has_multiple_values?; false; end def _section :'v6-options' end class Enable < XML::ConfigClass def has_multiple_values?; true; end def _section :enable end class No < ConfigClass def has_multiple_values?; false; end def _section :no end @props = {} end def no @subclasses['no'] ||= No.new(parent_instance: self, client: @client, create_children: @create_children) end class Yes < ConfigClass def has_multiple_values?; false; end def _section :yes end @props = {'non-temp-addr'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Request Non-Temporary Address Type', 'uiHint-fieldLabel'=>'Non-Temporary Address'}, 'temp-addr'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Request Temporary Address Type', 'uiHint-fieldLabel'=>'Temporary Address'}} # Request Non-Temporary Address Type def non_temp_addr prop_get('non-temp-addr') end # Request Non-Temporary Address Type def non_temp_addr=(val) prop_set('non-temp-addr', val) end # Request Temporary Address Type def temp_addr prop_get('temp-addr') end # Request Temporary Address Type def temp_addr=(val) prop_set('temp-addr', val) end end def yes @subclasses['yes'] ||= Yes.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def enable maybe_register_subclass('enable', Enable.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'support-srvr-reconfig'=>{'node-type'=>'element', 'hidden'=>'yes', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable DHCPv6 Server Re-Configuration Support', 'uiHint-fieldLabel'=>'DHCPv6 Server Re-Configuration Support'}, 'rapid-commit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable Rapid Commit', 'uiHint-fieldLabel'=>'Rapid Commit'}, 'duid-type'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'duid-type-llt', 'optional'=>'yes', 'help-string'=>'Select DUID-LLT/DUID-LL', 'uiHint-fieldLabel'=>'DUID Type', 'enum'=>[{'name'=>'duid-type-llt', 'value'=>'duid-type-llt', 'optional'=>'yes', 'help-string'=>'DUID-LLT'}, {'name'=>'duid-type-ll', 'value'=>'duid-type-ll', 'optional'=>'yes', 'help-string'=>'DUID-LL'}]}} # Enable DHCPv6 Server Re-Configuration Support def support_srvr_reconfig prop_get('support-srvr-reconfig') end # Enable DHCPv6 Server Re-Configuration Support def support_srvr_reconfig=(val) prop_set('support-srvr-reconfig', val) end # Enable Rapid Commit def rapid_commit prop_get('rapid-commit') end # Enable Rapid Commit def rapid_commit=(val) prop_set('rapid-commit', val) end # Select DUID-LLT/DUID-LL def duid_type prop_get('duid-type') end # Select DUID-LLT/DUID-LL def duid_type=(val) prop_set('duid-type', val) end end def v6_options @subclasses['v6-options'] ||= V6Options.new(parent_instance: self, client: @client, create_children: @create_children) end class PrefixDelegation < ConfigClass def has_multiple_values?; false; end def _section :'prefix-delegation' end class Enable < XML::ConfigClass def has_multiple_values?; true; end def _section :enable end class No < ConfigClass def has_multiple_values?; false; end def _section :no end @props = {} end def no @subclasses['no'] ||= No.new(parent_instance: self, client: @client, create_children: @create_children) end class Yes < ConfigClass def has_multiple_values?; false; end def _section :yes end @props = {'prefix-len-hint'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Send prefix length hint to server', 'uiHint-fieldLabel'=>'DHCP Prefix Length Hint'}, 'prefix-len'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'128', 'default'=>'48', 'help-string'=>'Hint DHCP Prefix Length (bits)', 'uiHint-fieldLabel'=>'DHCP Prefix Length'}, 'pfx-pool-name'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'regex'=>'^[a-zA-Z0-9._-]+$', 'help-string'=>'Configure unique Prefix Pool Name', 'uiHint-fieldLabel'=>'Prefix Pool Name'}} # Send prefix length hint to server def prefix_len_hint prop_get('prefix-len-hint') end # Send prefix length hint to server def prefix_len_hint=(val) prop_set('prefix-len-hint', val) end # Hint DHCP Prefix Length (bits) def prefix_len prop_get('prefix-len') end # Hint DHCP Prefix Length (bits) def prefix_len=(val) prop_set('prefix-len', val) end # Configure unique Prefix Pool Name def pfx_pool_name prop_get('pfx-pool-name') end # Configure unique Prefix Pool Name def pfx_pool_name=(val) prop_set('pfx-pool-name', val) end end def yes @subclasses['yes'] ||= Yes.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def enable maybe_register_subclass('enable', Enable.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def prefix_delegation @subclasses['prefix-delegation'] ||= PrefixDelegation.new(parent_instance: self, client: @client, create_children: @create_children) end class NeighborDiscovery < ConfigClass def has_multiple_values?; false; end def _section :'neighbor-discovery' end class DnsServer < ConfigClass def has_multiple_values?; false; end def _section :'dns-server' end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end class Dhcpv6 < ConfigClass def has_multiple_values?; false; end def _section :dhcpv6 end @props = {} end def dhcpv6 @subclasses['dhcpv6'] ||= Dhcpv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Manual < ConfigClass def has_multiple_values?; false; end def _section :manual end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'unicast-only'=>'yes', 'help-string'=>'IPv6 Address', 'uiHint-fieldLabel'=>'Server'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) Lifetime in Seconds'}} # IPv6 Address def name prop_get('@name') end # (4-3600) Lifetime in Seconds def lifetime prop_get('lifetime') end # (4-3600) Lifetime in Seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def manual @subclasses['manual'] ||= Manual.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'defaule'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def dns_server @subclasses['dns-server'] ||= DnsServer.new(parent_instance: self, client: @client, create_children: @create_children) end class DnsSuffix < ConfigClass def has_multiple_values?; false; end def _section :'dns-suffix' end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end class Dhcpv6 < ConfigClass def has_multiple_values?; false; end def _section :dhcpv6 end @props = {} end def dhcpv6 @subclasses['dhcpv6'] ||= Dhcpv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Manual < ConfigClass def has_multiple_values?; false; end def _section :manual end class Suffix < XML::ConfigClass def has_multiple_values?; true; end def _section :suffix end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'domain name', 'minlen'=>'1', 'maxlen'=>'255', 'uiHint-fieldLabel'=>'Domain'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) lifetime in seconds'}} # domain name def name prop_get('@name') end # (4-3600) lifetime in seconds def lifetime prop_get('lifetime') end # (4-3600) lifetime in seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def suffix maybe_register_subclass('suffix', Suffix.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def manual @subclasses['manual'] ||= Manual.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'defaule'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def dns_suffix @subclasses['dns-suffix'] ||= DnsSuffix.new(parent_instance: self, client: @client, create_children: @create_children) end class Neighbor < XML::ConfigClass def has_multiple_values?; true; end def _section :neighbor end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'help-string'=>'IP address'}, 'hw-address'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'mac-address', 'help-string'=>'MAC address (format xx:xx:xx:xx:xx:xx)'}} # IP address def name prop_get('@name') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address prop_get('hw-address') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address=(val) prop_set('hw-address', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def neighbor maybe_register_subclass('neighbor', Neighbor.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable-ndp-monitor'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable NDP Monitoring', 'uiHint-fieldLabel'=>'Enable NDP Monitoring'}, 'enable-dad'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable Duplicate Address Detection', 'uiHint-fieldLabel'=>'Enable Duplicate Address Detection'}, 'dad-attempts'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'10', 'default'=>'1', 'help-string'=>'number of consecutive neighbor solicitation messages sent for duplicate address detection', 'uiHint-fieldLabel'=>'DAD Attempts'}, 'ns-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'1', 'help-string'=>'interval (in seconds) between consecutive neighbor solicitation messages', 'uiHint-fieldLabel'=>'NS Interval'}, 'reachable-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'10', 'max'=>'36000', 'default'=>'30', 'help-string'=>'time (in seconds) that the Reachable status for a neighbor can be maintained', 'uiHint-fieldLabel'=>'Reachable Time'}} # Enable NDP Monitoring def enable_ndp_monitor prop_get('enable-ndp-monitor') end # Enable NDP Monitoring def enable_ndp_monitor=(val) prop_set('enable-ndp-monitor', val) end # Enable Duplicate Address Detection def enable_dad prop_get('enable-dad') end # Enable Duplicate Address Detection def enable_dad=(val) prop_set('enable-dad', val) end # number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts prop_get('dad-attempts') end # number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts=(val) prop_set('dad-attempts', val) end # interval (in seconds) between consecutive neighbor solicitation messages def ns_interval prop_get('ns-interval') end # interval (in seconds) between consecutive neighbor solicitation messages def ns_interval=(val) prop_set('ns-interval', val) end # time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time prop_get('reachable-time') end # time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time=(val) prop_set('reachable-time', val) end end def neighbor_discovery @subclasses['neighbor-discovery'] ||= NeighborDiscovery.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable DHCPv6 Client', 'uiHint-fieldLabel'=>'Enable'}, 'accept-ra-route'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Accept Router Advertised Default Route', 'uiHint-fieldLabel'=>'Accept Router Advertised Route'}, 'default-route-metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'10', 'help-string'=>'Metric of the default route created'}, 'preference'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'high', 'optional'=>'yes', 'help-string'=>'Select Low/Medium/High', 'uiHint-fieldLabel'=>'Preference', 'enum'=>[{'name'=>'low', 'value'=>'low', 'optional'=>'yes', 'help-string'=>'Low'}, {'name'=>'medium', 'value'=>'medium', 'optional'=>'yes', 'help-string'=>'Medium'}, {'name'=>'high', 'value'=>'high', 'optional'=>'yes', 'help-string'=>'High'}]}} # Enable DHCPv6 Client def enable prop_get('enable') end # Enable DHCPv6 Client def enable=(val) prop_set('enable', val) end # Accept Router Advertised Default Route def accept_ra_route prop_get('accept-ra-route') end # Accept Router Advertised Default Route def accept_ra_route=(val) prop_set('accept-ra-route', val) end # Metric of the default route created def default_route_metric prop_get('default-route-metric') end # Metric of the default route created def default_route_metric=(val) prop_set('default-route-metric', val) end # Select Low/Medium/High def preference prop_get('preference') end # Select Low/Medium/High def preference=(val) prop_set('preference', val) end end def dhcp_client @subclasses['dhcp-client'] ||= DhcpClient.new(parent_instance: self, client: @client, create_children: @create_children) end class Inherited < ConfigClass def has_multiple_values?; false; end def _section :inherited end class AssignAddr < XML::ConfigClass def has_multiple_values?; true; end def _section :'assign-addr' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Gua < ConfigClass def has_multiple_values?; false; end def _section :gua end class PoolType < XML::ConfigClass def has_multiple_values?; true; end def _section :'pool-type' end class Dynamic < ConfigClass def has_multiple_values?; false; end def _section :dynamic end @props = {} end def dynamic @subclasses['dynamic'] ||= Dynamic.new(parent_instance: self, client: @client, create_children: @create_children) end class DynamicId < ConfigClass def has_multiple_values?; false; end def _section :'dynamic-id' end @props = {'identifier'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4095', 'help-string'=>'Range [0-4095] must be unqiue for this prefix-pool', 'uiHint-fieldLabel'=>'Identifier'}} # Range [0-4095] must be unqiue for this prefix-pool def identifier prop_get('identifier') end # Range [0-4095] must be unqiue for this prefix-pool def identifier=(val) prop_set('identifier', val) end end def dynamic_id @subclasses['dynamic-id'] ||= DynamicId.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def pool_type maybe_register_subclass('pool-type', PoolType.new(parent_instance: self, client: @client, create_children: @create_children)) end class Advertise < ConfigClass def has_multiple_values?; false; end def _section :advertise end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable advertising this prefix in router advertisements'}, 'onlink-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages', 'uiHint-fieldLabel'=>'On-Link'}, 'auto-config-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages', 'uiHint-fieldLabel'=>'Autonomous'}} # Enable advertising this prefix in router advertisements def enable prop_get('enable') end # Enable advertising this prefix in router advertisements def enable=(val) prop_set('enable', val) end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag prop_get('onlink-flag') end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag=(val) prop_set('onlink-flag', val) end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag prop_get('auto-config-flag') end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag=(val) prop_set('auto-config-flag', val) end end def advertise @subclasses['advertise'] ||= Advertise.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable-on-interface'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable on Interface'}, 'prefix-pool'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix Pool', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'use-cache'=>'yes', 'optional'=>'yes', 'help-string'=>'Prefix-Pool Name'}} # Enable on Interface def enable_on_interface prop_get('enable-on-interface') end # Enable on Interface def enable_on_interface=(val) prop_set('enable-on-interface', val) end # Prefix-Pool Name def prefix_pool prop_get('prefix-pool') end # Prefix-Pool Name def prefix_pool=(val) prop_set('prefix-pool', val) end end def gua @subclasses['gua'] ||= Gua.new(parent_instance: self, client: @client, create_children: @create_children) end class Ula < ConfigClass def has_multiple_values?; false; end def _section :ula end class Advertise < ConfigClass def has_multiple_values?; false; end def _section :advertise end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable advertising this prefix in router advertisements'}, 'valid-lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'2592000', 'help-string'=>'Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages', 'uiHint-fieldLabel'=>'Valid Lifetime', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967294'}, 'enum'=>[{'value'=>'infinity'}]}}, 'preferred-lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'604800', 'help-string'=>'Preferred Lifetime (in seconds) of the prefix advertised in Router advertisement messages', 'uiHint-fieldLabel'=>'Preferred Lifetime', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967294'}, 'enum'=>[{'value'=>'infinity'}]}}, 'onlink-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages', 'uiHint-fieldLabel'=>'On-Link'}, 'auto-config-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages', 'uiHint-fieldLabel'=>'Autonomous'}} # enable advertising this prefix in router advertisements def enable prop_get('enable') end # enable advertising this prefix in router advertisements def enable=(val) prop_set('enable', val) end # Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def valid_lifetime prop_get('valid-lifetime') end # Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def valid_lifetime=(val) prop_set('valid-lifetime', val) end # Preferred Lifetime (in seconds) of the prefix advertised in Router advertisement messages def preferred_lifetime prop_get('preferred-lifetime') end # Preferred Lifetime (in seconds) of the prefix advertised in Router advertisement messages def preferred_lifetime=(val) prop_set('preferred-lifetime', val) end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag prop_get('onlink-flag') end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag=(val) prop_set('onlink-flag', val) end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag prop_get('auto-config-flag') end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag=(val) prop_set('auto-config-flag', val) end end def advertise @subclasses['advertise'] ||= Advertise.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable-on-interface'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Configure this address on Interface', 'uiHint-fieldLabel'=>'Enable Address on Interface'}, 'address'=>{'node-type'=>'element', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'help-string'=>'Configure ULA (Unique Local Address)', 'uiHint-fieldLabel'=>'Address'}, 'prefix'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Use this as prefix to form full address with interface id/EUI-64', 'uiHint-fieldLabel'=>'Use Interface ID as host portion'}, 'anycast'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Anycast Address', 'uiHint-fieldLabel'=>'Anycast'}} # Configure this address on Interface def enable_on_interface prop_get('enable-on-interface') end # Configure this address on Interface def enable_on_interface=(val) prop_set('enable-on-interface', val) end # Configure ULA (Unique Local Address) def address prop_get('address') end # Configure ULA (Unique Local Address) def address=(val) prop_set('address', val) end # Use this as prefix to form full address with interface id/EUI-64 def prefix prop_get('prefix') end # Use this as prefix to form full address with interface id/EUI-64 def prefix=(val) prop_set('prefix', val) end # Anycast Address def anycast prop_get('anycast') end # Anycast Address def anycast=(val) prop_set('anycast', val) end end def ula @subclasses['ula'] ||= Ula.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'help-string'=>'Name', 'regex'=>'^[a-zA-Z0-9._-]+$'}} # Name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def assign_addr maybe_register_subclass('assign-addr', AssignAddr.new(parent_instance: self, client: @client, create_children: @create_children)) end class NeighborDiscovery < ConfigClass def has_multiple_values?; false; end def _section :'neighbor-discovery' end class RouterAdvertisement < ConfigClass def has_multiple_values?; false; end def _section :'router-advertisement' end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'max-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'1800', 'default'=>'600', 'help-string'=>'Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages', 'uiHint-fieldLabel'=>'Max Interval'}, 'min-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'3', 'max'=>'1350', 'default'=>'200', 'help-string'=>'Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages', 'uiHint-fieldLabel'=>'Min Interval'}, 'link-mtu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise', 'uiHint-fieldLabel'=>'Link MTU', 'multi-types'=>{'rangedint'=>{'min'=>'1280', 'max'=>'9216'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'reachable-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'Reachable Time (in milliseconds) advertised in Router Advertisement messages', 'uiHint-fieldLabel'=>'Reachable Time', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'3600000'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'retransmission-timer'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'Retransmission Timer (in milliseconds) advertised in Router Advertisement messages', 'uiHint-fieldLabel'=>'Retrans Timer', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967295'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'hop-limit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'64', 'help-string'=>'Current Hop Limit advertised in Router Advertisement messages', 'uiHint-fieldLabel'=>'Hop Limit', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'255'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'9000', 'default'=>'1800', 'help-string'=>'Router Lifetime (in seconds) advertised in Router Advertisement messages', 'uiHint-fieldLabel'=>'Lifetime'}, 'router-preference'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'Medium', 'uiHint-fieldLabel'=>'Router Preference', 'enum'=>[{'value'=>'High', 'help-string'=>'01 High'}, {'value'=>'Medium', 'help-string'=>'00 Medium'}, {'value'=>'Low', 'help-string'=>'11 Low'}]}, 'managed-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set the Managed Configuration Flag (M-bit) in Router Advertisement messages', 'uiHint-fieldLabel'=>'Managed Configuration'}, 'other-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages', 'uiHint-fieldLabel'=>'Other Configuration'}, 'enable-consistency-check'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'check consistency of RA messages from other routers.', 'uiHint-fieldLabel'=>'Consistency Check'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages def max_interval prop_get('max-interval') end # Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages def max_interval=(val) prop_set('max-interval', val) end # Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages def min_interval prop_get('min-interval') end # Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages def min_interval=(val) prop_set('min-interval', val) end # value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise def link_mtu prop_get('link-mtu') end # value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise def link_mtu=(val) prop_set('link-mtu', val) end # Reachable Time (in milliseconds) advertised in Router Advertisement messages def reachable_time prop_get('reachable-time') end # Reachable Time (in milliseconds) advertised in Router Advertisement messages def reachable_time=(val) prop_set('reachable-time', val) end # Retransmission Timer (in milliseconds) advertised in Router Advertisement messages def retransmission_timer prop_get('retransmission-timer') end # Retransmission Timer (in milliseconds) advertised in Router Advertisement messages def retransmission_timer=(val) prop_set('retransmission-timer', val) end # Current Hop Limit advertised in Router Advertisement messages def hop_limit prop_get('hop-limit') end # Current Hop Limit advertised in Router Advertisement messages def hop_limit=(val) prop_set('hop-limit', val) end # Router Lifetime (in seconds) advertised in Router Advertisement messages def lifetime prop_get('lifetime') end # Router Lifetime (in seconds) advertised in Router Advertisement messages def lifetime=(val) prop_set('lifetime', val) end def router_preference prop_get('router-preference') end def router_preference=(val) prop_set('router-preference', val) end # Set the Managed Configuration Flag (M-bit) in Router Advertisement messages def managed_flag prop_get('managed-flag') end # Set the Managed Configuration Flag (M-bit) in Router Advertisement messages def managed_flag=(val) prop_set('managed-flag', val) end # Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages def other_flag prop_get('other-flag') end # Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages def other_flag=(val) prop_set('other-flag', val) end # check consistency of RA messages from other routers. def enable_consistency_check prop_get('enable-consistency-check') end # check consistency of RA messages from other routers. def enable_consistency_check=(val) prop_set('enable-consistency-check', val) end end def router_advertisement @subclasses['router-advertisement'] ||= RouterAdvertisement.new(parent_instance: self, client: @client, create_children: @create_children) end class DnsServer < ConfigClass def has_multiple_values?; false; end def _section :'dns-server' end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end class Dhcpv6 < ConfigClass def has_multiple_values?; false; end def _section :dhcpv6 end @props = {'prefix-pool'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix Pool', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-Pool Name'}} # Prefix-Pool Name def prefix_pool prop_get('prefix-pool') end # Prefix-Pool Name def prefix_pool=(val) prop_set('prefix-pool', val) end end def dhcpv6 @subclasses['dhcpv6'] ||= Dhcpv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Manual < ConfigClass def has_multiple_values?; false; end def _section :manual end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'unicast-only'=>'yes', 'help-string'=>'IPv6 Address', 'uiHint-fieldLabel'=>'Server'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) Lifetime in Seconds'}} # IPv6 Address def name prop_get('@name') end # (4-3600) Lifetime in Seconds def lifetime prop_get('lifetime') end # (4-3600) Lifetime in Seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def manual @subclasses['manual'] ||= Manual.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'defaule'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def dns_server @subclasses['dns-server'] ||= DnsServer.new(parent_instance: self, client: @client, create_children: @create_children) end class DnsSuffix < ConfigClass def has_multiple_values?; false; end def _section :'dns-suffix' end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end class Dhcpv6 < ConfigClass def has_multiple_values?; false; end def _section :dhcpv6 end @props = {'prefix-pool'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix Pool', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-Pool Name'}} # Prefix-Pool Name def prefix_pool prop_get('prefix-pool') end # Prefix-Pool Name def prefix_pool=(val) prop_set('prefix-pool', val) end end def dhcpv6 @subclasses['dhcpv6'] ||= Dhcpv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Manual < ConfigClass def has_multiple_values?; false; end def _section :manual end class Suffix < XML::ConfigClass def has_multiple_values?; true; end def _section :suffix end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'domain name', 'minlen'=>'1', 'maxlen'=>'255', 'uiHint-fieldLabel'=>'Domain'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) lifetime in seconds'}} # domain name def name prop_get('@name') end # (4-3600) lifetime in seconds def lifetime prop_get('lifetime') end # (4-3600) lifetime in seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def suffix maybe_register_subclass('suffix', Suffix.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def manual @subclasses['manual'] ||= Manual.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'defaule'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def dns_suffix @subclasses['dns-suffix'] ||= DnsSuffix.new(parent_instance: self, client: @client, create_children: @create_children) end class Neighbor < XML::ConfigClass def has_multiple_values?; true; end def _section :neighbor end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'help-string'=>'IP address'}, 'hw-address'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'mac-address', 'help-string'=>'MAC address (format xx:xx:xx:xx:xx:xx)'}} # IP address def name prop_get('@name') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address prop_get('hw-address') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address=(val) prop_set('hw-address', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def neighbor maybe_register_subclass('neighbor', Neighbor.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable-ndp-monitor'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable NDP Monitoring', 'uiHint-fieldLabel'=>'Enable NDP Monitoring'}, 'enable-dad'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable Duplicate Address Detection (DAD)', 'uiHint-fieldLabel'=>'Enable Duplicate Address Detection'}, 'dad-attempts'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'10', 'default'=>'1', 'help-string'=>'Number of consecutive neighbor solicitation messages sent for duplicate address detection', 'uiHint-fieldLabel'=>'DAD Attempts'}, 'ns-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'1', 'help-string'=>'Interval (in seconds) between consecutive neighbor solicitation messages', 'uiHint-fieldLabel'=>'NS Interval'}, 'reachable-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'10', 'max'=>'36000', 'default'=>'30', 'help-string'=>'Time (in seconds) that the Reachable status for a neighbor can be maintained', 'uiHint-fieldLabel'=>'Reachable Time'}} # Enable NDP Monitoring def enable_ndp_monitor prop_get('enable-ndp-monitor') end # Enable NDP Monitoring def enable_ndp_monitor=(val) prop_set('enable-ndp-monitor', val) end # Enable Duplicate Address Detection (DAD) def enable_dad prop_get('enable-dad') end # Enable Duplicate Address Detection (DAD) def enable_dad=(val) prop_set('enable-dad', val) end # Number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts prop_get('dad-attempts') end # Number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts=(val) prop_set('dad-attempts', val) end # Interval (in seconds) between consecutive neighbor solicitation messages def ns_interval prop_get('ns-interval') end # Interval (in seconds) between consecutive neighbor solicitation messages def ns_interval=(val) prop_set('ns-interval', val) end # Time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time prop_get('reachable-time') end # Time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time=(val) prop_set('reachable-time', val) end end def neighbor_discovery @subclasses['neighbor-discovery'] ||= NeighborDiscovery.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable Inherited Interface'}} # Enable Inherited Interface def enable prop_get('enable') end # Enable Inherited Interface def enable=(val) prop_set('enable', val) end end def inherited @subclasses['inherited'] ||= Inherited.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable IPv6 on the interface'}, 'interface-id'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'EUI-64', 'multi-types'=>{'string'=>{'maxlen'=>'16', 'loose-membership'=>'yes', 'help-string'=>'user defined 64-bit identifier (in hex)'}, 'enum'=>[{'value'=>'EUI-64', 'help-string'=>'default 64-bit Extended Unique Identifier'}]}}} # Enable IPv6 on the interface def enabled prop_get('enabled') end # Enable IPv6 on the interface def enabled=(val) prop_set('enabled', val) end def interface_id prop_get('interface-id') end def interface_id=(val) prop_set('interface-id', val) end end def ipv6 @subclasses['ipv6'] ||= Ipv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Pppoe < ConfigClass def has_multiple_values?; false; end def _section :pppoe end class StaticAddress < ConfigClass def has_multiple_values?; false; end def _section :'static-address' end @props = {'ip'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'static ip address'}} # static ip address def ip prop_get('ip') end # static ip address def ip=(val) prop_set('ip', val) end end def static_address @subclasses['static-address'] ||= StaticAddress.new(parent_instance: self, client: @client, create_children: @create_children) end class Passive < ConfigClass def has_multiple_values?; false; end def _section :passive end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def passive @subclasses['passive'] ||= Passive.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'authentication'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'help-string'=>'authentication protocol', 'enum'=>[{'value'=>'CHAP', 'help-string'=>'Challenge Handshake Authentication Protocol'}, {'value'=>'PAP', 'help-string'=>'Password Authentication Protocol'}, {'value'=>'auto', 'help-string'=>'auto select CHAP or PAP'}]}, 'username'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'255', 'help-string'=>'username for ppp authentication'}, 'password'=>{'node-type'=>'element', 'type'=>'string', 'encrypt'=>'yes', 'maxlen'=>'255', 'help-string'=>'password for ppp autentication'}, 'create-default-route'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'automatically create default route pointing to peer'}, 'default-route-metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'10', 'help-string'=>'metric of the default route created'}, 'access-concentrator'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'255', 'help-string'=>'desired access concentrator'}, 'service'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'255', 'help-string'=>'desired service'}, 'auto-connect'=>{'node-type'=>'element', 'disabled'=>'yes', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'automatically re-connect to peer'}, 'auto-connect-timeout'=>{'node-type'=>'element', 'disabled'=>'yes', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'0', 'min'=>'0', 'max'=>'65535', 'help-string'=>'delay (in seconds) before autmoatically re-connect'}, 'idle-disconnect'=>{'node-type'=>'element', 'disabled'=>'yes', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'0', 'min'=>'0', 'max'=>'65535', 'help-string'=>'idle timeout (in minutes) for the pppoe session (0 to disable)'}, 'clear-on-disconnect'=>{'node-type'=>'element', 'disabled'=>'yes', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'clear ip address and gateway on pppoe disconnect'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # authentication protocol def authentication prop_get('authentication') end # authentication protocol def authentication=(val) prop_set('authentication', val) end # username for ppp authentication def username prop_get('username') end # username for ppp authentication def username=(val) prop_set('username', val) end # password for ppp autentication def password prop_get('password') end # password for ppp autentication def password=(val) prop_set('password', val) end # automatically create default route pointing to peer def create_default_route prop_get('create-default-route') end # automatically create default route pointing to peer def create_default_route=(val) prop_set('create-default-route', val) end # metric of the default route created def default_route_metric prop_get('default-route-metric') end # metric of the default route created def default_route_metric=(val) prop_set('default-route-metric', val) end # desired access concentrator def access_concentrator prop_get('access-concentrator') end # desired access concentrator def access_concentrator=(val) prop_set('access-concentrator', val) end # desired service def service prop_get('service') end # desired service def service=(val) prop_set('service', val) end # automatically re-connect to peer def auto_connect prop_get('auto-connect') end # automatically re-connect to peer def auto_connect=(val) prop_set('auto-connect', val) end # delay (in seconds) before autmoatically re-connect def auto_connect_timeout prop_get('auto-connect-timeout') end # delay (in seconds) before autmoatically re-connect def auto_connect_timeout=(val) prop_set('auto-connect-timeout', val) end # idle timeout (in minutes) for the pppoe session (0 to disable) def idle_disconnect prop_get('idle-disconnect') end # idle timeout (in minutes) for the pppoe session (0 to disable) def idle_disconnect=(val) prop_set('idle-disconnect', val) end # clear ip address and gateway on pppoe disconnect def clear_on_disconnect prop_get('clear-on-disconnect') end # clear ip address and gateway on pppoe disconnect def clear_on_disconnect=(val) prop_set('clear-on-disconnect', val) end end def pppoe @subclasses['pppoe'] ||= Pppoe.new(parent_instance: self, client: @client, create_children: @create_children) end class DhcpClient < ConfigClass def has_multiple_values?; false; end def _section :'dhcp-client' end class SendHostname < ConfigClass def has_multiple_values?; false; end def _section :'send-hostname' end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'hostname'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'system-hostname', 'help-string'=>'Set Interface Hostname', 'multi-types'=>{'string'=>{'regex'=>'^[a-zA-Z0-9\._-]+$', 'minlen'=>'1', 'maxlen'=>'64', 'loose-membership'=>'yes', 'help-string'=>'Custom Interface Hostname'}, 'enum'=>[{'value'=>'system-hostname', 'help-string'=>'System Hostname'}]}}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Set Interface Hostname def hostname prop_get('hostname') end # Set Interface Hostname def hostname=(val) prop_set('hostname', val) end end def send_hostname @subclasses['send-hostname'] ||= SendHostname.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'create-default-route'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Automatically create default route pointing to default gateway provided by server'}, 'default-route-metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'10', 'help-string'=>'Metric of the default route created'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Automatically create default route pointing to default gateway provided by server def create_default_route prop_get('create-default-route') end # Automatically create default route pointing to default gateway provided by server def create_default_route=(val) prop_set('create-default-route', val) end # Metric of the default route created def default_route_metric prop_get('default-route-metric') end # Metric of the default route created def default_route_metric=(val) prop_set('default-route-metric', val) end end def dhcp_client @subclasses['dhcp-client'] ||= DhcpClient.new(parent_instance: self, client: @client, create_children: @create_children) end class DdnsConfig < ConfigClass def has_multiple_values?; false; end def _section :'ddns-config' end class DdnsIp < XML::ConfigClass def has_multiple_values?; true; end def _section :'ddns-ip' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'maxlen'=>'127'}, 'enum'=>[{'value'=>'DHCP'}, {'value'=>'PPPoE'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def ddns_ip maybe_register_subclass('ddns-ip', DdnsIp.new(parent_instance: self, client: @client, create_children: @create_children)) end class DdnsIpv6 < XML::ConfigClass def has_multiple_values?; true; end def _section :'ddns-ipv6' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def ddns_ipv6 maybe_register_subclass('ddns-ipv6', DdnsIpv6.new(parent_instance: self, client: @client, create_children: @create_children)) end class DdnsVendorConfig < XML::ConfigClass def has_multiple_values?; true; end def _section :'ddns-vendor-config' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'255'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ddns_vendor_config maybe_register_subclass('ddns-vendor-config', DdnsVendorConfig.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'ddns-enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'ddns-update-interval'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'30', 'default'=>'1', 'optional'=>'yes'}, 'ddns-hostname'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([$a-zA-Z0-9_\.\-])+$', 'minlen'=>'1', 'maxlen'=>'255', 'help-string'=>'ddns hostname variable or real address'}, 'ddns-cert-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes'}, 'ddns-vendor'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127', 'help-string'=>'Vendor and product type'}} def ddns_enabled prop_get('ddns-enabled') end def ddns_enabled=(val) prop_set('ddns-enabled', val) end def ddns_update_interval prop_get('ddns-update-interval') end def ddns_update_interval=(val) prop_set('ddns-update-interval', val) end # ddns hostname variable or real address def ddns_hostname prop_get('ddns-hostname') end # ddns hostname variable or real address def ddns_hostname=(val) prop_set('ddns-hostname', val) end def ddns_cert_profile prop_get('ddns-cert-profile') end def ddns_cert_profile=(val) prop_set('ddns-cert-profile', val) end # Vendor and product type def ddns_vendor prop_get('ddns-vendor') end # Vendor and product type def ddns_vendor=(val) prop_set('ddns-vendor', val) end end def ddns_config @subclasses['ddns-config'] ||= DdnsConfig.new(parent_instance: self, client: @client, create_children: @create_children) end class Arp < XML::ConfigClass def has_multiple_values?; true; end def _section :arp end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'ip-address', 'help-string'=>'IP address'}, 'hw-address'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'mac-address', 'help-string'=>'MAC address (format xx:xx:xx:xx:xx:xx)'}} # IP address def name prop_get('@name') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address prop_get('hw-address') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address=(val) prop_set('hw-address', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def arp maybe_register_subclass('arp', Arp.new(parent_instance: self, client: @client, create_children: @create_children)) end class NdpProxy < ConfigClass def has_multiple_values?; false; end def _section :'ndp-proxy' end class Address < XML::ConfigClass def has_multiple_values?; true; end def _section :address end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'IPv6 address or address object name'}, 'negate'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'max-count'=>'16', 'help-string'=>'put the prefix or address on a block list'}} # IPv6 address or address object name def name prop_get('@name') end # put the prefix or address on a block list def negate prop_get('negate') end # put the prefix or address on a block list def negate=(val) prop_set('negate', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def address maybe_register_subclass('address', Address.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable proxy NDP on the interface'}} # Enable proxy NDP on the interface def enabled prop_get('enabled') end # Enable proxy NDP on the interface def enabled=(val) prop_set('enabled', val) end end def ndp_proxy @subclasses['ndp-proxy'] ||= NdpProxy.new(parent_instance: self, client: @client, create_children: @create_children) end class SdwanLinkSettings < ConfigClass def has_multiple_values?; false; end def _section :'sdwan-link-settings' end class UpstreamNat < ConfigClass def has_multiple_values?; false; end def _section :'upstream-nat' end class StaticIp < ConfigClass def has_multiple_values?; false; end def _section :'static-ip' end @props = {'ip-address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Upstream NAT IP address', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'ipspec'=>{'unicast-only'=>'yes'}}}, 'fqdn'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'regex'=>'^([a-zA-Z0-9._-])+$', 'help-string'=>'Upstream NAT address FQDN name configuration'}} # Upstream NAT IP address def ip_address prop_get('ip-address') end # Upstream NAT IP address def ip_address=(val) prop_set('ip-address', val) end # Upstream NAT address FQDN name configuration def fqdn prop_get('fqdn') end # Upstream NAT address FQDN name configuration def fqdn=(val) prop_set('fqdn', val) end end def static_ip @subclasses['static-ip'] ||= StaticIp.new(parent_instance: self, client: @client, create_children: @create_children) end class Ddns < ConfigClass def has_multiple_values?; false; end def _section :ddns end @props = {} end def ddns @subclasses['ddns'] ||= Ddns.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable upstream NAT IP config'}} # Enable upstream NAT IP config def enable prop_get('enable') end # Enable upstream NAT IP config def enable=(val) prop_set('enable', val) end end def upstream_nat @subclasses['upstream-nat'] ||= UpstreamNat.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable sdwan on this ethernet interface'}, 'sdwan-interface-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'Sdwan link characteristics'}} # Enable sdwan on this ethernet interface def enable prop_get('enable') end # Enable sdwan on this ethernet interface def enable=(val) prop_set('enable', val) end # Sdwan link characteristics def sdwan_interface_profile prop_get('sdwan-interface-profile') end # Sdwan link characteristics def sdwan_interface_profile=(val) prop_set('sdwan-interface-profile', val) end end def sdwan_link_settings @subclasses['sdwan-link-settings'] ||= SdwanLinkSettings.new(parent_instance: self, client: @client, create_children: @create_children) end class Units < XML::ConfigClass def has_multiple_values?; true; end def _section :units end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SdwanLinkSettings < ConfigClass def has_multiple_values?; false; end def _section :'sdwan-link-settings' end class UpstreamNat < ConfigClass def has_multiple_values?; false; end def _section :'upstream-nat' end class StaticIp < ConfigClass def has_multiple_values?; false; end def _section :'static-ip' end @props = {'ip-address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Upstream NAT IP address', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'ipspec'=>{'unicast-only'=>'yes'}}}, 'fqdn'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'regex'=>'^([a-zA-Z0-9._-])+$', 'help-string'=>'Upstream NAT address FQDN name configuration'}} # Upstream NAT IP address def ip_address prop_get('ip-address') end # Upstream NAT IP address def ip_address=(val) prop_set('ip-address', val) end # Upstream NAT address FQDN name configuration def fqdn prop_get('fqdn') end # Upstream NAT address FQDN name configuration def fqdn=(val) prop_set('fqdn', val) end end def static_ip @subclasses['static-ip'] ||= StaticIp.new(parent_instance: self, client: @client, create_children: @create_children) end class Ddns < ConfigClass def has_multiple_values?; false; end def _section :ddns end @props = {} end def ddns @subclasses['ddns'] ||= Ddns.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable upstream NAT IP config'}} # Enable upstream NAT IP config def enable prop_get('enable') end # Enable upstream NAT IP config def enable=(val) prop_set('enable', val) end end def upstream_nat @subclasses['upstream-nat'] ||= UpstreamNat.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable sdwan on this ethernet interface'}, 'sdwan-interface-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'Sdwan link characteristics'}} # Enable sdwan on this ethernet interface def enable prop_get('enable') end # Enable sdwan on this ethernet interface def enable=(val) prop_set('enable', val) end # Sdwan link characteristics def sdwan_interface_profile prop_get('sdwan-interface-profile') end # Sdwan link characteristics def sdwan_interface_profile=(val) prop_set('sdwan-interface-profile', val) end end def sdwan_link_settings @subclasses['sdwan-link-settings'] ||= SdwanLinkSettings.new(parent_instance: self, client: @client, create_children: @create_children) end class Bonjour < ConfigClass def has_multiple_values?; false; end def _section :bonjour end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set to support Bonjour service'}, 'ttl-check'=>{'node-type'=>'element', 'internal'=>'yes', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set to check and update TTL'}, 'group-id'=>{'node-type'=>'element', 'internal'=>'yes', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'40', 'min'=>'0', 'max'=>'16', 'help-string'=>'default 0: NO-Group'}} # Set to support Bonjour service def enable prop_get('enable') end # Set to support Bonjour service def enable=(val) prop_set('enable', val) end # Set to check and update TTL def ttl_check prop_get('ttl-check') end # Set to check and update TTL def ttl_check=(val) prop_set('ttl-check', val) end # default 0: NO-Group def group_id prop_get('group-id') end # default 0: NO-Group def group_id=(val) prop_set('group-id', val) end end def bonjour @subclasses['bonjour'] ||= Bonjour.new(parent_instance: self, client: @client, create_children: @create_children) end class AdjustTcpMss < ConfigClass def has_multiple_values?; false; end def _section :'adjust-tcp-mss' end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set if TCP MSS value should be reduced based on mtu'}, 'ipv4-mss-adjustment'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'40', 'min'=>'40', 'max'=>'300', 'help-string'=>'IPv4 MSS adjustment size (in bytes)'}, 'ipv6-mss-adjustment'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'60', 'min'=>'60', 'max'=>'300', 'help-string'=>'IPv6 MSS adjustment size (in bytes)'}} # Set if TCP MSS value should be reduced based on mtu def enable prop_get('enable') end # Set if TCP MSS value should be reduced based on mtu def enable=(val) prop_set('enable', val) end # IPv4 MSS adjustment size (in bytes) def ipv4_mss_adjustment prop_get('ipv4-mss-adjustment') end # IPv4 MSS adjustment size (in bytes) def ipv4_mss_adjustment=(val) prop_set('ipv4-mss-adjustment', val) end # IPv6 MSS adjustment size (in bytes) def ipv6_mss_adjustment prop_get('ipv6-mss-adjustment') end # IPv6 MSS adjustment size (in bytes) def ipv6_mss_adjustment=(val) prop_set('ipv6-mss-adjustment', val) end end def adjust_tcp_mss @subclasses['adjust-tcp-mss'] ||= AdjustTcpMss.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip < XML::ConfigClass def has_multiple_values?; true; end def _section :ip end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'regex'=>'^([ $0-9a-zA-Z:@./_-])+$', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'IP address/netmask or address object name'}, 'sdwan-gateway'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'Gateway IPv4 Address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'ipv4-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # IP address/netmask or address object name def name prop_get('@name') end # Gateway IPv4 Address def sdwan_gateway prop_get('sdwan-gateway') end # Gateway IPv4 Address def sdwan_gateway=(val) prop_set('sdwan-gateway', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ip maybe_register_subclass('ip', Ip.new(parent_instance: self, client: @client, create_children: @create_children)) end class Ipv6 < ConfigClass def has_multiple_values?; false; end def _section :ipv6 end class Address < XML::ConfigClass def has_multiple_values?; true; end def _section :address end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Prefix < ConfigClass def has_multiple_values?; false; end def _section :prefix end @props = {} end def prefix @subclasses['prefix'] ||= Prefix.new(parent_instance: self, client: @client, create_children: @create_children) end class Anycast < ConfigClass def has_multiple_values?; false; end def _section :anycast end @props = {} end def anycast @subclasses['anycast'] ||= Anycast.new(parent_instance: self, client: @client, create_children: @create_children) end class Advertise < ConfigClass def has_multiple_values?; false; end def _section :advertise end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable advertising this prefix in router advertisements'}, 'valid-lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'2592000', 'help-string'=>'Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967294'}, 'enum'=>[{'value'=>'infinity'}]}}, 'preferred-lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'604800', 'help-string'=>'Preferred Lifetime (in seconds) of the prefix advertised in Router Advertisement messages', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967294'}, 'enum'=>[{'value'=>'infinity'}]}}, 'onlink-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages'}, 'auto-config-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages'}} # enable advertising this prefix in router advertisements def enable prop_get('enable') end # enable advertising this prefix in router advertisements def enable=(val) prop_set('enable', val) end # Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def valid_lifetime prop_get('valid-lifetime') end # Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def valid_lifetime=(val) prop_set('valid-lifetime', val) end # Preferred Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def preferred_lifetime prop_get('preferred-lifetime') end # Preferred Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def preferred_lifetime=(val) prop_set('preferred-lifetime', val) end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag prop_get('onlink-flag') end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag=(val) prop_set('onlink-flag', val) end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag prop_get('auto-config-flag') end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag=(val) prop_set('auto-config-flag', val) end end def advertise @subclasses['advertise'] ||= Advertise.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'^([ $0-9a-zA-Z:@./_-])+$', 'maxlen'=>'63', 'help-string'=>'IPv6 address/prefix length or address object name'}, 'enable-on-interface'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'configure this address on interface'}} # IPv6 address/prefix length or address object name def name prop_get('@name') end # configure this address on interface def enable_on_interface prop_get('enable-on-interface') end # configure this address on interface def enable_on_interface=(val) prop_set('enable-on-interface', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def address maybe_register_subclass('address', Address.new(parent_instance: self, client: @client, create_children: @create_children)) end class NeighborDiscovery < ConfigClass def has_multiple_values?; false; end def _section :'neighbor-discovery' end class RouterAdvertisement < ConfigClass def has_multiple_values?; false; end def _section :'router-advertisement' end class Prefix < XML::ConfigClass def has_multiple_values?; true; end def _section :prefix end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class ValidLifetime < XML::ConfigClass def has_multiple_values?; true; end def _section :'valid-lifetime' end @props = {'fixed-time'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'default'=>'2592000', 'help-string'=>'fixed value (in seconds) of the Valid Lifetime field of the prefix in Router Advertisement messages'}, 'expire-time'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'19', 'maxlen'=>'19', 'regex'=>'[0-9][0-9][0-9][0-9]/([0][1-9]|[1][0-2])/([0-2][0-9]|[3][0-1])@([01][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9])', 'help-string'=>'expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59)'}} # fixed value (in seconds) of the Valid Lifetime field of the prefix in Router Advertisement messages def fixed_time prop_get('fixed-time') end # fixed value (in seconds) of the Valid Lifetime field of the prefix in Router Advertisement messages def fixed_time=(val) prop_set('fixed-time', val) end # expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59) def expire_time prop_get('expire-time') end # expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59) def expire_time=(val) prop_set('expire-time', val) end end def valid_lifetime maybe_register_subclass('valid-lifetime', ValidLifetime.new(parent_instance: self, client: @client, create_children: @create_children)) end class PreferredLifetime < XML::ConfigClass def has_multiple_values?; true; end def _section :'preferred-lifetime' end @props = {'fixed-time'=>{'node-type'=>'element', 'type'=>'rangedint', 'default'=>'604800', 'min'=>'0', 'max'=>'4294967295', 'help-string'=>'Fixed value (in seconds) of the Preferred Lifetime field of the prefix in Router Advertisement messages'}, 'expire-time'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'19', 'maxlen'=>'19', 'regex'=>'[0-9][0-9][0-9][0-9]/([0][1-9]|[1][0-2])/([0-2][0-9]|[3][0-1])@([01][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9])', 'help-string'=>'expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59)'}} # Fixed value (in seconds) of the Preferred Lifetime field of the prefix in Router Advertisement messages def fixed_time prop_get('fixed-time') end # Fixed value (in seconds) of the Preferred Lifetime field of the prefix in Router Advertisement messages def fixed_time=(val) prop_set('fixed-time', val) end # expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59) def expire_time prop_get('expire-time') end # expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59) def expire_time=(val) prop_set('expire-time', val) end end def preferred_lifetime maybe_register_subclass('preferred-lifetime', PreferredLifetime.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'help-string'=>'IPv6 prefix'}, 'onlink-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages'}, 'auto-config-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages'}} # IPv6 prefix def name prop_get('@name') end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag prop_get('onlink-flag') end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag=(val) prop_set('onlink-flag', val) end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag prop_get('auto-config-flag') end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag=(val) prop_set('auto-config-flag', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def prefix maybe_register_subclass('prefix', Prefix.new(parent_instance: self, client: @client, create_children: @create_children)) end class DnsSupport < ConfigClass def has_multiple_values?; false; end def _section :'dns-support' end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'unicast-only'=>'yes', 'help-string'=>'IPv6 address'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) lifetime in seconds'}} # IPv6 address def name prop_get('@name') end # (4-3600) lifetime in seconds def lifetime prop_get('lifetime') end # (4-3600) lifetime in seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end class Suffix < XML::ConfigClass def has_multiple_values?; true; end def _section :suffix end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'domain name', 'minlen'=>'1', 'maxlen'=>'255'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) lifetime in seconds'}} # domain name def name prop_get('@name') end # (4-3600) lifetime in seconds def lifetime prop_get('lifetime') end # (4-3600) lifetime in seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def suffix maybe_register_subclass('suffix', Suffix.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'defaule'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def dns_support @subclasses['dns-support'] ||= DnsSupport.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'max-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'1800', 'default'=>'600', 'help-string'=>'Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages'}, 'min-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'3', 'max'=>'1350', 'default'=>'200', 'help-string'=>'Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages'}, 'managed-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set the Managed Configuration Flag (M-bit) in Router Advertisement messages'}, 'other-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages'}, 'link-mtu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise', 'multi-types'=>{'rangedint'=>{'min'=>'1280', 'max'=>'9216'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'reachable-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'Reachable Time (in milliseconds) advertised in Router Advertisement messages', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'3600000'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'retransmission-timer'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'Retransmission Timer (in milliseconds) advertised in Router Advertisement messages', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967295'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'hop-limit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'64', 'help-string'=>'Current Hop Limit advertised in Router Advertisement messages', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'255'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'9000', 'default'=>'1800', 'help-string'=>'Router Lifetime (in seconds) advertised in Router Advertisement messages'}, 'router-preference'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'Medium', 'enum'=>[{'value'=>'High', 'help-string'=>'01 High'}, {'value'=>'Medium', 'help-string'=>'00 Medium'}, {'value'=>'Low', 'help-string'=>'11 Low'}]}, 'enable-consistency-check'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'check consistency of RA messages from other routers.'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages def max_interval prop_get('max-interval') end # Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages def max_interval=(val) prop_set('max-interval', val) end # Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages def min_interval prop_get('min-interval') end # Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages def min_interval=(val) prop_set('min-interval', val) end # Set the Managed Configuration Flag (M-bit) in Router Advertisement messages def managed_flag prop_get('managed-flag') end # Set the Managed Configuration Flag (M-bit) in Router Advertisement messages def managed_flag=(val) prop_set('managed-flag', val) end # Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages def other_flag prop_get('other-flag') end # Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages def other_flag=(val) prop_set('other-flag', val) end # value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise def link_mtu prop_get('link-mtu') end # value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise def link_mtu=(val) prop_set('link-mtu', val) end # Reachable Time (in milliseconds) advertised in Router Advertisement messages def reachable_time prop_get('reachable-time') end # Reachable Time (in milliseconds) advertised in Router Advertisement messages def reachable_time=(val) prop_set('reachable-time', val) end # Retransmission Timer (in milliseconds) advertised in Router Advertisement messages def retransmission_timer prop_get('retransmission-timer') end # Retransmission Timer (in milliseconds) advertised in Router Advertisement messages def retransmission_timer=(val) prop_set('retransmission-timer', val) end # Current Hop Limit advertised in Router Advertisement messages def hop_limit prop_get('hop-limit') end # Current Hop Limit advertised in Router Advertisement messages def hop_limit=(val) prop_set('hop-limit', val) end # Router Lifetime (in seconds) advertised in Router Advertisement messages def lifetime prop_get('lifetime') end # Router Lifetime (in seconds) advertised in Router Advertisement messages def lifetime=(val) prop_set('lifetime', val) end def router_preference prop_get('router-preference') end def router_preference=(val) prop_set('router-preference', val) end # check consistency of RA messages from other routers. def enable_consistency_check prop_get('enable-consistency-check') end # check consistency of RA messages from other routers. def enable_consistency_check=(val) prop_set('enable-consistency-check', val) end end def router_advertisement @subclasses['router-advertisement'] ||= RouterAdvertisement.new(parent_instance: self, client: @client, create_children: @create_children) end class Neighbor < XML::ConfigClass def has_multiple_values?; true; end def _section :neighbor end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'help-string'=>'IP address'}, 'hw-address'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'mac-address', 'help-string'=>'MAC address (format xx:xx:xx:xx:xx:xx)'}} # IP address def name prop_get('@name') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address prop_get('hw-address') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address=(val) prop_set('hw-address', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def neighbor maybe_register_subclass('neighbor', Neighbor.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable-ndp-monitor'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable ndp monitoring'}, 'enable-dad'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable duplicate address detection'}, 'dad-attempts'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'10', 'default'=>'1', 'help-string'=>'number of consecutive neighbor solicitation messages sent for duplicate address detection'}, 'ns-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'1', 'help-string'=>'interval (in seconds) between consecutive neighbor solicitation messages'}, 'reachable-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'10', 'max'=>'36000', 'default'=>'30', 'help-string'=>'time (in seconds) that the Reachable status for a neighbor can be maintained'}, 'disable-nud'=>{'node-type'=>'element', 'disabled'=>'yes', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'disable Neighbor Unreachability Detection'}} # enable ndp monitoring def enable_ndp_monitor prop_get('enable-ndp-monitor') end # enable ndp monitoring def enable_ndp_monitor=(val) prop_set('enable-ndp-monitor', val) end # enable duplicate address detection def enable_dad prop_get('enable-dad') end # enable duplicate address detection def enable_dad=(val) prop_set('enable-dad', val) end # number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts prop_get('dad-attempts') end # number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts=(val) prop_set('dad-attempts', val) end # interval (in seconds) between consecutive neighbor solicitation messages def ns_interval prop_get('ns-interval') end # interval (in seconds) between consecutive neighbor solicitation messages def ns_interval=(val) prop_set('ns-interval', val) end # time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time prop_get('reachable-time') end # time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time=(val) prop_set('reachable-time', val) end # disable Neighbor Unreachability Detection def disable_nud prop_get('disable-nud') end # disable Neighbor Unreachability Detection def disable_nud=(val) prop_set('disable-nud', val) end end def neighbor_discovery @subclasses['neighbor-discovery'] ||= NeighborDiscovery.new(parent_instance: self, client: @client, create_children: @create_children) end class DhcpClient < ConfigClass def has_multiple_values?; false; end def _section :'dhcp-client' end class V6Options < ConfigClass def has_multiple_values?; false; end def _section :'v6-options' end class Enable < XML::ConfigClass def has_multiple_values?; true; end def _section :enable end class No < ConfigClass def has_multiple_values?; false; end def _section :no end @props = {} end def no @subclasses['no'] ||= No.new(parent_instance: self, client: @client, create_children: @create_children) end class Yes < ConfigClass def has_multiple_values?; false; end def _section :yes end @props = {'non-temp-addr'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Request Non-Temporary Address Type', 'uiHint-fieldLabel'=>'Non-Temporary Address'}, 'temp-addr'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Request Temporary Address Type', 'uiHint-fieldLabel'=>'Temporary Address'}} # Request Non-Temporary Address Type def non_temp_addr prop_get('non-temp-addr') end # Request Non-Temporary Address Type def non_temp_addr=(val) prop_set('non-temp-addr', val) end # Request Temporary Address Type def temp_addr prop_get('temp-addr') end # Request Temporary Address Type def temp_addr=(val) prop_set('temp-addr', val) end end def yes @subclasses['yes'] ||= Yes.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def enable maybe_register_subclass('enable', Enable.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'support-srvr-reconfig'=>{'node-type'=>'element', 'hidden'=>'yes', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable DHCPv6 Server Re-Configuration Support', 'uiHint-fieldLabel'=>'DHCPv6 Server Re-Configuration Support'}, 'rapid-commit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable Rapid Commit', 'uiHint-fieldLabel'=>'Rapid Commit'}, 'duid-type'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'duid-type-llt', 'optional'=>'yes', 'help-string'=>'Select DUID-LLT/DUID-LL', 'uiHint-fieldLabel'=>'DUID Type', 'enum'=>[{'name'=>'duid-type-llt', 'value'=>'duid-type-llt', 'optional'=>'yes', 'help-string'=>'DUID-LLT'}, {'name'=>'duid-type-ll', 'value'=>'duid-type-ll', 'optional'=>'yes', 'help-string'=>'DUID-LL'}]}} # Enable DHCPv6 Server Re-Configuration Support def support_srvr_reconfig prop_get('support-srvr-reconfig') end # Enable DHCPv6 Server Re-Configuration Support def support_srvr_reconfig=(val) prop_set('support-srvr-reconfig', val) end # Enable Rapid Commit def rapid_commit prop_get('rapid-commit') end # Enable Rapid Commit def rapid_commit=(val) prop_set('rapid-commit', val) end # Select DUID-LLT/DUID-LL def duid_type prop_get('duid-type') end # Select DUID-LLT/DUID-LL def duid_type=(val) prop_set('duid-type', val) end end def v6_options @subclasses['v6-options'] ||= V6Options.new(parent_instance: self, client: @client, create_children: @create_children) end class PrefixDelegation < ConfigClass def has_multiple_values?; false; end def _section :'prefix-delegation' end class Enable < XML::ConfigClass def has_multiple_values?; true; end def _section :enable end class No < ConfigClass def has_multiple_values?; false; end def _section :no end @props = {} end def no @subclasses['no'] ||= No.new(parent_instance: self, client: @client, create_children: @create_children) end class Yes < ConfigClass def has_multiple_values?; false; end def _section :yes end @props = {'prefix-len-hint'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Send prefix length hint to server', 'uiHint-fieldLabel'=>'DHCP Prefix Length Hint'}, 'prefix-len'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'128', 'default'=>'48', 'help-string'=>'Hint DHCP Prefix Length (bits)', 'uiHint-fieldLabel'=>'DHCP Prefix Length'}, 'pfx-pool-name'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'regex'=>'^[a-zA-Z0-9._-]+$', 'help-string'=>'Configure unique Prefix Pool Name', 'uiHint-fieldLabel'=>'Prefix Pool Name'}} # Send prefix length hint to server def prefix_len_hint prop_get('prefix-len-hint') end # Send prefix length hint to server def prefix_len_hint=(val) prop_set('prefix-len-hint', val) end # Hint DHCP Prefix Length (bits) def prefix_len prop_get('prefix-len') end # Hint DHCP Prefix Length (bits) def prefix_len=(val) prop_set('prefix-len', val) end # Configure unique Prefix Pool Name def pfx_pool_name prop_get('pfx-pool-name') end # Configure unique Prefix Pool Name def pfx_pool_name=(val) prop_set('pfx-pool-name', val) end end def yes @subclasses['yes'] ||= Yes.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def enable maybe_register_subclass('enable', Enable.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def prefix_delegation @subclasses['prefix-delegation'] ||= PrefixDelegation.new(parent_instance: self, client: @client, create_children: @create_children) end class NeighborDiscovery < ConfigClass def has_multiple_values?; false; end def _section :'neighbor-discovery' end class DnsServer < ConfigClass def has_multiple_values?; false; end def _section :'dns-server' end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end class Dhcpv6 < ConfigClass def has_multiple_values?; false; end def _section :dhcpv6 end @props = {} end def dhcpv6 @subclasses['dhcpv6'] ||= Dhcpv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Manual < ConfigClass def has_multiple_values?; false; end def _section :manual end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'unicast-only'=>'yes', 'help-string'=>'IPv6 Address', 'uiHint-fieldLabel'=>'Server'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) Lifetime in Seconds'}} # IPv6 Address def name prop_get('@name') end # (4-3600) Lifetime in Seconds def lifetime prop_get('lifetime') end # (4-3600) Lifetime in Seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def manual @subclasses['manual'] ||= Manual.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'defaule'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def dns_server @subclasses['dns-server'] ||= DnsServer.new(parent_instance: self, client: @client, create_children: @create_children) end class DnsSuffix < ConfigClass def has_multiple_values?; false; end def _section :'dns-suffix' end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end class Dhcpv6 < ConfigClass def has_multiple_values?; false; end def _section :dhcpv6 end @props = {} end def dhcpv6 @subclasses['dhcpv6'] ||= Dhcpv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Manual < ConfigClass def has_multiple_values?; false; end def _section :manual end class Suffix < XML::ConfigClass def has_multiple_values?; true; end def _section :suffix end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'domain name', 'minlen'=>'1', 'maxlen'=>'255', 'uiHint-fieldLabel'=>'Domain'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) lifetime in seconds'}} # domain name def name prop_get('@name') end # (4-3600) lifetime in seconds def lifetime prop_get('lifetime') end # (4-3600) lifetime in seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def suffix maybe_register_subclass('suffix', Suffix.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def manual @subclasses['manual'] ||= Manual.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'defaule'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def dns_suffix @subclasses['dns-suffix'] ||= DnsSuffix.new(parent_instance: self, client: @client, create_children: @create_children) end class Neighbor < XML::ConfigClass def has_multiple_values?; true; end def _section :neighbor end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'help-string'=>'IP address'}, 'hw-address'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'mac-address', 'help-string'=>'MAC address (format xx:xx:xx:xx:xx:xx)'}} # IP address def name prop_get('@name') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address prop_get('hw-address') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address=(val) prop_set('hw-address', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def neighbor maybe_register_subclass('neighbor', Neighbor.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable-ndp-monitor'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable NDP Monitoring', 'uiHint-fieldLabel'=>'Enable NDP Monitoring'}, 'enable-dad'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable Duplicate Address Detection', 'uiHint-fieldLabel'=>'Enable Duplicate Address Detection'}, 'dad-attempts'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'10', 'default'=>'1', 'help-string'=>'number of consecutive neighbor solicitation messages sent for duplicate address detection', 'uiHint-fieldLabel'=>'DAD Attempts'}, 'ns-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'1', 'help-string'=>'interval (in seconds) between consecutive neighbor solicitation messages', 'uiHint-fieldLabel'=>'NS Interval'}, 'reachable-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'10', 'max'=>'36000', 'default'=>'30', 'help-string'=>'time (in seconds) that the Reachable status for a neighbor can be maintained', 'uiHint-fieldLabel'=>'Reachable Time'}} # Enable NDP Monitoring def enable_ndp_monitor prop_get('enable-ndp-monitor') end # Enable NDP Monitoring def enable_ndp_monitor=(val) prop_set('enable-ndp-monitor', val) end # Enable Duplicate Address Detection def enable_dad prop_get('enable-dad') end # Enable Duplicate Address Detection def enable_dad=(val) prop_set('enable-dad', val) end # number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts prop_get('dad-attempts') end # number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts=(val) prop_set('dad-attempts', val) end # interval (in seconds) between consecutive neighbor solicitation messages def ns_interval prop_get('ns-interval') end # interval (in seconds) between consecutive neighbor solicitation messages def ns_interval=(val) prop_set('ns-interval', val) end # time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time prop_get('reachable-time') end # time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time=(val) prop_set('reachable-time', val) end end def neighbor_discovery @subclasses['neighbor-discovery'] ||= NeighborDiscovery.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable DHCPv6 Client', 'uiHint-fieldLabel'=>'Enable'}, 'accept-ra-route'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Accept Router Advertised Default Route', 'uiHint-fieldLabel'=>'Accept Router Advertised Route'}, 'default-route-metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'10', 'help-string'=>'Metric of the default route created'}, 'preference'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'high', 'optional'=>'yes', 'help-string'=>'Select Low/Medium/High', 'uiHint-fieldLabel'=>'Preference', 'enum'=>[{'name'=>'low', 'value'=>'low', 'optional'=>'yes', 'help-string'=>'Low'}, {'name'=>'medium', 'value'=>'medium', 'optional'=>'yes', 'help-string'=>'Medium'}, {'name'=>'high', 'value'=>'high', 'optional'=>'yes', 'help-string'=>'High'}]}} # Enable DHCPv6 Client def enable prop_get('enable') end # Enable DHCPv6 Client def enable=(val) prop_set('enable', val) end # Accept Router Advertised Default Route def accept_ra_route prop_get('accept-ra-route') end # Accept Router Advertised Default Route def accept_ra_route=(val) prop_set('accept-ra-route', val) end # Metric of the default route created def default_route_metric prop_get('default-route-metric') end # Metric of the default route created def default_route_metric=(val) prop_set('default-route-metric', val) end # Select Low/Medium/High def preference prop_get('preference') end # Select Low/Medium/High def preference=(val) prop_set('preference', val) end end def dhcp_client @subclasses['dhcp-client'] ||= DhcpClient.new(parent_instance: self, client: @client, create_children: @create_children) end class Inherited < ConfigClass def has_multiple_values?; false; end def _section :inherited end class AssignAddr < XML::ConfigClass def has_multiple_values?; true; end def _section :'assign-addr' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Gua < ConfigClass def has_multiple_values?; false; end def _section :gua end class PoolType < XML::ConfigClass def has_multiple_values?; true; end def _section :'pool-type' end class Dynamic < ConfigClass def has_multiple_values?; false; end def _section :dynamic end @props = {} end def dynamic @subclasses['dynamic'] ||= Dynamic.new(parent_instance: self, client: @client, create_children: @create_children) end class DynamicId < ConfigClass def has_multiple_values?; false; end def _section :'dynamic-id' end @props = {'identifier'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4095', 'help-string'=>'Range [0-4095] must be unqiue for this prefix-pool', 'uiHint-fieldLabel'=>'Identifier'}} # Range [0-4095] must be unqiue for this prefix-pool def identifier prop_get('identifier') end # Range [0-4095] must be unqiue for this prefix-pool def identifier=(val) prop_set('identifier', val) end end def dynamic_id @subclasses['dynamic-id'] ||= DynamicId.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def pool_type maybe_register_subclass('pool-type', PoolType.new(parent_instance: self, client: @client, create_children: @create_children)) end class Advertise < ConfigClass def has_multiple_values?; false; end def _section :advertise end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable advertising this prefix in router advertisements'}, 'onlink-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages', 'uiHint-fieldLabel'=>'On-Link'}, 'auto-config-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages', 'uiHint-fieldLabel'=>'Autonomous'}} # Enable advertising this prefix in router advertisements def enable prop_get('enable') end # Enable advertising this prefix in router advertisements def enable=(val) prop_set('enable', val) end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag prop_get('onlink-flag') end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag=(val) prop_set('onlink-flag', val) end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag prop_get('auto-config-flag') end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag=(val) prop_set('auto-config-flag', val) end end def advertise @subclasses['advertise'] ||= Advertise.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable-on-interface'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable on Interface'}, 'prefix-pool'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix Pool', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'use-cache'=>'yes', 'optional'=>'yes', 'help-string'=>'Prefix-Pool Name'}} # Enable on Interface def enable_on_interface prop_get('enable-on-interface') end # Enable on Interface def enable_on_interface=(val) prop_set('enable-on-interface', val) end # Prefix-Pool Name def prefix_pool prop_get('prefix-pool') end # Prefix-Pool Name def prefix_pool=(val) prop_set('prefix-pool', val) end end def gua @subclasses['gua'] ||= Gua.new(parent_instance: self, client: @client, create_children: @create_children) end class Ula < ConfigClass def has_multiple_values?; false; end def _section :ula end class Advertise < ConfigClass def has_multiple_values?; false; end def _section :advertise end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable advertising this prefix in router advertisements'}, 'valid-lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'2592000', 'help-string'=>'Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages', 'uiHint-fieldLabel'=>'Valid Lifetime', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967294'}, 'enum'=>[{'value'=>'infinity'}]}}, 'preferred-lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'604800', 'help-string'=>'Preferred Lifetime (in seconds) of the prefix advertised in Router advertisement messages', 'uiHint-fieldLabel'=>'Preferred Lifetime', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967294'}, 'enum'=>[{'value'=>'infinity'}]}}, 'onlink-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages', 'uiHint-fieldLabel'=>'On-Link'}, 'auto-config-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages', 'uiHint-fieldLabel'=>'Autonomous'}} # enable advertising this prefix in router advertisements def enable prop_get('enable') end # enable advertising this prefix in router advertisements def enable=(val) prop_set('enable', val) end # Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def valid_lifetime prop_get('valid-lifetime') end # Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def valid_lifetime=(val) prop_set('valid-lifetime', val) end # Preferred Lifetime (in seconds) of the prefix advertised in Router advertisement messages def preferred_lifetime prop_get('preferred-lifetime') end # Preferred Lifetime (in seconds) of the prefix advertised in Router advertisement messages def preferred_lifetime=(val) prop_set('preferred-lifetime', val) end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag prop_get('onlink-flag') end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag=(val) prop_set('onlink-flag', val) end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag prop_get('auto-config-flag') end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag=(val) prop_set('auto-config-flag', val) end end def advertise @subclasses['advertise'] ||= Advertise.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable-on-interface'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Configure this address on Interface', 'uiHint-fieldLabel'=>'Enable Address on Interface'}, 'address'=>{'node-type'=>'element', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'help-string'=>'Configure ULA (Unique Local Address)', 'uiHint-fieldLabel'=>'Address'}, 'prefix'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Use this as prefix to form full address with interface id/EUI-64', 'uiHint-fieldLabel'=>'Use Interface ID as host portion'}, 'anycast'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Anycast Address', 'uiHint-fieldLabel'=>'Anycast'}} # Configure this address on Interface def enable_on_interface prop_get('enable-on-interface') end # Configure this address on Interface def enable_on_interface=(val) prop_set('enable-on-interface', val) end # Configure ULA (Unique Local Address) def address prop_get('address') end # Configure ULA (Unique Local Address) def address=(val) prop_set('address', val) end # Use this as prefix to form full address with interface id/EUI-64 def prefix prop_get('prefix') end # Use this as prefix to form full address with interface id/EUI-64 def prefix=(val) prop_set('prefix', val) end # Anycast Address def anycast prop_get('anycast') end # Anycast Address def anycast=(val) prop_set('anycast', val) end end def ula @subclasses['ula'] ||= Ula.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'help-string'=>'Name', 'regex'=>'^[a-zA-Z0-9._-]+$'}} # Name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def assign_addr maybe_register_subclass('assign-addr', AssignAddr.new(parent_instance: self, client: @client, create_children: @create_children)) end class NeighborDiscovery < ConfigClass def has_multiple_values?; false; end def _section :'neighbor-discovery' end class RouterAdvertisement < ConfigClass def has_multiple_values?; false; end def _section :'router-advertisement' end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'max-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'1800', 'default'=>'600', 'help-string'=>'Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages', 'uiHint-fieldLabel'=>'Max Interval'}, 'min-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'3', 'max'=>'1350', 'default'=>'200', 'help-string'=>'Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages', 'uiHint-fieldLabel'=>'Min Interval'}, 'link-mtu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise', 'uiHint-fieldLabel'=>'Link MTU', 'multi-types'=>{'rangedint'=>{'min'=>'1280', 'max'=>'9216'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'reachable-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'Reachable Time (in milliseconds) advertised in Router Advertisement messages', 'uiHint-fieldLabel'=>'Reachable Time', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'3600000'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'retransmission-timer'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'Retransmission Timer (in milliseconds) advertised in Router Advertisement messages', 'uiHint-fieldLabel'=>'Retrans Timer', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967295'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'hop-limit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'64', 'help-string'=>'Current Hop Limit advertised in Router Advertisement messages', 'uiHint-fieldLabel'=>'Hop Limit', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'255'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'9000', 'default'=>'1800', 'help-string'=>'Router Lifetime (in seconds) advertised in Router Advertisement messages', 'uiHint-fieldLabel'=>'Lifetime'}, 'router-preference'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'Medium', 'uiHint-fieldLabel'=>'Router Preference', 'enum'=>[{'value'=>'High', 'help-string'=>'01 High'}, {'value'=>'Medium', 'help-string'=>'00 Medium'}, {'value'=>'Low', 'help-string'=>'11 Low'}]}, 'managed-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set the Managed Configuration Flag (M-bit) in Router Advertisement messages', 'uiHint-fieldLabel'=>'Managed Configuration'}, 'other-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages', 'uiHint-fieldLabel'=>'Other Configuration'}, 'enable-consistency-check'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'check consistency of RA messages from other routers.', 'uiHint-fieldLabel'=>'Consistency Check'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages def max_interval prop_get('max-interval') end # Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages def max_interval=(val) prop_set('max-interval', val) end # Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages def min_interval prop_get('min-interval') end # Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages def min_interval=(val) prop_set('min-interval', val) end # value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise def link_mtu prop_get('link-mtu') end # value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise def link_mtu=(val) prop_set('link-mtu', val) end # Reachable Time (in milliseconds) advertised in Router Advertisement messages def reachable_time prop_get('reachable-time') end # Reachable Time (in milliseconds) advertised in Router Advertisement messages def reachable_time=(val) prop_set('reachable-time', val) end # Retransmission Timer (in milliseconds) advertised in Router Advertisement messages def retransmission_timer prop_get('retransmission-timer') end # Retransmission Timer (in milliseconds) advertised in Router Advertisement messages def retransmission_timer=(val) prop_set('retransmission-timer', val) end # Current Hop Limit advertised in Router Advertisement messages def hop_limit prop_get('hop-limit') end # Current Hop Limit advertised in Router Advertisement messages def hop_limit=(val) prop_set('hop-limit', val) end # Router Lifetime (in seconds) advertised in Router Advertisement messages def lifetime prop_get('lifetime') end # Router Lifetime (in seconds) advertised in Router Advertisement messages def lifetime=(val) prop_set('lifetime', val) end def router_preference prop_get('router-preference') end def router_preference=(val) prop_set('router-preference', val) end # Set the Managed Configuration Flag (M-bit) in Router Advertisement messages def managed_flag prop_get('managed-flag') end # Set the Managed Configuration Flag (M-bit) in Router Advertisement messages def managed_flag=(val) prop_set('managed-flag', val) end # Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages def other_flag prop_get('other-flag') end # Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages def other_flag=(val) prop_set('other-flag', val) end # check consistency of RA messages from other routers. def enable_consistency_check prop_get('enable-consistency-check') end # check consistency of RA messages from other routers. def enable_consistency_check=(val) prop_set('enable-consistency-check', val) end end def router_advertisement @subclasses['router-advertisement'] ||= RouterAdvertisement.new(parent_instance: self, client: @client, create_children: @create_children) end class DnsServer < ConfigClass def has_multiple_values?; false; end def _section :'dns-server' end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end class Dhcpv6 < ConfigClass def has_multiple_values?; false; end def _section :dhcpv6 end @props = {'prefix-pool'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix Pool', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-Pool Name'}} # Prefix-Pool Name def prefix_pool prop_get('prefix-pool') end # Prefix-Pool Name def prefix_pool=(val) prop_set('prefix-pool', val) end end def dhcpv6 @subclasses['dhcpv6'] ||= Dhcpv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Manual < ConfigClass def has_multiple_values?; false; end def _section :manual end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'unicast-only'=>'yes', 'help-string'=>'IPv6 Address', 'uiHint-fieldLabel'=>'Server'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) Lifetime in Seconds'}} # IPv6 Address def name prop_get('@name') end # (4-3600) Lifetime in Seconds def lifetime prop_get('lifetime') end # (4-3600) Lifetime in Seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def manual @subclasses['manual'] ||= Manual.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'defaule'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def dns_server @subclasses['dns-server'] ||= DnsServer.new(parent_instance: self, client: @client, create_children: @create_children) end class DnsSuffix < ConfigClass def has_multiple_values?; false; end def _section :'dns-suffix' end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end class Dhcpv6 < ConfigClass def has_multiple_values?; false; end def _section :dhcpv6 end @props = {'prefix-pool'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix Pool', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-Pool Name'}} # Prefix-Pool Name def prefix_pool prop_get('prefix-pool') end # Prefix-Pool Name def prefix_pool=(val) prop_set('prefix-pool', val) end end def dhcpv6 @subclasses['dhcpv6'] ||= Dhcpv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Manual < ConfigClass def has_multiple_values?; false; end def _section :manual end class Suffix < XML::ConfigClass def has_multiple_values?; true; end def _section :suffix end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'domain name', 'minlen'=>'1', 'maxlen'=>'255', 'uiHint-fieldLabel'=>'Domain'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) lifetime in seconds'}} # domain name def name prop_get('@name') end # (4-3600) lifetime in seconds def lifetime prop_get('lifetime') end # (4-3600) lifetime in seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def suffix maybe_register_subclass('suffix', Suffix.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def manual @subclasses['manual'] ||= Manual.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'defaule'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def dns_suffix @subclasses['dns-suffix'] ||= DnsSuffix.new(parent_instance: self, client: @client, create_children: @create_children) end class Neighbor < XML::ConfigClass def has_multiple_values?; true; end def _section :neighbor end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'help-string'=>'IP address'}, 'hw-address'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'mac-address', 'help-string'=>'MAC address (format xx:xx:xx:xx:xx:xx)'}} # IP address def name prop_get('@name') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address prop_get('hw-address') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address=(val) prop_set('hw-address', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def neighbor maybe_register_subclass('neighbor', Neighbor.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable-ndp-monitor'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable NDP Monitoring', 'uiHint-fieldLabel'=>'Enable NDP Monitoring'}, 'enable-dad'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable Duplicate Address Detection (DAD)', 'uiHint-fieldLabel'=>'Enable Duplicate Address Detection'}, 'dad-attempts'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'10', 'default'=>'1', 'help-string'=>'Number of consecutive neighbor solicitation messages sent for duplicate address detection', 'uiHint-fieldLabel'=>'DAD Attempts'}, 'ns-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'1', 'help-string'=>'Interval (in seconds) between consecutive neighbor solicitation messages', 'uiHint-fieldLabel'=>'NS Interval'}, 'reachable-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'10', 'max'=>'36000', 'default'=>'30', 'help-string'=>'Time (in seconds) that the Reachable status for a neighbor can be maintained', 'uiHint-fieldLabel'=>'Reachable Time'}} # Enable NDP Monitoring def enable_ndp_monitor prop_get('enable-ndp-monitor') end # Enable NDP Monitoring def enable_ndp_monitor=(val) prop_set('enable-ndp-monitor', val) end # Enable Duplicate Address Detection (DAD) def enable_dad prop_get('enable-dad') end # Enable Duplicate Address Detection (DAD) def enable_dad=(val) prop_set('enable-dad', val) end # Number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts prop_get('dad-attempts') end # Number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts=(val) prop_set('dad-attempts', val) end # Interval (in seconds) between consecutive neighbor solicitation messages def ns_interval prop_get('ns-interval') end # Interval (in seconds) between consecutive neighbor solicitation messages def ns_interval=(val) prop_set('ns-interval', val) end # Time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time prop_get('reachable-time') end # Time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time=(val) prop_set('reachable-time', val) end end def neighbor_discovery @subclasses['neighbor-discovery'] ||= NeighborDiscovery.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable Inherited Interface'}} # Enable Inherited Interface def enable prop_get('enable') end # Enable Inherited Interface def enable=(val) prop_set('enable', val) end end def inherited @subclasses['inherited'] ||= Inherited.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable IPv6 on the interface'}, 'interface-id'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'EUI-64', 'multi-types'=>{'string'=>{'maxlen'=>'16', 'loose-membership'=>'yes', 'help-string'=>'user defined 64-bit identifier (in hex)'}, 'enum'=>[{'value'=>'EUI-64', 'help-string'=>'default 64-bit Extended Unique Identifier'}]}}} # Enable IPv6 on the interface def enabled prop_get('enabled') end # Enable IPv6 on the interface def enabled=(val) prop_set('enabled', val) end def interface_id prop_get('interface-id') end def interface_id=(val) prop_set('interface-id', val) end end def ipv6 @subclasses['ipv6'] ||= Ipv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Arp < XML::ConfigClass def has_multiple_values?; true; end def _section :arp end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'ip-address', 'help-string'=>'IP address'}, 'hw-address'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'mac-address', 'help-string'=>'MAC address (format xx:xx:xx:xx:xx:xx)'}} # IP address def name prop_get('@name') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address prop_get('hw-address') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address=(val) prop_set('hw-address', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def arp maybe_register_subclass('arp', Arp.new(parent_instance: self, client: @client, create_children: @create_children)) end class NdpProxy < ConfigClass def has_multiple_values?; false; end def _section :'ndp-proxy' end class Address < XML::ConfigClass def has_multiple_values?; true; end def _section :address end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'IPv6 address or address object name'}, 'negate'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'max-count'=>'16', 'help-string'=>'put the prefix or address on a block list'}} # IPv6 address or address object name def name prop_get('@name') end # put the prefix or address on a block list def negate prop_get('negate') end # put the prefix or address on a block list def negate=(val) prop_set('negate', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def address maybe_register_subclass('address', Address.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable proxy NDP on the interface'}} # Enable proxy NDP on the interface def enabled prop_get('enabled') end # Enable proxy NDP on the interface def enabled=(val) prop_set('enabled', val) end end def ndp_proxy @subclasses['ndp-proxy'] ||= NdpProxy.new(parent_instance: self, client: @client, create_children: @create_children) end class Pppoe < ConfigClass def has_multiple_values?; false; end def _section :pppoe end class StaticAddress < ConfigClass def has_multiple_values?; false; end def _section :'static-address' end @props = {'ip'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'static ip address'}} # static ip address def ip prop_get('ip') end # static ip address def ip=(val) prop_set('ip', val) end end def static_address @subclasses['static-address'] ||= StaticAddress.new(parent_instance: self, client: @client, create_children: @create_children) end class Passive < ConfigClass def has_multiple_values?; false; end def _section :passive end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def passive @subclasses['passive'] ||= Passive.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'authentication'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'help-string'=>'authentication protocol', 'enum'=>[{'value'=>'CHAP', 'help-string'=>'Challenge Handshake Authentication Protocol'}, {'value'=>'PAP', 'help-string'=>'Password Authentication Protocol'}, {'value'=>'auto', 'help-string'=>'auto select CHAP or PAP'}]}, 'username'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^[a-zA-Z0-9._~!@#$%^*(){},:?/+=\\-]+$', 'minlen'=>'1', 'maxlen'=>'255', 'help-string'=>'username for ppp authentication. The valid characters are [a-zA-Z0-9._~!@#$%^*(){},:?/+=\-]'}, 'password'=>{'node-type'=>'element', 'type'=>'string', 'encrypt'=>'yes', 'maxlen'=>'255', 'help-string'=>'password for ppp autentication'}, 'create-default-route'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'automatically create default route pointing to peer'}, 'default-route-metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'10', 'help-string'=>'metric of the default route created'}, 'access-concentrator'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[a-zA-Z0-9._~!@#$%^*(){},:?/+=\\-]+$', 'minlen'=>'1', 'maxlen'=>'255', 'help-string'=>'desired access concentrator. The valid characters are [a-zA-Z0-9._~!@#$%^*(){},:?/+=\-]'}, 'service'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[a-zA-Z0-9._~!@#$%^*(){},:?/+=\\-]+$', 'minlen'=>'1', 'maxlen'=>'255', 'help-string'=>'desired service. The valid characters are [a-zA-Z0-9._~!@#$%^*(){},:?/+=\-]'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # authentication protocol def authentication prop_get('authentication') end # authentication protocol def authentication=(val) prop_set('authentication', val) end # username for ppp authentication. The valid characters are [a-zA-Z0-9._~!@#$%^*(){},:?/+=\-] def username prop_get('username') end # username for ppp authentication. The valid characters are [a-zA-Z0-9._~!@#$%^*(){},:?/+=\-] def username=(val) prop_set('username', val) end # password for ppp autentication def password prop_get('password') end # password for ppp autentication def password=(val) prop_set('password', val) end # automatically create default route pointing to peer def create_default_route prop_get('create-default-route') end # automatically create default route pointing to peer def create_default_route=(val) prop_set('create-default-route', val) end # metric of the default route created def default_route_metric prop_get('default-route-metric') end # metric of the default route created def default_route_metric=(val) prop_set('default-route-metric', val) end # desired access concentrator. The valid characters are [a-zA-Z0-9._~!@#$%^*(){},:?/+=\-] def access_concentrator prop_get('access-concentrator') end # desired access concentrator. The valid characters are [a-zA-Z0-9._~!@#$%^*(){},:?/+=\-] def access_concentrator=(val) prop_set('access-concentrator', val) end # desired service. The valid characters are [a-zA-Z0-9._~!@#$%^*(){},:?/+=\-] def service prop_get('service') end # desired service. The valid characters are [a-zA-Z0-9._~!@#$%^*(){},:?/+=\-] def service=(val) prop_set('service', val) end end def pppoe @subclasses['pppoe'] ||= Pppoe.new(parent_instance: self, client: @client, create_children: @create_children) end class DhcpClient < ConfigClass def has_multiple_values?; false; end def _section :'dhcp-client' end class SendHostname < ConfigClass def has_multiple_values?; false; end def _section :'send-hostname' end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'hostname'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'system-hostname', 'help-string'=>'Set Interface Hostname', 'multi-types'=>{'string'=>{'regex'=>'^[a-zA-Z0-9\._-]+$', 'minlen'=>'1', 'maxlen'=>'64', 'loose-membership'=>'yes', 'help-string'=>'Custom Interface Hostname'}, 'enum'=>[{'value'=>'system-hostname', 'help-string'=>'System Hostname'}]}}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Set Interface Hostname def hostname prop_get('hostname') end # Set Interface Hostname def hostname=(val) prop_set('hostname', val) end end def send_hostname @subclasses['send-hostname'] ||= SendHostname.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'create-default-route'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Automatically create default route pointing to default gateway provided by server'}, 'default-route-metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'10', 'help-string'=>'Metric of the default route created'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Automatically create default route pointing to default gateway provided by server def create_default_route prop_get('create-default-route') end # Automatically create default route pointing to default gateway provided by server def create_default_route=(val) prop_set('create-default-route', val) end # Metric of the default route created def default_route_metric prop_get('default-route-metric') end # Metric of the default route created def default_route_metric=(val) prop_set('default-route-metric', val) end end def dhcp_client @subclasses['dhcp-client'] ||= DhcpClient.new(parent_instance: self, client: @client, create_children: @create_children) end class DdnsConfig < ConfigClass def has_multiple_values?; false; end def _section :'ddns-config' end class DdnsIp < XML::ConfigClass def has_multiple_values?; true; end def _section :'ddns-ip' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'maxlen'=>'127'}, 'enum'=>[{'value'=>'DHCP'}, {'value'=>'PPPoE'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def ddns_ip maybe_register_subclass('ddns-ip', DdnsIp.new(parent_instance: self, client: @client, create_children: @create_children)) end class DdnsIpv6 < XML::ConfigClass def has_multiple_values?; true; end def _section :'ddns-ipv6' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def ddns_ipv6 maybe_register_subclass('ddns-ipv6', DdnsIpv6.new(parent_instance: self, client: @client, create_children: @create_children)) end class DdnsVendorConfig < XML::ConfigClass def has_multiple_values?; true; end def _section :'ddns-vendor-config' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'255'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ddns_vendor_config maybe_register_subclass('ddns-vendor-config', DdnsVendorConfig.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'ddns-enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'ddns-update-interval'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'30', 'default'=>'1', 'optional'=>'yes'}, 'ddns-hostname'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([$a-zA-Z0-9_\.\-])+$', 'minlen'=>'1', 'maxlen'=>'255', 'help-string'=>'ddns hostname variable or real address'}, 'ddns-cert-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes'}, 'ddns-vendor'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127', 'help-string'=>'Vendor and product type'}} def ddns_enabled prop_get('ddns-enabled') end def ddns_enabled=(val) prop_set('ddns-enabled', val) end def ddns_update_interval prop_get('ddns-update-interval') end def ddns_update_interval=(val) prop_set('ddns-update-interval', val) end # ddns hostname variable or real address def ddns_hostname prop_get('ddns-hostname') end # ddns hostname variable or real address def ddns_hostname=(val) prop_set('ddns-hostname', val) end def ddns_cert_profile prop_get('ddns-cert-profile') end def ddns_cert_profile=(val) prop_set('ddns-cert-profile', val) end # Vendor and product type def ddns_vendor prop_get('ddns-vendor') end # Vendor and product type def ddns_vendor=(val) prop_set('ddns-vendor', val) end end def ddns_config @subclasses['ddns-config'] ||= DdnsConfig.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'prefix'=>'concat(../../../@name, \'.\')', 'regex'=>'^((ethernet[1-9][0-9]?\/[1-9][0-9]?\.)?([1-9][0-9]{0,3}))$'}, 'decrypt-forward'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'df-ignore'=>{'node-type'=>'element', 'internal'=>'yes', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'mtu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'576', 'max'=>'9216', 'help-string'=>'Maximum Transfer Unit, up to 9216 in Jumbo-Frame mode, up to 1500 otherwise'}, 'interface-management-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'Interface management profile'}, 'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'1', 'max'=>'4094', 'help-string'=>'802.1q VLAN tag'}, 'netflow-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'Netflow Server Profile'}, 'comment'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'1024'}} def name prop_get('@name') end def decrypt_forward prop_get('decrypt-forward') end def decrypt_forward=(val) prop_set('decrypt-forward', val) end def df_ignore prop_get('df-ignore') end def df_ignore=(val) prop_set('df-ignore', val) end # Maximum Transfer Unit, up to 9216 in Jumbo-Frame mode, up to 1500 otherwise def mtu prop_get('mtu') end # Maximum Transfer Unit, up to 9216 in Jumbo-Frame mode, up to 1500 otherwise def mtu=(val) prop_set('mtu', val) end # Interface management profile def interface_management_profile prop_get('interface-management-profile') end # Interface management profile def interface_management_profile=(val) prop_set('interface-management-profile', val) end # 802.1q VLAN tag def tag prop_get('tag') end # 802.1q VLAN tag def tag=(val) prop_set('tag', val) end # Netflow Server Profile def netflow_profile prop_get('netflow-profile') end # Netflow Server Profile def netflow_profile=(val) prop_set('netflow-profile', val) end def comment prop_get('comment') end def comment=(val) prop_set('comment', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def units maybe_register_subclass('units', Units.new(parent_instance: self, client: @client, create_children: @create_children)) end class Lldp < ConfigClass def has_multiple_values?; false; end def _section :lldp end class HighAvailability < ConfigClass def has_multiple_values?; false; end def _section :'high-availability' end @props = {'passive-pre-negotiation'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Enable LLDP pre-negotiation in HA passive state'}} # Enable LLDP pre-negotiation in HA passive state def passive_pre_negotiation prop_get('passive-pre-negotiation') end # Enable LLDP pre-negotiation in HA passive state def passive_pre_negotiation=(val) prop_set('passive-pre-negotiation', val) end end def high_availability @subclasses['high-availability'] ||= HighAvailability.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'profile'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'LLDP profile', 'optional'=>'yes'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # LLDP profile def profile prop_get('profile') end # LLDP profile def profile=(val) prop_set('profile', val) end end def lldp @subclasses['lldp'] ||= Lldp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'decrypt-forward'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'cluster-interconnect'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'traffic-interconnect'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'df-ignore'=>{'node-type'=>'element', 'internal'=>'yes', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'mtu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'576', 'max'=>'9216', 'help-string'=>'Maximum Transfer Unit1, up to 9216 in Jumbo-Frame mode, up to 1500 otherwise'}, 'untagged-sub-interface'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.ethernet.layer3.untagged-sub-interface-disable=True', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable untagged sub-interface'}, 'interface-management-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'Interface management profile'}, 'netflow-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'Netflow Server Profile'}} def decrypt_forward prop_get('decrypt-forward') end def decrypt_forward=(val) prop_set('decrypt-forward', val) end def cluster_interconnect prop_get('cluster-interconnect') end def cluster_interconnect=(val) prop_set('cluster-interconnect', val) end def traffic_interconnect prop_get('traffic-interconnect') end def traffic_interconnect=(val) prop_set('traffic-interconnect', val) end def df_ignore prop_get('df-ignore') end def df_ignore=(val) prop_set('df-ignore', val) end # Maximum Transfer Unit1, up to 9216 in Jumbo-Frame mode, up to 1500 otherwise def mtu prop_get('mtu') end # Maximum Transfer Unit1, up to 9216 in Jumbo-Frame mode, up to 1500 otherwise def mtu=(val) prop_set('mtu', val) end # Enable untagged sub-interface def untagged_sub_interface prop_get('untagged-sub-interface') end # Enable untagged sub-interface def untagged_sub_interface=(val) prop_set('untagged-sub-interface', val) end # Interface management profile def interface_management_profile prop_get('interface-management-profile') end # Interface management profile def interface_management_profile=(val) prop_set('interface-management-profile', val) end # Netflow Server Profile def netflow_profile prop_get('netflow-profile') end # Netflow Server Profile def netflow_profile=(val) prop_set('netflow-profile', val) end end def layer3 @subclasses['layer3'] ||= Layer3.new(parent_instance: self, client: @client, create_children: @create_children) end class Lacp < ConfigClass def has_multiple_values?; false; end def _section :lacp end @props = {'port-priority'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'32768', 'help-string'=>'port priority in LACP'}} # port priority in LACP def port_priority prop_get('port-priority') end # port priority in LACP def port_priority=(val) prop_set('port-priority', val) end end def lacp @subclasses['lacp'] ||= Lacp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string'}, 'link-speed'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'auto', 'help-string'=>'Interface link speed', 'enum'=>[{'value'=>'auto'}, {'value'=>'10'}, {'value'=>'100'}, {'value'=>'1000'}, {'value'=>'2500'}, {'value'=>'5000'}, {'value'=>'10000'}, {'value'=>'40000'}, {'value'=>'100000'}]}, 'link-duplex'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'auto', 'help-string'=>'Interface link duplex', 'enum'=>[{'value'=>'auto'}, {'value'=>'half'}, {'value'=>'full'}]}, 'link-state'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'auto', 'help-string'=>'Interface link state', 'enum'=>[{'value'=>'auto', 'help-string'=>'Auto detect'}, {'value'=>'up', 'help-string'=>'Force to up'}, {'value'=>'down', 'help-string'=>'Force to down'}]}, 'aggregate-group'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Aggregate interface group'}, 'comment'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'0', 'maxlen'=>'1023'}} def name prop_get('@name') end # Interface link speed def link_speed prop_get('link-speed') end # Interface link speed def link_speed=(val) prop_set('link-speed', val) end # Interface link duplex def link_duplex prop_get('link-duplex') end # Interface link duplex def link_duplex=(val) prop_set('link-duplex', val) end # Interface link state def link_state prop_get('link-state') end # Interface link state def link_state=(val) prop_set('link-state', val) end # Aggregate interface group def aggregate_group prop_get('aggregate-group') end # Aggregate interface group def aggregate_group=(val) prop_set('aggregate-group', val) end def comment prop_get('comment') end def comment=(val) prop_set('comment', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ethernet maybe_register_subclass('ethernet', Ethernet.new(parent_instance: self, client: @client, create_children: @create_children)) end class AggregateEthernet < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-ethernet' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Ha < ConfigClass def has_multiple_values?; false; end def _section :ha end class Lacp < ConfigClass def has_multiple_values?; false; end def _section :lacp end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'fast-failover'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'mode'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'passive', 'help-string'=>'LACP mode', 'enum'=>[{'value'=>'passive'}, {'value'=>'active'}]}, 'transmission-rate'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'slow', 'help-string'=>'periodic transition rate. N/A in passive mode', 'enum'=>[{'value'=>'fast'}, {'value'=>'slow'}]}, 'system-priority'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'32768', 'help-string'=>'LACP system priority in system ID'}, 'max-ports'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'8', 'default'=>'8', 'help-string'=>'maximum number of physical ports bundled in the LAG'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end def fast_failover prop_get('fast-failover') end def fast_failover=(val) prop_set('fast-failover', val) end # LACP mode def mode prop_get('mode') end # LACP mode def mode=(val) prop_set('mode', val) end # periodic transition rate. N/A in passive mode def transmission_rate prop_get('transmission-rate') end # periodic transition rate. N/A in passive mode def transmission_rate=(val) prop_set('transmission-rate', val) end # LACP system priority in system ID def system_priority prop_get('system-priority') end # LACP system priority in system ID def system_priority=(val) prop_set('system-priority', val) end # maximum number of physical ports bundled in the LAG def max_ports prop_get('max-ports') end # maximum number of physical ports bundled in the LAG def max_ports=(val) prop_set('max-ports', val) end end def lacp @subclasses['lacp'] ||= Lacp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ha @subclasses['ha'] ||= Ha.new(parent_instance: self, client: @client, create_children: @create_children) end class DecryptMirror < ConfigClass def has_multiple_values?; false; end def _section :'decrypt-mirror' end @props = {} end def decrypt_mirror @subclasses['decrypt-mirror'] ||= DecryptMirror.new(parent_instance: self, client: @client, create_children: @create_children) end class VirtualWire < ConfigClass def has_multiple_values?; false; end def _section :'virtual-wire' end class Units < XML::ConfigClass def has_multiple_values?; true; end def _section :units end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class IpClassifier < XML::ConfigClass def has_multiple_values?; true; end def _section :'ip-classifier' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{}, 'iprangespec'=>{}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def ip_classifier maybe_register_subclass('ip-classifier', IpClassifier.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'prefix'=>'concat(../../../@name, \'.\')', 'regex'=>'^((ae[1-9][0-9]?\.)?([1-9][0-9]{0,3}))$'}, 'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4094', 'help-string'=>'802.1q VLAN tag'}, 'netflow-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'Netflow Server Profile'}, 'comment'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'0', 'maxlen'=>'1023'}} def name prop_get('@name') end # 802.1q VLAN tag def tag prop_get('tag') end # 802.1q VLAN tag def tag=(val) prop_set('tag', val) end # Netflow Server Profile def netflow_profile prop_get('netflow-profile') end # Netflow Server Profile def netflow_profile=(val) prop_set('netflow-profile', val) end def comment prop_get('comment') end def comment=(val) prop_set('comment', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def units maybe_register_subclass('units', Units.new(parent_instance: self, client: @client, create_children: @create_children)) end class Lldp < ConfigClass def has_multiple_values?; false; end def _section :lldp end class HighAvailability < ConfigClass def has_multiple_values?; false; end def _section :'high-availability' end @props = {'passive-pre-negotiation'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Enable LLDP pre-negotiation in HA passive state'}} # Enable LLDP pre-negotiation in HA passive state def passive_pre_negotiation prop_get('passive-pre-negotiation') end # Enable LLDP pre-negotiation in HA passive state def passive_pre_negotiation=(val) prop_set('passive-pre-negotiation', val) end end def high_availability @subclasses['high-availability'] ||= HighAvailability.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'profile'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'LLDP profile', 'optional'=>'yes'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # LLDP profile def profile prop_get('profile') end # LLDP profile def profile=(val) prop_set('profile', val) end end def lldp @subclasses['lldp'] ||= Lldp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'netflow-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'Netflow Server Profile'}} # Netflow Server Profile def netflow_profile prop_get('netflow-profile') end # Netflow Server Profile def netflow_profile=(val) prop_set('netflow-profile', val) end end def virtual_wire @subclasses['virtual-wire'] ||= VirtualWire.new(parent_instance: self, client: @client, create_children: @create_children) end class Layer2 < ConfigClass def has_multiple_values?; false; end def _section :layer2 end class Units < XML::ConfigClass def has_multiple_values?; true; end def _section :units end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'prefix'=>'concat(../../../@name, \'.\')', 'regex'=>'^((ae[1-9][0-9]?\.)?([1-9][0-9]{0,3}))$'}, 'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4094', 'help-string'=>'802.1q VLAN tag'}, 'netflow-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'Netflow Server Profile'}, 'comment'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'0', 'maxlen'=>'1023'}} def name prop_get('@name') end # 802.1q VLAN tag def tag prop_get('tag') end # 802.1q VLAN tag def tag=(val) prop_set('tag', val) end # Netflow Server Profile def netflow_profile prop_get('netflow-profile') end # Netflow Server Profile def netflow_profile=(val) prop_set('netflow-profile', val) end def comment prop_get('comment') end def comment=(val) prop_set('comment', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def units maybe_register_subclass('units', Units.new(parent_instance: self, client: @client, create_children: @create_children)) end class Lacp < ConfigClass def has_multiple_values?; false; end def _section :lacp end class HighAvailability < ConfigClass def has_multiple_values?; false; end def _section :'high-availability' end @props = {'passive-pre-negotiation'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Enable LACP pre-negotiation in HA passive state'}} # Enable LACP pre-negotiation in HA passive state def passive_pre_negotiation prop_get('passive-pre-negotiation') end # Enable LACP pre-negotiation in HA passive state def passive_pre_negotiation=(val) prop_set('passive-pre-negotiation', val) end end def high_availability @subclasses['high-availability'] ||= HighAvailability.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'fast-failover'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'mode'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'passive', 'help-string'=>'LACP mode', 'enum'=>[{'value'=>'passive'}, {'value'=>'active'}]}, 'transmission-rate'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'slow', 'help-string'=>'periodic transition rate. N/A in passive mode', 'enum'=>[{'value'=>'fast'}, {'value'=>'slow'}]}, 'system-priority'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'32768', 'help-string'=>'LACP system priority in system ID'}, 'max-ports'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'8', 'default'=>'8', 'help-string'=>'maximum number of physical ports bundled in the LAG'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end def fast_failover prop_get('fast-failover') end def fast_failover=(val) prop_set('fast-failover', val) end # LACP mode def mode prop_get('mode') end # LACP mode def mode=(val) prop_set('mode', val) end # periodic transition rate. N/A in passive mode def transmission_rate prop_get('transmission-rate') end # periodic transition rate. N/A in passive mode def transmission_rate=(val) prop_set('transmission-rate', val) end # LACP system priority in system ID def system_priority prop_get('system-priority') end # LACP system priority in system ID def system_priority=(val) prop_set('system-priority', val) end # maximum number of physical ports bundled in the LAG def max_ports prop_get('max-ports') end # maximum number of physical ports bundled in the LAG def max_ports=(val) prop_set('max-ports', val) end end def lacp @subclasses['lacp'] ||= Lacp.new(parent_instance: self, client: @client, create_children: @create_children) end class Lldp < ConfigClass def has_multiple_values?; false; end def _section :lldp end class HighAvailability < ConfigClass def has_multiple_values?; false; end def _section :'high-availability' end @props = {'passive-pre-negotiation'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Enable LLDP pre-negotiation in HA passive state'}} # Enable LLDP pre-negotiation in HA passive state def passive_pre_negotiation prop_get('passive-pre-negotiation') end # Enable LLDP pre-negotiation in HA passive state def passive_pre_negotiation=(val) prop_set('passive-pre-negotiation', val) end end def high_availability @subclasses['high-availability'] ||= HighAvailability.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'profile'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'LLDP profile', 'optional'=>'yes'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # LLDP profile def profile prop_get('profile') end # LLDP profile def profile=(val) prop_set('profile', val) end end def lldp @subclasses['lldp'] ||= Lldp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'netflow-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'Netflow Server Profile'}} # Netflow Server Profile def netflow_profile prop_get('netflow-profile') end # Netflow Server Profile def netflow_profile=(val) prop_set('netflow-profile', val) end end def layer2 @subclasses['layer2'] ||= Layer2.new(parent_instance: self, client: @client, create_children: @create_children) end class Layer3 < ConfigClass def has_multiple_values?; false; end def _section :layer3 end class Bonjour < ConfigClass def has_multiple_values?; false; end def _section :bonjour end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set to support Bonjour service'}, 'ttl-check'=>{'node-type'=>'element', 'internal'=>'yes', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set to check and update TTL'}, 'group-id'=>{'node-type'=>'element', 'internal'=>'yes', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'40', 'min'=>'0', 'max'=>'16', 'help-string'=>'default 0: NO-Group'}} # Set to support Bonjour service def enable prop_get('enable') end # Set to support Bonjour service def enable=(val) prop_set('enable', val) end # Set to check and update TTL def ttl_check prop_get('ttl-check') end # Set to check and update TTL def ttl_check=(val) prop_set('ttl-check', val) end # default 0: NO-Group def group_id prop_get('group-id') end # default 0: NO-Group def group_id=(val) prop_set('group-id', val) end end def bonjour @subclasses['bonjour'] ||= Bonjour.new(parent_instance: self, client: @client, create_children: @create_children) end class AdjustTcpMss < ConfigClass def has_multiple_values?; false; end def _section :'adjust-tcp-mss' end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set if TCP MSS value should be reduced based on mtu'}, 'ipv4-mss-adjustment'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'40', 'min'=>'40', 'max'=>'300', 'help-string'=>'IPv4 MSS adjustment size (in bytes)'}, 'ipv6-mss-adjustment'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'60', 'min'=>'60', 'max'=>'300', 'help-string'=>'IPv6 MSS adjustment size (in bytes)'}} # Set if TCP MSS value should be reduced based on mtu def enable prop_get('enable') end # Set if TCP MSS value should be reduced based on mtu def enable=(val) prop_set('enable', val) end # IPv4 MSS adjustment size (in bytes) def ipv4_mss_adjustment prop_get('ipv4-mss-adjustment') end # IPv4 MSS adjustment size (in bytes) def ipv4_mss_adjustment=(val) prop_set('ipv4-mss-adjustment', val) end # IPv6 MSS adjustment size (in bytes) def ipv6_mss_adjustment prop_get('ipv6-mss-adjustment') end # IPv6 MSS adjustment size (in bytes) def ipv6_mss_adjustment=(val) prop_set('ipv6-mss-adjustment', val) end end def adjust_tcp_mss @subclasses['adjust-tcp-mss'] ||= AdjustTcpMss.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip < XML::ConfigClass def has_multiple_values?; true; end def _section :ip end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'regex'=>'^([ $0-9a-zA-Z:@./_-])+$', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'IP address/netmask or address object name'}, 'sdwan-gateway'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'Gateway IPv4 Address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'ipv4-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # IP address/netmask or address object name def name prop_get('@name') end # Gateway IPv4 Address def sdwan_gateway prop_get('sdwan-gateway') end # Gateway IPv4 Address def sdwan_gateway=(val) prop_set('sdwan-gateway', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ip maybe_register_subclass('ip', Ip.new(parent_instance: self, client: @client, create_children: @create_children)) end class Ipv6 < ConfigClass def has_multiple_values?; false; end def _section :ipv6 end class Address < XML::ConfigClass def has_multiple_values?; true; end def _section :address end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Prefix < ConfigClass def has_multiple_values?; false; end def _section :prefix end @props = {} end def prefix @subclasses['prefix'] ||= Prefix.new(parent_instance: self, client: @client, create_children: @create_children) end class Anycast < ConfigClass def has_multiple_values?; false; end def _section :anycast end @props = {} end def anycast @subclasses['anycast'] ||= Anycast.new(parent_instance: self, client: @client, create_children: @create_children) end class Advertise < ConfigClass def has_multiple_values?; false; end def _section :advertise end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable advertising this prefix in router advertisements'}, 'valid-lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'2592000', 'help-string'=>'Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967294'}, 'enum'=>[{'value'=>'infinity'}]}}, 'preferred-lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'604800', 'help-string'=>'Preferred Lifetime (in seconds) of the prefix advertised in Router Advertisement messages', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967294'}, 'enum'=>[{'value'=>'infinity'}]}}, 'onlink-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages'}, 'auto-config-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages'}} # enable advertising this prefix in router advertisements def enable prop_get('enable') end # enable advertising this prefix in router advertisements def enable=(val) prop_set('enable', val) end # Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def valid_lifetime prop_get('valid-lifetime') end # Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def valid_lifetime=(val) prop_set('valid-lifetime', val) end # Preferred Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def preferred_lifetime prop_get('preferred-lifetime') end # Preferred Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def preferred_lifetime=(val) prop_set('preferred-lifetime', val) end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag prop_get('onlink-flag') end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag=(val) prop_set('onlink-flag', val) end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag prop_get('auto-config-flag') end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag=(val) prop_set('auto-config-flag', val) end end def advertise @subclasses['advertise'] ||= Advertise.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'^([ $0-9a-zA-Z:@./_-])+$', 'maxlen'=>'63', 'help-string'=>'IPv6 address/prefix length or address object name'}, 'enable-on-interface'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'configure this address on interface'}} # IPv6 address/prefix length or address object name def name prop_get('@name') end # configure this address on interface def enable_on_interface prop_get('enable-on-interface') end # configure this address on interface def enable_on_interface=(val) prop_set('enable-on-interface', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def address maybe_register_subclass('address', Address.new(parent_instance: self, client: @client, create_children: @create_children)) end class NeighborDiscovery < ConfigClass def has_multiple_values?; false; end def _section :'neighbor-discovery' end class RouterAdvertisement < ConfigClass def has_multiple_values?; false; end def _section :'router-advertisement' end class Prefix < XML::ConfigClass def has_multiple_values?; true; end def _section :prefix end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class ValidLifetime < XML::ConfigClass def has_multiple_values?; true; end def _section :'valid-lifetime' end @props = {'fixed-time'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'default'=>'2592000', 'help-string'=>'fixed value (in seconds) of the Valid Lifetime field of the prefix in Router Advertisement messages'}, 'expire-time'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'19', 'maxlen'=>'19', 'regex'=>'[0-9][0-9][0-9][0-9]/([0][1-9]|[1][0-2])/([0-2][0-9]|[3][0-1])@([01][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9])', 'help-string'=>'expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59)'}} # fixed value (in seconds) of the Valid Lifetime field of the prefix in Router Advertisement messages def fixed_time prop_get('fixed-time') end # fixed value (in seconds) of the Valid Lifetime field of the prefix in Router Advertisement messages def fixed_time=(val) prop_set('fixed-time', val) end # expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59) def expire_time prop_get('expire-time') end # expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59) def expire_time=(val) prop_set('expire-time', val) end end def valid_lifetime maybe_register_subclass('valid-lifetime', ValidLifetime.new(parent_instance: self, client: @client, create_children: @create_children)) end class PreferredLifetime < XML::ConfigClass def has_multiple_values?; true; end def _section :'preferred-lifetime' end @props = {'fixed-time'=>{'node-type'=>'element', 'type'=>'rangedint', 'default'=>'604800', 'min'=>'0', 'max'=>'4294967295', 'help-string'=>'Fixed value (in seconds) of the Preferred Lifetime field of the prefix in Router Advertisement messages'}, 'expire-time'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'19', 'maxlen'=>'19', 'regex'=>'[0-9][0-9][0-9][0-9]/([0][1-9]|[1][0-2])/([0-2][0-9]|[3][0-1])@([01][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9])', 'help-string'=>'expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59)'}} # Fixed value (in seconds) of the Preferred Lifetime field of the prefix in Router Advertisement messages def fixed_time prop_get('fixed-time') end # Fixed value (in seconds) of the Preferred Lifetime field of the prefix in Router Advertisement messages def fixed_time=(val) prop_set('fixed-time', val) end # expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59) def expire_time prop_get('expire-time') end # expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59) def expire_time=(val) prop_set('expire-time', val) end end def preferred_lifetime maybe_register_subclass('preferred-lifetime', PreferredLifetime.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'help-string'=>'IPv6 prefix'}, 'onlink-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages'}, 'auto-config-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages'}} # IPv6 prefix def name prop_get('@name') end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag prop_get('onlink-flag') end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag=(val) prop_set('onlink-flag', val) end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag prop_get('auto-config-flag') end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag=(val) prop_set('auto-config-flag', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def prefix maybe_register_subclass('prefix', Prefix.new(parent_instance: self, client: @client, create_children: @create_children)) end class DnsSupport < ConfigClass def has_multiple_values?; false; end def _section :'dns-support' end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'unicast-only'=>'yes', 'help-string'=>'IPv6 address'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) lifetime in seconds'}} # IPv6 address def name prop_get('@name') end # (4-3600) lifetime in seconds def lifetime prop_get('lifetime') end # (4-3600) lifetime in seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end class Suffix < XML::ConfigClass def has_multiple_values?; true; end def _section :suffix end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'domain name', 'minlen'=>'1', 'maxlen'=>'255'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) lifetime in seconds'}} # domain name def name prop_get('@name') end # (4-3600) lifetime in seconds def lifetime prop_get('lifetime') end # (4-3600) lifetime in seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def suffix maybe_register_subclass('suffix', Suffix.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'defaule'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def dns_support @subclasses['dns-support'] ||= DnsSupport.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'max-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'1800', 'default'=>'600', 'help-string'=>'Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages'}, 'min-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'3', 'max'=>'1350', 'default'=>'200', 'help-string'=>'Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages'}, 'managed-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set the Managed Configuration Flag (M-bit) in Router Advertisement messages'}, 'other-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages'}, 'link-mtu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise', 'multi-types'=>{'rangedint'=>{'min'=>'1280', 'max'=>'9216'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'reachable-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'Reachable Time (in milliseconds) advertised in Router Advertisement messages', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'3600000'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'retransmission-timer'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'Retransmission Timer (in milliseconds) advertised in Router Advertisement messages', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967295'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'hop-limit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'64', 'help-string'=>'Current Hop Limit advertised in Router Advertisement messages', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'255'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'9000', 'default'=>'1800', 'help-string'=>'Router Lifetime (in seconds) advertised in Router Advertisement messages'}, 'router-preference'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'Medium', 'enum'=>[{'value'=>'High', 'help-string'=>'01 High'}, {'value'=>'Medium', 'help-string'=>'00 Medium'}, {'value'=>'Low', 'help-string'=>'11 Low'}]}, 'enable-consistency-check'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'check consistency of RA messages from other routers.'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages def max_interval prop_get('max-interval') end # Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages def max_interval=(val) prop_set('max-interval', val) end # Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages def min_interval prop_get('min-interval') end # Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages def min_interval=(val) prop_set('min-interval', val) end # Set the Managed Configuration Flag (M-bit) in Router Advertisement messages def managed_flag prop_get('managed-flag') end # Set the Managed Configuration Flag (M-bit) in Router Advertisement messages def managed_flag=(val) prop_set('managed-flag', val) end # Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages def other_flag prop_get('other-flag') end # Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages def other_flag=(val) prop_set('other-flag', val) end # value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise def link_mtu prop_get('link-mtu') end # value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise def link_mtu=(val) prop_set('link-mtu', val) end # Reachable Time (in milliseconds) advertised in Router Advertisement messages def reachable_time prop_get('reachable-time') end # Reachable Time (in milliseconds) advertised in Router Advertisement messages def reachable_time=(val) prop_set('reachable-time', val) end # Retransmission Timer (in milliseconds) advertised in Router Advertisement messages def retransmission_timer prop_get('retransmission-timer') end # Retransmission Timer (in milliseconds) advertised in Router Advertisement messages def retransmission_timer=(val) prop_set('retransmission-timer', val) end # Current Hop Limit advertised in Router Advertisement messages def hop_limit prop_get('hop-limit') end # Current Hop Limit advertised in Router Advertisement messages def hop_limit=(val) prop_set('hop-limit', val) end # Router Lifetime (in seconds) advertised in Router Advertisement messages def lifetime prop_get('lifetime') end # Router Lifetime (in seconds) advertised in Router Advertisement messages def lifetime=(val) prop_set('lifetime', val) end def router_preference prop_get('router-preference') end def router_preference=(val) prop_set('router-preference', val) end # check consistency of RA messages from other routers. def enable_consistency_check prop_get('enable-consistency-check') end # check consistency of RA messages from other routers. def enable_consistency_check=(val) prop_set('enable-consistency-check', val) end end def router_advertisement @subclasses['router-advertisement'] ||= RouterAdvertisement.new(parent_instance: self, client: @client, create_children: @create_children) end class Neighbor < XML::ConfigClass def has_multiple_values?; true; end def _section :neighbor end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'help-string'=>'IP address'}, 'hw-address'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'mac-address', 'help-string'=>'MAC address (format xx:xx:xx:xx:xx:xx)'}} # IP address def name prop_get('@name') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address prop_get('hw-address') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address=(val) prop_set('hw-address', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def neighbor maybe_register_subclass('neighbor', Neighbor.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable-ndp-monitor'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable ndp monitoring'}, 'enable-dad'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable duplicate address detection'}, 'dad-attempts'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'10', 'default'=>'1', 'help-string'=>'number of consecutive neighbor solicitation messages sent for duplicate address detection'}, 'ns-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'1', 'help-string'=>'interval (in seconds) between consecutive neighbor solicitation messages'}, 'reachable-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'10', 'max'=>'36000', 'default'=>'30', 'help-string'=>'time (in seconds) that the Reachable status for a neighbor can be maintained'}, 'disable-nud'=>{'node-type'=>'element', 'disabled'=>'yes', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'disable Neighbor Unreachability Detection'}} # enable ndp monitoring def enable_ndp_monitor prop_get('enable-ndp-monitor') end # enable ndp monitoring def enable_ndp_monitor=(val) prop_set('enable-ndp-monitor', val) end # enable duplicate address detection def enable_dad prop_get('enable-dad') end # enable duplicate address detection def enable_dad=(val) prop_set('enable-dad', val) end # number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts prop_get('dad-attempts') end # number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts=(val) prop_set('dad-attempts', val) end # interval (in seconds) between consecutive neighbor solicitation messages def ns_interval prop_get('ns-interval') end # interval (in seconds) between consecutive neighbor solicitation messages def ns_interval=(val) prop_set('ns-interval', val) end # time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time prop_get('reachable-time') end # time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time=(val) prop_set('reachable-time', val) end # disable Neighbor Unreachability Detection def disable_nud prop_get('disable-nud') end # disable Neighbor Unreachability Detection def disable_nud=(val) prop_set('disable-nud', val) end end def neighbor_discovery @subclasses['neighbor-discovery'] ||= NeighborDiscovery.new(parent_instance: self, client: @client, create_children: @create_children) end class DhcpClient < ConfigClass def has_multiple_values?; false; end def _section :'dhcp-client' end class V6Options < ConfigClass def has_multiple_values?; false; end def _section :'v6-options' end class Enable < XML::ConfigClass def has_multiple_values?; true; end def _section :enable end class No < ConfigClass def has_multiple_values?; false; end def _section :no end @props = {} end def no @subclasses['no'] ||= No.new(parent_instance: self, client: @client, create_children: @create_children) end class Yes < ConfigClass def has_multiple_values?; false; end def _section :yes end @props = {'non-temp-addr'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Request Non-Temporary Address Type', 'uiHint-fieldLabel'=>'Non-Temporary Address'}, 'temp-addr'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Request Temporary Address Type', 'uiHint-fieldLabel'=>'Temporary Address'}} # Request Non-Temporary Address Type def non_temp_addr prop_get('non-temp-addr') end # Request Non-Temporary Address Type def non_temp_addr=(val) prop_set('non-temp-addr', val) end # Request Temporary Address Type def temp_addr prop_get('temp-addr') end # Request Temporary Address Type def temp_addr=(val) prop_set('temp-addr', val) end end def yes @subclasses['yes'] ||= Yes.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def enable maybe_register_subclass('enable', Enable.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'support-srvr-reconfig'=>{'node-type'=>'element', 'hidden'=>'yes', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable DHCPv6 Server Re-Configuration Support', 'uiHint-fieldLabel'=>'DHCPv6 Server Re-Configuration Support'}, 'rapid-commit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable Rapid Commit', 'uiHint-fieldLabel'=>'Rapid Commit'}, 'duid-type'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'duid-type-llt', 'optional'=>'yes', 'help-string'=>'Select DUID-LLT/DUID-LL', 'uiHint-fieldLabel'=>'DUID Type', 'enum'=>[{'name'=>'duid-type-llt', 'value'=>'duid-type-llt', 'optional'=>'yes', 'help-string'=>'DUID-LLT'}, {'name'=>'duid-type-ll', 'value'=>'duid-type-ll', 'optional'=>'yes', 'help-string'=>'DUID-LL'}]}} # Enable DHCPv6 Server Re-Configuration Support def support_srvr_reconfig prop_get('support-srvr-reconfig') end # Enable DHCPv6 Server Re-Configuration Support def support_srvr_reconfig=(val) prop_set('support-srvr-reconfig', val) end # Enable Rapid Commit def rapid_commit prop_get('rapid-commit') end # Enable Rapid Commit def rapid_commit=(val) prop_set('rapid-commit', val) end # Select DUID-LLT/DUID-LL def duid_type prop_get('duid-type') end # Select DUID-LLT/DUID-LL def duid_type=(val) prop_set('duid-type', val) end end def v6_options @subclasses['v6-options'] ||= V6Options.new(parent_instance: self, client: @client, create_children: @create_children) end class PrefixDelegation < ConfigClass def has_multiple_values?; false; end def _section :'prefix-delegation' end class Enable < XML::ConfigClass def has_multiple_values?; true; end def _section :enable end class No < ConfigClass def has_multiple_values?; false; end def _section :no end @props = {} end def no @subclasses['no'] ||= No.new(parent_instance: self, client: @client, create_children: @create_children) end class Yes < ConfigClass def has_multiple_values?; false; end def _section :yes end @props = {'prefix-len-hint'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Send prefix length hint to server', 'uiHint-fieldLabel'=>'DHCP Prefix Length Hint'}, 'prefix-len'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'128', 'default'=>'48', 'help-string'=>'Hint DHCP Prefix Length (bits)', 'uiHint-fieldLabel'=>'DHCP Prefix Length'}, 'pfx-pool-name'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'regex'=>'^[a-zA-Z0-9._-]+$', 'help-string'=>'Configure unique Prefix Pool Name', 'uiHint-fieldLabel'=>'Prefix Pool Name'}} # Send prefix length hint to server def prefix_len_hint prop_get('prefix-len-hint') end # Send prefix length hint to server def prefix_len_hint=(val) prop_set('prefix-len-hint', val) end # Hint DHCP Prefix Length (bits) def prefix_len prop_get('prefix-len') end # Hint DHCP Prefix Length (bits) def prefix_len=(val) prop_set('prefix-len', val) end # Configure unique Prefix Pool Name def pfx_pool_name prop_get('pfx-pool-name') end # Configure unique Prefix Pool Name def pfx_pool_name=(val) prop_set('pfx-pool-name', val) end end def yes @subclasses['yes'] ||= Yes.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def enable maybe_register_subclass('enable', Enable.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def prefix_delegation @subclasses['prefix-delegation'] ||= PrefixDelegation.new(parent_instance: self, client: @client, create_children: @create_children) end class NeighborDiscovery < ConfigClass def has_multiple_values?; false; end def _section :'neighbor-discovery' end class DnsServer < ConfigClass def has_multiple_values?; false; end def _section :'dns-server' end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end class Dhcpv6 < ConfigClass def has_multiple_values?; false; end def _section :dhcpv6 end @props = {} end def dhcpv6 @subclasses['dhcpv6'] ||= Dhcpv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Manual < ConfigClass def has_multiple_values?; false; end def _section :manual end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'unicast-only'=>'yes', 'help-string'=>'IPv6 Address', 'uiHint-fieldLabel'=>'Server'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) Lifetime in Seconds'}} # IPv6 Address def name prop_get('@name') end # (4-3600) Lifetime in Seconds def lifetime prop_get('lifetime') end # (4-3600) Lifetime in Seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def manual @subclasses['manual'] ||= Manual.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'defaule'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def dns_server @subclasses['dns-server'] ||= DnsServer.new(parent_instance: self, client: @client, create_children: @create_children) end class DnsSuffix < ConfigClass def has_multiple_values?; false; end def _section :'dns-suffix' end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end class Dhcpv6 < ConfigClass def has_multiple_values?; false; end def _section :dhcpv6 end @props = {} end def dhcpv6 @subclasses['dhcpv6'] ||= Dhcpv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Manual < ConfigClass def has_multiple_values?; false; end def _section :manual end class Suffix < XML::ConfigClass def has_multiple_values?; true; end def _section :suffix end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'domain name', 'minlen'=>'1', 'maxlen'=>'255', 'uiHint-fieldLabel'=>'Domain'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) lifetime in seconds'}} # domain name def name prop_get('@name') end # (4-3600) lifetime in seconds def lifetime prop_get('lifetime') end # (4-3600) lifetime in seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def suffix maybe_register_subclass('suffix', Suffix.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def manual @subclasses['manual'] ||= Manual.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'defaule'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def dns_suffix @subclasses['dns-suffix'] ||= DnsSuffix.new(parent_instance: self, client: @client, create_children: @create_children) end class Neighbor < XML::ConfigClass def has_multiple_values?; true; end def _section :neighbor end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'help-string'=>'IP address'}, 'hw-address'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'mac-address', 'help-string'=>'MAC address (format xx:xx:xx:xx:xx:xx)'}} # IP address def name prop_get('@name') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address prop_get('hw-address') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address=(val) prop_set('hw-address', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def neighbor maybe_register_subclass('neighbor', Neighbor.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable-ndp-monitor'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable NDP Monitoring', 'uiHint-fieldLabel'=>'Enable NDP Monitoring'}, 'enable-dad'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable Duplicate Address Detection', 'uiHint-fieldLabel'=>'Enable Duplicate Address Detection'}, 'dad-attempts'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'10', 'default'=>'1', 'help-string'=>'number of consecutive neighbor solicitation messages sent for duplicate address detection', 'uiHint-fieldLabel'=>'DAD Attempts'}, 'ns-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'1', 'help-string'=>'interval (in seconds) between consecutive neighbor solicitation messages', 'uiHint-fieldLabel'=>'NS Interval'}, 'reachable-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'10', 'max'=>'36000', 'default'=>'30', 'help-string'=>'time (in seconds) that the Reachable status for a neighbor can be maintained', 'uiHint-fieldLabel'=>'Reachable Time'}} # Enable NDP Monitoring def enable_ndp_monitor prop_get('enable-ndp-monitor') end # Enable NDP Monitoring def enable_ndp_monitor=(val) prop_set('enable-ndp-monitor', val) end # Enable Duplicate Address Detection def enable_dad prop_get('enable-dad') end # Enable Duplicate Address Detection def enable_dad=(val) prop_set('enable-dad', val) end # number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts prop_get('dad-attempts') end # number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts=(val) prop_set('dad-attempts', val) end # interval (in seconds) between consecutive neighbor solicitation messages def ns_interval prop_get('ns-interval') end # interval (in seconds) between consecutive neighbor solicitation messages def ns_interval=(val) prop_set('ns-interval', val) end # time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time prop_get('reachable-time') end # time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time=(val) prop_set('reachable-time', val) end end def neighbor_discovery @subclasses['neighbor-discovery'] ||= NeighborDiscovery.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable DHCPv6 Client', 'uiHint-fieldLabel'=>'Enable'}, 'accept-ra-route'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Accept Router Advertised Default Route', 'uiHint-fieldLabel'=>'Accept Router Advertised Route'}, 'default-route-metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'10', 'help-string'=>'Metric of the default route created'}, 'preference'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'high', 'optional'=>'yes', 'help-string'=>'Select Low/Medium/High', 'uiHint-fieldLabel'=>'Preference', 'enum'=>[{'name'=>'low', 'value'=>'low', 'optional'=>'yes', 'help-string'=>'Low'}, {'name'=>'medium', 'value'=>'medium', 'optional'=>'yes', 'help-string'=>'Medium'}, {'name'=>'high', 'value'=>'high', 'optional'=>'yes', 'help-string'=>'High'}]}} # Enable DHCPv6 Client def enable prop_get('enable') end # Enable DHCPv6 Client def enable=(val) prop_set('enable', val) end # Accept Router Advertised Default Route def accept_ra_route prop_get('accept-ra-route') end # Accept Router Advertised Default Route def accept_ra_route=(val) prop_set('accept-ra-route', val) end # Metric of the default route created def default_route_metric prop_get('default-route-metric') end # Metric of the default route created def default_route_metric=(val) prop_set('default-route-metric', val) end # Select Low/Medium/High def preference prop_get('preference') end # Select Low/Medium/High def preference=(val) prop_set('preference', val) end end def dhcp_client @subclasses['dhcp-client'] ||= DhcpClient.new(parent_instance: self, client: @client, create_children: @create_children) end class Inherited < ConfigClass def has_multiple_values?; false; end def _section :inherited end class AssignAddr < XML::ConfigClass def has_multiple_values?; true; end def _section :'assign-addr' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Gua < ConfigClass def has_multiple_values?; false; end def _section :gua end class PoolType < XML::ConfigClass def has_multiple_values?; true; end def _section :'pool-type' end class Dynamic < ConfigClass def has_multiple_values?; false; end def _section :dynamic end @props = {} end def dynamic @subclasses['dynamic'] ||= Dynamic.new(parent_instance: self, client: @client, create_children: @create_children) end class DynamicId < ConfigClass def has_multiple_values?; false; end def _section :'dynamic-id' end @props = {'identifier'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4095', 'help-string'=>'Range [0-4095] must be unqiue for this prefix-pool', 'uiHint-fieldLabel'=>'Identifier'}} # Range [0-4095] must be unqiue for this prefix-pool def identifier prop_get('identifier') end # Range [0-4095] must be unqiue for this prefix-pool def identifier=(val) prop_set('identifier', val) end end def dynamic_id @subclasses['dynamic-id'] ||= DynamicId.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def pool_type maybe_register_subclass('pool-type', PoolType.new(parent_instance: self, client: @client, create_children: @create_children)) end class Advertise < ConfigClass def has_multiple_values?; false; end def _section :advertise end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable advertising this prefix in router advertisements'}, 'onlink-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages', 'uiHint-fieldLabel'=>'On-Link'}, 'auto-config-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages', 'uiHint-fieldLabel'=>'Autonomous'}} # Enable advertising this prefix in router advertisements def enable prop_get('enable') end # Enable advertising this prefix in router advertisements def enable=(val) prop_set('enable', val) end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag prop_get('onlink-flag') end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag=(val) prop_set('onlink-flag', val) end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag prop_get('auto-config-flag') end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag=(val) prop_set('auto-config-flag', val) end end def advertise @subclasses['advertise'] ||= Advertise.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable-on-interface'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable on Interface'}, 'prefix-pool'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix Pool', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'use-cache'=>'yes', 'optional'=>'yes', 'help-string'=>'Prefix-Pool Name'}} # Enable on Interface def enable_on_interface prop_get('enable-on-interface') end # Enable on Interface def enable_on_interface=(val) prop_set('enable-on-interface', val) end # Prefix-Pool Name def prefix_pool prop_get('prefix-pool') end # Prefix-Pool Name def prefix_pool=(val) prop_set('prefix-pool', val) end end def gua @subclasses['gua'] ||= Gua.new(parent_instance: self, client: @client, create_children: @create_children) end class Ula < ConfigClass def has_multiple_values?; false; end def _section :ula end class Advertise < ConfigClass def has_multiple_values?; false; end def _section :advertise end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable advertising this prefix in router advertisements'}, 'valid-lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'2592000', 'help-string'=>'Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages', 'uiHint-fieldLabel'=>'Valid Lifetime', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967294'}, 'enum'=>[{'value'=>'infinity'}]}}, 'preferred-lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'604800', 'help-string'=>'Preferred Lifetime (in seconds) of the prefix advertised in Router advertisement messages', 'uiHint-fieldLabel'=>'Preferred Lifetime', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967294'}, 'enum'=>[{'value'=>'infinity'}]}}, 'onlink-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages', 'uiHint-fieldLabel'=>'On-Link'}, 'auto-config-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages', 'uiHint-fieldLabel'=>'Autonomous'}} # enable advertising this prefix in router advertisements def enable prop_get('enable') end # enable advertising this prefix in router advertisements def enable=(val) prop_set('enable', val) end # Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def valid_lifetime prop_get('valid-lifetime') end # Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def valid_lifetime=(val) prop_set('valid-lifetime', val) end # Preferred Lifetime (in seconds) of the prefix advertised in Router advertisement messages def preferred_lifetime prop_get('preferred-lifetime') end # Preferred Lifetime (in seconds) of the prefix advertised in Router advertisement messages def preferred_lifetime=(val) prop_set('preferred-lifetime', val) end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag prop_get('onlink-flag') end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag=(val) prop_set('onlink-flag', val) end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag prop_get('auto-config-flag') end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag=(val) prop_set('auto-config-flag', val) end end def advertise @subclasses['advertise'] ||= Advertise.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable-on-interface'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Configure this address on Interface', 'uiHint-fieldLabel'=>'Enable Address on Interface'}, 'address'=>{'node-type'=>'element', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'help-string'=>'Configure ULA (Unique Local Address)', 'uiHint-fieldLabel'=>'Address'}, 'prefix'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Use this as prefix to form full address with interface id/EUI-64', 'uiHint-fieldLabel'=>'Use Interface ID as host portion'}, 'anycast'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Anycast Address', 'uiHint-fieldLabel'=>'Anycast'}} # Configure this address on Interface def enable_on_interface prop_get('enable-on-interface') end # Configure this address on Interface def enable_on_interface=(val) prop_set('enable-on-interface', val) end # Configure ULA (Unique Local Address) def address prop_get('address') end # Configure ULA (Unique Local Address) def address=(val) prop_set('address', val) end # Use this as prefix to form full address with interface id/EUI-64 def prefix prop_get('prefix') end # Use this as prefix to form full address with interface id/EUI-64 def prefix=(val) prop_set('prefix', val) end # Anycast Address def anycast prop_get('anycast') end # Anycast Address def anycast=(val) prop_set('anycast', val) end end def ula @subclasses['ula'] ||= Ula.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'help-string'=>'Name', 'regex'=>'^[a-zA-Z0-9._-]+$'}} # Name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def assign_addr maybe_register_subclass('assign-addr', AssignAddr.new(parent_instance: self, client: @client, create_children: @create_children)) end class NeighborDiscovery < ConfigClass def has_multiple_values?; false; end def _section :'neighbor-discovery' end class RouterAdvertisement < ConfigClass def has_multiple_values?; false; end def _section :'router-advertisement' end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'max-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'1800', 'default'=>'600', 'help-string'=>'Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages', 'uiHint-fieldLabel'=>'Max Interval'}, 'min-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'3', 'max'=>'1350', 'default'=>'200', 'help-string'=>'Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages', 'uiHint-fieldLabel'=>'Min Interval'}, 'link-mtu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise', 'uiHint-fieldLabel'=>'Link MTU', 'multi-types'=>{'rangedint'=>{'min'=>'1280', 'max'=>'9216'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'reachable-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'Reachable Time (in milliseconds) advertised in Router Advertisement messages', 'uiHint-fieldLabel'=>'Reachable Time', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'3600000'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'retransmission-timer'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'Retransmission Timer (in milliseconds) advertised in Router Advertisement messages', 'uiHint-fieldLabel'=>'Retrans Timer', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967295'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'hop-limit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'64', 'help-string'=>'Current Hop Limit advertised in Router Advertisement messages', 'uiHint-fieldLabel'=>'Hop Limit', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'255'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'9000', 'default'=>'1800', 'help-string'=>'Router Lifetime (in seconds) advertised in Router Advertisement messages', 'uiHint-fieldLabel'=>'Lifetime'}, 'router-preference'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'Medium', 'uiHint-fieldLabel'=>'Router Preference', 'enum'=>[{'value'=>'High', 'help-string'=>'01 High'}, {'value'=>'Medium', 'help-string'=>'00 Medium'}, {'value'=>'Low', 'help-string'=>'11 Low'}]}, 'managed-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set the Managed Configuration Flag (M-bit) in Router Advertisement messages', 'uiHint-fieldLabel'=>'Managed Configuration'}, 'other-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages', 'uiHint-fieldLabel'=>'Other Configuration'}, 'enable-consistency-check'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'check consistency of RA messages from other routers.', 'uiHint-fieldLabel'=>'Consistency Check'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages def max_interval prop_get('max-interval') end # Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages def max_interval=(val) prop_set('max-interval', val) end # Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages def min_interval prop_get('min-interval') end # Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages def min_interval=(val) prop_set('min-interval', val) end # value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise def link_mtu prop_get('link-mtu') end # value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise def link_mtu=(val) prop_set('link-mtu', val) end # Reachable Time (in milliseconds) advertised in Router Advertisement messages def reachable_time prop_get('reachable-time') end # Reachable Time (in milliseconds) advertised in Router Advertisement messages def reachable_time=(val) prop_set('reachable-time', val) end # Retransmission Timer (in milliseconds) advertised in Router Advertisement messages def retransmission_timer prop_get('retransmission-timer') end # Retransmission Timer (in milliseconds) advertised in Router Advertisement messages def retransmission_timer=(val) prop_set('retransmission-timer', val) end # Current Hop Limit advertised in Router Advertisement messages def hop_limit prop_get('hop-limit') end # Current Hop Limit advertised in Router Advertisement messages def hop_limit=(val) prop_set('hop-limit', val) end # Router Lifetime (in seconds) advertised in Router Advertisement messages def lifetime prop_get('lifetime') end # Router Lifetime (in seconds) advertised in Router Advertisement messages def lifetime=(val) prop_set('lifetime', val) end def router_preference prop_get('router-preference') end def router_preference=(val) prop_set('router-preference', val) end # Set the Managed Configuration Flag (M-bit) in Router Advertisement messages def managed_flag prop_get('managed-flag') end # Set the Managed Configuration Flag (M-bit) in Router Advertisement messages def managed_flag=(val) prop_set('managed-flag', val) end # Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages def other_flag prop_get('other-flag') end # Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages def other_flag=(val) prop_set('other-flag', val) end # check consistency of RA messages from other routers. def enable_consistency_check prop_get('enable-consistency-check') end # check consistency of RA messages from other routers. def enable_consistency_check=(val) prop_set('enable-consistency-check', val) end end def router_advertisement @subclasses['router-advertisement'] ||= RouterAdvertisement.new(parent_instance: self, client: @client, create_children: @create_children) end class DnsServer < ConfigClass def has_multiple_values?; false; end def _section :'dns-server' end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end class Dhcpv6 < ConfigClass def has_multiple_values?; false; end def _section :dhcpv6 end @props = {'prefix-pool'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix Pool', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-Pool Name'}} # Prefix-Pool Name def prefix_pool prop_get('prefix-pool') end # Prefix-Pool Name def prefix_pool=(val) prop_set('prefix-pool', val) end end def dhcpv6 @subclasses['dhcpv6'] ||= Dhcpv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Manual < ConfigClass def has_multiple_values?; false; end def _section :manual end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'unicast-only'=>'yes', 'help-string'=>'IPv6 Address', 'uiHint-fieldLabel'=>'Server'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) Lifetime in Seconds'}} # IPv6 Address def name prop_get('@name') end # (4-3600) Lifetime in Seconds def lifetime prop_get('lifetime') end # (4-3600) Lifetime in Seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def manual @subclasses['manual'] ||= Manual.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'defaule'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def dns_server @subclasses['dns-server'] ||= DnsServer.new(parent_instance: self, client: @client, create_children: @create_children) end class DnsSuffix < ConfigClass def has_multiple_values?; false; end def _section :'dns-suffix' end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end class Dhcpv6 < ConfigClass def has_multiple_values?; false; end def _section :dhcpv6 end @props = {'prefix-pool'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix Pool', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-Pool Name'}} # Prefix-Pool Name def prefix_pool prop_get('prefix-pool') end # Prefix-Pool Name def prefix_pool=(val) prop_set('prefix-pool', val) end end def dhcpv6 @subclasses['dhcpv6'] ||= Dhcpv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Manual < ConfigClass def has_multiple_values?; false; end def _section :manual end class Suffix < XML::ConfigClass def has_multiple_values?; true; end def _section :suffix end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'domain name', 'minlen'=>'1', 'maxlen'=>'255', 'uiHint-fieldLabel'=>'Domain'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) lifetime in seconds'}} # domain name def name prop_get('@name') end # (4-3600) lifetime in seconds def lifetime prop_get('lifetime') end # (4-3600) lifetime in seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def suffix maybe_register_subclass('suffix', Suffix.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def manual @subclasses['manual'] ||= Manual.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'defaule'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def dns_suffix @subclasses['dns-suffix'] ||= DnsSuffix.new(parent_instance: self, client: @client, create_children: @create_children) end class Neighbor < XML::ConfigClass def has_multiple_values?; true; end def _section :neighbor end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'help-string'=>'IP address'}, 'hw-address'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'mac-address', 'help-string'=>'MAC address (format xx:xx:xx:xx:xx:xx)'}} # IP address def name prop_get('@name') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address prop_get('hw-address') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address=(val) prop_set('hw-address', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def neighbor maybe_register_subclass('neighbor', Neighbor.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable-ndp-monitor'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable NDP Monitoring', 'uiHint-fieldLabel'=>'Enable NDP Monitoring'}, 'enable-dad'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable Duplicate Address Detection (DAD)', 'uiHint-fieldLabel'=>'Enable Duplicate Address Detection'}, 'dad-attempts'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'10', 'default'=>'1', 'help-string'=>'Number of consecutive neighbor solicitation messages sent for duplicate address detection', 'uiHint-fieldLabel'=>'DAD Attempts'}, 'ns-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'1', 'help-string'=>'Interval (in seconds) between consecutive neighbor solicitation messages', 'uiHint-fieldLabel'=>'NS Interval'}, 'reachable-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'10', 'max'=>'36000', 'default'=>'30', 'help-string'=>'Time (in seconds) that the Reachable status for a neighbor can be maintained', 'uiHint-fieldLabel'=>'Reachable Time'}} # Enable NDP Monitoring def enable_ndp_monitor prop_get('enable-ndp-monitor') end # Enable NDP Monitoring def enable_ndp_monitor=(val) prop_set('enable-ndp-monitor', val) end # Enable Duplicate Address Detection (DAD) def enable_dad prop_get('enable-dad') end # Enable Duplicate Address Detection (DAD) def enable_dad=(val) prop_set('enable-dad', val) end # Number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts prop_get('dad-attempts') end # Number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts=(val) prop_set('dad-attempts', val) end # Interval (in seconds) between consecutive neighbor solicitation messages def ns_interval prop_get('ns-interval') end # Interval (in seconds) between consecutive neighbor solicitation messages def ns_interval=(val) prop_set('ns-interval', val) end # Time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time prop_get('reachable-time') end # Time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time=(val) prop_set('reachable-time', val) end end def neighbor_discovery @subclasses['neighbor-discovery'] ||= NeighborDiscovery.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable Inherited Interface'}} # Enable Inherited Interface def enable prop_get('enable') end # Enable Inherited Interface def enable=(val) prop_set('enable', val) end end def inherited @subclasses['inherited'] ||= Inherited.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable IPv6 on the interface'}, 'interface-id'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'EUI-64', 'multi-types'=>{'string'=>{'maxlen'=>'16', 'loose-membership'=>'yes', 'help-string'=>'user defined 64-bit identifier (in hex)'}, 'enum'=>[{'value'=>'EUI-64', 'help-string'=>'default 64-bit Extended Unique Identifier'}]}}} # Enable IPv6 on the interface def enabled prop_get('enabled') end # Enable IPv6 on the interface def enabled=(val) prop_set('enabled', val) end def interface_id prop_get('interface-id') end def interface_id=(val) prop_set('interface-id', val) end end def ipv6 @subclasses['ipv6'] ||= Ipv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Lacp < ConfigClass def has_multiple_values?; false; end def _section :lacp end class HighAvailability < ConfigClass def has_multiple_values?; false; end def _section :'high-availability' end @props = {'passive-pre-negotiation'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Enable LACP pre-negotiation in HA passive state'}} # Enable LACP pre-negotiation in HA passive state def passive_pre_negotiation prop_get('passive-pre-negotiation') end # Enable LACP pre-negotiation in HA passive state def passive_pre_negotiation=(val) prop_set('passive-pre-negotiation', val) end end def high_availability @subclasses['high-availability'] ||= HighAvailability.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'fast-failover'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'mode'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'passive', 'help-string'=>'LACP mode', 'enum'=>[{'value'=>'passive'}, {'value'=>'active'}]}, 'transmission-rate'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'slow', 'help-string'=>'periodic transition rate. N/A in passive mode', 'enum'=>[{'value'=>'fast'}, {'value'=>'slow'}]}, 'system-priority'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'32768', 'help-string'=>'LACP system priority in system ID'}, 'max-ports'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'8', 'default'=>'8', 'help-string'=>'maximum number of physical ports bundled in the LAG'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end def fast_failover prop_get('fast-failover') end def fast_failover=(val) prop_set('fast-failover', val) end # LACP mode def mode prop_get('mode') end # LACP mode def mode=(val) prop_set('mode', val) end # periodic transition rate. N/A in passive mode def transmission_rate prop_get('transmission-rate') end # periodic transition rate. N/A in passive mode def transmission_rate=(val) prop_set('transmission-rate', val) end # LACP system priority in system ID def system_priority prop_get('system-priority') end # LACP system priority in system ID def system_priority=(val) prop_set('system-priority', val) end # maximum number of physical ports bundled in the LAG def max_ports prop_get('max-ports') end # maximum number of physical ports bundled in the LAG def max_ports=(val) prop_set('max-ports', val) end end def lacp @subclasses['lacp'] ||= Lacp.new(parent_instance: self, client: @client, create_children: @create_children) end class Lldp < ConfigClass def has_multiple_values?; false; end def _section :lldp end class HighAvailability < ConfigClass def has_multiple_values?; false; end def _section :'high-availability' end @props = {'passive-pre-negotiation'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Enable LLDP pre-negotiation in HA passive state'}} # Enable LLDP pre-negotiation in HA passive state def passive_pre_negotiation prop_get('passive-pre-negotiation') end # Enable LLDP pre-negotiation in HA passive state def passive_pre_negotiation=(val) prop_set('passive-pre-negotiation', val) end end def high_availability @subclasses['high-availability'] ||= HighAvailability.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'profile'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'LLDP profile', 'optional'=>'yes'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # LLDP profile def profile prop_get('profile') end # LLDP profile def profile=(val) prop_set('profile', val) end end def lldp @subclasses['lldp'] ||= Lldp.new(parent_instance: self, client: @client, create_children: @create_children) end class Arp < XML::ConfigClass def has_multiple_values?; true; end def _section :arp end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'help-string'=>'IP address'}, 'hw-address'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'mac-address', 'help-string'=>'MAC address (format xx:xx:xx:xx:xx:xx)'}} # IP address def name prop_get('@name') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address prop_get('hw-address') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address=(val) prop_set('hw-address', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def arp maybe_register_subclass('arp', Arp.new(parent_instance: self, client: @client, create_children: @create_children)) end class NdpProxy < ConfigClass def has_multiple_values?; false; end def _section :'ndp-proxy' end class Address < XML::ConfigClass def has_multiple_values?; true; end def _section :address end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'IPv6 address or address object name'}, 'negate'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'max-count'=>'16', 'help-string'=>'put the prefix or address on a block list'}} # IPv6 address or address object name def name prop_get('@name') end # put the prefix or address on a block list def negate prop_get('negate') end # put the prefix or address on a block list def negate=(val) prop_set('negate', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def address maybe_register_subclass('address', Address.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable proxy NDP on the interface'}} # Enable proxy NDP on the interface def enabled prop_get('enabled') end # Enable proxy NDP on the interface def enabled=(val) prop_set('enabled', val) end end def ndp_proxy @subclasses['ndp-proxy'] ||= NdpProxy.new(parent_instance: self, client: @client, create_children: @create_children) end class DhcpClient < ConfigClass def has_multiple_values?; false; end def _section :'dhcp-client' end class SendHostname < ConfigClass def has_multiple_values?; false; end def _section :'send-hostname' end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'hostname'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'system-hostname', 'help-string'=>'Set Interface Hostname', 'multi-types'=>{'string'=>{'regex'=>'^[a-zA-Z0-9\._-]+$', 'minlen'=>'1', 'maxlen'=>'64', 'loose-membership'=>'yes', 'help-string'=>'Custom Interface Hostname'}, 'enum'=>[{'value'=>'system-hostname', 'help-string'=>'System Hostname'}]}}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Set Interface Hostname def hostname prop_get('hostname') end # Set Interface Hostname def hostname=(val) prop_set('hostname', val) end end def send_hostname @subclasses['send-hostname'] ||= SendHostname.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'create-default-route'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Automatically create default route pointing to default gateway provided by server'}, 'default-route-metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'10', 'help-string'=>'Metric of the default route created'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Automatically create default route pointing to default gateway provided by server def create_default_route prop_get('create-default-route') end # Automatically create default route pointing to default gateway provided by server def create_default_route=(val) prop_set('create-default-route', val) end # Metric of the default route created def default_route_metric prop_get('default-route-metric') end # Metric of the default route created def default_route_metric=(val) prop_set('default-route-metric', val) end end def dhcp_client @subclasses['dhcp-client'] ||= DhcpClient.new(parent_instance: self, client: @client, create_children: @create_children) end class DdnsConfig < ConfigClass def has_multiple_values?; false; end def _section :'ddns-config' end class DdnsIp < XML::ConfigClass def has_multiple_values?; true; end def _section :'ddns-ip' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'maxlen'=>'127'}, 'enum'=>[{'value'=>'DHCP'}, {'value'=>'PPPoE'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def ddns_ip maybe_register_subclass('ddns-ip', DdnsIp.new(parent_instance: self, client: @client, create_children: @create_children)) end class DdnsIpv6 < XML::ConfigClass def has_multiple_values?; true; end def _section :'ddns-ipv6' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def ddns_ipv6 maybe_register_subclass('ddns-ipv6', DdnsIpv6.new(parent_instance: self, client: @client, create_children: @create_children)) end class DdnsVendorConfig < XML::ConfigClass def has_multiple_values?; true; end def _section :'ddns-vendor-config' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'255'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ddns_vendor_config maybe_register_subclass('ddns-vendor-config', DdnsVendorConfig.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'ddns-enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'ddns-update-interval'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'30', 'default'=>'1', 'optional'=>'yes'}, 'ddns-hostname'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([$a-zA-Z0-9_\.\-])+$', 'minlen'=>'1', 'maxlen'=>'255', 'help-string'=>'ddns hostname variable or real address'}, 'ddns-cert-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes'}, 'ddns-vendor'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127', 'help-string'=>'Vendor and product type'}} def ddns_enabled prop_get('ddns-enabled') end def ddns_enabled=(val) prop_set('ddns-enabled', val) end def ddns_update_interval prop_get('ddns-update-interval') end def ddns_update_interval=(val) prop_set('ddns-update-interval', val) end # ddns hostname variable or real address def ddns_hostname prop_get('ddns-hostname') end # ddns hostname variable or real address def ddns_hostname=(val) prop_set('ddns-hostname', val) end def ddns_cert_profile prop_get('ddns-cert-profile') end def ddns_cert_profile=(val) prop_set('ddns-cert-profile', val) end # Vendor and product type def ddns_vendor prop_get('ddns-vendor') end # Vendor and product type def ddns_vendor=(val) prop_set('ddns-vendor', val) end end def ddns_config @subclasses['ddns-config'] ||= DdnsConfig.new(parent_instance: self, client: @client, create_children: @create_children) end class SdwanLinkSettings < ConfigClass def has_multiple_values?; false; end def _section :'sdwan-link-settings' end class UpstreamNat < ConfigClass def has_multiple_values?; false; end def _section :'upstream-nat' end class StaticIp < ConfigClass def has_multiple_values?; false; end def _section :'static-ip' end @props = {'ip-address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Upstream NAT IP address', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'ipspec'=>{'unicast-only'=>'yes'}}}, 'fqdn'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'regex'=>'^([a-zA-Z0-9._-])+$', 'help-string'=>'Upstream NAT address FQDN name configuration'}} # Upstream NAT IP address def ip_address prop_get('ip-address') end # Upstream NAT IP address def ip_address=(val) prop_set('ip-address', val) end # Upstream NAT address FQDN name configuration def fqdn prop_get('fqdn') end # Upstream NAT address FQDN name configuration def fqdn=(val) prop_set('fqdn', val) end end def static_ip @subclasses['static-ip'] ||= StaticIp.new(parent_instance: self, client: @client, create_children: @create_children) end class Ddns < ConfigClass def has_multiple_values?; false; end def _section :ddns end @props = {} end def ddns @subclasses['ddns'] ||= Ddns.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable upstream NAT IP config'}} # Enable upstream NAT IP config def enable prop_get('enable') end # Enable upstream NAT IP config def enable=(val) prop_set('enable', val) end end def upstream_nat @subclasses['upstream-nat'] ||= UpstreamNat.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable sdwan on this ethernet interface'}, 'sdwan-interface-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'Sdwan link characteristics'}} # Enable sdwan on this ethernet interface def enable prop_get('enable') end # Enable sdwan on this ethernet interface def enable=(val) prop_set('enable', val) end # Sdwan link characteristics def sdwan_interface_profile prop_get('sdwan-interface-profile') end # Sdwan link characteristics def sdwan_interface_profile=(val) prop_set('sdwan-interface-profile', val) end end def sdwan_link_settings @subclasses['sdwan-link-settings'] ||= SdwanLinkSettings.new(parent_instance: self, client: @client, create_children: @create_children) end class Units < XML::ConfigClass def has_multiple_values?; true; end def _section :units end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Bonjour < ConfigClass def has_multiple_values?; false; end def _section :bonjour end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set to support Bonjour service'}, 'ttl-check'=>{'node-type'=>'element', 'internal'=>'yes', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set to check and update TTL'}, 'group-id'=>{'node-type'=>'element', 'internal'=>'yes', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'40', 'min'=>'0', 'max'=>'16', 'help-string'=>'default 0: NO-Group'}} # Set to support Bonjour service def enable prop_get('enable') end # Set to support Bonjour service def enable=(val) prop_set('enable', val) end # Set to check and update TTL def ttl_check prop_get('ttl-check') end # Set to check and update TTL def ttl_check=(val) prop_set('ttl-check', val) end # default 0: NO-Group def group_id prop_get('group-id') end # default 0: NO-Group def group_id=(val) prop_set('group-id', val) end end def bonjour @subclasses['bonjour'] ||= Bonjour.new(parent_instance: self, client: @client, create_children: @create_children) end class AdjustTcpMss < ConfigClass def has_multiple_values?; false; end def _section :'adjust-tcp-mss' end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set if TCP MSS value should be reduced based on mtu'}, 'ipv4-mss-adjustment'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'40', 'min'=>'40', 'max'=>'300', 'help-string'=>'IPv4 MSS adjustment size (in bytes)'}, 'ipv6-mss-adjustment'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'60', 'min'=>'60', 'max'=>'300', 'help-string'=>'IPv6 MSS adjustment size (in bytes)'}} # Set if TCP MSS value should be reduced based on mtu def enable prop_get('enable') end # Set if TCP MSS value should be reduced based on mtu def enable=(val) prop_set('enable', val) end # IPv4 MSS adjustment size (in bytes) def ipv4_mss_adjustment prop_get('ipv4-mss-adjustment') end # IPv4 MSS adjustment size (in bytes) def ipv4_mss_adjustment=(val) prop_set('ipv4-mss-adjustment', val) end # IPv6 MSS adjustment size (in bytes) def ipv6_mss_adjustment prop_get('ipv6-mss-adjustment') end # IPv6 MSS adjustment size (in bytes) def ipv6_mss_adjustment=(val) prop_set('ipv6-mss-adjustment', val) end end def adjust_tcp_mss @subclasses['adjust-tcp-mss'] ||= AdjustTcpMss.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip < XML::ConfigClass def has_multiple_values?; true; end def _section :ip end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'regex'=>'^([ $0-9a-zA-Z:@./_-])+$', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'IP address/netmask or address object name'}, 'sdwan-gateway'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'Gateway IPv4 Address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'ipv4-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # IP address/netmask or address object name def name prop_get('@name') end # Gateway IPv4 Address def sdwan_gateway prop_get('sdwan-gateway') end # Gateway IPv4 Address def sdwan_gateway=(val) prop_set('sdwan-gateway', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ip maybe_register_subclass('ip', Ip.new(parent_instance: self, client: @client, create_children: @create_children)) end class Ipv6 < ConfigClass def has_multiple_values?; false; end def _section :ipv6 end class Address < XML::ConfigClass def has_multiple_values?; true; end def _section :address end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Prefix < ConfigClass def has_multiple_values?; false; end def _section :prefix end @props = {} end def prefix @subclasses['prefix'] ||= Prefix.new(parent_instance: self, client: @client, create_children: @create_children) end class Anycast < ConfigClass def has_multiple_values?; false; end def _section :anycast end @props = {} end def anycast @subclasses['anycast'] ||= Anycast.new(parent_instance: self, client: @client, create_children: @create_children) end class Advertise < ConfigClass def has_multiple_values?; false; end def _section :advertise end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable advertising this prefix in router advertisements'}, 'valid-lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'2592000', 'help-string'=>'Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967294'}, 'enum'=>[{'value'=>'infinity'}]}}, 'preferred-lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'604800', 'help-string'=>'Preferred Lifetime (in seconds) of the prefix advertised in Router Advertisement messages', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967294'}, 'enum'=>[{'value'=>'infinity'}]}}, 'onlink-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages'}, 'auto-config-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages'}} # enable advertising this prefix in router advertisements def enable prop_get('enable') end # enable advertising this prefix in router advertisements def enable=(val) prop_set('enable', val) end # Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def valid_lifetime prop_get('valid-lifetime') end # Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def valid_lifetime=(val) prop_set('valid-lifetime', val) end # Preferred Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def preferred_lifetime prop_get('preferred-lifetime') end # Preferred Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def preferred_lifetime=(val) prop_set('preferred-lifetime', val) end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag prop_get('onlink-flag') end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag=(val) prop_set('onlink-flag', val) end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag prop_get('auto-config-flag') end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag=(val) prop_set('auto-config-flag', val) end end def advertise @subclasses['advertise'] ||= Advertise.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'^([ $0-9a-zA-Z:@./_-])+$', 'maxlen'=>'63', 'help-string'=>'IPv6 address/prefix length or address object name'}, 'enable-on-interface'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'configure this address on interface'}} # IPv6 address/prefix length or address object name def name prop_get('@name') end # configure this address on interface def enable_on_interface prop_get('enable-on-interface') end # configure this address on interface def enable_on_interface=(val) prop_set('enable-on-interface', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def address maybe_register_subclass('address', Address.new(parent_instance: self, client: @client, create_children: @create_children)) end class NeighborDiscovery < ConfigClass def has_multiple_values?; false; end def _section :'neighbor-discovery' end class RouterAdvertisement < ConfigClass def has_multiple_values?; false; end def _section :'router-advertisement' end class Prefix < XML::ConfigClass def has_multiple_values?; true; end def _section :prefix end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class ValidLifetime < XML::ConfigClass def has_multiple_values?; true; end def _section :'valid-lifetime' end @props = {'fixed-time'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'default'=>'2592000', 'help-string'=>'fixed value (in seconds) of the Valid Lifetime field of the prefix in Router Advertisement messages'}, 'expire-time'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'19', 'maxlen'=>'19', 'regex'=>'[0-9][0-9][0-9][0-9]/([0][1-9]|[1][0-2])/([0-2][0-9]|[3][0-1])@([01][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9])', 'help-string'=>'expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59)'}} # fixed value (in seconds) of the Valid Lifetime field of the prefix in Router Advertisement messages def fixed_time prop_get('fixed-time') end # fixed value (in seconds) of the Valid Lifetime field of the prefix in Router Advertisement messages def fixed_time=(val) prop_set('fixed-time', val) end # expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59) def expire_time prop_get('expire-time') end # expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59) def expire_time=(val) prop_set('expire-time', val) end end def valid_lifetime maybe_register_subclass('valid-lifetime', ValidLifetime.new(parent_instance: self, client: @client, create_children: @create_children)) end class PreferredLifetime < XML::ConfigClass def has_multiple_values?; true; end def _section :'preferred-lifetime' end @props = {'fixed-time'=>{'node-type'=>'element', 'type'=>'rangedint', 'default'=>'604800', 'min'=>'0', 'max'=>'4294967295', 'help-string'=>'Fixed value (in seconds) of the Preferred Lifetime field of the prefix in Router Advertisement messages'}, 'expire-time'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'19', 'maxlen'=>'19', 'regex'=>'[0-9][0-9][0-9][0-9]/([0][1-9]|[1][0-2])/([0-2][0-9]|[3][0-1])@([01][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9])', 'help-string'=>'expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59)'}} # Fixed value (in seconds) of the Preferred Lifetime field of the prefix in Router Advertisement messages def fixed_time prop_get('fixed-time') end # Fixed value (in seconds) of the Preferred Lifetime field of the prefix in Router Advertisement messages def fixed_time=(val) prop_set('fixed-time', val) end # expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59) def expire_time prop_get('expire-time') end # expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59) def expire_time=(val) prop_set('expire-time', val) end end def preferred_lifetime maybe_register_subclass('preferred-lifetime', PreferredLifetime.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'help-string'=>'IPv6 prefix'}, 'onlink-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages'}, 'auto-config-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages'}} # IPv6 prefix def name prop_get('@name') end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag prop_get('onlink-flag') end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag=(val) prop_set('onlink-flag', val) end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag prop_get('auto-config-flag') end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag=(val) prop_set('auto-config-flag', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def prefix maybe_register_subclass('prefix', Prefix.new(parent_instance: self, client: @client, create_children: @create_children)) end class DnsSupport < ConfigClass def has_multiple_values?; false; end def _section :'dns-support' end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'unicast-only'=>'yes', 'help-string'=>'IPv6 address'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) lifetime in seconds'}} # IPv6 address def name prop_get('@name') end # (4-3600) lifetime in seconds def lifetime prop_get('lifetime') end # (4-3600) lifetime in seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end class Suffix < XML::ConfigClass def has_multiple_values?; true; end def _section :suffix end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'domain name', 'minlen'=>'1', 'maxlen'=>'255'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) lifetime in seconds'}} # domain name def name prop_get('@name') end # (4-3600) lifetime in seconds def lifetime prop_get('lifetime') end # (4-3600) lifetime in seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def suffix maybe_register_subclass('suffix', Suffix.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'defaule'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def dns_support @subclasses['dns-support'] ||= DnsSupport.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'max-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'1800', 'default'=>'600', 'help-string'=>'Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages'}, 'min-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'3', 'max'=>'1350', 'default'=>'200', 'help-string'=>'Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages'}, 'managed-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set the Managed Configuration Flag (M-bit) in Router Advertisement messages'}, 'other-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages'}, 'link-mtu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise', 'multi-types'=>{'rangedint'=>{'min'=>'1280', 'max'=>'9216'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'reachable-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'Reachable Time (in milliseconds) advertised in Router Advertisement messages', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'3600000'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'retransmission-timer'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'Retransmission Timer (in milliseconds) advertised in Router Advertisement messages', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967295'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'hop-limit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'64', 'help-string'=>'Current Hop Limit advertised in Router Advertisement messages', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'255'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'9000', 'default'=>'1800', 'help-string'=>'Router Lifetime (in seconds) advertised in Router Advertisement messages'}, 'router-preference'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'Medium', 'enum'=>[{'value'=>'High', 'help-string'=>'01 High'}, {'value'=>'Medium', 'help-string'=>'00 Medium'}, {'value'=>'Low', 'help-string'=>'11 Low'}]}, 'enable-consistency-check'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'check consistency of RA messages from other routers.'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages def max_interval prop_get('max-interval') end # Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages def max_interval=(val) prop_set('max-interval', val) end # Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages def min_interval prop_get('min-interval') end # Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages def min_interval=(val) prop_set('min-interval', val) end # Set the Managed Configuration Flag (M-bit) in Router Advertisement messages def managed_flag prop_get('managed-flag') end # Set the Managed Configuration Flag (M-bit) in Router Advertisement messages def managed_flag=(val) prop_set('managed-flag', val) end # Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages def other_flag prop_get('other-flag') end # Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages def other_flag=(val) prop_set('other-flag', val) end # value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise def link_mtu prop_get('link-mtu') end # value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise def link_mtu=(val) prop_set('link-mtu', val) end # Reachable Time (in milliseconds) advertised in Router Advertisement messages def reachable_time prop_get('reachable-time') end # Reachable Time (in milliseconds) advertised in Router Advertisement messages def reachable_time=(val) prop_set('reachable-time', val) end # Retransmission Timer (in milliseconds) advertised in Router Advertisement messages def retransmission_timer prop_get('retransmission-timer') end # Retransmission Timer (in milliseconds) advertised in Router Advertisement messages def retransmission_timer=(val) prop_set('retransmission-timer', val) end # Current Hop Limit advertised in Router Advertisement messages def hop_limit prop_get('hop-limit') end # Current Hop Limit advertised in Router Advertisement messages def hop_limit=(val) prop_set('hop-limit', val) end # Router Lifetime (in seconds) advertised in Router Advertisement messages def lifetime prop_get('lifetime') end # Router Lifetime (in seconds) advertised in Router Advertisement messages def lifetime=(val) prop_set('lifetime', val) end def router_preference prop_get('router-preference') end def router_preference=(val) prop_set('router-preference', val) end # check consistency of RA messages from other routers. def enable_consistency_check prop_get('enable-consistency-check') end # check consistency of RA messages from other routers. def enable_consistency_check=(val) prop_set('enable-consistency-check', val) end end def router_advertisement @subclasses['router-advertisement'] ||= RouterAdvertisement.new(parent_instance: self, client: @client, create_children: @create_children) end class Neighbor < XML::ConfigClass def has_multiple_values?; true; end def _section :neighbor end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'help-string'=>'IP address'}, 'hw-address'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'mac-address', 'help-string'=>'MAC address (format xx:xx:xx:xx:xx:xx)'}} # IP address def name prop_get('@name') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address prop_get('hw-address') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address=(val) prop_set('hw-address', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def neighbor maybe_register_subclass('neighbor', Neighbor.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable-ndp-monitor'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable ndp monitoring'}, 'enable-dad'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable duplicate address detection'}, 'dad-attempts'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'10', 'default'=>'1', 'help-string'=>'number of consecutive neighbor solicitation messages sent for duplicate address detection'}, 'ns-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'1', 'help-string'=>'interval (in seconds) between consecutive neighbor solicitation messages'}, 'reachable-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'10', 'max'=>'36000', 'default'=>'30', 'help-string'=>'time (in seconds) that the Reachable status for a neighbor can be maintained'}, 'disable-nud'=>{'node-type'=>'element', 'disabled'=>'yes', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'disable Neighbor Unreachability Detection'}} # enable ndp monitoring def enable_ndp_monitor prop_get('enable-ndp-monitor') end # enable ndp monitoring def enable_ndp_monitor=(val) prop_set('enable-ndp-monitor', val) end # enable duplicate address detection def enable_dad prop_get('enable-dad') end # enable duplicate address detection def enable_dad=(val) prop_set('enable-dad', val) end # number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts prop_get('dad-attempts') end # number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts=(val) prop_set('dad-attempts', val) end # interval (in seconds) between consecutive neighbor solicitation messages def ns_interval prop_get('ns-interval') end # interval (in seconds) between consecutive neighbor solicitation messages def ns_interval=(val) prop_set('ns-interval', val) end # time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time prop_get('reachable-time') end # time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time=(val) prop_set('reachable-time', val) end # disable Neighbor Unreachability Detection def disable_nud prop_get('disable-nud') end # disable Neighbor Unreachability Detection def disable_nud=(val) prop_set('disable-nud', val) end end def neighbor_discovery @subclasses['neighbor-discovery'] ||= NeighborDiscovery.new(parent_instance: self, client: @client, create_children: @create_children) end class DhcpClient < ConfigClass def has_multiple_values?; false; end def _section :'dhcp-client' end class V6Options < ConfigClass def has_multiple_values?; false; end def _section :'v6-options' end class Enable < XML::ConfigClass def has_multiple_values?; true; end def _section :enable end class No < ConfigClass def has_multiple_values?; false; end def _section :no end @props = {} end def no @subclasses['no'] ||= No.new(parent_instance: self, client: @client, create_children: @create_children) end class Yes < ConfigClass def has_multiple_values?; false; end def _section :yes end @props = {'non-temp-addr'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Request Non-Temporary Address Type', 'uiHint-fieldLabel'=>'Non-Temporary Address'}, 'temp-addr'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Request Temporary Address Type', 'uiHint-fieldLabel'=>'Temporary Address'}} # Request Non-Temporary Address Type def non_temp_addr prop_get('non-temp-addr') end # Request Non-Temporary Address Type def non_temp_addr=(val) prop_set('non-temp-addr', val) end # Request Temporary Address Type def temp_addr prop_get('temp-addr') end # Request Temporary Address Type def temp_addr=(val) prop_set('temp-addr', val) end end def yes @subclasses['yes'] ||= Yes.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def enable maybe_register_subclass('enable', Enable.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'support-srvr-reconfig'=>{'node-type'=>'element', 'hidden'=>'yes', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable DHCPv6 Server Re-Configuration Support', 'uiHint-fieldLabel'=>'DHCPv6 Server Re-Configuration Support'}, 'rapid-commit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable Rapid Commit', 'uiHint-fieldLabel'=>'Rapid Commit'}, 'duid-type'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'duid-type-llt', 'optional'=>'yes', 'help-string'=>'Select DUID-LLT/DUID-LL', 'uiHint-fieldLabel'=>'DUID Type', 'enum'=>[{'name'=>'duid-type-llt', 'value'=>'duid-type-llt', 'optional'=>'yes', 'help-string'=>'DUID-LLT'}, {'name'=>'duid-type-ll', 'value'=>'duid-type-ll', 'optional'=>'yes', 'help-string'=>'DUID-LL'}]}} # Enable DHCPv6 Server Re-Configuration Support def support_srvr_reconfig prop_get('support-srvr-reconfig') end # Enable DHCPv6 Server Re-Configuration Support def support_srvr_reconfig=(val) prop_set('support-srvr-reconfig', val) end # Enable Rapid Commit def rapid_commit prop_get('rapid-commit') end # Enable Rapid Commit def rapid_commit=(val) prop_set('rapid-commit', val) end # Select DUID-LLT/DUID-LL def duid_type prop_get('duid-type') end # Select DUID-LLT/DUID-LL def duid_type=(val) prop_set('duid-type', val) end end def v6_options @subclasses['v6-options'] ||= V6Options.new(parent_instance: self, client: @client, create_children: @create_children) end class PrefixDelegation < ConfigClass def has_multiple_values?; false; end def _section :'prefix-delegation' end class Enable < XML::ConfigClass def has_multiple_values?; true; end def _section :enable end class No < ConfigClass def has_multiple_values?; false; end def _section :no end @props = {} end def no @subclasses['no'] ||= No.new(parent_instance: self, client: @client, create_children: @create_children) end class Yes < ConfigClass def has_multiple_values?; false; end def _section :yes end @props = {'prefix-len-hint'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Send prefix length hint to server', 'uiHint-fieldLabel'=>'DHCP Prefix Length Hint'}, 'prefix-len'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'128', 'default'=>'48', 'help-string'=>'Hint DHCP Prefix Length (bits)', 'uiHint-fieldLabel'=>'DHCP Prefix Length'}, 'pfx-pool-name'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'regex'=>'^[a-zA-Z0-9._-]+$', 'help-string'=>'Configure unique Prefix Pool Name', 'uiHint-fieldLabel'=>'Prefix Pool Name'}} # Send prefix length hint to server def prefix_len_hint prop_get('prefix-len-hint') end # Send prefix length hint to server def prefix_len_hint=(val) prop_set('prefix-len-hint', val) end # Hint DHCP Prefix Length (bits) def prefix_len prop_get('prefix-len') end # Hint DHCP Prefix Length (bits) def prefix_len=(val) prop_set('prefix-len', val) end # Configure unique Prefix Pool Name def pfx_pool_name prop_get('pfx-pool-name') end # Configure unique Prefix Pool Name def pfx_pool_name=(val) prop_set('pfx-pool-name', val) end end def yes @subclasses['yes'] ||= Yes.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def enable maybe_register_subclass('enable', Enable.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def prefix_delegation @subclasses['prefix-delegation'] ||= PrefixDelegation.new(parent_instance: self, client: @client, create_children: @create_children) end class NeighborDiscovery < ConfigClass def has_multiple_values?; false; end def _section :'neighbor-discovery' end class DnsServer < ConfigClass def has_multiple_values?; false; end def _section :'dns-server' end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end class Dhcpv6 < ConfigClass def has_multiple_values?; false; end def _section :dhcpv6 end @props = {} end def dhcpv6 @subclasses['dhcpv6'] ||= Dhcpv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Manual < ConfigClass def has_multiple_values?; false; end def _section :manual end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'unicast-only'=>'yes', 'help-string'=>'IPv6 Address', 'uiHint-fieldLabel'=>'Server'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) Lifetime in Seconds'}} # IPv6 Address def name prop_get('@name') end # (4-3600) Lifetime in Seconds def lifetime prop_get('lifetime') end # (4-3600) Lifetime in Seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def manual @subclasses['manual'] ||= Manual.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'defaule'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def dns_server @subclasses['dns-server'] ||= DnsServer.new(parent_instance: self, client: @client, create_children: @create_children) end class DnsSuffix < ConfigClass def has_multiple_values?; false; end def _section :'dns-suffix' end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end class Dhcpv6 < ConfigClass def has_multiple_values?; false; end def _section :dhcpv6 end @props = {} end def dhcpv6 @subclasses['dhcpv6'] ||= Dhcpv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Manual < ConfigClass def has_multiple_values?; false; end def _section :manual end class Suffix < XML::ConfigClass def has_multiple_values?; true; end def _section :suffix end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'domain name', 'minlen'=>'1', 'maxlen'=>'255', 'uiHint-fieldLabel'=>'Domain'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) lifetime in seconds'}} # domain name def name prop_get('@name') end # (4-3600) lifetime in seconds def lifetime prop_get('lifetime') end # (4-3600) lifetime in seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def suffix maybe_register_subclass('suffix', Suffix.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def manual @subclasses['manual'] ||= Manual.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'defaule'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def dns_suffix @subclasses['dns-suffix'] ||= DnsSuffix.new(parent_instance: self, client: @client, create_children: @create_children) end class Neighbor < XML::ConfigClass def has_multiple_values?; true; end def _section :neighbor end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'help-string'=>'IP address'}, 'hw-address'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'mac-address', 'help-string'=>'MAC address (format xx:xx:xx:xx:xx:xx)'}} # IP address def name prop_get('@name') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address prop_get('hw-address') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address=(val) prop_set('hw-address', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def neighbor maybe_register_subclass('neighbor', Neighbor.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable-ndp-monitor'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable NDP Monitoring', 'uiHint-fieldLabel'=>'Enable NDP Monitoring'}, 'enable-dad'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable Duplicate Address Detection', 'uiHint-fieldLabel'=>'Enable Duplicate Address Detection'}, 'dad-attempts'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'10', 'default'=>'1', 'help-string'=>'number of consecutive neighbor solicitation messages sent for duplicate address detection', 'uiHint-fieldLabel'=>'DAD Attempts'}, 'ns-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'1', 'help-string'=>'interval (in seconds) between consecutive neighbor solicitation messages', 'uiHint-fieldLabel'=>'NS Interval'}, 'reachable-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'10', 'max'=>'36000', 'default'=>'30', 'help-string'=>'time (in seconds) that the Reachable status for a neighbor can be maintained', 'uiHint-fieldLabel'=>'Reachable Time'}} # Enable NDP Monitoring def enable_ndp_monitor prop_get('enable-ndp-monitor') end # Enable NDP Monitoring def enable_ndp_monitor=(val) prop_set('enable-ndp-monitor', val) end # Enable Duplicate Address Detection def enable_dad prop_get('enable-dad') end # Enable Duplicate Address Detection def enable_dad=(val) prop_set('enable-dad', val) end # number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts prop_get('dad-attempts') end # number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts=(val) prop_set('dad-attempts', val) end # interval (in seconds) between consecutive neighbor solicitation messages def ns_interval prop_get('ns-interval') end # interval (in seconds) between consecutive neighbor solicitation messages def ns_interval=(val) prop_set('ns-interval', val) end # time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time prop_get('reachable-time') end # time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time=(val) prop_set('reachable-time', val) end end def neighbor_discovery @subclasses['neighbor-discovery'] ||= NeighborDiscovery.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable DHCPv6 Client', 'uiHint-fieldLabel'=>'Enable'}, 'accept-ra-route'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Accept Router Advertised Default Route', 'uiHint-fieldLabel'=>'Accept Router Advertised Route'}, 'default-route-metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'10', 'help-string'=>'Metric of the default route created'}, 'preference'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'high', 'optional'=>'yes', 'help-string'=>'Select Low/Medium/High', 'uiHint-fieldLabel'=>'Preference', 'enum'=>[{'name'=>'low', 'value'=>'low', 'optional'=>'yes', 'help-string'=>'Low'}, {'name'=>'medium', 'value'=>'medium', 'optional'=>'yes', 'help-string'=>'Medium'}, {'name'=>'high', 'value'=>'high', 'optional'=>'yes', 'help-string'=>'High'}]}} # Enable DHCPv6 Client def enable prop_get('enable') end # Enable DHCPv6 Client def enable=(val) prop_set('enable', val) end # Accept Router Advertised Default Route def accept_ra_route prop_get('accept-ra-route') end # Accept Router Advertised Default Route def accept_ra_route=(val) prop_set('accept-ra-route', val) end # Metric of the default route created def default_route_metric prop_get('default-route-metric') end # Metric of the default route created def default_route_metric=(val) prop_set('default-route-metric', val) end # Select Low/Medium/High def preference prop_get('preference') end # Select Low/Medium/High def preference=(val) prop_set('preference', val) end end def dhcp_client @subclasses['dhcp-client'] ||= DhcpClient.new(parent_instance: self, client: @client, create_children: @create_children) end class Inherited < ConfigClass def has_multiple_values?; false; end def _section :inherited end class AssignAddr < XML::ConfigClass def has_multiple_values?; true; end def _section :'assign-addr' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Gua < ConfigClass def has_multiple_values?; false; end def _section :gua end class PoolType < XML::ConfigClass def has_multiple_values?; true; end def _section :'pool-type' end class Dynamic < ConfigClass def has_multiple_values?; false; end def _section :dynamic end @props = {} end def dynamic @subclasses['dynamic'] ||= Dynamic.new(parent_instance: self, client: @client, create_children: @create_children) end class DynamicId < ConfigClass def has_multiple_values?; false; end def _section :'dynamic-id' end @props = {'identifier'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4095', 'help-string'=>'Range [0-4095] must be unqiue for this prefix-pool', 'uiHint-fieldLabel'=>'Identifier'}} # Range [0-4095] must be unqiue for this prefix-pool def identifier prop_get('identifier') end # Range [0-4095] must be unqiue for this prefix-pool def identifier=(val) prop_set('identifier', val) end end def dynamic_id @subclasses['dynamic-id'] ||= DynamicId.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def pool_type maybe_register_subclass('pool-type', PoolType.new(parent_instance: self, client: @client, create_children: @create_children)) end class Advertise < ConfigClass def has_multiple_values?; false; end def _section :advertise end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable advertising this prefix in router advertisements'}, 'onlink-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages', 'uiHint-fieldLabel'=>'On-Link'}, 'auto-config-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages', 'uiHint-fieldLabel'=>'Autonomous'}} # Enable advertising this prefix in router advertisements def enable prop_get('enable') end # Enable advertising this prefix in router advertisements def enable=(val) prop_set('enable', val) end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag prop_get('onlink-flag') end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag=(val) prop_set('onlink-flag', val) end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag prop_get('auto-config-flag') end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag=(val) prop_set('auto-config-flag', val) end end def advertise @subclasses['advertise'] ||= Advertise.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable-on-interface'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable on Interface'}, 'prefix-pool'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix Pool', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'use-cache'=>'yes', 'optional'=>'yes', 'help-string'=>'Prefix-Pool Name'}} # Enable on Interface def enable_on_interface prop_get('enable-on-interface') end # Enable on Interface def enable_on_interface=(val) prop_set('enable-on-interface', val) end # Prefix-Pool Name def prefix_pool prop_get('prefix-pool') end # Prefix-Pool Name def prefix_pool=(val) prop_set('prefix-pool', val) end end def gua @subclasses['gua'] ||= Gua.new(parent_instance: self, client: @client, create_children: @create_children) end class Ula < ConfigClass def has_multiple_values?; false; end def _section :ula end class Advertise < ConfigClass def has_multiple_values?; false; end def _section :advertise end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable advertising this prefix in router advertisements'}, 'valid-lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'2592000', 'help-string'=>'Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages', 'uiHint-fieldLabel'=>'Valid Lifetime', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967294'}, 'enum'=>[{'value'=>'infinity'}]}}, 'preferred-lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'604800', 'help-string'=>'Preferred Lifetime (in seconds) of the prefix advertised in Router advertisement messages', 'uiHint-fieldLabel'=>'Preferred Lifetime', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967294'}, 'enum'=>[{'value'=>'infinity'}]}}, 'onlink-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages', 'uiHint-fieldLabel'=>'On-Link'}, 'auto-config-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages', 'uiHint-fieldLabel'=>'Autonomous'}} # enable advertising this prefix in router advertisements def enable prop_get('enable') end # enable advertising this prefix in router advertisements def enable=(val) prop_set('enable', val) end # Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def valid_lifetime prop_get('valid-lifetime') end # Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def valid_lifetime=(val) prop_set('valid-lifetime', val) end # Preferred Lifetime (in seconds) of the prefix advertised in Router advertisement messages def preferred_lifetime prop_get('preferred-lifetime') end # Preferred Lifetime (in seconds) of the prefix advertised in Router advertisement messages def preferred_lifetime=(val) prop_set('preferred-lifetime', val) end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag prop_get('onlink-flag') end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag=(val) prop_set('onlink-flag', val) end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag prop_get('auto-config-flag') end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag=(val) prop_set('auto-config-flag', val) end end def advertise @subclasses['advertise'] ||= Advertise.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable-on-interface'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Configure this address on Interface', 'uiHint-fieldLabel'=>'Enable Address on Interface'}, 'address'=>{'node-type'=>'element', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'help-string'=>'Configure ULA (Unique Local Address)', 'uiHint-fieldLabel'=>'Address'}, 'prefix'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Use this as prefix to form full address with interface id/EUI-64', 'uiHint-fieldLabel'=>'Use Interface ID as host portion'}, 'anycast'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Anycast Address', 'uiHint-fieldLabel'=>'Anycast'}} # Configure this address on Interface def enable_on_interface prop_get('enable-on-interface') end # Configure this address on Interface def enable_on_interface=(val) prop_set('enable-on-interface', val) end # Configure ULA (Unique Local Address) def address prop_get('address') end # Configure ULA (Unique Local Address) def address=(val) prop_set('address', val) end # Use this as prefix to form full address with interface id/EUI-64 def prefix prop_get('prefix') end # Use this as prefix to form full address with interface id/EUI-64 def prefix=(val) prop_set('prefix', val) end # Anycast Address def anycast prop_get('anycast') end # Anycast Address def anycast=(val) prop_set('anycast', val) end end def ula @subclasses['ula'] ||= Ula.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'help-string'=>'Name', 'regex'=>'^[a-zA-Z0-9._-]+$'}} # Name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def assign_addr maybe_register_subclass('assign-addr', AssignAddr.new(parent_instance: self, client: @client, create_children: @create_children)) end class NeighborDiscovery < ConfigClass def has_multiple_values?; false; end def _section :'neighbor-discovery' end class RouterAdvertisement < ConfigClass def has_multiple_values?; false; end def _section :'router-advertisement' end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'max-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'1800', 'default'=>'600', 'help-string'=>'Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages', 'uiHint-fieldLabel'=>'Max Interval'}, 'min-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'3', 'max'=>'1350', 'default'=>'200', 'help-string'=>'Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages', 'uiHint-fieldLabel'=>'Min Interval'}, 'link-mtu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise', 'uiHint-fieldLabel'=>'Link MTU', 'multi-types'=>{'rangedint'=>{'min'=>'1280', 'max'=>'9216'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'reachable-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'Reachable Time (in milliseconds) advertised in Router Advertisement messages', 'uiHint-fieldLabel'=>'Reachable Time', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'3600000'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'retransmission-timer'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'Retransmission Timer (in milliseconds) advertised in Router Advertisement messages', 'uiHint-fieldLabel'=>'Retrans Timer', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967295'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'hop-limit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'64', 'help-string'=>'Current Hop Limit advertised in Router Advertisement messages', 'uiHint-fieldLabel'=>'Hop Limit', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'255'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'9000', 'default'=>'1800', 'help-string'=>'Router Lifetime (in seconds) advertised in Router Advertisement messages', 'uiHint-fieldLabel'=>'Lifetime'}, 'router-preference'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'Medium', 'uiHint-fieldLabel'=>'Router Preference', 'enum'=>[{'value'=>'High', 'help-string'=>'01 High'}, {'value'=>'Medium', 'help-string'=>'00 Medium'}, {'value'=>'Low', 'help-string'=>'11 Low'}]}, 'managed-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set the Managed Configuration Flag (M-bit) in Router Advertisement messages', 'uiHint-fieldLabel'=>'Managed Configuration'}, 'other-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages', 'uiHint-fieldLabel'=>'Other Configuration'}, 'enable-consistency-check'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'check consistency of RA messages from other routers.', 'uiHint-fieldLabel'=>'Consistency Check'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages def max_interval prop_get('max-interval') end # Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages def max_interval=(val) prop_set('max-interval', val) end # Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages def min_interval prop_get('min-interval') end # Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages def min_interval=(val) prop_set('min-interval', val) end # value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise def link_mtu prop_get('link-mtu') end # value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise def link_mtu=(val) prop_set('link-mtu', val) end # Reachable Time (in milliseconds) advertised in Router Advertisement messages def reachable_time prop_get('reachable-time') end # Reachable Time (in milliseconds) advertised in Router Advertisement messages def reachable_time=(val) prop_set('reachable-time', val) end # Retransmission Timer (in milliseconds) advertised in Router Advertisement messages def retransmission_timer prop_get('retransmission-timer') end # Retransmission Timer (in milliseconds) advertised in Router Advertisement messages def retransmission_timer=(val) prop_set('retransmission-timer', val) end # Current Hop Limit advertised in Router Advertisement messages def hop_limit prop_get('hop-limit') end # Current Hop Limit advertised in Router Advertisement messages def hop_limit=(val) prop_set('hop-limit', val) end # Router Lifetime (in seconds) advertised in Router Advertisement messages def lifetime prop_get('lifetime') end # Router Lifetime (in seconds) advertised in Router Advertisement messages def lifetime=(val) prop_set('lifetime', val) end def router_preference prop_get('router-preference') end def router_preference=(val) prop_set('router-preference', val) end # Set the Managed Configuration Flag (M-bit) in Router Advertisement messages def managed_flag prop_get('managed-flag') end # Set the Managed Configuration Flag (M-bit) in Router Advertisement messages def managed_flag=(val) prop_set('managed-flag', val) end # Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages def other_flag prop_get('other-flag') end # Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages def other_flag=(val) prop_set('other-flag', val) end # check consistency of RA messages from other routers. def enable_consistency_check prop_get('enable-consistency-check') end # check consistency of RA messages from other routers. def enable_consistency_check=(val) prop_set('enable-consistency-check', val) end end def router_advertisement @subclasses['router-advertisement'] ||= RouterAdvertisement.new(parent_instance: self, client: @client, create_children: @create_children) end class DnsServer < ConfigClass def has_multiple_values?; false; end def _section :'dns-server' end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end class Dhcpv6 < ConfigClass def has_multiple_values?; false; end def _section :dhcpv6 end @props = {'prefix-pool'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix Pool', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-Pool Name'}} # Prefix-Pool Name def prefix_pool prop_get('prefix-pool') end # Prefix-Pool Name def prefix_pool=(val) prop_set('prefix-pool', val) end end def dhcpv6 @subclasses['dhcpv6'] ||= Dhcpv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Manual < ConfigClass def has_multiple_values?; false; end def _section :manual end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'unicast-only'=>'yes', 'help-string'=>'IPv6 Address', 'uiHint-fieldLabel'=>'Server'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) Lifetime in Seconds'}} # IPv6 Address def name prop_get('@name') end # (4-3600) Lifetime in Seconds def lifetime prop_get('lifetime') end # (4-3600) Lifetime in Seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def manual @subclasses['manual'] ||= Manual.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'defaule'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def dns_server @subclasses['dns-server'] ||= DnsServer.new(parent_instance: self, client: @client, create_children: @create_children) end class DnsSuffix < ConfigClass def has_multiple_values?; false; end def _section :'dns-suffix' end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end class Dhcpv6 < ConfigClass def has_multiple_values?; false; end def _section :dhcpv6 end @props = {'prefix-pool'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix Pool', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-Pool Name'}} # Prefix-Pool Name def prefix_pool prop_get('prefix-pool') end # Prefix-Pool Name def prefix_pool=(val) prop_set('prefix-pool', val) end end def dhcpv6 @subclasses['dhcpv6'] ||= Dhcpv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Manual < ConfigClass def has_multiple_values?; false; end def _section :manual end class Suffix < XML::ConfigClass def has_multiple_values?; true; end def _section :suffix end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'domain name', 'minlen'=>'1', 'maxlen'=>'255', 'uiHint-fieldLabel'=>'Domain'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) lifetime in seconds'}} # domain name def name prop_get('@name') end # (4-3600) lifetime in seconds def lifetime prop_get('lifetime') end # (4-3600) lifetime in seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def suffix maybe_register_subclass('suffix', Suffix.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def manual @subclasses['manual'] ||= Manual.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'defaule'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def dns_suffix @subclasses['dns-suffix'] ||= DnsSuffix.new(parent_instance: self, client: @client, create_children: @create_children) end class Neighbor < XML::ConfigClass def has_multiple_values?; true; end def _section :neighbor end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'help-string'=>'IP address'}, 'hw-address'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'mac-address', 'help-string'=>'MAC address (format xx:xx:xx:xx:xx:xx)'}} # IP address def name prop_get('@name') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address prop_get('hw-address') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address=(val) prop_set('hw-address', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def neighbor maybe_register_subclass('neighbor', Neighbor.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable-ndp-monitor'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable NDP Monitoring', 'uiHint-fieldLabel'=>'Enable NDP Monitoring'}, 'enable-dad'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable Duplicate Address Detection (DAD)', 'uiHint-fieldLabel'=>'Enable Duplicate Address Detection'}, 'dad-attempts'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'10', 'default'=>'1', 'help-string'=>'Number of consecutive neighbor solicitation messages sent for duplicate address detection', 'uiHint-fieldLabel'=>'DAD Attempts'}, 'ns-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'1', 'help-string'=>'Interval (in seconds) between consecutive neighbor solicitation messages', 'uiHint-fieldLabel'=>'NS Interval'}, 'reachable-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'10', 'max'=>'36000', 'default'=>'30', 'help-string'=>'Time (in seconds) that the Reachable status for a neighbor can be maintained', 'uiHint-fieldLabel'=>'Reachable Time'}} # Enable NDP Monitoring def enable_ndp_monitor prop_get('enable-ndp-monitor') end # Enable NDP Monitoring def enable_ndp_monitor=(val) prop_set('enable-ndp-monitor', val) end # Enable Duplicate Address Detection (DAD) def enable_dad prop_get('enable-dad') end # Enable Duplicate Address Detection (DAD) def enable_dad=(val) prop_set('enable-dad', val) end # Number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts prop_get('dad-attempts') end # Number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts=(val) prop_set('dad-attempts', val) end # Interval (in seconds) between consecutive neighbor solicitation messages def ns_interval prop_get('ns-interval') end # Interval (in seconds) between consecutive neighbor solicitation messages def ns_interval=(val) prop_set('ns-interval', val) end # Time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time prop_get('reachable-time') end # Time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time=(val) prop_set('reachable-time', val) end end def neighbor_discovery @subclasses['neighbor-discovery'] ||= NeighborDiscovery.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable Inherited Interface'}} # Enable Inherited Interface def enable prop_get('enable') end # Enable Inherited Interface def enable=(val) prop_set('enable', val) end end def inherited @subclasses['inherited'] ||= Inherited.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable IPv6 on the interface'}, 'interface-id'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'EUI-64', 'multi-types'=>{'string'=>{'maxlen'=>'16', 'loose-membership'=>'yes', 'help-string'=>'user defined 64-bit identifier (in hex)'}, 'enum'=>[{'value'=>'EUI-64', 'help-string'=>'default 64-bit Extended Unique Identifier'}]}}} # Enable IPv6 on the interface def enabled prop_get('enabled') end # Enable IPv6 on the interface def enabled=(val) prop_set('enabled', val) end def interface_id prop_get('interface-id') end def interface_id=(val) prop_set('interface-id', val) end end def ipv6 @subclasses['ipv6'] ||= Ipv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Arp < XML::ConfigClass def has_multiple_values?; true; end def _section :arp end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'ip-address', 'help-string'=>'IP address'}, 'hw-address'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'mac-address', 'help-string'=>'MAC address (format xx:xx:xx:xx:xx:xx)'}} # IP address def name prop_get('@name') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address prop_get('hw-address') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address=(val) prop_set('hw-address', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def arp maybe_register_subclass('arp', Arp.new(parent_instance: self, client: @client, create_children: @create_children)) end class NdpProxy < ConfigClass def has_multiple_values?; false; end def _section :'ndp-proxy' end class Address < XML::ConfigClass def has_multiple_values?; true; end def _section :address end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'IPv6 address or address object name'}, 'negate'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'max-count'=>'16', 'help-string'=>'put the prefix or address on a block list'}} # IPv6 address or address object name def name prop_get('@name') end # put the prefix or address on a block list def negate prop_get('negate') end # put the prefix or address on a block list def negate=(val) prop_set('negate', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def address maybe_register_subclass('address', Address.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable proxy NDP on the interface'}} # Enable proxy NDP on the interface def enabled prop_get('enabled') end # Enable proxy NDP on the interface def enabled=(val) prop_set('enabled', val) end end def ndp_proxy @subclasses['ndp-proxy'] ||= NdpProxy.new(parent_instance: self, client: @client, create_children: @create_children) end class SdwanLinkSettings < ConfigClass def has_multiple_values?; false; end def _section :'sdwan-link-settings' end class UpstreamNat < ConfigClass def has_multiple_values?; false; end def _section :'upstream-nat' end class StaticIp < ConfigClass def has_multiple_values?; false; end def _section :'static-ip' end @props = {'ip-address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Upstream NAT IP address', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'ipspec'=>{'unicast-only'=>'yes'}}}, 'fqdn'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'regex'=>'^([a-zA-Z0-9._-])+$', 'help-string'=>'Upstream NAT address FQDN name configuration'}} # Upstream NAT IP address def ip_address prop_get('ip-address') end # Upstream NAT IP address def ip_address=(val) prop_set('ip-address', val) end # Upstream NAT address FQDN name configuration def fqdn prop_get('fqdn') end # Upstream NAT address FQDN name configuration def fqdn=(val) prop_set('fqdn', val) end end def static_ip @subclasses['static-ip'] ||= StaticIp.new(parent_instance: self, client: @client, create_children: @create_children) end class Ddns < ConfigClass def has_multiple_values?; false; end def _section :ddns end @props = {} end def ddns @subclasses['ddns'] ||= Ddns.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable upstream NAT IP config'}} # Enable upstream NAT IP config def enable prop_get('enable') end # Enable upstream NAT IP config def enable=(val) prop_set('enable', val) end end def upstream_nat @subclasses['upstream-nat'] ||= UpstreamNat.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable sdwan on this ethernet interface'}, 'sdwan-interface-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'Sdwan link characteristics'}} # Enable sdwan on this ethernet interface def enable prop_get('enable') end # Enable sdwan on this ethernet interface def enable=(val) prop_set('enable', val) end # Sdwan link characteristics def sdwan_interface_profile prop_get('sdwan-interface-profile') end # Sdwan link characteristics def sdwan_interface_profile=(val) prop_set('sdwan-interface-profile', val) end end def sdwan_link_settings @subclasses['sdwan-link-settings'] ||= SdwanLinkSettings.new(parent_instance: self, client: @client, create_children: @create_children) end class DhcpClient < ConfigClass def has_multiple_values?; false; end def _section :'dhcp-client' end class SendHostname < ConfigClass def has_multiple_values?; false; end def _section :'send-hostname' end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'hostname'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'system-hostname', 'help-string'=>'Set Interface Hostname', 'multi-types'=>{'string'=>{'regex'=>'^[a-zA-Z0-9\._-]+$', 'minlen'=>'1', 'maxlen'=>'64', 'loose-membership'=>'yes', 'help-string'=>'Custom Interface Hostname'}, 'enum'=>[{'value'=>'system-hostname', 'help-string'=>'System Hostname'}]}}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Set Interface Hostname def hostname prop_get('hostname') end # Set Interface Hostname def hostname=(val) prop_set('hostname', val) end end def send_hostname @subclasses['send-hostname'] ||= SendHostname.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'create-default-route'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Automatically create default route pointing to default gateway provided by server'}, 'default-route-metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'10', 'help-string'=>'Metric of the default route created'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Automatically create default route pointing to default gateway provided by server def create_default_route prop_get('create-default-route') end # Automatically create default route pointing to default gateway provided by server def create_default_route=(val) prop_set('create-default-route', val) end # Metric of the default route created def default_route_metric prop_get('default-route-metric') end # Metric of the default route created def default_route_metric=(val) prop_set('default-route-metric', val) end end def dhcp_client @subclasses['dhcp-client'] ||= DhcpClient.new(parent_instance: self, client: @client, create_children: @create_children) end class DdnsConfig < ConfigClass def has_multiple_values?; false; end def _section :'ddns-config' end class DdnsIp < XML::ConfigClass def has_multiple_values?; true; end def _section :'ddns-ip' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'maxlen'=>'127'}, 'enum'=>[{'value'=>'DHCP'}, {'value'=>'PPPoE'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def ddns_ip maybe_register_subclass('ddns-ip', DdnsIp.new(parent_instance: self, client: @client, create_children: @create_children)) end class DdnsIpv6 < XML::ConfigClass def has_multiple_values?; true; end def _section :'ddns-ipv6' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def ddns_ipv6 maybe_register_subclass('ddns-ipv6', DdnsIpv6.new(parent_instance: self, client: @client, create_children: @create_children)) end class DdnsVendorConfig < XML::ConfigClass def has_multiple_values?; true; end def _section :'ddns-vendor-config' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'255'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ddns_vendor_config maybe_register_subclass('ddns-vendor-config', DdnsVendorConfig.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'ddns-enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'ddns-update-interval'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'30', 'default'=>'1', 'optional'=>'yes'}, 'ddns-hostname'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([$a-zA-Z0-9_\.\-])+$', 'minlen'=>'1', 'maxlen'=>'255', 'help-string'=>'ddns hostname variable or real address'}, 'ddns-cert-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes'}, 'ddns-vendor'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127', 'help-string'=>'Vendor and product type'}} def ddns_enabled prop_get('ddns-enabled') end def ddns_enabled=(val) prop_set('ddns-enabled', val) end def ddns_update_interval prop_get('ddns-update-interval') end def ddns_update_interval=(val) prop_set('ddns-update-interval', val) end # ddns hostname variable or real address def ddns_hostname prop_get('ddns-hostname') end # ddns hostname variable or real address def ddns_hostname=(val) prop_set('ddns-hostname', val) end def ddns_cert_profile prop_get('ddns-cert-profile') end def ddns_cert_profile=(val) prop_set('ddns-cert-profile', val) end # Vendor and product type def ddns_vendor prop_get('ddns-vendor') end # Vendor and product type def ddns_vendor=(val) prop_set('ddns-vendor', val) end end def ddns_config @subclasses['ddns-config'] ||= DdnsConfig.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'prefix'=>'concat(../../../@name, \'.\')', 'regex'=>'^((ae[1-9][0-9]?\.)?([1-9][0-9]{0,3}))$'}, 'decrypt-forward'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'df-ignore'=>{'node-type'=>'element', 'internal'=>'yes', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'mtu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'576', 'max'=>'9216', 'help-string'=>'Maximum Transfer Unit, up to 9216 in Jumbo-Frame mode, up to 1500 otherwise'}, 'interface-management-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'Interface management profile'}, 'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'1', 'max'=>'4094', 'help-string'=>'802.1q VLAN tag'}, 'netflow-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'Netflow Server Profile'}, 'comment'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'0', 'maxlen'=>'1023'}} def name prop_get('@name') end def decrypt_forward prop_get('decrypt-forward') end def decrypt_forward=(val) prop_set('decrypt-forward', val) end def df_ignore prop_get('df-ignore') end def df_ignore=(val) prop_set('df-ignore', val) end # Maximum Transfer Unit, up to 9216 in Jumbo-Frame mode, up to 1500 otherwise def mtu prop_get('mtu') end # Maximum Transfer Unit, up to 9216 in Jumbo-Frame mode, up to 1500 otherwise def mtu=(val) prop_set('mtu', val) end # Interface management profile def interface_management_profile prop_get('interface-management-profile') end # Interface management profile def interface_management_profile=(val) prop_set('interface-management-profile', val) end # 802.1q VLAN tag def tag prop_get('tag') end # 802.1q VLAN tag def tag=(val) prop_set('tag', val) end # Netflow Server Profile def netflow_profile prop_get('netflow-profile') end # Netflow Server Profile def netflow_profile=(val) prop_set('netflow-profile', val) end def comment prop_get('comment') end def comment=(val) prop_set('comment', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def units maybe_register_subclass('units', Units.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'decrypt-forward'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'df-ignore'=>{'node-type'=>'element', 'internal'=>'yes', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'mtu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'576', 'max'=>'9216', 'help-string'=>'Maximum Transfer Unit, up to 9216 in Jumbo-Frame mode, up to 1500 otherwise'}, 'untagged-sub-interface'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable untagged sub-interface'}, 'interface-management-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'Interface management profile'}, 'netflow-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'Netflow Server Profile'}} def decrypt_forward prop_get('decrypt-forward') end def decrypt_forward=(val) prop_set('decrypt-forward', val) end def df_ignore prop_get('df-ignore') end def df_ignore=(val) prop_set('df-ignore', val) end # Maximum Transfer Unit, up to 9216 in Jumbo-Frame mode, up to 1500 otherwise def mtu prop_get('mtu') end # Maximum Transfer Unit, up to 9216 in Jumbo-Frame mode, up to 1500 otherwise def mtu=(val) prop_set('mtu', val) end # Enable untagged sub-interface def untagged_sub_interface prop_get('untagged-sub-interface') end # Enable untagged sub-interface def untagged_sub_interface=(val) prop_set('untagged-sub-interface', val) end # Interface management profile def interface_management_profile prop_get('interface-management-profile') end # Interface management profile def interface_management_profile=(val) prop_set('interface-management-profile', val) end # Netflow Server Profile def netflow_profile prop_get('netflow-profile') end # Netflow Server Profile def netflow_profile=(val) prop_set('netflow-profile', val) end end def layer3 @subclasses['layer3'] ||= Layer3.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string'}, 'comment'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'0', 'maxlen'=>'1023'}} def name prop_get('@name') end def comment prop_get('comment') end def comment=(val) prop_set('comment', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def aggregate_ethernet maybe_register_subclass('aggregate-ethernet', AggregateEthernet.new(parent_instance: self, client: @client, create_children: @create_children)) end class Vlan < ConfigClass def has_multiple_values?; false; end def _section :vlan end class Bonjour < ConfigClass def has_multiple_values?; false; end def _section :bonjour end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set to support Bonjour service'}, 'ttl-check'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set to check and update TTL'}, 'group-id'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'40', 'min'=>'0', 'max'=>'16', 'help-string'=>'default 0: NO-Group'}} # Set to support Bonjour service def enable prop_get('enable') end # Set to support Bonjour service def enable=(val) prop_set('enable', val) end # Set to check and update TTL def ttl_check prop_get('ttl-check') end # Set to check and update TTL def ttl_check=(val) prop_set('ttl-check', val) end # default 0: NO-Group def group_id prop_get('group-id') end # default 0: NO-Group def group_id=(val) prop_set('group-id', val) end end def bonjour @subclasses['bonjour'] ||= Bonjour.new(parent_instance: self, client: @client, create_children: @create_children) end class AdjustTcpMss < ConfigClass def has_multiple_values?; false; end def _section :'adjust-tcp-mss' end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set if TCP MSS value should be reduced based on mtu'}, 'ipv4-mss-adjustment'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'40', 'min'=>'40', 'max'=>'300', 'help-string'=>'IPv4 MSS adjustment size (in bytes)'}, 'ipv6-mss-adjustment'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'60', 'min'=>'60', 'max'=>'300', 'help-string'=>'IPv6 MSS adjustment size (in bytes)'}} # Set if TCP MSS value should be reduced based on mtu def enable prop_get('enable') end # Set if TCP MSS value should be reduced based on mtu def enable=(val) prop_set('enable', val) end # IPv4 MSS adjustment size (in bytes) def ipv4_mss_adjustment prop_get('ipv4-mss-adjustment') end # IPv4 MSS adjustment size (in bytes) def ipv4_mss_adjustment=(val) prop_set('ipv4-mss-adjustment', val) end # IPv6 MSS adjustment size (in bytes) def ipv6_mss_adjustment prop_get('ipv6-mss-adjustment') end # IPv6 MSS adjustment size (in bytes) def ipv6_mss_adjustment=(val) prop_set('ipv6-mss-adjustment', val) end end def adjust_tcp_mss @subclasses['adjust-tcp-mss'] ||= AdjustTcpMss.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip < XML::ConfigClass def has_multiple_values?; true; end def _section :ip end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'regex'=>'^([ $0-9a-zA-Z:@./_-])+$', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'IP address/netmask or address object name'}} # IP address/netmask or address object name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ip maybe_register_subclass('ip', Ip.new(parent_instance: self, client: @client, create_children: @create_children)) end class Ipv6 < ConfigClass def has_multiple_values?; false; end def _section :ipv6 end class Address < XML::ConfigClass def has_multiple_values?; true; end def _section :address end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Prefix < ConfigClass def has_multiple_values?; false; end def _section :prefix end @props = {} end def prefix @subclasses['prefix'] ||= Prefix.new(parent_instance: self, client: @client, create_children: @create_children) end class Anycast < ConfigClass def has_multiple_values?; false; end def _section :anycast end @props = {} end def anycast @subclasses['anycast'] ||= Anycast.new(parent_instance: self, client: @client, create_children: @create_children) end class Advertise < ConfigClass def has_multiple_values?; false; end def _section :advertise end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable advertising this prefix in router advertisements'}, 'valid-lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'2592000', 'help-string'=>'Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967294'}, 'enum'=>[{'value'=>'infinity'}]}}, 'preferred-lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'604800', 'help-string'=>'Preferred Lifetime (in seconds) of the prefix advertised in Router Advertisement messages', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967294'}, 'enum'=>[{'value'=>'infinity'}]}}, 'onlink-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages'}, 'auto-config-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages'}} # enable advertising this prefix in router advertisements def enable prop_get('enable') end # enable advertising this prefix in router advertisements def enable=(val) prop_set('enable', val) end # Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def valid_lifetime prop_get('valid-lifetime') end # Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def valid_lifetime=(val) prop_set('valid-lifetime', val) end # Preferred Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def preferred_lifetime prop_get('preferred-lifetime') end # Preferred Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def preferred_lifetime=(val) prop_set('preferred-lifetime', val) end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag prop_get('onlink-flag') end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag=(val) prop_set('onlink-flag', val) end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag prop_get('auto-config-flag') end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag=(val) prop_set('auto-config-flag', val) end end def advertise @subclasses['advertise'] ||= Advertise.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'^([ $0-9a-zA-Z:@./_-])+$', 'maxlen'=>'63', 'help-string'=>'IPv6 address/prefix length or address object name'}, 'enable-on-interface'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'configure this address on interface'}} # IPv6 address/prefix length or address object name def name prop_get('@name') end # configure this address on interface def enable_on_interface prop_get('enable-on-interface') end # configure this address on interface def enable_on_interface=(val) prop_set('enable-on-interface', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def address maybe_register_subclass('address', Address.new(parent_instance: self, client: @client, create_children: @create_children)) end class NeighborDiscovery < ConfigClass def has_multiple_values?; false; end def _section :'neighbor-discovery' end class RouterAdvertisement < ConfigClass def has_multiple_values?; false; end def _section :'router-advertisement' end class Prefix < XML::ConfigClass def has_multiple_values?; true; end def _section :prefix end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class ValidLifetime < XML::ConfigClass def has_multiple_values?; true; end def _section :'valid-lifetime' end @props = {'fixed-time'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'default'=>'2592000', 'help-string'=>'fixed value (in seconds) of the Valid Lifetime field of the prefix in Router Advertisement messages'}, 'expire-time'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'19', 'maxlen'=>'19', 'regex'=>'[0-9][0-9][0-9][0-9]/([0][1-9]|[1][0-2])/([0-2][0-9]|[3][0-1])@([01][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9])', 'help-string'=>'expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59)'}} # fixed value (in seconds) of the Valid Lifetime field of the prefix in Router Advertisement messages def fixed_time prop_get('fixed-time') end # fixed value (in seconds) of the Valid Lifetime field of the prefix in Router Advertisement messages def fixed_time=(val) prop_set('fixed-time', val) end # expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59) def expire_time prop_get('expire-time') end # expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59) def expire_time=(val) prop_set('expire-time', val) end end def valid_lifetime maybe_register_subclass('valid-lifetime', ValidLifetime.new(parent_instance: self, client: @client, create_children: @create_children)) end class PreferredLifetime < XML::ConfigClass def has_multiple_values?; true; end def _section :'preferred-lifetime' end @props = {'fixed-time'=>{'node-type'=>'element', 'type'=>'rangedint', 'default'=>'604800', 'min'=>'0', 'max'=>'4294967295', 'help-string'=>'Fixed value (in seconds) of the Preferred Lifetime field of the prefix in Router Advertisement messages'}, 'expire-time'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'19', 'maxlen'=>'19', 'regex'=>'[0-9][0-9][0-9][0-9]/([0][1-9]|[1][0-2])/([0-2][0-9]|[3][0-1])@([01][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9])', 'help-string'=>'expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59)'}} # Fixed value (in seconds) of the Preferred Lifetime field of the prefix in Router Advertisement messages def fixed_time prop_get('fixed-time') end # Fixed value (in seconds) of the Preferred Lifetime field of the prefix in Router Advertisement messages def fixed_time=(val) prop_set('fixed-time', val) end # expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59) def expire_time prop_get('expire-time') end # expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59) def expire_time=(val) prop_set('expire-time', val) end end def preferred_lifetime maybe_register_subclass('preferred-lifetime', PreferredLifetime.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'help-string'=>'IPv6 prefix'}, 'onlink-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages'}, 'auto-config-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages'}} # IPv6 prefix def name prop_get('@name') end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag prop_get('onlink-flag') end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag=(val) prop_set('onlink-flag', val) end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag prop_get('auto-config-flag') end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag=(val) prop_set('auto-config-flag', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def prefix maybe_register_subclass('prefix', Prefix.new(parent_instance: self, client: @client, create_children: @create_children)) end class DnsSupport < ConfigClass def has_multiple_values?; false; end def _section :'dns-support' end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'unicast-only'=>'yes', 'help-string'=>'IPv6 address'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) lifetime in seconds'}} # IPv6 address def name prop_get('@name') end # (4-3600) lifetime in seconds def lifetime prop_get('lifetime') end # (4-3600) lifetime in seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end class Suffix < XML::ConfigClass def has_multiple_values?; true; end def _section :suffix end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'domain name', 'minlen'=>'1', 'maxlen'=>'255'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) lifetime in seconds'}} # domain name def name prop_get('@name') end # (4-3600) lifetime in seconds def lifetime prop_get('lifetime') end # (4-3600) lifetime in seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def suffix maybe_register_subclass('suffix', Suffix.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'defaule'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def dns_support @subclasses['dns-support'] ||= DnsSupport.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'max-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'1800', 'default'=>'600', 'help-string'=>'Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages'}, 'min-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'3', 'max'=>'1350', 'default'=>'200', 'help-string'=>'Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages'}, 'managed-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set the Managed Configuration Flag (M-bit) in Router Advertisement messages'}, 'other-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages'}, 'link-mtu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise', 'multi-types'=>{'rangedint'=>{'min'=>'1280', 'max'=>'9216'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'reachable-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'Reachable Time (in milliseconds) advertised in Router Advertisement messages', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'3600000'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'retransmission-timer'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'Retransmission Timer (in milliseconds) advertised in Router Advertisement messages', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967295'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'hop-limit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'64', 'help-string'=>'Current Hop Limit advertised in Router Advertisement messages', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'255'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'9000', 'default'=>'1800', 'help-string'=>'Router Lifetime (in seconds) advertised in Router Advertisement messages'}, 'router-preference'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'Medium', 'enum'=>[{'value'=>'High', 'help-string'=>'01 High'}, {'value'=>'Medium', 'help-string'=>'00 Medium'}, {'value'=>'Low', 'help-string'=>'11 Low'}]}, 'enable-consistency-check'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'check consistency of RA messages from other routers.'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages def max_interval prop_get('max-interval') end # Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages def max_interval=(val) prop_set('max-interval', val) end # Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages def min_interval prop_get('min-interval') end # Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages def min_interval=(val) prop_set('min-interval', val) end # Set the Managed Configuration Flag (M-bit) in Router Advertisement messages def managed_flag prop_get('managed-flag') end # Set the Managed Configuration Flag (M-bit) in Router Advertisement messages def managed_flag=(val) prop_set('managed-flag', val) end # Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages def other_flag prop_get('other-flag') end # Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages def other_flag=(val) prop_set('other-flag', val) end # value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise def link_mtu prop_get('link-mtu') end # value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise def link_mtu=(val) prop_set('link-mtu', val) end # Reachable Time (in milliseconds) advertised in Router Advertisement messages def reachable_time prop_get('reachable-time') end # Reachable Time (in milliseconds) advertised in Router Advertisement messages def reachable_time=(val) prop_set('reachable-time', val) end # Retransmission Timer (in milliseconds) advertised in Router Advertisement messages def retransmission_timer prop_get('retransmission-timer') end # Retransmission Timer (in milliseconds) advertised in Router Advertisement messages def retransmission_timer=(val) prop_set('retransmission-timer', val) end # Current Hop Limit advertised in Router Advertisement messages def hop_limit prop_get('hop-limit') end # Current Hop Limit advertised in Router Advertisement messages def hop_limit=(val) prop_set('hop-limit', val) end # Router Lifetime (in seconds) advertised in Router Advertisement messages def lifetime prop_get('lifetime') end # Router Lifetime (in seconds) advertised in Router Advertisement messages def lifetime=(val) prop_set('lifetime', val) end def router_preference prop_get('router-preference') end def router_preference=(val) prop_set('router-preference', val) end # check consistency of RA messages from other routers. def enable_consistency_check prop_get('enable-consistency-check') end # check consistency of RA messages from other routers. def enable_consistency_check=(val) prop_set('enable-consistency-check', val) end end def router_advertisement @subclasses['router-advertisement'] ||= RouterAdvertisement.new(parent_instance: self, client: @client, create_children: @create_children) end class Neighbor < XML::ConfigClass def has_multiple_values?; true; end def _section :neighbor end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'help-string'=>'IP address'}, 'hw-address'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'mac-address', 'help-string'=>'MAC address (format xx:xx:xx:xx:xx:xx)'}} # IP address def name prop_get('@name') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address prop_get('hw-address') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address=(val) prop_set('hw-address', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def neighbor maybe_register_subclass('neighbor', Neighbor.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable-ndp-monitor'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable ndp monitoring'}, 'enable-dad'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable duplicate address detection'}, 'dad-attempts'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'10', 'default'=>'1', 'help-string'=>'number of consecutive neighbor solicitation messages sent for duplicate address detection'}, 'ns-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'1', 'help-string'=>'interval (in seconds) between consecutive neighbor solicitation messages'}, 'reachable-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'10', 'max'=>'36000', 'default'=>'30', 'help-string'=>'time (in seconds) that the Reachable status for a neighbor can be maintained'}, 'disable-nud'=>{'node-type'=>'element', 'disabled'=>'yes', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'disable Neighbor Unreachability Detection'}} # enable ndp monitoring def enable_ndp_monitor prop_get('enable-ndp-monitor') end # enable ndp monitoring def enable_ndp_monitor=(val) prop_set('enable-ndp-monitor', val) end # enable duplicate address detection def enable_dad prop_get('enable-dad') end # enable duplicate address detection def enable_dad=(val) prop_set('enable-dad', val) end # number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts prop_get('dad-attempts') end # number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts=(val) prop_set('dad-attempts', val) end # interval (in seconds) between consecutive neighbor solicitation messages def ns_interval prop_get('ns-interval') end # interval (in seconds) between consecutive neighbor solicitation messages def ns_interval=(val) prop_set('ns-interval', val) end # time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time prop_get('reachable-time') end # time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time=(val) prop_set('reachable-time', val) end # disable Neighbor Unreachability Detection def disable_nud prop_get('disable-nud') end # disable Neighbor Unreachability Detection def disable_nud=(val) prop_set('disable-nud', val) end end def neighbor_discovery @subclasses['neighbor-discovery'] ||= NeighborDiscovery.new(parent_instance: self, client: @client, create_children: @create_children) end class DhcpClient < ConfigClass def has_multiple_values?; false; end def _section :'dhcp-client' end class V6Options < ConfigClass def has_multiple_values?; false; end def _section :'v6-options' end class Enable < XML::ConfigClass def has_multiple_values?; true; end def _section :enable end class No < ConfigClass def has_multiple_values?; false; end def _section :no end @props = {} end def no @subclasses['no'] ||= No.new(parent_instance: self, client: @client, create_children: @create_children) end class Yes < ConfigClass def has_multiple_values?; false; end def _section :yes end @props = {'non-temp-addr'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Request Non-Temporary Address Type', 'uiHint-fieldLabel'=>'Non-Temporary Address'}, 'temp-addr'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Request Temporary Address Type', 'uiHint-fieldLabel'=>'Temporary Address'}} # Request Non-Temporary Address Type def non_temp_addr prop_get('non-temp-addr') end # Request Non-Temporary Address Type def non_temp_addr=(val) prop_set('non-temp-addr', val) end # Request Temporary Address Type def temp_addr prop_get('temp-addr') end # Request Temporary Address Type def temp_addr=(val) prop_set('temp-addr', val) end end def yes @subclasses['yes'] ||= Yes.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def enable maybe_register_subclass('enable', Enable.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'support-srvr-reconfig'=>{'node-type'=>'element', 'hidden'=>'yes', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable DHCPv6 Server Re-Configuration Support', 'uiHint-fieldLabel'=>'DHCPv6 Server Re-Configuration Support'}, 'rapid-commit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable Rapid Commit', 'uiHint-fieldLabel'=>'Rapid Commit'}, 'duid-type'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'duid-type-llt', 'optional'=>'yes', 'help-string'=>'Select DUID-LLT/DUID-LL', 'uiHint-fieldLabel'=>'DUID Type', 'enum'=>[{'name'=>'duid-type-llt', 'value'=>'duid-type-llt', 'optional'=>'yes', 'help-string'=>'DUID-LLT'}, {'name'=>'duid-type-ll', 'value'=>'duid-type-ll', 'optional'=>'yes', 'help-string'=>'DUID-LL'}]}} # Enable DHCPv6 Server Re-Configuration Support def support_srvr_reconfig prop_get('support-srvr-reconfig') end # Enable DHCPv6 Server Re-Configuration Support def support_srvr_reconfig=(val) prop_set('support-srvr-reconfig', val) end # Enable Rapid Commit def rapid_commit prop_get('rapid-commit') end # Enable Rapid Commit def rapid_commit=(val) prop_set('rapid-commit', val) end # Select DUID-LLT/DUID-LL def duid_type prop_get('duid-type') end # Select DUID-LLT/DUID-LL def duid_type=(val) prop_set('duid-type', val) end end def v6_options @subclasses['v6-options'] ||= V6Options.new(parent_instance: self, client: @client, create_children: @create_children) end class PrefixDelegation < ConfigClass def has_multiple_values?; false; end def _section :'prefix-delegation' end class Enable < XML::ConfigClass def has_multiple_values?; true; end def _section :enable end class No < ConfigClass def has_multiple_values?; false; end def _section :no end @props = {} end def no @subclasses['no'] ||= No.new(parent_instance: self, client: @client, create_children: @create_children) end class Yes < ConfigClass def has_multiple_values?; false; end def _section :yes end @props = {'prefix-len-hint'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Send prefix length hint to server', 'uiHint-fieldLabel'=>'DHCP Prefix Length Hint'}, 'prefix-len'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'128', 'default'=>'48', 'help-string'=>'Hint DHCP Prefix Length (bits)', 'uiHint-fieldLabel'=>'DHCP Prefix Length'}, 'pfx-pool-name'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'regex'=>'^[a-zA-Z0-9._-]+$', 'help-string'=>'Configure unique Prefix Pool Name', 'uiHint-fieldLabel'=>'Prefix Pool Name'}} # Send prefix length hint to server def prefix_len_hint prop_get('prefix-len-hint') end # Send prefix length hint to server def prefix_len_hint=(val) prop_set('prefix-len-hint', val) end # Hint DHCP Prefix Length (bits) def prefix_len prop_get('prefix-len') end # Hint DHCP Prefix Length (bits) def prefix_len=(val) prop_set('prefix-len', val) end # Configure unique Prefix Pool Name def pfx_pool_name prop_get('pfx-pool-name') end # Configure unique Prefix Pool Name def pfx_pool_name=(val) prop_set('pfx-pool-name', val) end end def yes @subclasses['yes'] ||= Yes.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def enable maybe_register_subclass('enable', Enable.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def prefix_delegation @subclasses['prefix-delegation'] ||= PrefixDelegation.new(parent_instance: self, client: @client, create_children: @create_children) end class NeighborDiscovery < ConfigClass def has_multiple_values?; false; end def _section :'neighbor-discovery' end class DnsServer < ConfigClass def has_multiple_values?; false; end def _section :'dns-server' end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end class Dhcpv6 < ConfigClass def has_multiple_values?; false; end def _section :dhcpv6 end @props = {} end def dhcpv6 @subclasses['dhcpv6'] ||= Dhcpv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Manual < ConfigClass def has_multiple_values?; false; end def _section :manual end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'unicast-only'=>'yes', 'help-string'=>'IPv6 Address', 'uiHint-fieldLabel'=>'Server'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) Lifetime in Seconds'}} # IPv6 Address def name prop_get('@name') end # (4-3600) Lifetime in Seconds def lifetime prop_get('lifetime') end # (4-3600) Lifetime in Seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def manual @subclasses['manual'] ||= Manual.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'defaule'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def dns_server @subclasses['dns-server'] ||= DnsServer.new(parent_instance: self, client: @client, create_children: @create_children) end class DnsSuffix < ConfigClass def has_multiple_values?; false; end def _section :'dns-suffix' end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end class Dhcpv6 < ConfigClass def has_multiple_values?; false; end def _section :dhcpv6 end @props = {} end def dhcpv6 @subclasses['dhcpv6'] ||= Dhcpv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Manual < ConfigClass def has_multiple_values?; false; end def _section :manual end class Suffix < XML::ConfigClass def has_multiple_values?; true; end def _section :suffix end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'domain name', 'minlen'=>'1', 'maxlen'=>'255', 'uiHint-fieldLabel'=>'Domain'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) lifetime in seconds'}} # domain name def name prop_get('@name') end # (4-3600) lifetime in seconds def lifetime prop_get('lifetime') end # (4-3600) lifetime in seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def suffix maybe_register_subclass('suffix', Suffix.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def manual @subclasses['manual'] ||= Manual.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'defaule'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def dns_suffix @subclasses['dns-suffix'] ||= DnsSuffix.new(parent_instance: self, client: @client, create_children: @create_children) end class Neighbor < XML::ConfigClass def has_multiple_values?; true; end def _section :neighbor end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'help-string'=>'IP address'}, 'hw-address'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'mac-address', 'help-string'=>'MAC address (format xx:xx:xx:xx:xx:xx)'}} # IP address def name prop_get('@name') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address prop_get('hw-address') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address=(val) prop_set('hw-address', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def neighbor maybe_register_subclass('neighbor', Neighbor.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable-ndp-monitor'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable NDP Monitoring', 'uiHint-fieldLabel'=>'Enable NDP Monitoring'}, 'enable-dad'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable Duplicate Address Detection', 'uiHint-fieldLabel'=>'Enable Duplicate Address Detection'}, 'dad-attempts'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'10', 'default'=>'1', 'help-string'=>'number of consecutive neighbor solicitation messages sent for duplicate address detection', 'uiHint-fieldLabel'=>'DAD Attempts'}, 'ns-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'1', 'help-string'=>'interval (in seconds) between consecutive neighbor solicitation messages', 'uiHint-fieldLabel'=>'NS Interval'}, 'reachable-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'10', 'max'=>'36000', 'default'=>'30', 'help-string'=>'time (in seconds) that the Reachable status for a neighbor can be maintained', 'uiHint-fieldLabel'=>'Reachable Time'}} # Enable NDP Monitoring def enable_ndp_monitor prop_get('enable-ndp-monitor') end # Enable NDP Monitoring def enable_ndp_monitor=(val) prop_set('enable-ndp-monitor', val) end # Enable Duplicate Address Detection def enable_dad prop_get('enable-dad') end # Enable Duplicate Address Detection def enable_dad=(val) prop_set('enable-dad', val) end # number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts prop_get('dad-attempts') end # number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts=(val) prop_set('dad-attempts', val) end # interval (in seconds) between consecutive neighbor solicitation messages def ns_interval prop_get('ns-interval') end # interval (in seconds) between consecutive neighbor solicitation messages def ns_interval=(val) prop_set('ns-interval', val) end # time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time prop_get('reachable-time') end # time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time=(val) prop_set('reachable-time', val) end end def neighbor_discovery @subclasses['neighbor-discovery'] ||= NeighborDiscovery.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable DHCPv6 Client', 'uiHint-fieldLabel'=>'Enable'}, 'accept-ra-route'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Accept Router Advertised Default Route', 'uiHint-fieldLabel'=>'Accept Router Advertised Route'}, 'default-route-metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'10', 'help-string'=>'Metric of the default route created'}, 'preference'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'high', 'optional'=>'yes', 'help-string'=>'Select Low/Medium/High', 'uiHint-fieldLabel'=>'Preference', 'enum'=>[{'name'=>'low', 'value'=>'low', 'optional'=>'yes', 'help-string'=>'Low'}, {'name'=>'medium', 'value'=>'medium', 'optional'=>'yes', 'help-string'=>'Medium'}, {'name'=>'high', 'value'=>'high', 'optional'=>'yes', 'help-string'=>'High'}]}} # Enable DHCPv6 Client def enable prop_get('enable') end # Enable DHCPv6 Client def enable=(val) prop_set('enable', val) end # Accept Router Advertised Default Route def accept_ra_route prop_get('accept-ra-route') end # Accept Router Advertised Default Route def accept_ra_route=(val) prop_set('accept-ra-route', val) end # Metric of the default route created def default_route_metric prop_get('default-route-metric') end # Metric of the default route created def default_route_metric=(val) prop_set('default-route-metric', val) end # Select Low/Medium/High def preference prop_get('preference') end # Select Low/Medium/High def preference=(val) prop_set('preference', val) end end def dhcp_client @subclasses['dhcp-client'] ||= DhcpClient.new(parent_instance: self, client: @client, create_children: @create_children) end class Inherited < ConfigClass def has_multiple_values?; false; end def _section :inherited end class AssignAddr < XML::ConfigClass def has_multiple_values?; true; end def _section :'assign-addr' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Gua < ConfigClass def has_multiple_values?; false; end def _section :gua end class PoolType < XML::ConfigClass def has_multiple_values?; true; end def _section :'pool-type' end class Dynamic < ConfigClass def has_multiple_values?; false; end def _section :dynamic end @props = {} end def dynamic @subclasses['dynamic'] ||= Dynamic.new(parent_instance: self, client: @client, create_children: @create_children) end class DynamicId < ConfigClass def has_multiple_values?; false; end def _section :'dynamic-id' end @props = {'identifier'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4095', 'help-string'=>'Range [0-4095] must be unqiue for this prefix-pool', 'uiHint-fieldLabel'=>'Identifier'}} # Range [0-4095] must be unqiue for this prefix-pool def identifier prop_get('identifier') end # Range [0-4095] must be unqiue for this prefix-pool def identifier=(val) prop_set('identifier', val) end end def dynamic_id @subclasses['dynamic-id'] ||= DynamicId.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def pool_type maybe_register_subclass('pool-type', PoolType.new(parent_instance: self, client: @client, create_children: @create_children)) end class Advertise < ConfigClass def has_multiple_values?; false; end def _section :advertise end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable advertising this prefix in router advertisements'}, 'onlink-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages', 'uiHint-fieldLabel'=>'On-Link'}, 'auto-config-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages', 'uiHint-fieldLabel'=>'Autonomous'}} # Enable advertising this prefix in router advertisements def enable prop_get('enable') end # Enable advertising this prefix in router advertisements def enable=(val) prop_set('enable', val) end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag prop_get('onlink-flag') end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag=(val) prop_set('onlink-flag', val) end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag prop_get('auto-config-flag') end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag=(val) prop_set('auto-config-flag', val) end end def advertise @subclasses['advertise'] ||= Advertise.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable-on-interface'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable on Interface'}, 'prefix-pool'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix Pool', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'use-cache'=>'yes', 'optional'=>'yes', 'help-string'=>'Prefix-Pool Name'}} # Enable on Interface def enable_on_interface prop_get('enable-on-interface') end # Enable on Interface def enable_on_interface=(val) prop_set('enable-on-interface', val) end # Prefix-Pool Name def prefix_pool prop_get('prefix-pool') end # Prefix-Pool Name def prefix_pool=(val) prop_set('prefix-pool', val) end end def gua @subclasses['gua'] ||= Gua.new(parent_instance: self, client: @client, create_children: @create_children) end class Ula < ConfigClass def has_multiple_values?; false; end def _section :ula end class Advertise < ConfigClass def has_multiple_values?; false; end def _section :advertise end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable advertising this prefix in router advertisements'}, 'valid-lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'2592000', 'help-string'=>'Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages', 'uiHint-fieldLabel'=>'Valid Lifetime', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967294'}, 'enum'=>[{'value'=>'infinity'}]}}, 'preferred-lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'604800', 'help-string'=>'Preferred Lifetime (in seconds) of the prefix advertised in Router advertisement messages', 'uiHint-fieldLabel'=>'Preferred Lifetime', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967294'}, 'enum'=>[{'value'=>'infinity'}]}}, 'onlink-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages', 'uiHint-fieldLabel'=>'On-Link'}, 'auto-config-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages', 'uiHint-fieldLabel'=>'Autonomous'}} # enable advertising this prefix in router advertisements def enable prop_get('enable') end # enable advertising this prefix in router advertisements def enable=(val) prop_set('enable', val) end # Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def valid_lifetime prop_get('valid-lifetime') end # Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def valid_lifetime=(val) prop_set('valid-lifetime', val) end # Preferred Lifetime (in seconds) of the prefix advertised in Router advertisement messages def preferred_lifetime prop_get('preferred-lifetime') end # Preferred Lifetime (in seconds) of the prefix advertised in Router advertisement messages def preferred_lifetime=(val) prop_set('preferred-lifetime', val) end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag prop_get('onlink-flag') end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag=(val) prop_set('onlink-flag', val) end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag prop_get('auto-config-flag') end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag=(val) prop_set('auto-config-flag', val) end end def advertise @subclasses['advertise'] ||= Advertise.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable-on-interface'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Configure this address on Interface', 'uiHint-fieldLabel'=>'Enable Address on Interface'}, 'address'=>{'node-type'=>'element', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'help-string'=>'Configure ULA (Unique Local Address)', 'uiHint-fieldLabel'=>'Address'}, 'prefix'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Use this as prefix to form full address with interface id/EUI-64', 'uiHint-fieldLabel'=>'Use Interface ID as host portion'}, 'anycast'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Anycast Address', 'uiHint-fieldLabel'=>'Anycast'}} # Configure this address on Interface def enable_on_interface prop_get('enable-on-interface') end # Configure this address on Interface def enable_on_interface=(val) prop_set('enable-on-interface', val) end # Configure ULA (Unique Local Address) def address prop_get('address') end # Configure ULA (Unique Local Address) def address=(val) prop_set('address', val) end # Use this as prefix to form full address with interface id/EUI-64 def prefix prop_get('prefix') end # Use this as prefix to form full address with interface id/EUI-64 def prefix=(val) prop_set('prefix', val) end # Anycast Address def anycast prop_get('anycast') end # Anycast Address def anycast=(val) prop_set('anycast', val) end end def ula @subclasses['ula'] ||= Ula.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'help-string'=>'Name', 'regex'=>'^[a-zA-Z0-9._-]+$'}} # Name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def assign_addr maybe_register_subclass('assign-addr', AssignAddr.new(parent_instance: self, client: @client, create_children: @create_children)) end class NeighborDiscovery < ConfigClass def has_multiple_values?; false; end def _section :'neighbor-discovery' end class RouterAdvertisement < ConfigClass def has_multiple_values?; false; end def _section :'router-advertisement' end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'max-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'1800', 'default'=>'600', 'help-string'=>'Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages', 'uiHint-fieldLabel'=>'Max Interval'}, 'min-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'3', 'max'=>'1350', 'default'=>'200', 'help-string'=>'Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages', 'uiHint-fieldLabel'=>'Min Interval'}, 'link-mtu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise', 'uiHint-fieldLabel'=>'Link MTU', 'multi-types'=>{'rangedint'=>{'min'=>'1280', 'max'=>'9216'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'reachable-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'Reachable Time (in milliseconds) advertised in Router Advertisement messages', 'uiHint-fieldLabel'=>'Reachable Time', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'3600000'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'retransmission-timer'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'Retransmission Timer (in milliseconds) advertised in Router Advertisement messages', 'uiHint-fieldLabel'=>'Retrans Timer', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967295'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'hop-limit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'64', 'help-string'=>'Current Hop Limit advertised in Router Advertisement messages', 'uiHint-fieldLabel'=>'Hop Limit', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'255'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'9000', 'default'=>'1800', 'help-string'=>'Router Lifetime (in seconds) advertised in Router Advertisement messages', 'uiHint-fieldLabel'=>'Lifetime'}, 'router-preference'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'Medium', 'uiHint-fieldLabel'=>'Router Preference', 'enum'=>[{'value'=>'High', 'help-string'=>'01 High'}, {'value'=>'Medium', 'help-string'=>'00 Medium'}, {'value'=>'Low', 'help-string'=>'11 Low'}]}, 'managed-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set the Managed Configuration Flag (M-bit) in Router Advertisement messages', 'uiHint-fieldLabel'=>'Managed Configuration'}, 'other-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages', 'uiHint-fieldLabel'=>'Other Configuration'}, 'enable-consistency-check'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'check consistency of RA messages from other routers.', 'uiHint-fieldLabel'=>'Consistency Check'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages def max_interval prop_get('max-interval') end # Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages def max_interval=(val) prop_set('max-interval', val) end # Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages def min_interval prop_get('min-interval') end # Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages def min_interval=(val) prop_set('min-interval', val) end # value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise def link_mtu prop_get('link-mtu') end # value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise def link_mtu=(val) prop_set('link-mtu', val) end # Reachable Time (in milliseconds) advertised in Router Advertisement messages def reachable_time prop_get('reachable-time') end # Reachable Time (in milliseconds) advertised in Router Advertisement messages def reachable_time=(val) prop_set('reachable-time', val) end # Retransmission Timer (in milliseconds) advertised in Router Advertisement messages def retransmission_timer prop_get('retransmission-timer') end # Retransmission Timer (in milliseconds) advertised in Router Advertisement messages def retransmission_timer=(val) prop_set('retransmission-timer', val) end # Current Hop Limit advertised in Router Advertisement messages def hop_limit prop_get('hop-limit') end # Current Hop Limit advertised in Router Advertisement messages def hop_limit=(val) prop_set('hop-limit', val) end # Router Lifetime (in seconds) advertised in Router Advertisement messages def lifetime prop_get('lifetime') end # Router Lifetime (in seconds) advertised in Router Advertisement messages def lifetime=(val) prop_set('lifetime', val) end def router_preference prop_get('router-preference') end def router_preference=(val) prop_set('router-preference', val) end # Set the Managed Configuration Flag (M-bit) in Router Advertisement messages def managed_flag prop_get('managed-flag') end # Set the Managed Configuration Flag (M-bit) in Router Advertisement messages def managed_flag=(val) prop_set('managed-flag', val) end # Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages def other_flag prop_get('other-flag') end # Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages def other_flag=(val) prop_set('other-flag', val) end # check consistency of RA messages from other routers. def enable_consistency_check prop_get('enable-consistency-check') end # check consistency of RA messages from other routers. def enable_consistency_check=(val) prop_set('enable-consistency-check', val) end end def router_advertisement @subclasses['router-advertisement'] ||= RouterAdvertisement.new(parent_instance: self, client: @client, create_children: @create_children) end class DnsServer < ConfigClass def has_multiple_values?; false; end def _section :'dns-server' end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end class Dhcpv6 < ConfigClass def has_multiple_values?; false; end def _section :dhcpv6 end @props = {'prefix-pool'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix Pool', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-Pool Name'}} # Prefix-Pool Name def prefix_pool prop_get('prefix-pool') end # Prefix-Pool Name def prefix_pool=(val) prop_set('prefix-pool', val) end end def dhcpv6 @subclasses['dhcpv6'] ||= Dhcpv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Manual < ConfigClass def has_multiple_values?; false; end def _section :manual end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'unicast-only'=>'yes', 'help-string'=>'IPv6 Address', 'uiHint-fieldLabel'=>'Server'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) Lifetime in Seconds'}} # IPv6 Address def name prop_get('@name') end # (4-3600) Lifetime in Seconds def lifetime prop_get('lifetime') end # (4-3600) Lifetime in Seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def manual @subclasses['manual'] ||= Manual.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'defaule'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def dns_server @subclasses['dns-server'] ||= DnsServer.new(parent_instance: self, client: @client, create_children: @create_children) end class DnsSuffix < ConfigClass def has_multiple_values?; false; end def _section :'dns-suffix' end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end class Dhcpv6 < ConfigClass def has_multiple_values?; false; end def _section :dhcpv6 end @props = {'prefix-pool'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix Pool', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-Pool Name'}} # Prefix-Pool Name def prefix_pool prop_get('prefix-pool') end # Prefix-Pool Name def prefix_pool=(val) prop_set('prefix-pool', val) end end def dhcpv6 @subclasses['dhcpv6'] ||= Dhcpv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Manual < ConfigClass def has_multiple_values?; false; end def _section :manual end class Suffix < XML::ConfigClass def has_multiple_values?; true; end def _section :suffix end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'domain name', 'minlen'=>'1', 'maxlen'=>'255', 'uiHint-fieldLabel'=>'Domain'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) lifetime in seconds'}} # domain name def name prop_get('@name') end # (4-3600) lifetime in seconds def lifetime prop_get('lifetime') end # (4-3600) lifetime in seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def suffix maybe_register_subclass('suffix', Suffix.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def manual @subclasses['manual'] ||= Manual.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'defaule'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def dns_suffix @subclasses['dns-suffix'] ||= DnsSuffix.new(parent_instance: self, client: @client, create_children: @create_children) end class Neighbor < XML::ConfigClass def has_multiple_values?; true; end def _section :neighbor end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'help-string'=>'IP address'}, 'hw-address'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'mac-address', 'help-string'=>'MAC address (format xx:xx:xx:xx:xx:xx)'}} # IP address def name prop_get('@name') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address prop_get('hw-address') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address=(val) prop_set('hw-address', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def neighbor maybe_register_subclass('neighbor', Neighbor.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable-ndp-monitor'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable NDP Monitoring', 'uiHint-fieldLabel'=>'Enable NDP Monitoring'}, 'enable-dad'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable Duplicate Address Detection (DAD)', 'uiHint-fieldLabel'=>'Enable Duplicate Address Detection'}, 'dad-attempts'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'10', 'default'=>'1', 'help-string'=>'Number of consecutive neighbor solicitation messages sent for duplicate address detection', 'uiHint-fieldLabel'=>'DAD Attempts'}, 'ns-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'1', 'help-string'=>'Interval (in seconds) between consecutive neighbor solicitation messages', 'uiHint-fieldLabel'=>'NS Interval'}, 'reachable-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'10', 'max'=>'36000', 'default'=>'30', 'help-string'=>'Time (in seconds) that the Reachable status for a neighbor can be maintained', 'uiHint-fieldLabel'=>'Reachable Time'}} # Enable NDP Monitoring def enable_ndp_monitor prop_get('enable-ndp-monitor') end # Enable NDP Monitoring def enable_ndp_monitor=(val) prop_set('enable-ndp-monitor', val) end # Enable Duplicate Address Detection (DAD) def enable_dad prop_get('enable-dad') end # Enable Duplicate Address Detection (DAD) def enable_dad=(val) prop_set('enable-dad', val) end # Number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts prop_get('dad-attempts') end # Number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts=(val) prop_set('dad-attempts', val) end # Interval (in seconds) between consecutive neighbor solicitation messages def ns_interval prop_get('ns-interval') end # Interval (in seconds) between consecutive neighbor solicitation messages def ns_interval=(val) prop_set('ns-interval', val) end # Time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time prop_get('reachable-time') end # Time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time=(val) prop_set('reachable-time', val) end end def neighbor_discovery @subclasses['neighbor-discovery'] ||= NeighborDiscovery.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable Inherited Interface'}} # Enable Inherited Interface def enable prop_get('enable') end # Enable Inherited Interface def enable=(val) prop_set('enable', val) end end def inherited @subclasses['inherited'] ||= Inherited.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable IPv6 on the interface'}, 'interface-id'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'EUI-64', 'multi-types'=>{'string'=>{'maxlen'=>'16', 'loose-membership'=>'yes', 'help-string'=>'user defined 64-bit identifier (in hex)'}, 'enum'=>[{'value'=>'EUI-64', 'help-string'=>'default 64-bit Extended Unique Identifier'}]}}} # Enable IPv6 on the interface def enabled prop_get('enabled') end # Enable IPv6 on the interface def enabled=(val) prop_set('enabled', val) end def interface_id prop_get('interface-id') end def interface_id=(val) prop_set('interface-id', val) end end def ipv6 @subclasses['ipv6'] ||= Ipv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Arp < XML::ConfigClass def has_multiple_values?; true; end def _section :arp end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'ip-address', 'help-string'=>'IP address'}, 'hw-address'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'mac-address', 'help-string'=>'MAC address (format xx:xx:xx:xx:xx:xx)'}, 'interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Interface associated with this ARP entry'}} # IP address def name prop_get('@name') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address prop_get('hw-address') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address=(val) prop_set('hw-address', val) end # Interface associated with this ARP entry def interface prop_get('interface') end # Interface associated with this ARP entry def interface=(val) prop_set('interface', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def arp maybe_register_subclass('arp', Arp.new(parent_instance: self, client: @client, create_children: @create_children)) end class NdpProxy < ConfigClass def has_multiple_values?; false; end def _section :'ndp-proxy' end class Address < XML::ConfigClass def has_multiple_values?; true; end def _section :address end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'IPv6 address or address object name'}, 'negate'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'max-count'=>'16', 'help-string'=>'put the prefix or address on a block list'}} # IPv6 address or address object name def name prop_get('@name') end # put the prefix or address on a block list def negate prop_get('negate') end # put the prefix or address on a block list def negate=(val) prop_set('negate', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def address maybe_register_subclass('address', Address.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable proxy NDP on the interface'}} # Enable proxy NDP on the interface def enabled prop_get('enabled') end # Enable proxy NDP on the interface def enabled=(val) prop_set('enabled', val) end end def ndp_proxy @subclasses['ndp-proxy'] ||= NdpProxy.new(parent_instance: self, client: @client, create_children: @create_children) end class DhcpClient < ConfigClass def has_multiple_values?; false; end def _section :'dhcp-client' end class SendHostname < ConfigClass def has_multiple_values?; false; end def _section :'send-hostname' end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'hostname'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'system-hostname', 'help-string'=>'Set Interface Hostname', 'multi-types'=>{'string'=>{'regex'=>'^[a-zA-Z0-9\._-]+$', 'minlen'=>'1', 'maxlen'=>'64', 'loose-membership'=>'yes', 'help-string'=>'Custom Interface Hostname'}, 'enum'=>[{'value'=>'system-hostname', 'help-string'=>'System Hostname'}]}}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Set Interface Hostname def hostname prop_get('hostname') end # Set Interface Hostname def hostname=(val) prop_set('hostname', val) end end def send_hostname @subclasses['send-hostname'] ||= SendHostname.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'create-default-route'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Automatically create default route pointing to default gateway provided by server'}, 'default-route-metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'10', 'help-string'=>'Metric of the default route created'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Automatically create default route pointing to default gateway provided by server def create_default_route prop_get('create-default-route') end # Automatically create default route pointing to default gateway provided by server def create_default_route=(val) prop_set('create-default-route', val) end # Metric of the default route created def default_route_metric prop_get('default-route-metric') end # Metric of the default route created def default_route_metric=(val) prop_set('default-route-metric', val) end end def dhcp_client @subclasses['dhcp-client'] ||= DhcpClient.new(parent_instance: self, client: @client, create_children: @create_children) end class DdnsConfig < ConfigClass def has_multiple_values?; false; end def _section :'ddns-config' end class DdnsIp < XML::ConfigClass def has_multiple_values?; true; end def _section :'ddns-ip' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'maxlen'=>'127'}, 'enum'=>[{'value'=>'DHCP'}, {'value'=>'PPPoE'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def ddns_ip maybe_register_subclass('ddns-ip', DdnsIp.new(parent_instance: self, client: @client, create_children: @create_children)) end class DdnsIpv6 < XML::ConfigClass def has_multiple_values?; true; end def _section :'ddns-ipv6' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def ddns_ipv6 maybe_register_subclass('ddns-ipv6', DdnsIpv6.new(parent_instance: self, client: @client, create_children: @create_children)) end class DdnsVendorConfig < XML::ConfigClass def has_multiple_values?; true; end def _section :'ddns-vendor-config' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'255'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ddns_vendor_config maybe_register_subclass('ddns-vendor-config', DdnsVendorConfig.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'ddns-enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'ddns-update-interval'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'30', 'default'=>'1', 'optional'=>'yes'}, 'ddns-hostname'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([$a-zA-Z0-9_\.\-])+$', 'minlen'=>'1', 'maxlen'=>'255', 'help-string'=>'ddns hostname variable or real address'}, 'ddns-cert-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes'}, 'ddns-vendor'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127', 'help-string'=>'Vendor and product type'}} def ddns_enabled prop_get('ddns-enabled') end def ddns_enabled=(val) prop_set('ddns-enabled', val) end def ddns_update_interval prop_get('ddns-update-interval') end def ddns_update_interval=(val) prop_set('ddns-update-interval', val) end # ddns hostname variable or real address def ddns_hostname prop_get('ddns-hostname') end # ddns hostname variable or real address def ddns_hostname=(val) prop_set('ddns-hostname', val) end def ddns_cert_profile prop_get('ddns-cert-profile') end def ddns_cert_profile=(val) prop_set('ddns-cert-profile', val) end # Vendor and product type def ddns_vendor prop_get('ddns-vendor') end # Vendor and product type def ddns_vendor=(val) prop_set('ddns-vendor', val) end end def ddns_config @subclasses['ddns-config'] ||= DdnsConfig.new(parent_instance: self, client: @client, create_children: @create_children) end class Units < XML::ConfigClass def has_multiple_values?; true; end def _section :units end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Bonjour < ConfigClass def has_multiple_values?; false; end def _section :bonjour end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set to support Bonjour service'}, 'ttl-check'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set to check and update TTL'}, 'group-id'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'40', 'min'=>'0', 'max'=>'16', 'help-string'=>'default 0: NO-Group'}} # Set to support Bonjour service def enable prop_get('enable') end # Set to support Bonjour service def enable=(val) prop_set('enable', val) end # Set to check and update TTL def ttl_check prop_get('ttl-check') end # Set to check and update TTL def ttl_check=(val) prop_set('ttl-check', val) end # default 0: NO-Group def group_id prop_get('group-id') end # default 0: NO-Group def group_id=(val) prop_set('group-id', val) end end def bonjour @subclasses['bonjour'] ||= Bonjour.new(parent_instance: self, client: @client, create_children: @create_children) end class AdjustTcpMss < ConfigClass def has_multiple_values?; false; end def _section :'adjust-tcp-mss' end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set if TCP MSS value should be reduced based on mtu'}, 'ipv4-mss-adjustment'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'40', 'min'=>'40', 'max'=>'300', 'help-string'=>'IPv4 MSS adjustment size (in bytes)'}, 'ipv6-mss-adjustment'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'60', 'min'=>'60', 'max'=>'300', 'help-string'=>'IPv6 MSS adjustment size (in bytes)'}} # Set if TCP MSS value should be reduced based on mtu def enable prop_get('enable') end # Set if TCP MSS value should be reduced based on mtu def enable=(val) prop_set('enable', val) end # IPv4 MSS adjustment size (in bytes) def ipv4_mss_adjustment prop_get('ipv4-mss-adjustment') end # IPv4 MSS adjustment size (in bytes) def ipv4_mss_adjustment=(val) prop_set('ipv4-mss-adjustment', val) end # IPv6 MSS adjustment size (in bytes) def ipv6_mss_adjustment prop_get('ipv6-mss-adjustment') end # IPv6 MSS adjustment size (in bytes) def ipv6_mss_adjustment=(val) prop_set('ipv6-mss-adjustment', val) end end def adjust_tcp_mss @subclasses['adjust-tcp-mss'] ||= AdjustTcpMss.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip < XML::ConfigClass def has_multiple_values?; true; end def _section :ip end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'regex'=>'^([ $0-9a-zA-Z:@./_-])+$', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'IP address/netmask or address object name'}} # IP address/netmask or address object name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ip maybe_register_subclass('ip', Ip.new(parent_instance: self, client: @client, create_children: @create_children)) end class Ipv6 < ConfigClass def has_multiple_values?; false; end def _section :ipv6 end class Address < XML::ConfigClass def has_multiple_values?; true; end def _section :address end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Prefix < ConfigClass def has_multiple_values?; false; end def _section :prefix end @props = {} end def prefix @subclasses['prefix'] ||= Prefix.new(parent_instance: self, client: @client, create_children: @create_children) end class Anycast < ConfigClass def has_multiple_values?; false; end def _section :anycast end @props = {} end def anycast @subclasses['anycast'] ||= Anycast.new(parent_instance: self, client: @client, create_children: @create_children) end class Advertise < ConfigClass def has_multiple_values?; false; end def _section :advertise end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable advertising this prefix in router advertisements'}, 'valid-lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'2592000', 'help-string'=>'Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967294'}, 'enum'=>[{'value'=>'infinity'}]}}, 'preferred-lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'604800', 'help-string'=>'Preferred Lifetime (in seconds) of the prefix advertised in Router Advertisement messages', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967294'}, 'enum'=>[{'value'=>'infinity'}]}}, 'onlink-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages'}, 'auto-config-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages'}} # enable advertising this prefix in router advertisements def enable prop_get('enable') end # enable advertising this prefix in router advertisements def enable=(val) prop_set('enable', val) end # Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def valid_lifetime prop_get('valid-lifetime') end # Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def valid_lifetime=(val) prop_set('valid-lifetime', val) end # Preferred Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def preferred_lifetime prop_get('preferred-lifetime') end # Preferred Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def preferred_lifetime=(val) prop_set('preferred-lifetime', val) end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag prop_get('onlink-flag') end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag=(val) prop_set('onlink-flag', val) end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag prop_get('auto-config-flag') end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag=(val) prop_set('auto-config-flag', val) end end def advertise @subclasses['advertise'] ||= Advertise.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'^([ $0-9a-zA-Z:@./_-])+$', 'maxlen'=>'63', 'help-string'=>'IPv6 address/prefix length or address object name'}, 'enable-on-interface'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'configure this address on interface'}} # IPv6 address/prefix length or address object name def name prop_get('@name') end # configure this address on interface def enable_on_interface prop_get('enable-on-interface') end # configure this address on interface def enable_on_interface=(val) prop_set('enable-on-interface', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def address maybe_register_subclass('address', Address.new(parent_instance: self, client: @client, create_children: @create_children)) end class NeighborDiscovery < ConfigClass def has_multiple_values?; false; end def _section :'neighbor-discovery' end class RouterAdvertisement < ConfigClass def has_multiple_values?; false; end def _section :'router-advertisement' end class Prefix < XML::ConfigClass def has_multiple_values?; true; end def _section :prefix end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class ValidLifetime < XML::ConfigClass def has_multiple_values?; true; end def _section :'valid-lifetime' end @props = {'fixed-time'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'default'=>'2592000', 'help-string'=>'fixed value (in seconds) of the Valid Lifetime field of the prefix in Router Advertisement messages'}, 'expire-time'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'19', 'maxlen'=>'19', 'regex'=>'[0-9][0-9][0-9][0-9]/([0][1-9]|[1][0-2])/([0-2][0-9]|[3][0-1])@([01][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9])', 'help-string'=>'expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59)'}} # fixed value (in seconds) of the Valid Lifetime field of the prefix in Router Advertisement messages def fixed_time prop_get('fixed-time') end # fixed value (in seconds) of the Valid Lifetime field of the prefix in Router Advertisement messages def fixed_time=(val) prop_set('fixed-time', val) end # expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59) def expire_time prop_get('expire-time') end # expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59) def expire_time=(val) prop_set('expire-time', val) end end def valid_lifetime maybe_register_subclass('valid-lifetime', ValidLifetime.new(parent_instance: self, client: @client, create_children: @create_children)) end class PreferredLifetime < XML::ConfigClass def has_multiple_values?; true; end def _section :'preferred-lifetime' end @props = {'fixed-time'=>{'node-type'=>'element', 'type'=>'rangedint', 'default'=>'604800', 'min'=>'0', 'max'=>'4294967295', 'help-string'=>'Fixed value (in seconds) of the Preferred Lifetime field of the prefix in Router Advertisement messages'}, 'expire-time'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'19', 'maxlen'=>'19', 'regex'=>'[0-9][0-9][0-9][0-9]/([0][1-9]|[1][0-2])/([0-2][0-9]|[3][0-1])@([01][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9])', 'help-string'=>'expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59)'}} # Fixed value (in seconds) of the Preferred Lifetime field of the prefix in Router Advertisement messages def fixed_time prop_get('fixed-time') end # Fixed value (in seconds) of the Preferred Lifetime field of the prefix in Router Advertisement messages def fixed_time=(val) prop_set('fixed-time', val) end # expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59) def expire_time prop_get('expire-time') end # expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59) def expire_time=(val) prop_set('expire-time', val) end end def preferred_lifetime maybe_register_subclass('preferred-lifetime', PreferredLifetime.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'help-string'=>'IPv6 prefix'}, 'onlink-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages'}, 'auto-config-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages'}} # IPv6 prefix def name prop_get('@name') end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag prop_get('onlink-flag') end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag=(val) prop_set('onlink-flag', val) end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag prop_get('auto-config-flag') end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag=(val) prop_set('auto-config-flag', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def prefix maybe_register_subclass('prefix', Prefix.new(parent_instance: self, client: @client, create_children: @create_children)) end class DnsSupport < ConfigClass def has_multiple_values?; false; end def _section :'dns-support' end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'unicast-only'=>'yes', 'help-string'=>'IPv6 address'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) lifetime in seconds'}} # IPv6 address def name prop_get('@name') end # (4-3600) lifetime in seconds def lifetime prop_get('lifetime') end # (4-3600) lifetime in seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end class Suffix < XML::ConfigClass def has_multiple_values?; true; end def _section :suffix end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'domain name', 'minlen'=>'1', 'maxlen'=>'255'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) lifetime in seconds'}} # domain name def name prop_get('@name') end # (4-3600) lifetime in seconds def lifetime prop_get('lifetime') end # (4-3600) lifetime in seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def suffix maybe_register_subclass('suffix', Suffix.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'defaule'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def dns_support @subclasses['dns-support'] ||= DnsSupport.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'max-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'1800', 'default'=>'600', 'help-string'=>'Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages'}, 'min-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'3', 'max'=>'1350', 'default'=>'200', 'help-string'=>'Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages'}, 'managed-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set the Managed Configuration Flag (M-bit) in Router Advertisement messages'}, 'other-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages'}, 'link-mtu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise', 'multi-types'=>{'rangedint'=>{'min'=>'1280', 'max'=>'9216'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'reachable-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'Reachable Time (in milliseconds) advertised in Router Advertisement messages', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'3600000'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'retransmission-timer'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'Retransmission Timer (in milliseconds) advertised in Router Advertisement messages', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967295'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'hop-limit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'64', 'help-string'=>'Current Hop Limit advertised in Router Advertisement messages', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'255'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'9000', 'default'=>'1800', 'help-string'=>'Router Lifetime (in seconds) advertised in Router Advertisement messages'}, 'router-preference'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'Medium', 'enum'=>[{'value'=>'High', 'help-string'=>'01 High'}, {'value'=>'Medium', 'help-string'=>'00 Medium'}, {'value'=>'Low', 'help-string'=>'11 Low'}]}, 'enable-consistency-check'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'check consistency of RA messages from other routers.'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages def max_interval prop_get('max-interval') end # Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages def max_interval=(val) prop_set('max-interval', val) end # Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages def min_interval prop_get('min-interval') end # Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages def min_interval=(val) prop_set('min-interval', val) end # Set the Managed Configuration Flag (M-bit) in Router Advertisement messages def managed_flag prop_get('managed-flag') end # Set the Managed Configuration Flag (M-bit) in Router Advertisement messages def managed_flag=(val) prop_set('managed-flag', val) end # Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages def other_flag prop_get('other-flag') end # Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages def other_flag=(val) prop_set('other-flag', val) end # value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise def link_mtu prop_get('link-mtu') end # value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise def link_mtu=(val) prop_set('link-mtu', val) end # Reachable Time (in milliseconds) advertised in Router Advertisement messages def reachable_time prop_get('reachable-time') end # Reachable Time (in milliseconds) advertised in Router Advertisement messages def reachable_time=(val) prop_set('reachable-time', val) end # Retransmission Timer (in milliseconds) advertised in Router Advertisement messages def retransmission_timer prop_get('retransmission-timer') end # Retransmission Timer (in milliseconds) advertised in Router Advertisement messages def retransmission_timer=(val) prop_set('retransmission-timer', val) end # Current Hop Limit advertised in Router Advertisement messages def hop_limit prop_get('hop-limit') end # Current Hop Limit advertised in Router Advertisement messages def hop_limit=(val) prop_set('hop-limit', val) end # Router Lifetime (in seconds) advertised in Router Advertisement messages def lifetime prop_get('lifetime') end # Router Lifetime (in seconds) advertised in Router Advertisement messages def lifetime=(val) prop_set('lifetime', val) end def router_preference prop_get('router-preference') end def router_preference=(val) prop_set('router-preference', val) end # check consistency of RA messages from other routers. def enable_consistency_check prop_get('enable-consistency-check') end # check consistency of RA messages from other routers. def enable_consistency_check=(val) prop_set('enable-consistency-check', val) end end def router_advertisement @subclasses['router-advertisement'] ||= RouterAdvertisement.new(parent_instance: self, client: @client, create_children: @create_children) end class Neighbor < XML::ConfigClass def has_multiple_values?; true; end def _section :neighbor end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'help-string'=>'IP address'}, 'hw-address'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'mac-address', 'help-string'=>'MAC address (format xx:xx:xx:xx:xx:xx)'}} # IP address def name prop_get('@name') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address prop_get('hw-address') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address=(val) prop_set('hw-address', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def neighbor maybe_register_subclass('neighbor', Neighbor.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable-ndp-monitor'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable ndp monitoring'}, 'enable-dad'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable duplicate address detection'}, 'dad-attempts'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'10', 'default'=>'1', 'help-string'=>'number of consecutive neighbor solicitation messages sent for duplicate address detection'}, 'ns-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'1', 'help-string'=>'interval (in seconds) between consecutive neighbor solicitation messages'}, 'reachable-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'10', 'max'=>'36000', 'default'=>'30', 'help-string'=>'time (in seconds) that the Reachable status for a neighbor can be maintained'}, 'disable-nud'=>{'node-type'=>'element', 'disabled'=>'yes', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'disable Neighbor Unreachability Detection'}} # enable ndp monitoring def enable_ndp_monitor prop_get('enable-ndp-monitor') end # enable ndp monitoring def enable_ndp_monitor=(val) prop_set('enable-ndp-monitor', val) end # enable duplicate address detection def enable_dad prop_get('enable-dad') end # enable duplicate address detection def enable_dad=(val) prop_set('enable-dad', val) end # number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts prop_get('dad-attempts') end # number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts=(val) prop_set('dad-attempts', val) end # interval (in seconds) between consecutive neighbor solicitation messages def ns_interval prop_get('ns-interval') end # interval (in seconds) between consecutive neighbor solicitation messages def ns_interval=(val) prop_set('ns-interval', val) end # time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time prop_get('reachable-time') end # time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time=(val) prop_set('reachable-time', val) end # disable Neighbor Unreachability Detection def disable_nud prop_get('disable-nud') end # disable Neighbor Unreachability Detection def disable_nud=(val) prop_set('disable-nud', val) end end def neighbor_discovery @subclasses['neighbor-discovery'] ||= NeighborDiscovery.new(parent_instance: self, client: @client, create_children: @create_children) end class DhcpClient < ConfigClass def has_multiple_values?; false; end def _section :'dhcp-client' end class V6Options < ConfigClass def has_multiple_values?; false; end def _section :'v6-options' end class Enable < XML::ConfigClass def has_multiple_values?; true; end def _section :enable end class No < ConfigClass def has_multiple_values?; false; end def _section :no end @props = {} end def no @subclasses['no'] ||= No.new(parent_instance: self, client: @client, create_children: @create_children) end class Yes < ConfigClass def has_multiple_values?; false; end def _section :yes end @props = {'non-temp-addr'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Request Non-Temporary Address Type', 'uiHint-fieldLabel'=>'Non-Temporary Address'}, 'temp-addr'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Request Temporary Address Type', 'uiHint-fieldLabel'=>'Temporary Address'}} # Request Non-Temporary Address Type def non_temp_addr prop_get('non-temp-addr') end # Request Non-Temporary Address Type def non_temp_addr=(val) prop_set('non-temp-addr', val) end # Request Temporary Address Type def temp_addr prop_get('temp-addr') end # Request Temporary Address Type def temp_addr=(val) prop_set('temp-addr', val) end end def yes @subclasses['yes'] ||= Yes.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def enable maybe_register_subclass('enable', Enable.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'support-srvr-reconfig'=>{'node-type'=>'element', 'hidden'=>'yes', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable DHCPv6 Server Re-Configuration Support', 'uiHint-fieldLabel'=>'DHCPv6 Server Re-Configuration Support'}, 'rapid-commit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable Rapid Commit', 'uiHint-fieldLabel'=>'Rapid Commit'}, 'duid-type'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'duid-type-llt', 'optional'=>'yes', 'help-string'=>'Select DUID-LLT/DUID-LL', 'uiHint-fieldLabel'=>'DUID Type', 'enum'=>[{'name'=>'duid-type-llt', 'value'=>'duid-type-llt', 'optional'=>'yes', 'help-string'=>'DUID-LLT'}, {'name'=>'duid-type-ll', 'value'=>'duid-type-ll', 'optional'=>'yes', 'help-string'=>'DUID-LL'}]}} # Enable DHCPv6 Server Re-Configuration Support def support_srvr_reconfig prop_get('support-srvr-reconfig') end # Enable DHCPv6 Server Re-Configuration Support def support_srvr_reconfig=(val) prop_set('support-srvr-reconfig', val) end # Enable Rapid Commit def rapid_commit prop_get('rapid-commit') end # Enable Rapid Commit def rapid_commit=(val) prop_set('rapid-commit', val) end # Select DUID-LLT/DUID-LL def duid_type prop_get('duid-type') end # Select DUID-LLT/DUID-LL def duid_type=(val) prop_set('duid-type', val) end end def v6_options @subclasses['v6-options'] ||= V6Options.new(parent_instance: self, client: @client, create_children: @create_children) end class PrefixDelegation < ConfigClass def has_multiple_values?; false; end def _section :'prefix-delegation' end class Enable < XML::ConfigClass def has_multiple_values?; true; end def _section :enable end class No < ConfigClass def has_multiple_values?; false; end def _section :no end @props = {} end def no @subclasses['no'] ||= No.new(parent_instance: self, client: @client, create_children: @create_children) end class Yes < ConfigClass def has_multiple_values?; false; end def _section :yes end @props = {'prefix-len-hint'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Send prefix length hint to server', 'uiHint-fieldLabel'=>'DHCP Prefix Length Hint'}, 'prefix-len'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'128', 'default'=>'48', 'help-string'=>'Hint DHCP Prefix Length (bits)', 'uiHint-fieldLabel'=>'DHCP Prefix Length'}, 'pfx-pool-name'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'regex'=>'^[a-zA-Z0-9._-]+$', 'help-string'=>'Configure unique Prefix Pool Name', 'uiHint-fieldLabel'=>'Prefix Pool Name'}} # Send prefix length hint to server def prefix_len_hint prop_get('prefix-len-hint') end # Send prefix length hint to server def prefix_len_hint=(val) prop_set('prefix-len-hint', val) end # Hint DHCP Prefix Length (bits) def prefix_len prop_get('prefix-len') end # Hint DHCP Prefix Length (bits) def prefix_len=(val) prop_set('prefix-len', val) end # Configure unique Prefix Pool Name def pfx_pool_name prop_get('pfx-pool-name') end # Configure unique Prefix Pool Name def pfx_pool_name=(val) prop_set('pfx-pool-name', val) end end def yes @subclasses['yes'] ||= Yes.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def enable maybe_register_subclass('enable', Enable.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def prefix_delegation @subclasses['prefix-delegation'] ||= PrefixDelegation.new(parent_instance: self, client: @client, create_children: @create_children) end class NeighborDiscovery < ConfigClass def has_multiple_values?; false; end def _section :'neighbor-discovery' end class DnsServer < ConfigClass def has_multiple_values?; false; end def _section :'dns-server' end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end class Dhcpv6 < ConfigClass def has_multiple_values?; false; end def _section :dhcpv6 end @props = {} end def dhcpv6 @subclasses['dhcpv6'] ||= Dhcpv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Manual < ConfigClass def has_multiple_values?; false; end def _section :manual end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'unicast-only'=>'yes', 'help-string'=>'IPv6 Address', 'uiHint-fieldLabel'=>'Server'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) Lifetime in Seconds'}} # IPv6 Address def name prop_get('@name') end # (4-3600) Lifetime in Seconds def lifetime prop_get('lifetime') end # (4-3600) Lifetime in Seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def manual @subclasses['manual'] ||= Manual.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'defaule'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def dns_server @subclasses['dns-server'] ||= DnsServer.new(parent_instance: self, client: @client, create_children: @create_children) end class DnsSuffix < ConfigClass def has_multiple_values?; false; end def _section :'dns-suffix' end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end class Dhcpv6 < ConfigClass def has_multiple_values?; false; end def _section :dhcpv6 end @props = {} end def dhcpv6 @subclasses['dhcpv6'] ||= Dhcpv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Manual < ConfigClass def has_multiple_values?; false; end def _section :manual end class Suffix < XML::ConfigClass def has_multiple_values?; true; end def _section :suffix end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'domain name', 'minlen'=>'1', 'maxlen'=>'255', 'uiHint-fieldLabel'=>'Domain'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) lifetime in seconds'}} # domain name def name prop_get('@name') end # (4-3600) lifetime in seconds def lifetime prop_get('lifetime') end # (4-3600) lifetime in seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def suffix maybe_register_subclass('suffix', Suffix.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def manual @subclasses['manual'] ||= Manual.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'defaule'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def dns_suffix @subclasses['dns-suffix'] ||= DnsSuffix.new(parent_instance: self, client: @client, create_children: @create_children) end class Neighbor < XML::ConfigClass def has_multiple_values?; true; end def _section :neighbor end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'help-string'=>'IP address'}, 'hw-address'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'mac-address', 'help-string'=>'MAC address (format xx:xx:xx:xx:xx:xx)'}} # IP address def name prop_get('@name') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address prop_get('hw-address') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address=(val) prop_set('hw-address', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def neighbor maybe_register_subclass('neighbor', Neighbor.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable-ndp-monitor'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable NDP Monitoring', 'uiHint-fieldLabel'=>'Enable NDP Monitoring'}, 'enable-dad'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable Duplicate Address Detection', 'uiHint-fieldLabel'=>'Enable Duplicate Address Detection'}, 'dad-attempts'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'10', 'default'=>'1', 'help-string'=>'number of consecutive neighbor solicitation messages sent for duplicate address detection', 'uiHint-fieldLabel'=>'DAD Attempts'}, 'ns-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'1', 'help-string'=>'interval (in seconds) between consecutive neighbor solicitation messages', 'uiHint-fieldLabel'=>'NS Interval'}, 'reachable-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'10', 'max'=>'36000', 'default'=>'30', 'help-string'=>'time (in seconds) that the Reachable status for a neighbor can be maintained', 'uiHint-fieldLabel'=>'Reachable Time'}} # Enable NDP Monitoring def enable_ndp_monitor prop_get('enable-ndp-monitor') end # Enable NDP Monitoring def enable_ndp_monitor=(val) prop_set('enable-ndp-monitor', val) end # Enable Duplicate Address Detection def enable_dad prop_get('enable-dad') end # Enable Duplicate Address Detection def enable_dad=(val) prop_set('enable-dad', val) end # number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts prop_get('dad-attempts') end # number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts=(val) prop_set('dad-attempts', val) end # interval (in seconds) between consecutive neighbor solicitation messages def ns_interval prop_get('ns-interval') end # interval (in seconds) between consecutive neighbor solicitation messages def ns_interval=(val) prop_set('ns-interval', val) end # time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time prop_get('reachable-time') end # time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time=(val) prop_set('reachable-time', val) end end def neighbor_discovery @subclasses['neighbor-discovery'] ||= NeighborDiscovery.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable DHCPv6 Client', 'uiHint-fieldLabel'=>'Enable'}, 'accept-ra-route'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Accept Router Advertised Default Route', 'uiHint-fieldLabel'=>'Accept Router Advertised Route'}, 'default-route-metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'10', 'help-string'=>'Metric of the default route created'}, 'preference'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'high', 'optional'=>'yes', 'help-string'=>'Select Low/Medium/High', 'uiHint-fieldLabel'=>'Preference', 'enum'=>[{'name'=>'low', 'value'=>'low', 'optional'=>'yes', 'help-string'=>'Low'}, {'name'=>'medium', 'value'=>'medium', 'optional'=>'yes', 'help-string'=>'Medium'}, {'name'=>'high', 'value'=>'high', 'optional'=>'yes', 'help-string'=>'High'}]}} # Enable DHCPv6 Client def enable prop_get('enable') end # Enable DHCPv6 Client def enable=(val) prop_set('enable', val) end # Accept Router Advertised Default Route def accept_ra_route prop_get('accept-ra-route') end # Accept Router Advertised Default Route def accept_ra_route=(val) prop_set('accept-ra-route', val) end # Metric of the default route created def default_route_metric prop_get('default-route-metric') end # Metric of the default route created def default_route_metric=(val) prop_set('default-route-metric', val) end # Select Low/Medium/High def preference prop_get('preference') end # Select Low/Medium/High def preference=(val) prop_set('preference', val) end end def dhcp_client @subclasses['dhcp-client'] ||= DhcpClient.new(parent_instance: self, client: @client, create_children: @create_children) end class Inherited < ConfigClass def has_multiple_values?; false; end def _section :inherited end class AssignAddr < XML::ConfigClass def has_multiple_values?; true; end def _section :'assign-addr' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Gua < ConfigClass def has_multiple_values?; false; end def _section :gua end class PoolType < XML::ConfigClass def has_multiple_values?; true; end def _section :'pool-type' end class Dynamic < ConfigClass def has_multiple_values?; false; end def _section :dynamic end @props = {} end def dynamic @subclasses['dynamic'] ||= Dynamic.new(parent_instance: self, client: @client, create_children: @create_children) end class DynamicId < ConfigClass def has_multiple_values?; false; end def _section :'dynamic-id' end @props = {'identifier'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4095', 'help-string'=>'Range [0-4095] must be unqiue for this prefix-pool', 'uiHint-fieldLabel'=>'Identifier'}} # Range [0-4095] must be unqiue for this prefix-pool def identifier prop_get('identifier') end # Range [0-4095] must be unqiue for this prefix-pool def identifier=(val) prop_set('identifier', val) end end def dynamic_id @subclasses['dynamic-id'] ||= DynamicId.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def pool_type maybe_register_subclass('pool-type', PoolType.new(parent_instance: self, client: @client, create_children: @create_children)) end class Advertise < ConfigClass def has_multiple_values?; false; end def _section :advertise end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable advertising this prefix in router advertisements'}, 'onlink-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages', 'uiHint-fieldLabel'=>'On-Link'}, 'auto-config-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages', 'uiHint-fieldLabel'=>'Autonomous'}} # Enable advertising this prefix in router advertisements def enable prop_get('enable') end # Enable advertising this prefix in router advertisements def enable=(val) prop_set('enable', val) end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag prop_get('onlink-flag') end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag=(val) prop_set('onlink-flag', val) end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag prop_get('auto-config-flag') end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag=(val) prop_set('auto-config-flag', val) end end def advertise @subclasses['advertise'] ||= Advertise.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable-on-interface'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable on Interface'}, 'prefix-pool'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix Pool', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'use-cache'=>'yes', 'optional'=>'yes', 'help-string'=>'Prefix-Pool Name'}} # Enable on Interface def enable_on_interface prop_get('enable-on-interface') end # Enable on Interface def enable_on_interface=(val) prop_set('enable-on-interface', val) end # Prefix-Pool Name def prefix_pool prop_get('prefix-pool') end # Prefix-Pool Name def prefix_pool=(val) prop_set('prefix-pool', val) end end def gua @subclasses['gua'] ||= Gua.new(parent_instance: self, client: @client, create_children: @create_children) end class Ula < ConfigClass def has_multiple_values?; false; end def _section :ula end class Advertise < ConfigClass def has_multiple_values?; false; end def _section :advertise end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable advertising this prefix in router advertisements'}, 'valid-lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'2592000', 'help-string'=>'Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages', 'uiHint-fieldLabel'=>'Valid Lifetime', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967294'}, 'enum'=>[{'value'=>'infinity'}]}}, 'preferred-lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'604800', 'help-string'=>'Preferred Lifetime (in seconds) of the prefix advertised in Router advertisement messages', 'uiHint-fieldLabel'=>'Preferred Lifetime', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967294'}, 'enum'=>[{'value'=>'infinity'}]}}, 'onlink-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages', 'uiHint-fieldLabel'=>'On-Link'}, 'auto-config-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages', 'uiHint-fieldLabel'=>'Autonomous'}} # enable advertising this prefix in router advertisements def enable prop_get('enable') end # enable advertising this prefix in router advertisements def enable=(val) prop_set('enable', val) end # Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def valid_lifetime prop_get('valid-lifetime') end # Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def valid_lifetime=(val) prop_set('valid-lifetime', val) end # Preferred Lifetime (in seconds) of the prefix advertised in Router advertisement messages def preferred_lifetime prop_get('preferred-lifetime') end # Preferred Lifetime (in seconds) of the prefix advertised in Router advertisement messages def preferred_lifetime=(val) prop_set('preferred-lifetime', val) end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag prop_get('onlink-flag') end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag=(val) prop_set('onlink-flag', val) end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag prop_get('auto-config-flag') end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag=(val) prop_set('auto-config-flag', val) end end def advertise @subclasses['advertise'] ||= Advertise.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable-on-interface'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Configure this address on Interface', 'uiHint-fieldLabel'=>'Enable Address on Interface'}, 'address'=>{'node-type'=>'element', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'help-string'=>'Configure ULA (Unique Local Address)', 'uiHint-fieldLabel'=>'Address'}, 'prefix'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Use this as prefix to form full address with interface id/EUI-64', 'uiHint-fieldLabel'=>'Use Interface ID as host portion'}, 'anycast'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Anycast Address', 'uiHint-fieldLabel'=>'Anycast'}} # Configure this address on Interface def enable_on_interface prop_get('enable-on-interface') end # Configure this address on Interface def enable_on_interface=(val) prop_set('enable-on-interface', val) end # Configure ULA (Unique Local Address) def address prop_get('address') end # Configure ULA (Unique Local Address) def address=(val) prop_set('address', val) end # Use this as prefix to form full address with interface id/EUI-64 def prefix prop_get('prefix') end # Use this as prefix to form full address with interface id/EUI-64 def prefix=(val) prop_set('prefix', val) end # Anycast Address def anycast prop_get('anycast') end # Anycast Address def anycast=(val) prop_set('anycast', val) end end def ula @subclasses['ula'] ||= Ula.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'help-string'=>'Name', 'regex'=>'^[a-zA-Z0-9._-]+$'}} # Name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def assign_addr maybe_register_subclass('assign-addr', AssignAddr.new(parent_instance: self, client: @client, create_children: @create_children)) end class NeighborDiscovery < ConfigClass def has_multiple_values?; false; end def _section :'neighbor-discovery' end class RouterAdvertisement < ConfigClass def has_multiple_values?; false; end def _section :'router-advertisement' end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'max-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'1800', 'default'=>'600', 'help-string'=>'Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages', 'uiHint-fieldLabel'=>'Max Interval'}, 'min-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'3', 'max'=>'1350', 'default'=>'200', 'help-string'=>'Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages', 'uiHint-fieldLabel'=>'Min Interval'}, 'link-mtu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise', 'uiHint-fieldLabel'=>'Link MTU', 'multi-types'=>{'rangedint'=>{'min'=>'1280', 'max'=>'9216'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'reachable-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'Reachable Time (in milliseconds) advertised in Router Advertisement messages', 'uiHint-fieldLabel'=>'Reachable Time', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'3600000'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'retransmission-timer'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'Retransmission Timer (in milliseconds) advertised in Router Advertisement messages', 'uiHint-fieldLabel'=>'Retrans Timer', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967295'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'hop-limit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'64', 'help-string'=>'Current Hop Limit advertised in Router Advertisement messages', 'uiHint-fieldLabel'=>'Hop Limit', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'255'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'9000', 'default'=>'1800', 'help-string'=>'Router Lifetime (in seconds) advertised in Router Advertisement messages', 'uiHint-fieldLabel'=>'Lifetime'}, 'router-preference'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'Medium', 'uiHint-fieldLabel'=>'Router Preference', 'enum'=>[{'value'=>'High', 'help-string'=>'01 High'}, {'value'=>'Medium', 'help-string'=>'00 Medium'}, {'value'=>'Low', 'help-string'=>'11 Low'}]}, 'managed-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set the Managed Configuration Flag (M-bit) in Router Advertisement messages', 'uiHint-fieldLabel'=>'Managed Configuration'}, 'other-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages', 'uiHint-fieldLabel'=>'Other Configuration'}, 'enable-consistency-check'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'check consistency of RA messages from other routers.', 'uiHint-fieldLabel'=>'Consistency Check'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages def max_interval prop_get('max-interval') end # Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages def max_interval=(val) prop_set('max-interval', val) end # Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages def min_interval prop_get('min-interval') end # Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages def min_interval=(val) prop_set('min-interval', val) end # value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise def link_mtu prop_get('link-mtu') end # value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise def link_mtu=(val) prop_set('link-mtu', val) end # Reachable Time (in milliseconds) advertised in Router Advertisement messages def reachable_time prop_get('reachable-time') end # Reachable Time (in milliseconds) advertised in Router Advertisement messages def reachable_time=(val) prop_set('reachable-time', val) end # Retransmission Timer (in milliseconds) advertised in Router Advertisement messages def retransmission_timer prop_get('retransmission-timer') end # Retransmission Timer (in milliseconds) advertised in Router Advertisement messages def retransmission_timer=(val) prop_set('retransmission-timer', val) end # Current Hop Limit advertised in Router Advertisement messages def hop_limit prop_get('hop-limit') end # Current Hop Limit advertised in Router Advertisement messages def hop_limit=(val) prop_set('hop-limit', val) end # Router Lifetime (in seconds) advertised in Router Advertisement messages def lifetime prop_get('lifetime') end # Router Lifetime (in seconds) advertised in Router Advertisement messages def lifetime=(val) prop_set('lifetime', val) end def router_preference prop_get('router-preference') end def router_preference=(val) prop_set('router-preference', val) end # Set the Managed Configuration Flag (M-bit) in Router Advertisement messages def managed_flag prop_get('managed-flag') end # Set the Managed Configuration Flag (M-bit) in Router Advertisement messages def managed_flag=(val) prop_set('managed-flag', val) end # Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages def other_flag prop_get('other-flag') end # Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages def other_flag=(val) prop_set('other-flag', val) end # check consistency of RA messages from other routers. def enable_consistency_check prop_get('enable-consistency-check') end # check consistency of RA messages from other routers. def enable_consistency_check=(val) prop_set('enable-consistency-check', val) end end def router_advertisement @subclasses['router-advertisement'] ||= RouterAdvertisement.new(parent_instance: self, client: @client, create_children: @create_children) end class DnsServer < ConfigClass def has_multiple_values?; false; end def _section :'dns-server' end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end class Dhcpv6 < ConfigClass def has_multiple_values?; false; end def _section :dhcpv6 end @props = {'prefix-pool'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix Pool', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-Pool Name'}} # Prefix-Pool Name def prefix_pool prop_get('prefix-pool') end # Prefix-Pool Name def prefix_pool=(val) prop_set('prefix-pool', val) end end def dhcpv6 @subclasses['dhcpv6'] ||= Dhcpv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Manual < ConfigClass def has_multiple_values?; false; end def _section :manual end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'unicast-only'=>'yes', 'help-string'=>'IPv6 Address', 'uiHint-fieldLabel'=>'Server'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) Lifetime in Seconds'}} # IPv6 Address def name prop_get('@name') end # (4-3600) Lifetime in Seconds def lifetime prop_get('lifetime') end # (4-3600) Lifetime in Seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def manual @subclasses['manual'] ||= Manual.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'defaule'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def dns_server @subclasses['dns-server'] ||= DnsServer.new(parent_instance: self, client: @client, create_children: @create_children) end class DnsSuffix < ConfigClass def has_multiple_values?; false; end def _section :'dns-suffix' end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end class Dhcpv6 < ConfigClass def has_multiple_values?; false; end def _section :dhcpv6 end @props = {'prefix-pool'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix Pool', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-Pool Name'}} # Prefix-Pool Name def prefix_pool prop_get('prefix-pool') end # Prefix-Pool Name def prefix_pool=(val) prop_set('prefix-pool', val) end end def dhcpv6 @subclasses['dhcpv6'] ||= Dhcpv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Manual < ConfigClass def has_multiple_values?; false; end def _section :manual end class Suffix < XML::ConfigClass def has_multiple_values?; true; end def _section :suffix end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'domain name', 'minlen'=>'1', 'maxlen'=>'255', 'uiHint-fieldLabel'=>'Domain'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) lifetime in seconds'}} # domain name def name prop_get('@name') end # (4-3600) lifetime in seconds def lifetime prop_get('lifetime') end # (4-3600) lifetime in seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def suffix maybe_register_subclass('suffix', Suffix.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def manual @subclasses['manual'] ||= Manual.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'defaule'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def dns_suffix @subclasses['dns-suffix'] ||= DnsSuffix.new(parent_instance: self, client: @client, create_children: @create_children) end class Neighbor < XML::ConfigClass def has_multiple_values?; true; end def _section :neighbor end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'help-string'=>'IP address'}, 'hw-address'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'mac-address', 'help-string'=>'MAC address (format xx:xx:xx:xx:xx:xx)'}} # IP address def name prop_get('@name') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address prop_get('hw-address') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address=(val) prop_set('hw-address', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def neighbor maybe_register_subclass('neighbor', Neighbor.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable-ndp-monitor'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable NDP Monitoring', 'uiHint-fieldLabel'=>'Enable NDP Monitoring'}, 'enable-dad'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable Duplicate Address Detection (DAD)', 'uiHint-fieldLabel'=>'Enable Duplicate Address Detection'}, 'dad-attempts'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'10', 'default'=>'1', 'help-string'=>'Number of consecutive neighbor solicitation messages sent for duplicate address detection', 'uiHint-fieldLabel'=>'DAD Attempts'}, 'ns-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'1', 'help-string'=>'Interval (in seconds) between consecutive neighbor solicitation messages', 'uiHint-fieldLabel'=>'NS Interval'}, 'reachable-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'10', 'max'=>'36000', 'default'=>'30', 'help-string'=>'Time (in seconds) that the Reachable status for a neighbor can be maintained', 'uiHint-fieldLabel'=>'Reachable Time'}} # Enable NDP Monitoring def enable_ndp_monitor prop_get('enable-ndp-monitor') end # Enable NDP Monitoring def enable_ndp_monitor=(val) prop_set('enable-ndp-monitor', val) end # Enable Duplicate Address Detection (DAD) def enable_dad prop_get('enable-dad') end # Enable Duplicate Address Detection (DAD) def enable_dad=(val) prop_set('enable-dad', val) end # Number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts prop_get('dad-attempts') end # Number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts=(val) prop_set('dad-attempts', val) end # Interval (in seconds) between consecutive neighbor solicitation messages def ns_interval prop_get('ns-interval') end # Interval (in seconds) between consecutive neighbor solicitation messages def ns_interval=(val) prop_set('ns-interval', val) end # Time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time prop_get('reachable-time') end # Time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time=(val) prop_set('reachable-time', val) end end def neighbor_discovery @subclasses['neighbor-discovery'] ||= NeighborDiscovery.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable Inherited Interface'}} # Enable Inherited Interface def enable prop_get('enable') end # Enable Inherited Interface def enable=(val) prop_set('enable', val) end end def inherited @subclasses['inherited'] ||= Inherited.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable IPv6 on the interface'}, 'interface-id'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'EUI-64', 'multi-types'=>{'string'=>{'maxlen'=>'16', 'loose-membership'=>'yes', 'help-string'=>'user defined 64-bit identifier (in hex)'}, 'enum'=>[{'value'=>'EUI-64', 'help-string'=>'default 64-bit Extended Unique Identifier'}]}}} # Enable IPv6 on the interface def enabled prop_get('enabled') end # Enable IPv6 on the interface def enabled=(val) prop_set('enabled', val) end def interface_id prop_get('interface-id') end def interface_id=(val) prop_set('interface-id', val) end end def ipv6 @subclasses['ipv6'] ||= Ipv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Arp < XML::ConfigClass def has_multiple_values?; true; end def _section :arp end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'ip-address', 'help-string'=>'IP address'}, 'hw-address'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'mac-address', 'help-string'=>'MAC address (format xx:xx:xx:xx:xx:xx)'}, 'interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Egress interface associated with this ARP entry'}} # IP address def name prop_get('@name') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address prop_get('hw-address') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address=(val) prop_set('hw-address', val) end # Egress interface associated with this ARP entry def interface prop_get('interface') end # Egress interface associated with this ARP entry def interface=(val) prop_set('interface', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def arp maybe_register_subclass('arp', Arp.new(parent_instance: self, client: @client, create_children: @create_children)) end class NdpProxy < ConfigClass def has_multiple_values?; false; end def _section :'ndp-proxy' end class Address < XML::ConfigClass def has_multiple_values?; true; end def _section :address end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'IPv6 address or address object name'}, 'negate'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'max-count'=>'16', 'help-string'=>'put the prefix or address on a block list'}} # IPv6 address or address object name def name prop_get('@name') end # put the prefix or address on a block list def negate prop_get('negate') end # put the prefix or address on a block list def negate=(val) prop_set('negate', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def address maybe_register_subclass('address', Address.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable proxy NDP on the interface'}} # Enable proxy NDP on the interface def enabled prop_get('enabled') end # Enable proxy NDP on the interface def enabled=(val) prop_set('enabled', val) end end def ndp_proxy @subclasses['ndp-proxy'] ||= NdpProxy.new(parent_instance: self, client: @client, create_children: @create_children) end class DhcpClient < ConfigClass def has_multiple_values?; false; end def _section :'dhcp-client' end class SendHostname < ConfigClass def has_multiple_values?; false; end def _section :'send-hostname' end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'hostname'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'system-hostname', 'help-string'=>'Set Interface Hostname', 'multi-types'=>{'string'=>{'regex'=>'^[a-zA-Z0-9\._-]+$', 'minlen'=>'1', 'maxlen'=>'64', 'loose-membership'=>'yes', 'help-string'=>'Custom Interface Hostname'}, 'enum'=>[{'value'=>'system-hostname', 'help-string'=>'System Hostname'}]}}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Set Interface Hostname def hostname prop_get('hostname') end # Set Interface Hostname def hostname=(val) prop_set('hostname', val) end end def send_hostname @subclasses['send-hostname'] ||= SendHostname.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'create-default-route'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Automatically create default route pointing to default gateway provided by server'}, 'default-route-metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'10', 'help-string'=>'Metric of the default route created'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Automatically create default route pointing to default gateway provided by server def create_default_route prop_get('create-default-route') end # Automatically create default route pointing to default gateway provided by server def create_default_route=(val) prop_set('create-default-route', val) end # Metric of the default route created def default_route_metric prop_get('default-route-metric') end # Metric of the default route created def default_route_metric=(val) prop_set('default-route-metric', val) end end def dhcp_client @subclasses['dhcp-client'] ||= DhcpClient.new(parent_instance: self, client: @client, create_children: @create_children) end class DdnsConfig < ConfigClass def has_multiple_values?; false; end def _section :'ddns-config' end class DdnsIp < XML::ConfigClass def has_multiple_values?; true; end def _section :'ddns-ip' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'maxlen'=>'127'}, 'enum'=>[{'value'=>'DHCP'}, {'value'=>'PPPoE'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def ddns_ip maybe_register_subclass('ddns-ip', DdnsIp.new(parent_instance: self, client: @client, create_children: @create_children)) end class DdnsIpv6 < XML::ConfigClass def has_multiple_values?; true; end def _section :'ddns-ipv6' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def ddns_ipv6 maybe_register_subclass('ddns-ipv6', DdnsIpv6.new(parent_instance: self, client: @client, create_children: @create_children)) end class DdnsVendorConfig < XML::ConfigClass def has_multiple_values?; true; end def _section :'ddns-vendor-config' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'255'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ddns_vendor_config maybe_register_subclass('ddns-vendor-config', DdnsVendorConfig.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'ddns-enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'ddns-update-interval'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'30', 'default'=>'1', 'optional'=>'yes'}, 'ddns-hostname'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([$a-zA-Z0-9_\.\-])+$', 'minlen'=>'1', 'maxlen'=>'255', 'help-string'=>'ddns hostname variable or real address'}, 'ddns-cert-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes'}, 'ddns-vendor'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127', 'help-string'=>'Vendor and product type'}} def ddns_enabled prop_get('ddns-enabled') end def ddns_enabled=(val) prop_set('ddns-enabled', val) end def ddns_update_interval prop_get('ddns-update-interval') end def ddns_update_interval=(val) prop_set('ddns-update-interval', val) end # ddns hostname variable or real address def ddns_hostname prop_get('ddns-hostname') end # ddns hostname variable or real address def ddns_hostname=(val) prop_set('ddns-hostname', val) end def ddns_cert_profile prop_get('ddns-cert-profile') end def ddns_cert_profile=(val) prop_set('ddns-cert-profile', val) end # Vendor and product type def ddns_vendor prop_get('ddns-vendor') end # Vendor and product type def ddns_vendor=(val) prop_set('ddns-vendor', val) end end def ddns_config @subclasses['ddns-config'] ||= DdnsConfig.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'prefix'=>'concat(name(../..), \'.\')', 'regex'=>'^([ 0-9a-zA-Z./_-])+$', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z./_-]'}, 'df-ignore'=>{'node-type'=>'element', 'internal'=>'yes', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'mtu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'576', 'max'=>'9216', 'help-string'=>'Maximum Transfer Unit, up to 9216 in Jumbo-Frame mode, up to 1500 otherwise'}, 'interface-management-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'Interface management profile'}, 'netflow-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'Netflow Server Profile'}, 'comment'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'0', 'maxlen'=>'1023'}} # alphanumeric string [ 0-9a-zA-Z./_-] def name prop_get('@name') end def df_ignore prop_get('df-ignore') end def df_ignore=(val) prop_set('df-ignore', val) end # Maximum Transfer Unit, up to 9216 in Jumbo-Frame mode, up to 1500 otherwise def mtu prop_get('mtu') end # Maximum Transfer Unit, up to 9216 in Jumbo-Frame mode, up to 1500 otherwise def mtu=(val) prop_set('mtu', val) end # Interface management profile def interface_management_profile prop_get('interface-management-profile') end # Interface management profile def interface_management_profile=(val) prop_set('interface-management-profile', val) end # Netflow Server Profile def netflow_profile prop_get('netflow-profile') end # Netflow Server Profile def netflow_profile=(val) prop_set('netflow-profile', val) end def comment prop_get('comment') end def comment=(val) prop_set('comment', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def units maybe_register_subclass('units', Units.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'df-ignore'=>{'node-type'=>'element', 'internal'=>'yes', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'mtu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'576', 'max'=>'9216', 'help-string'=>'Maximum Transfer Unit, up to 9216 in Jumbo-Frame mode, up to 1500 otherwise'}, 'interface-management-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'Interface management profile'}, 'netflow-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'Netflow Server Profile'}, 'comment'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'0', 'maxlen'=>'1023'}} def df_ignore prop_get('df-ignore') end def df_ignore=(val) prop_set('df-ignore', val) end # Maximum Transfer Unit, up to 9216 in Jumbo-Frame mode, up to 1500 otherwise def mtu prop_get('mtu') end # Maximum Transfer Unit, up to 9216 in Jumbo-Frame mode, up to 1500 otherwise def mtu=(val) prop_set('mtu', val) end # Interface management profile def interface_management_profile prop_get('interface-management-profile') end # Interface management profile def interface_management_profile=(val) prop_set('interface-management-profile', val) end # Netflow Server Profile def netflow_profile prop_get('netflow-profile') end # Netflow Server Profile def netflow_profile=(val) prop_set('netflow-profile', val) end def comment prop_get('comment') end def comment=(val) prop_set('comment', val) end end def vlan @subclasses['vlan'] ||= Vlan.new(parent_instance: self, client: @client, create_children: @create_children) end class Loopback < ConfigClass def has_multiple_values?; false; end def _section :loopback end class AdjustTcpMss < ConfigClass def has_multiple_values?; false; end def _section :'adjust-tcp-mss' end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set if TCP MSS value should be reduced based on mtu'}, 'ipv4-mss-adjustment'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'40', 'min'=>'40', 'max'=>'300', 'help-string'=>'IPv4 MSS adjustment size (in bytes)'}, 'ipv6-mss-adjustment'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'60', 'min'=>'60', 'max'=>'300', 'help-string'=>'IPv6 MSS adjustment size (in bytes)'}} # Set if TCP MSS value should be reduced based on mtu def enable prop_get('enable') end # Set if TCP MSS value should be reduced based on mtu def enable=(val) prop_set('enable', val) end # IPv4 MSS adjustment size (in bytes) def ipv4_mss_adjustment prop_get('ipv4-mss-adjustment') end # IPv4 MSS adjustment size (in bytes) def ipv4_mss_adjustment=(val) prop_set('ipv4-mss-adjustment', val) end # IPv6 MSS adjustment size (in bytes) def ipv6_mss_adjustment prop_get('ipv6-mss-adjustment') end # IPv6 MSS adjustment size (in bytes) def ipv6_mss_adjustment=(val) prop_set('ipv6-mss-adjustment', val) end end def adjust_tcp_mss @subclasses['adjust-tcp-mss'] ||= AdjustTcpMss.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip < XML::ConfigClass def has_multiple_values?; true; end def _section :ip end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'regex'=>'^([ $0-9a-zA-Z:@./_-])+$', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'IP address or address object name(netmask is not allowed for loopback)'}} # IP address or address object name(netmask is not allowed for loopback) def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ip maybe_register_subclass('ip', Ip.new(parent_instance: self, client: @client, create_children: @create_children)) end class Ipv6 < ConfigClass def has_multiple_values?; false; end def _section :ipv6 end class Address < XML::ConfigClass def has_multiple_values?; true; end def _section :address end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Prefix < ConfigClass def has_multiple_values?; false; end def _section :prefix end @props = {} end def prefix @subclasses['prefix'] ||= Prefix.new(parent_instance: self, client: @client, create_children: @create_children) end class Anycast < ConfigClass def has_multiple_values?; false; end def _section :anycast end @props = {} end def anycast @subclasses['anycast'] ||= Anycast.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'^([ $0-9a-zA-Z:@./_-])+$', 'maxlen'=>'63', 'help-string'=>'IPv6 address or address object name'}, 'enable-on-interface'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'configure this address on interface'}} # IPv6 address or address object name def name prop_get('@name') end # configure this address on interface def enable_on_interface prop_get('enable-on-interface') end # configure this address on interface def enable_on_interface=(val) prop_set('enable-on-interface', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def address maybe_register_subclass('address', Address.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable IPv6 on the interface'}, 'interface-id'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'EUI-64', 'multi-types'=>{'string'=>{'maxlen'=>'16', 'loose-membership'=>'yes', 'help-string'=>'user defined 64-bit identifier (in hex)'}, 'enum'=>[{'value'=>'EUI-64', 'help-string'=>'default 64-bit Extended Unique Identifier'}]}}} # Enable IPv6 on the interface def enabled prop_get('enabled') end # Enable IPv6 on the interface def enabled=(val) prop_set('enabled', val) end def interface_id prop_get('interface-id') end def interface_id=(val) prop_set('interface-id', val) end end def ipv6 @subclasses['ipv6'] ||= Ipv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Unnumbered < ConfigClass def has_multiple_values?; false; end def _section :unnumbered end @props = {'source-interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Source interface to borrow IP from'}} # Source interface to borrow IP from def source_interface prop_get('source-interface') end # Source interface to borrow IP from def source_interface=(val) prop_set('source-interface', val) end end def unnumbered @subclasses['unnumbered'] ||= Unnumbered.new(parent_instance: self, client: @client, create_children: @create_children) end class Units < XML::ConfigClass def has_multiple_values?; true; end def _section :units end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class AdjustTcpMss < ConfigClass def has_multiple_values?; false; end def _section :'adjust-tcp-mss' end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set if TCP MSS value should be reduced based on mtu'}, 'ipv4-mss-adjustment'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'40', 'min'=>'40', 'max'=>'300', 'help-string'=>'IPv4 MSS adjustment size (in bytes)'}, 'ipv6-mss-adjustment'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'60', 'min'=>'60', 'max'=>'300', 'help-string'=>'IPv6 MSS adjustment size (in bytes)'}} # Set if TCP MSS value should be reduced based on mtu def enable prop_get('enable') end # Set if TCP MSS value should be reduced based on mtu def enable=(val) prop_set('enable', val) end # IPv4 MSS adjustment size (in bytes) def ipv4_mss_adjustment prop_get('ipv4-mss-adjustment') end # IPv4 MSS adjustment size (in bytes) def ipv4_mss_adjustment=(val) prop_set('ipv4-mss-adjustment', val) end # IPv6 MSS adjustment size (in bytes) def ipv6_mss_adjustment prop_get('ipv6-mss-adjustment') end # IPv6 MSS adjustment size (in bytes) def ipv6_mss_adjustment=(val) prop_set('ipv6-mss-adjustment', val) end end def adjust_tcp_mss @subclasses['adjust-tcp-mss'] ||= AdjustTcpMss.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip < XML::ConfigClass def has_multiple_values?; true; end def _section :ip end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'regex'=>'^([ $0-9a-zA-Z:@./_-])+$', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'IP address or address object name(netmask is not allowed for loopback)'}} # IP address or address object name(netmask is not allowed for loopback) def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ip maybe_register_subclass('ip', Ip.new(parent_instance: self, client: @client, create_children: @create_children)) end class Ipv6 < ConfigClass def has_multiple_values?; false; end def _section :ipv6 end class Address < XML::ConfigClass def has_multiple_values?; true; end def _section :address end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Prefix < ConfigClass def has_multiple_values?; false; end def _section :prefix end @props = {} end def prefix @subclasses['prefix'] ||= Prefix.new(parent_instance: self, client: @client, create_children: @create_children) end class Anycast < ConfigClass def has_multiple_values?; false; end def _section :anycast end @props = {} end def anycast @subclasses['anycast'] ||= Anycast.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'^([ $0-9a-zA-Z:@./_-])+$', 'maxlen'=>'63', 'help-string'=>'IPv6 address or address object name'}, 'enable-on-interface'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'configure this address on interface'}} # IPv6 address or address object name def name prop_get('@name') end # configure this address on interface def enable_on_interface prop_get('enable-on-interface') end # configure this address on interface def enable_on_interface=(val) prop_set('enable-on-interface', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def address maybe_register_subclass('address', Address.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable IPv6 on the interface'}, 'interface-id'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'EUI-64', 'multi-types'=>{'string'=>{'maxlen'=>'16', 'loose-membership'=>'yes', 'help-string'=>'user defined 64-bit identifier (in hex)'}, 'enum'=>[{'value'=>'EUI-64', 'help-string'=>'default 64-bit Extended Unique Identifier'}]}}} # Enable IPv6 on the interface def enabled prop_get('enabled') end # Enable IPv6 on the interface def enabled=(val) prop_set('enabled', val) end def interface_id prop_get('interface-id') end def interface_id=(val) prop_set('interface-id', val) end end def ipv6 @subclasses['ipv6'] ||= Ipv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Unnumbered < ConfigClass def has_multiple_values?; false; end def _section :unnumbered end @props = {'source-interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Source interface to borrow IP from'}} # Source interface to borrow IP from def source_interface prop_get('source-interface') end # Source interface to borrow IP from def source_interface=(val) prop_set('source-interface', val) end end def unnumbered @subclasses['unnumbered'] ||= Unnumbered.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'prefix'=>'string(\'loopback.\')', 'regex'=>'^((loopback\.)?([1-9][0-9]{0,3}))$', 'help-string'=>'numeric suffix [1-9999]'}, 'mtu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'576', 'max'=>'9216', 'help-string'=>'Maximum Transfer Unit, up to 9216 in Jumbo-Frame mode, up to 1500 otherwise'}, 'interface-management-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'Interface management profile'}, 'netflow-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'Netflow Server Profile'}, 'comment'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'0', 'maxlen'=>'1023'}} # numeric suffix [1-9999] def name prop_get('@name') end # Maximum Transfer Unit, up to 9216 in Jumbo-Frame mode, up to 1500 otherwise def mtu prop_get('mtu') end # Maximum Transfer Unit, up to 9216 in Jumbo-Frame mode, up to 1500 otherwise def mtu=(val) prop_set('mtu', val) end # Interface management profile def interface_management_profile prop_get('interface-management-profile') end # Interface management profile def interface_management_profile=(val) prop_set('interface-management-profile', val) end # Netflow Server Profile def netflow_profile prop_get('netflow-profile') end # Netflow Server Profile def netflow_profile=(val) prop_set('netflow-profile', val) end def comment prop_get('comment') end def comment=(val) prop_set('comment', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def units maybe_register_subclass('units', Units.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'df-ignore'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'mtu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'576', 'max'=>'9216', 'help-string'=>'Maximum Transfer Unit, up to 9216 in Jumbo-Frame mode, up to 1500 otherwise'}, 'interface-management-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'Interface management profile'}, 'netflow-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'Netflow Server Profile'}, 'comment'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'0', 'maxlen'=>'1023'}} def df_ignore prop_get('df-ignore') end def df_ignore=(val) prop_set('df-ignore', val) end # Maximum Transfer Unit, up to 9216 in Jumbo-Frame mode, up to 1500 otherwise def mtu prop_get('mtu') end # Maximum Transfer Unit, up to 9216 in Jumbo-Frame mode, up to 1500 otherwise def mtu=(val) prop_set('mtu', val) end # Interface management profile def interface_management_profile prop_get('interface-management-profile') end # Interface management profile def interface_management_profile=(val) prop_set('interface-management-profile', val) end # Netflow Server Profile def netflow_profile prop_get('netflow-profile') end # Netflow Server Profile def netflow_profile=(val) prop_set('netflow-profile', val) end def comment prop_get('comment') end def comment=(val) prop_set('comment', val) end end def loopback @subclasses['loopback'] ||= Loopback.new(parent_instance: self, client: @client, create_children: @create_children) end class Tunnel < ConfigClass def has_multiple_values?; false; end def _section :tunnel end class Ip < XML::ConfigClass def has_multiple_values?; true; end def _section :ip end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'regex'=>'^([ $0-9a-zA-Z:@./_-])+$', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'IP address/netmask or address object name'}} # IP address/netmask or address object name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ip maybe_register_subclass('ip', Ip.new(parent_instance: self, client: @client, create_children: @create_children)) end class Ipv6 < ConfigClass def has_multiple_values?; false; end def _section :ipv6 end class Address < XML::ConfigClass def has_multiple_values?; true; end def _section :address end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Prefix < ConfigClass def has_multiple_values?; false; end def _section :prefix end @props = {} end def prefix @subclasses['prefix'] ||= Prefix.new(parent_instance: self, client: @client, create_children: @create_children) end class Anycast < ConfigClass def has_multiple_values?; false; end def _section :anycast end @props = {} end def anycast @subclasses['anycast'] ||= Anycast.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'^([ $0-9a-zA-Z:@./_-])+$', 'maxlen'=>'63', 'help-string'=>'IPv6 address/prefix length or address object name'}, 'enable-on-interface'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'configure this address on interface'}} # IPv6 address/prefix length or address object name def name prop_get('@name') end # configure this address on interface def enable_on_interface prop_get('enable-on-interface') end # configure this address on interface def enable_on_interface=(val) prop_set('enable-on-interface', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def address maybe_register_subclass('address', Address.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable IPv6 on the interface'}, 'interface-id'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'EUI-64', 'multi-types'=>{'string'=>{'maxlen'=>'16', 'loose-membership'=>'yes', 'help-string'=>'user defined 64-bit identifier (in hex)'}, 'enum'=>[{'value'=>'EUI-64', 'help-string'=>'default 64-bit Extended Unique Identifier'}]}}} # Enable IPv6 on the interface def enabled prop_get('enabled') end # Enable IPv6 on the interface def enabled=(val) prop_set('enabled', val) end def interface_id prop_get('interface-id') end def interface_id=(val) prop_set('interface-id', val) end end def ipv6 @subclasses['ipv6'] ||= Ipv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Bonjour < ConfigClass def has_multiple_values?; false; end def _section :bonjour end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set to support Bonjour service'}, 'ttl-check'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set to check and update TTL'}, 'group-id'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'40', 'min'=>'0', 'max'=>'16', 'help-string'=>'default 0: NO-Group'}} # Set to support Bonjour service def enable prop_get('enable') end # Set to support Bonjour service def enable=(val) prop_set('enable', val) end # Set to check and update TTL def ttl_check prop_get('ttl-check') end # Set to check and update TTL def ttl_check=(val) prop_set('ttl-check', val) end # default 0: NO-Group def group_id prop_get('group-id') end # default 0: NO-Group def group_id=(val) prop_set('group-id', val) end end def bonjour @subclasses['bonjour'] ||= Bonjour.new(parent_instance: self, client: @client, create_children: @create_children) end class Unnumbered < ConfigClass def has_multiple_values?; false; end def _section :unnumbered end @props = {'source-interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Source interface to borrow IP from'}} # Source interface to borrow IP from def source_interface prop_get('source-interface') end # Source interface to borrow IP from def source_interface=(val) prop_set('source-interface', val) end end def unnumbered @subclasses['unnumbered'] ||= Unnumbered.new(parent_instance: self, client: @client, create_children: @create_children) end class Units < XML::ConfigClass def has_multiple_values?; true; end def _section :units end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Ip < XML::ConfigClass def has_multiple_values?; true; end def _section :ip end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'regex'=>'^([ $0-9a-zA-Z:@./_-])+$', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'IP address/netmask or address object name'}} # IP address/netmask or address object name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ip maybe_register_subclass('ip', Ip.new(parent_instance: self, client: @client, create_children: @create_children)) end class Ipv6 < ConfigClass def has_multiple_values?; false; end def _section :ipv6 end class Address < XML::ConfigClass def has_multiple_values?; true; end def _section :address end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Prefix < ConfigClass def has_multiple_values?; false; end def _section :prefix end @props = {} end def prefix @subclasses['prefix'] ||= Prefix.new(parent_instance: self, client: @client, create_children: @create_children) end class Anycast < ConfigClass def has_multiple_values?; false; end def _section :anycast end @props = {} end def anycast @subclasses['anycast'] ||= Anycast.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'^([ $0-9a-zA-Z:@./_-])+$', 'maxlen'=>'63', 'help-string'=>'IPv6 address/prefix length or address object name'}, 'enable-on-interface'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'configure this address on interface'}} # IPv6 address/prefix length or address object name def name prop_get('@name') end # configure this address on interface def enable_on_interface prop_get('enable-on-interface') end # configure this address on interface def enable_on_interface=(val) prop_set('enable-on-interface', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def address maybe_register_subclass('address', Address.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable IPv6 on the interface'}, 'interface-id'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'EUI-64', 'multi-types'=>{'string'=>{'maxlen'=>'16', 'loose-membership'=>'yes', 'help-string'=>'user defined 64-bit identifier (in hex)'}, 'enum'=>[{'value'=>'EUI-64', 'help-string'=>'default 64-bit Extended Unique Identifier'}]}}} # Enable IPv6 on the interface def enabled prop_get('enabled') end # Enable IPv6 on the interface def enabled=(val) prop_set('enabled', val) end def interface_id prop_get('interface-id') end def interface_id=(val) prop_set('interface-id', val) end end def ipv6 @subclasses['ipv6'] ||= Ipv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Bonjour < ConfigClass def has_multiple_values?; false; end def _section :bonjour end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set to support Bonjour service'}, 'ttl-check'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set to check and update TTL'}, 'group-id'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'40', 'min'=>'0', 'max'=>'16', 'help-string'=>'default 0: NO-Group'}} # Set to support Bonjour service def enable prop_get('enable') end # Set to support Bonjour service def enable=(val) prop_set('enable', val) end # Set to check and update TTL def ttl_check prop_get('ttl-check') end # Set to check and update TTL def ttl_check=(val) prop_set('ttl-check', val) end # default 0: NO-Group def group_id prop_get('group-id') end # default 0: NO-Group def group_id=(val) prop_set('group-id', val) end end def bonjour @subclasses['bonjour'] ||= Bonjour.new(parent_instance: self, client: @client, create_children: @create_children) end class Unnumbered < ConfigClass def has_multiple_values?; false; end def _section :unnumbered end @props = {'source-interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Source interface to borrow IP from'}} # Source interface to borrow IP from def source_interface prop_get('source-interface') end # Source interface to borrow IP from def source_interface=(val) prop_set('source-interface', val) end end def unnumbered @subclasses['unnumbered'] ||= Unnumbered.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'prefix'=>'string(\'tunnel.\')', 'regex'=>'^((tunnel\.)?([1-9][0-9]{0,3}))$', 'help-string'=>'numeric string [1-9999]'}, 'df-ignore'=>{'node-type'=>'element', 'internal'=>'yes', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'mtu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'576', 'max'=>'9216', 'help-string'=>'Maximum Transfer Unit, up to 9216 in Jumbo-Frame mode, up to 1500 otherwise'}, 'interface-management-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'Interface management profile'}, 'netflow-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'Netflow Server Profile'}, 'comment'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'0', 'maxlen'=>'1023'}, 'link-tag'=>{'node-type'=>'element', 'optional'=>'yes', 'hidden'=>'yes', 'type'=>'string', 'maxlen'=>'127'}} # numeric string [1-9999] def name prop_get('@name') end def df_ignore prop_get('df-ignore') end def df_ignore=(val) prop_set('df-ignore', val) end # Maximum Transfer Unit, up to 9216 in Jumbo-Frame mode, up to 1500 otherwise def mtu prop_get('mtu') end # Maximum Transfer Unit, up to 9216 in Jumbo-Frame mode, up to 1500 otherwise def mtu=(val) prop_set('mtu', val) end # Interface management profile def interface_management_profile prop_get('interface-management-profile') end # Interface management profile def interface_management_profile=(val) prop_set('interface-management-profile', val) end # Netflow Server Profile def netflow_profile prop_get('netflow-profile') end # Netflow Server Profile def netflow_profile=(val) prop_set('netflow-profile', val) end def comment prop_get('comment') end def comment=(val) prop_set('comment', val) end def link_tag prop_get('link-tag') end def link_tag=(val) prop_set('link-tag', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def units maybe_register_subclass('units', Units.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'df-ignore'=>{'node-type'=>'element', 'internal'=>'yes', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'mtu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'576', 'max'=>'9216', 'help-string'=>'Maximum Transfer Unit, up to 9216 in Jumbo-Frame mode, up to 1500 otherwise'}, 'interface-management-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'Interface management profile'}, 'netflow-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'Netflow Server Profile'}, 'comment'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'0', 'maxlen'=>'1023'}} def df_ignore prop_get('df-ignore') end def df_ignore=(val) prop_set('df-ignore', val) end # Maximum Transfer Unit, up to 9216 in Jumbo-Frame mode, up to 1500 otherwise def mtu prop_get('mtu') end # Maximum Transfer Unit, up to 9216 in Jumbo-Frame mode, up to 1500 otherwise def mtu=(val) prop_set('mtu', val) end # Interface management profile def interface_management_profile prop_get('interface-management-profile') end # Interface management profile def interface_management_profile=(val) prop_set('interface-management-profile', val) end # Netflow Server Profile def netflow_profile prop_get('netflow-profile') end # Netflow Server Profile def netflow_profile=(val) prop_set('netflow-profile', val) end def comment prop_get('comment') end def comment=(val) prop_set('comment', val) end end def tunnel @subclasses['tunnel'] ||= Tunnel.new(parent_instance: self, client: @client, create_children: @create_children) end class Sdwan < ConfigClass def has_multiple_values?; false; end def _section :sdwan end class Units < XML::ConfigClass def has_multiple_values?; true; end def _section :units end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Interface < XML::ConfigClass def has_multiple_values?; true; end def _section :interface end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'max-count'=>'9'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def interface maybe_register_subclass('interface', Interface.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'prefix'=>'string(\'sdwan.\')', 'regex'=>'^((sdwan\.)?([1-9][0-9]{0,3}))$', 'help-string'=>'numeric string [1-9999]'}, 'comment'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'0', 'maxlen'=>'1023'}, 'cluster-name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'0', 'maxlen'=>'64'}, 'link-tag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'127'}, 'allow-saas-monitor'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'hidden'=>'yes', 'help-string'=>'Allow sending probe packets for saas monitoring'}, 'metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'10', 'hidden'=>'yes', 'help-string'=>'Metric for relative route preference'}} # numeric string [1-9999] def name prop_get('@name') end def comment prop_get('comment') end def comment=(val) prop_set('comment', val) end def cluster_name prop_get('cluster-name') end def cluster_name=(val) prop_set('cluster-name', val) end def link_tag prop_get('link-tag') end def link_tag=(val) prop_set('link-tag', val) end # Allow sending probe packets for saas monitoring def allow_saas_monitor prop_get('allow-saas-monitor') end # Allow sending probe packets for saas monitoring def allow_saas_monitor=(val) prop_set('allow-saas-monitor', val) end # Metric for relative route preference def metric prop_get('metric') end # Metric for relative route preference def metric=(val) prop_set('metric', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def units maybe_register_subclass('units', Units.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def sdwan @subclasses['sdwan'] ||= Sdwan.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def interface @subclasses['interface'] ||= Interface.new(parent_instance: self, client: @client, create_children: @create_children) end class Ike < ConfigClass def has_multiple_values?; false; end def _section :ike end class Gateway < XML::ConfigClass def has_multiple_values?; true; end def _section :gateway end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class PeerAddress < XML::ConfigClass def has_multiple_values?; true; end def _section :'peer-address' end class Dynamic < ConfigClass def has_multiple_values?; false; end def _section :dynamic end @props = {} end def dynamic @subclasses['dynamic'] ||= Dynamic.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'ip'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'peer gateway has static IP address', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'ipspec'=>{'unicast-only'=>'yes'}}}, 'fqdn'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'help-string'=>'peer gateway FQDN name'}} # peer gateway has static IP address def ip prop_get('ip') end # peer gateway has static IP address def ip=(val) prop_set('ip', val) end # peer gateway FQDN name def fqdn prop_get('fqdn') end # peer gateway FQDN name def fqdn=(val) prop_set('fqdn', val) end end def peer_address maybe_register_subclass('peer-address', PeerAddress.new(parent_instance: self, client: @client, create_children: @create_children)) end class LocalAddress < ConfigClass def has_multiple_values?; false; end def _section :'local-address' end @props = {'interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'local gateway end-point'}, 'ip'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'specify exact IP address if interface has multiple addresses'}, 'floating-ip'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.vpn-srcaddr.floating-ip-disable=True', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Floating IP address in HA Active-Active configuration'}} # local gateway end-point def interface prop_get('interface') end # local gateway end-point def interface=(val) prop_set('interface', val) end # specify exact IP address if interface has multiple addresses def ip prop_get('ip') end # specify exact IP address if interface has multiple addresses def ip=(val) prop_set('ip', val) end # Floating IP address in HA Active-Active configuration def floating_ip prop_get('floating-ip') end # Floating IP address in HA Active-Active configuration def floating_ip=(val) prop_set('floating-ip', val) end end def local_address @subclasses['local-address'] ||= LocalAddress.new(parent_instance: self, client: @client, create_children: @create_children) end class PeerId < ConfigClass def has_multiple_values?; false; end def _section :'peer-id' end @props = {'type'=>{'node-type'=>'element', 'type'=>'string', 'complete-handler'=>'ike-id-type-completer'}, 'id'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'1', 'maxlen'=>'1024', 'help-string'=>'Peer ID string', 'regex'=>'^(.+\@[\*a-zA-Z0-9.-]+)$|^([\*$a-zA-Z0-9_:.-]+)$|^(([[:xdigit:]][[:xdigit:]])+)$|^([a-zA-Z0-9.]+=(\\,|[^,])+[, ]+)*([a-zA-Z0-9.]+=(\\,|[^,])+)$', 'complete-handler'=>'certificate-field-completer'}, 'matching'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'exact', 'help-string'=>'Enable peer ID wildcard match for certificate authentication', 'enum'=>[{'value'=>'exact', 'help-string'=>'Exact match'}, {'value'=>'wildcard', 'help-string'=>'Wildcard'}]}} def type prop_get('type') end def type=(val) prop_set('type', val) end # Peer ID string def id prop_get('id') end # Peer ID string def id=(val) prop_set('id', val) end # Enable peer ID wildcard match for certificate authentication def matching prop_get('matching') end # Enable peer ID wildcard match for certificate authentication def matching=(val) prop_set('matching', val) end end def peer_id @subclasses['peer-id'] ||= PeerId.new(parent_instance: self, client: @client, create_children: @create_children) end class LocalId < ConfigClass def has_multiple_values?; false; end def _section :'local-id' end @props = {'type'=>{'node-type'=>'element', 'type'=>'string', 'complete-handler'=>'ike-id-type-completer'}, 'id'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'1', 'maxlen'=>'1024', 'help-string'=>'Local ID string', 'regex'=>'^(.+\@[a-zA-Z0-9.-]+)$|^([$a-zA-Z0-9_:.-]+)$|^(([[:xdigit:]][[:xdigit:]])+)$|^([a-zA-Z0-9.]+=(\\,|[^,])+[, ]+)*([a-zA-Z0-9.]+=(\\,|[^,])+)$', 'complete-handler'=>'certificate-field-completer'}} def type prop_get('type') end def type=(val) prop_set('type', val) end # Local ID string def id prop_get('id') end # Local ID string def id=(val) prop_set('id', val) end end def local_id @subclasses['local-id'] ||= LocalId.new(parent_instance: self, client: @client, create_children: @create_children) end class Authentication < XML::ConfigClass def has_multiple_values?; true; end def _section :authentication end class PreSharedKey < ConfigClass def has_multiple_values?; false; end def _section :'pre-shared-key' end @props = {'key'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'the string used as pre-shared key', 'maxlen'=>'255', 'encrypt'=>'yes', 'skip-commit-validation'=>'yes'}} # the string used as pre-shared key def key prop_get('key') end # the string used as pre-shared key def key=(val) prop_set('key', val) end end def pre_shared_key @subclasses['pre-shared-key'] ||= PreSharedKey.new(parent_instance: self, client: @client, create_children: @create_children) end class Certificate < ConfigClass def has_multiple_values?; false; end def _section :certificate end class LocalCertificate < ConfigClass def has_multiple_values?; false; end def _section :'local-certificate' end class HashAndUrl < ConfigClass def has_multiple_values?; false; end def _section :'hash-and-url' end @props = {'enable'=>{'node-type'=>'element', 'type'=>'bool', 'help-string'=>'Use hash-and-url for local certificate', 'default'=>'no'}, 'base-url'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1024', 'regex'=>'^http://.+$', 'help-string'=>'The host and directory part of URL for local certificates(http only)'}} # Use hash-and-url for local certificate def enable prop_get('enable') end # Use hash-and-url for local certificate def enable=(val) prop_set('enable', val) end # The host and directory part of URL for local certificates(http only) def base_url prop_get('base-url') end # The host and directory part of URL for local certificates(http only) def base_url=(val) prop_set('base-url', val) end end def hash_and_url @subclasses['hash-and-url'] ||= HashAndUrl.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Local certificate name', 'maxlen'=>'255'}} # Local certificate name def name prop_get('name') end # Local certificate name def name=(val) prop_set('name', val) end end def local_certificate @subclasses['local-certificate'] ||= LocalCertificate.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'certificate-profile'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Profile for certificate valdiation during IKE negotiation'}, 'use-management-as-source'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Use management interface IP as source to retrieve http certificates'}, 'strict-validation-revocation'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable strict validation of peer\'s extended key use'}, 'allow-id-payload-mismatch'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Permit peer identification and certificate payload identification mismatch'}} # Profile for certificate valdiation during IKE negotiation def certificate_profile prop_get('certificate-profile') end # Profile for certificate valdiation during IKE negotiation def certificate_profile=(val) prop_set('certificate-profile', val) end # Use management interface IP as source to retrieve http certificates def use_management_as_source prop_get('use-management-as-source') end # Use management interface IP as source to retrieve http certificates def use_management_as_source=(val) prop_set('use-management-as-source', val) end # Enable strict validation of peer's extended key use def strict_validation_revocation prop_get('strict-validation-revocation') end # Enable strict validation of peer's extended key use def strict_validation_revocation=(val) prop_set('strict-validation-revocation', val) end # Permit peer identification and certificate payload identification mismatch def allow_id_payload_mismatch prop_get('allow-id-payload-mismatch') end # Permit peer identification and certificate payload identification mismatch def allow_id_payload_mismatch=(val) prop_set('allow-id-payload-mismatch', val) end end def certificate @subclasses['certificate'] ||= Certificate.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def authentication maybe_register_subclass('authentication', Authentication.new(parent_instance: self, client: @client, create_children: @create_children)) end class Protocol < ConfigClass def has_multiple_values?; false; end def _section :protocol end class Ikev1 < ConfigClass def has_multiple_values?; false; end def _section :ikev1 end class Dpd < ConfigClass def has_multiple_values?; false; end def _section :dpd end @props = {'enable'=>{'node-type'=>'element', 'type'=>'bool', 'help-string'=>'Enable Dead-Peer-Detection', 'default'=>'yes'}, 'interval'=>{'node-type'=>'element', 'optional'=>'yes', 'help-string'=>'sending interval for probing packets (in seconds)', 'type'=>'rangedint', 'min'=>'2', 'max'=>'100', 'default'=>'5'}, 'retry'=>{'node-type'=>'element', 'optional'=>'yes', 'help-string'=>'number of retries before disconnection', 'type'=>'rangedint', 'min'=>'2', 'max'=>'100', 'default'=>'5'}} # Enable Dead-Peer-Detection def enable prop_get('enable') end # Enable Dead-Peer-Detection def enable=(val) prop_set('enable', val) end # sending interval for probing packets (in seconds) def interval prop_get('interval') end # sending interval for probing packets (in seconds) def interval=(val) prop_set('interval', val) end # number of retries before disconnection def retry prop_get('retry') end # number of retries before disconnection def retry=(val) prop_set('retry', val) end end def dpd @subclasses['dpd'] ||= Dpd.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'exchange-mode'=>{'node-type'=>'element', 'type'=>'enum', 'help-string'=>'Exchange mode', 'default'=>'auto', 'optional'=>'yes', 'enum'=>[{'value'=>'auto', 'help-string'=>'choose IKE exchange mode automatically'}, {'value'=>'main', 'help-string'=>'use main mode'}, {'value'=>'aggressive', 'help-string'=>'use aggressive mode'}]}, 'ike-crypto-profile'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'IKE SA crypto profile name', 'default'=>'default', 'optional'=>'yes'}, 'commit-bit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Send commit bit', 'disabled'=>'yes'}, 'initial-contact'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Send initial contact', 'disabled'=>'yes'}} # Exchange mode def exchange_mode prop_get('exchange-mode') end # Exchange mode def exchange_mode=(val) prop_set('exchange-mode', val) end # IKE SA crypto profile name def ike_crypto_profile prop_get('ike-crypto-profile') end # IKE SA crypto profile name def ike_crypto_profile=(val) prop_set('ike-crypto-profile', val) end # Send commit bit def commit_bit prop_get('commit-bit') end # Send commit bit def commit_bit=(val) prop_set('commit-bit', val) end # Send initial contact def initial_contact prop_get('initial-contact') end # Send initial contact def initial_contact=(val) prop_set('initial-contact', val) end end def ikev1 @subclasses['ikev1'] ||= Ikev1.new(parent_instance: self, client: @client, create_children: @create_children) end class Ikev2 < ConfigClass def has_multiple_values?; false; end def _section :ikev2 end class Dpd < ConfigClass def has_multiple_values?; false; end def _section :dpd end @props = {'enable'=>{'node-type'=>'element', 'type'=>'bool', 'help-string'=>'Enable sending empty information liveness check message', 'default'=>'yes'}, 'interval'=>{'node-type'=>'element', 'optional'=>'yes', 'help-string'=>'delay interval before sending probing packets (in seconds)', 'type'=>'rangedint', 'min'=>'2', 'max'=>'100', 'default'=>'5'}} # Enable sending empty information liveness check message def enable prop_get('enable') end # Enable sending empty information liveness check message def enable=(val) prop_set('enable', val) end # delay interval before sending probing packets (in seconds) def interval prop_get('interval') end # delay interval before sending probing packets (in seconds) def interval=(val) prop_set('interval', val) end end def dpd @subclasses['dpd'] ||= Dpd.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'ike-crypto-profile'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'IKE SA crypto profile name', 'default'=>'default', 'optional'=>'yes'}, 'require-cookie'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Require cookie', 'default'=>'no'}, 'send-peer-id'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Send peer ID', 'default'=>'yes', 'disabled'=>'yes'}} # IKE SA crypto profile name def ike_crypto_profile prop_get('ike-crypto-profile') end # IKE SA crypto profile name def ike_crypto_profile=(val) prop_set('ike-crypto-profile', val) end # Require cookie def require_cookie prop_get('require-cookie') end # Require cookie def require_cookie=(val) prop_set('require-cookie', val) end # Send peer ID def send_peer_id prop_get('send-peer-id') end # Send peer ID def send_peer_id=(val) prop_set('send-peer-id', val) end end def ikev2 @subclasses['ikev2'] ||= Ikev2.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'version'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-string'=>'IKE protocol version', 'default'=>'ikev1', 'enum'=>[{'value'=>'ikev1', 'help-string'=>'IKEv1 only mode'}, {'value'=>'ikev2', 'help-string'=>'IKEv2 only mode'}, {'value'=>'ikev2-preferred', 'help-string'=>'IKEv2 preferred mode'}]}} # IKE protocol version def version prop_get('version') end # IKE protocol version def version=(val) prop_set('version', val) end end def protocol @subclasses['protocol'] ||= Protocol.new(parent_instance: self, client: @client, create_children: @create_children) end class ProtocolCommon < ConfigClass def has_multiple_values?; false; end def _section :'protocol-common' end class NatTraversal < ConfigClass def has_multiple_values?; false; end def _section :'nat-traversal' end @props = {'enable'=>{'node-type'=>'element', 'help-string'=>'Enable NAT-Traversal', 'type'=>'bool', 'default'=>'no'}, 'keep-alive-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'help-string'=>'sending interval for NAT keep-alive packets (in seconds)', 'type'=>'rangedint', 'min'=>'10', 'max'=>'3600', 'default'=>'20'}, 'udp-checksum-enable'=>{'node-type'=>'element', 'optional'=>'yes', 'help-string'=>'Enable UDP checksum', 'type'=>'bool', 'default'=>'no'}} # Enable NAT-Traversal def enable prop_get('enable') end # Enable NAT-Traversal def enable=(val) prop_set('enable', val) end # sending interval for NAT keep-alive packets (in seconds) def keep_alive_interval prop_get('keep-alive-interval') end # sending interval for NAT keep-alive packets (in seconds) def keep_alive_interval=(val) prop_set('keep-alive-interval', val) end # Enable UDP checksum def udp_checksum_enable prop_get('udp-checksum-enable') end # Enable UDP checksum def udp_checksum_enable=(val) prop_set('udp-checksum-enable', val) end end def nat_traversal @subclasses['nat-traversal'] ||= NatTraversal.new(parent_instance: self, client: @client, create_children: @create_children) end class Fragmentation < ConfigClass def has_multiple_values?; false; end def _section :fragmentation end @props = {'enable'=>{'node-type'=>'element', 'type'=>'bool', 'help-string'=>'Enable IKE fragmentation', 'default'=>'no'}} # Enable IKE fragmentation def enable prop_get('enable') end # Enable IKE fragmentation def enable=(val) prop_set('enable', val) end end def fragmentation @subclasses['fragmentation'] ||= Fragmentation.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'passive-mode'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Enable passive mode (responder only)', 'default'=>'no'}} # Enable passive mode (responder only) def passive_mode prop_get('passive-mode') end # Enable passive mode (responder only) def passive_mode=(val) prop_set('passive-mode', val) end end def protocol_common @subclasses['protocol-common'] ||= ProtocolCommon.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string begin with letter: [0-9a-zA-Z._-]', 'regex'=>'^[a-zA-Z]{1}[0-9a-zA-Z._-]*$'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable the IKE gateway'}, 'ipv6'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'use IPv6 for the IKE gateway'}, 'comment'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'0', 'maxlen'=>'1023'}} # alphanumeric string begin with letter: [0-9a-zA-Z._-] def name prop_get('@name') end # Disable the IKE gateway def disabled prop_get('disabled') end # Disable the IKE gateway def disabled=(val) prop_set('disabled', val) end # use IPv6 for the IKE gateway def ipv6 prop_get('ipv6') end # use IPv6 for the IKE gateway def ipv6=(val) prop_set('ipv6', val) end def comment prop_get('comment') end def comment=(val) prop_set('comment', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def gateway maybe_register_subclass('gateway', Gateway.new(parent_instance: self, client: @client, create_children: @create_children)) end class CryptoProfiles < ConfigClass def has_multiple_values?; false; end def _section :'crypto-profiles' end class IkeCryptoProfiles < XML::ConfigClass def has_multiple_values?; true; end def _section :'ike-crypto-profiles' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Encryption < XML::ConfigClass def has_multiple_values?; true; end def _section :encryption end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'aes-128-cbc', 'enum'=>[{'value'=>'3des', 'prune-on'=>'cc-only-mode', 'help-string'=>'NIST rating 112-bit strength'}, {'value'=>'aes-128-cbc', 'help-string'=>'NIST rating 128-bit strength'}, {'value'=>'aes-192-cbc', 'help-string'=>'NIST rating 192-bit strength'}, {'value'=>'aes-256-cbc', 'help-string'=>'NIST rating 256-bit strength'}, {'value'=>'aes-128-gcm', 'help-string'=>'NIST rating 128-bit strength AES GCM 16'}, {'value'=>'aes-256-gcm', 'help-string'=>'NIST rating 256-bit strength AES GCM 16'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def encryption maybe_register_subclass('encryption', Encryption.new(parent_instance: self, client: @client, create_children: @create_children)) end class Hash < XML::ConfigClass def has_multiple_values?; true; end def _section :hash end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'sha1', 'enum'=>[{'value'=>'non-auth', 'help-string'=>'Integrity check is unnecessary when AESGCM is chosen'}, {'value'=>'md5', 'prune-on'=>'fips-mode', 'help-string'=>'below 80-bit strength'}, {'value'=>'sha1', 'help-string'=>'NIST rating 128-bit strength'}, {'value'=>'sha256', 'help-string'=>'NIST rating 256-bit strength'}, {'value'=>'sha384', 'help-string'=>'NIST rating over 256-bit strength'}, {'value'=>'sha512', 'help-string'=>'NIST rating over 256-bit strength'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def hash maybe_register_subclass('hash', Hash.new(parent_instance: self, client: @client, create_children: @create_children)) end class DhGroup < XML::ConfigClass def has_multiple_values?; true; end def _section :'dh-group' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'group2', 'enum'=>[{'value'=>'group1', 'prune-on'=>'fips-mode', 'help-string'=>'768-bit MODP Group'}, {'value'=>'group2', 'prune-on'=>'fips-mode', 'help-string'=>'1024-bit MODP Group, NIST rating 80-bit strength'}, {'value'=>'group5', 'prune-on'=>'fips-mode', 'help-string'=>'1536-bit MODP Group'}, {'value'=>'group14', 'help-string'=>'2048-bit MODP Group, NIST rating 112-bit strength'}, {'value'=>'group15', 'help-string'=>'3027-bit MODP Group, NIST rating 112-bit strength'}, {'value'=>'group16', 'help-string'=>'4096-bit MODP Group, NIST rating 112-bit strength'}, {'value'=>'group19', 'help-string'=>'256-bit random ECP Group'}, {'value'=>'group20', 'help-string'=>'384-bit random ECP Group'}, {'value'=>'group21', 'help-string'=>'512-bit random ECP Group'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def dh_group maybe_register_subclass('dh-group', DhGroup.new(parent_instance: self, client: @client, create_children: @create_children)) end class Lifetime < XML::ConfigClass def has_multiple_values?; true; end def _section :lifetime end @props = {'seconds'=>{'node-type'=>'element', 'help-string'=>'specify lifetime in seconds', 'type'=>'rangedint', 'max'=>'65535', 'min'=>'180'}, 'minutes'=>{'node-type'=>'element', 'help-string'=>'specify lifetime in minutes', 'type'=>'rangedint', 'max'=>'65535', 'min'=>'3'}, 'hours'=>{'node-type'=>'element', 'help-string'=>'specify lifetime in hours', 'type'=>'rangedint', 'max'=>'65535', 'min'=>'1', 'default'=>'8'}, 'days'=>{'node-type'=>'element', 'help-string'=>'specify lifetime in days', 'type'=>'rangedint', 'max'=>'365', 'min'=>'1'}} # specify lifetime in seconds def seconds prop_get('seconds') end # specify lifetime in seconds def seconds=(val) prop_set('seconds', val) end # specify lifetime in minutes def minutes prop_get('minutes') end # specify lifetime in minutes def minutes=(val) prop_set('minutes', val) end # specify lifetime in hours def hours prop_get('hours') end # specify lifetime in hours def hours=(val) prop_set('hours', val) end # specify lifetime in days def days prop_get('days') end # specify lifetime in days def days=(val) prop_set('days', val) end end def lifetime maybe_register_subclass('lifetime', Lifetime.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string begin with letter: [0-9a-zA-Z._-]', 'regex'=>'^[a-zA-Z]{1}[0-9a-zA-Z._-]*$'}, 'authentication-multiple'=>{'node-type'=>'element', 'help-string'=>'IKEv2 SA reauthentication interval equals authetication-multiple * rekey-lifetime; 0 means reauthentication disabled', 'type'=>'rangedint', 'max'=>'50', 'optional'=>'yes', 'default'=>'0'}} # alphanumeric string begin with letter: [0-9a-zA-Z._-] def name prop_get('@name') end # IKEv2 SA reauthentication interval equals authetication-multiple * rekey-lifetime; 0 means reauthentication disabled def authentication_multiple prop_get('authentication-multiple') end # IKEv2 SA reauthentication interval equals authetication-multiple * rekey-lifetime; 0 means reauthentication disabled def authentication_multiple=(val) prop_set('authentication-multiple', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ike_crypto_profiles maybe_register_subclass('ike-crypto-profiles', IkeCryptoProfiles.new(parent_instance: self, client: @client, create_children: @create_children)) end class IpsecCryptoProfiles < XML::ConfigClass def has_multiple_values?; true; end def _section :'ipsec-crypto-profiles' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Esp < ConfigClass def has_multiple_values?; false; end def _section :esp end class Encryption < XML::ConfigClass def has_multiple_values?; true; end def _section :encryption end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'aes-128-cbc', 'enum'=>[{'value'=>'3des', 'prune-on'=>'cc-only-mode', 'help-string'=>'NIST rating 112-bit strength'}, {'value'=>'aes-128-cbc', 'help-string'=>'NIST rating 128-bit strength'}, {'value'=>'aes-192-cbc', 'help-string'=>'NIST rating 192-bit strength'}, {'value'=>'aes-256-cbc', 'help-string'=>'NIST rating 256-bit strength'}, {'value'=>'aes-128-ccm', 'help-string'=>'NIST rating 128-bit strength, AES CCM 16'}, {'value'=>'aes-128-gcm', 'help-string'=>'NIST rating 128-bit strength, AES GCM 16'}, {'value'=>'aes-256-gcm', 'help-string'=>'NIST rating 256-bit strength, AES GCM 16'}, {'value'=>'null', 'prune-on'=>'fips-mode'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def encryption maybe_register_subclass('encryption', Encryption.new(parent_instance: self, client: @client, create_children: @create_children)) end class Authentication < XML::ConfigClass def has_multiple_values?; true; end def _section :authentication end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'default'=>'sha1', 'complete-handler'=>'esp-auth-completer'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def authentication maybe_register_subclass('authentication', Authentication.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def esp @subclasses['esp'] ||= Esp.new(parent_instance: self, client: @client, create_children: @create_children) end class Ah < ConfigClass def has_multiple_values?; false; end def _section :ah end class Authentication < XML::ConfigClass def has_multiple_values?; true; end def _section :authentication end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'sha1', 'enum'=>[{'value'=>'md5', 'prune-on'=>'fips-mode', 'help-string'=>'below 80-bit strength'}, {'value'=>'sha1', 'help-string'=>'NIST rating 128-bit strength'}, {'value'=>'sha256', 'help-string'=>'NIST rating 256-bit strength'}, {'value'=>'sha384', 'help-string'=>'NIST rating over 256-bit strength'}, {'value'=>'sha512', 'help-string'=>'NIST rating over 256-bit strength'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def authentication maybe_register_subclass('authentication', Authentication.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def ah @subclasses['ah'] ||= Ah.new(parent_instance: self, client: @client, create_children: @create_children) end class Lifetime < XML::ConfigClass def has_multiple_values?; true; end def _section :lifetime end @props = {'seconds'=>{'node-type'=>'element', 'help-string'=>'specify lifetime in seconds', 'type'=>'rangedint', 'max'=>'65535', 'min'=>'180'}, 'minutes'=>{'node-type'=>'element', 'help-string'=>'specify lifetime in minutes', 'type'=>'rangedint', 'max'=>'65535', 'min'=>'3'}, 'hours'=>{'node-type'=>'element', 'help-string'=>'specify lifetime in hours', 'type'=>'rangedint', 'max'=>'65535', 'min'=>'1', 'default'=>'1'}, 'days'=>{'node-type'=>'element', 'help-string'=>'specify lifetime in days', 'type'=>'rangedint', 'max'=>'365', 'min'=>'1'}} # specify lifetime in seconds def seconds prop_get('seconds') end # specify lifetime in seconds def seconds=(val) prop_set('seconds', val) end # specify lifetime in minutes def minutes prop_get('minutes') end # specify lifetime in minutes def minutes=(val) prop_set('minutes', val) end # specify lifetime in hours def hours prop_get('hours') end # specify lifetime in hours def hours=(val) prop_set('hours', val) end # specify lifetime in days def days prop_get('days') end # specify lifetime in days def days=(val) prop_set('days', val) end end def lifetime maybe_register_subclass('lifetime', Lifetime.new(parent_instance: self, client: @client, create_children: @create_children)) end class Lifesize < XML::ConfigClass def has_multiple_values?; true; end def _section :lifesize end @props = {'kb'=>{'node-type'=>'element', 'help-string'=>'specify lifesize in kilobytes(KB)', 'optional'=>'yes', 'type'=>'rangedint', 'max'=>'65535', 'min'=>'1'}, 'mb'=>{'node-type'=>'element', 'help-string'=>'specify lifesize in megabytes(MB)', 'optional'=>'yes', 'type'=>'rangedint', 'max'=>'65535', 'min'=>'1'}, 'gb'=>{'node-type'=>'element', 'help-string'=>'specify lifesize in gigabytes(GB)', 'optional'=>'yes', 'type'=>'rangedint', 'max'=>'65535', 'min'=>'1'}, 'tb'=>{'node-type'=>'element', 'help-string'=>'specify lifesize in terabytes(TB)', 'optional'=>'yes', 'type'=>'rangedint', 'max'=>'65535', 'min'=>'1'}} # specify lifesize in kilobytes(KB) def kb prop_get('kb') end # specify lifesize in kilobytes(KB) def kb=(val) prop_set('kb', val) end # specify lifesize in megabytes(MB) def mb prop_get('mb') end # specify lifesize in megabytes(MB) def mb=(val) prop_set('mb', val) end # specify lifesize in gigabytes(GB) def gb prop_get('gb') end # specify lifesize in gigabytes(GB) def gb=(val) prop_set('gb', val) end # specify lifesize in terabytes(TB) def tb prop_get('tb') end # specify lifesize in terabytes(TB) def tb=(val) prop_set('tb', val) end end def lifesize maybe_register_subclass('lifesize', Lifesize.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string begin with letter: [0-9a-zA-Z._-]', 'regex'=>'^[a-zA-Z]{1}[0-9a-zA-Z._-]*$'}, 'dh-group'=>{'node-type'=>'element', 'type'=>'enum', 'help-string'=>'phase-2 DH group (PFS DH group)', 'optional'=>'yes', 'default'=>'group2', 'enum'=>[{'value'=>'no-pfs', 'prune-on'=>'fips-mode', 'help-string'=>'disable PFS feature'}, {'value'=>'group1', 'prune-on'=>'fips-mode', 'help-string'=>'768-bit MODP Group'}, {'value'=>'group2', 'prune-on'=>'fips-mode', 'help-string'=>'1024-bit MODP Group, NIST rating 80-bit strength'}, {'value'=>'group5', 'prune-on'=>'fips-mode', 'help-string'=>'1536-bit MODP Group'}, {'value'=>'group14', 'help-string'=>'2048-bit MODP Group, NIST rating 112-bit strength'}, {'value'=>'group15', 'help-string'=>'3027-bit MODP Group, NIST rating 112-bit strength'}, {'value'=>'group16', 'help-string'=>'4096-bit MODP Group, NIST rating 112-bit strength'}, {'value'=>'group19', 'help-string'=>'256-bit random ECP Group'}, {'value'=>'group20', 'help-string'=>'384-bit random ECP Group'}, {'value'=>'group21', 'help-string'=>'512-bit random ECP Group'}]}} # alphanumeric string begin with letter: [0-9a-zA-Z._-] def name prop_get('@name') end # phase-2 DH group (PFS DH group) def dh_group prop_get('dh-group') end # phase-2 DH group (PFS DH group) def dh_group=(val) prop_set('dh-group', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ipsec_crypto_profiles maybe_register_subclass('ipsec-crypto-profiles', IpsecCryptoProfiles.new(parent_instance: self, client: @client, create_children: @create_children)) end class GlobalProtectAppCryptoProfiles < XML::ConfigClass def has_multiple_values?; true; end def _section :'global-protect-app-crypto-profiles' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Encryption < XML::ConfigClass def has_multiple_values?; true; end def _section :encryption end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'aes-128-cbc', 'enum'=>[{'value'=>'aes-128-cbc', 'help-string'=>'NIST rating 128-bit strength'}, {'value'=>'aes-128-gcm', 'help-string'=>'NIST rating 128-bit strength, AES GCM 16'}, {'value'=>'aes-256-gcm', 'help-string'=>'NIST rating 256-bit strength, AES GCM 16'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def encryption maybe_register_subclass('encryption', Encryption.new(parent_instance: self, client: @client, create_children: @create_children)) end class Authentication < XML::ConfigClass def has_multiple_values?; true; end def _section :authentication end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'sha1', 'enum'=>[{'value'=>'sha1', 'help-string'=>'NIST rating 128-bit strength'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def authentication maybe_register_subclass('authentication', Authentication.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string begin with letter: [0-9a-zA-Z._-]', 'regex'=>'^[a-zA-Z]{1}[0-9a-zA-Z._-]*$'}} # alphanumeric string begin with letter: [0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def global_protect_app_crypto_profiles maybe_register_subclass('global-protect-app-crypto-profiles', GlobalProtectAppCryptoProfiles.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def crypto_profiles @subclasses['crypto-profiles'] ||= CryptoProfiles.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ike @subclasses['ike'] ||= Ike.new(parent_instance: self, client: @client, create_children: @create_children) end class Tunnel < ConfigClass def has_multiple_values?; false; end def _section :tunnel end class Hop < XML::ConfigClass def has_multiple_values?; true; end def _section :hop end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class PeerAddress < ConfigClass def has_multiple_values?; false; end def _section :'peer-address' end @props = {'ip'=>{'node-type'=>'element', 'type'=>'ipspec', 'unicast-only'=>'yes', 'help-string'=>'Tunnel peer IP address'}} # Tunnel peer IP address def ip prop_get('ip') end # Tunnel peer IP address def ip=(val) prop_set('ip', val) end end def peer_address @subclasses['peer-address'] ||= PeerAddress.new(parent_instance: self, client: @client, create_children: @create_children) end class LocalAddress < ConfigClass def has_multiple_values?; false; end def _section :'local-address' end @props = {'interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Interface to termate tunnel'}, 'ip'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-only'=>'yes', 'help-string'=>'IP address if interface has multiple addresses'}} # Interface to termate tunnel def interface prop_get('interface') end # Interface to termate tunnel def interface=(val) prop_set('interface', val) end # IP address if interface has multiple addresses def ip prop_get('ip') end # IP address if interface has multiple addresses def ip=(val) prop_set('ip', val) end end def local_address @subclasses['local-address'] ||= LocalAddress.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'tunnel-interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Tunnel interface to bind'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # Tunnel interface to bind def tunnel_interface prop_get('tunnel-interface') end # Tunnel interface to bind def tunnel_interface=(val) prop_set('tunnel-interface', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def hop maybe_register_subclass('hop', Hop.new(parent_instance: self, client: @client, create_children: @create_children)) end class Gre < XML::ConfigClass def has_multiple_values?; true; end def _section :gre end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class LocalAddress < ConfigClass def has_multiple_values?; false; end def _section :'local-address' end @props = {'interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Interface to terminate tunnel'}, 'ip'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'specify exact IP address if interface has multiple addresses'}, 'floating-ip'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.tunnel.gre.local-address.floating-ip-disable=True', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Floating IP address in HA Active-Active configuration'}} # Interface to terminate tunnel def interface prop_get('interface') end # Interface to terminate tunnel def interface=(val) prop_set('interface', val) end # specify exact IP address if interface has multiple addresses def ip prop_get('ip') end # specify exact IP address if interface has multiple addresses def ip=(val) prop_set('ip', val) end # Floating IP address in HA Active-Active configuration def floating_ip prop_get('floating-ip') end # Floating IP address in HA Active-Active configuration def floating_ip=(val) prop_set('floating-ip', val) end end def local_address @subclasses['local-address'] ||= LocalAddress.new(parent_instance: self, client: @client, create_children: @create_children) end class PeerAddress < ConfigClass def has_multiple_values?; false; end def _section :'peer-address' end @props = {'ip'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Peer IP address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # Peer IP address def ip prop_get('ip') end # Peer IP address def ip=(val) prop_set('ip', val) end end def peer_address @subclasses['peer-address'] ||= PeerAddress.new(parent_instance: self, client: @client, create_children: @create_children) end class KeepAlive < ConfigClass def has_multiple_values?; false; end def _section :'keep-alive' end @props = {'enable'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Enable tunnel monitoring on this tunnel'}, 'interval'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'1', 'max'=>'50', 'default'=>'10', 'help-string'=>'Interval'}, 'retry'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'1', 'max'=>'64', 'default'=>'3', 'help-string'=>'Retry'}, 'hold-timer'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'1', 'max'=>'64', 'default'=>'5', 'help-string'=>'Hold timer'}} # Enable tunnel monitoring on this tunnel def enable prop_get('enable') end # Enable tunnel monitoring on this tunnel def enable=(val) prop_set('enable', val) end # Interval def interval prop_get('interval') end # Interval def interval=(val) prop_set('interval', val) end # Retry def retry prop_get('retry') end # Retry def retry=(val) prop_set('retry', val) end # Hold timer def hold_timer prop_get('hold-timer') end # Hold timer def hold_timer=(val) prop_set('hold-timer', val) end end def keep_alive @subclasses['keep-alive'] ||= KeepAlive.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string begin with letter: [0-9a-zA-Z._-]', 'regex'=>'^[a-zA-Z]{1}[0-9a-zA-Z._-]*$'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable the GRE tunnel'}, 'copy-tos'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Copy IP TOS bits from inner packet to GRE packet'}, 'erspan'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'tap mode for ERSPAN'}, 'ttl'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'1', 'max'=>'255', 'default'=>'64', 'help-string'=>'TTL'}, 'tunnel-interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'to apply GRE tunnels to tunnel interface'}} # alphanumeric string begin with letter: [0-9a-zA-Z._-] def name prop_get('@name') end # Disable the GRE tunnel def disabled prop_get('disabled') end # Disable the GRE tunnel def disabled=(val) prop_set('disabled', val) end # Copy IP TOS bits from inner packet to GRE packet def copy_tos prop_get('copy-tos') end # Copy IP TOS bits from inner packet to GRE packet def copy_tos=(val) prop_set('copy-tos', val) end # tap mode for ERSPAN def erspan prop_get('erspan') end # tap mode for ERSPAN def erspan=(val) prop_set('erspan', val) end # TTL def ttl prop_get('ttl') end # TTL def ttl=(val) prop_set('ttl', val) end # to apply GRE tunnels to tunnel interface def tunnel_interface prop_get('tunnel-interface') end # to apply GRE tunnels to tunnel interface def tunnel_interface=(val) prop_set('tunnel-interface', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def gre maybe_register_subclass('gre', Gre.new(parent_instance: self, client: @client, create_children: @create_children)) end class Ipsec < XML::ConfigClass def has_multiple_values?; true; end def _section :ipsec end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class TunnelMonitor < ConfigClass def has_multiple_values?; false; end def _section :'tunnel-monitor' end @props = {'enable'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Enable tunnel monitoring on this tunnel'}, 'destination-ip'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'Destination IP to send ICMP probe', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'proxy-id'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Which proxy-id (or proxy-id-v6) the monitoring traffic will use'}, 'tunnel-monitor-profile'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'monitoring action', 'optional'=>'yes'}} # Enable tunnel monitoring on this tunnel def enable prop_get('enable') end # Enable tunnel monitoring on this tunnel def enable=(val) prop_set('enable', val) end # Destination IP to send ICMP probe def destination_ip prop_get('destination-ip') end # Destination IP to send ICMP probe def destination_ip=(val) prop_set('destination-ip', val) end # Which proxy-id (or proxy-id-v6) the monitoring traffic will use def proxy_id prop_get('proxy-id') end # Which proxy-id (or proxy-id-v6) the monitoring traffic will use def proxy_id=(val) prop_set('proxy-id', val) end # monitoring action def tunnel_monitor_profile prop_get('tunnel-monitor-profile') end # monitoring action def tunnel_monitor_profile=(val) prop_set('tunnel-monitor-profile', val) end end def tunnel_monitor @subclasses['tunnel-monitor'] ||= TunnelMonitor.new(parent_instance: self, client: @client, create_children: @create_children) end class AutoKey < ConfigClass def has_multiple_values?; false; end def _section :'auto-key' end class IkeGateway < XML::ConfigClass def has_multiple_values?; true; end def _section :'ike-gateway' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'IKE gateway name'}, 'as-nexthop'=>{'node-type'=>'element', 'disabled'=>'yes', 'type'=>'ipspec', 'unicast-only'=>'yes', 'optional'=>'yes', 'help-string'=>'manually register this IKE gateway as the given nexthop value'}} # IKE gateway name def name prop_get('@name') end # manually register this IKE gateway as the given nexthop value def as_nexthop prop_get('as-nexthop') end # manually register this IKE gateway as the given nexthop value def as_nexthop=(val) prop_set('as-nexthop', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ike_gateway maybe_register_subclass('ike-gateway', IkeGateway.new(parent_instance: self, client: @client, create_children: @create_children)) end class ProxyId < XML::ConfigClass def has_multiple_values?; true; end def _section :'proxy-id' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Protocol < XML::ConfigClass def has_multiple_values?; true; end def _section :protocol end class Any < ConfigClass def has_multiple_values?; false; end def _section :any end @props = {} end def any @subclasses['any'] ||= Any.new(parent_instance: self, client: @client, create_children: @create_children) end class Tcp < ConfigClass def has_multiple_values?; false; end def _section :tcp end @props = {'local-port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535', 'default'=>'0', 'optional'=>'yes'}, 'remote-port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535', 'default'=>'0', 'optional'=>'yes'}} def local_port prop_get('local-port') end def local_port=(val) prop_set('local-port', val) end def remote_port prop_get('remote-port') end def remote_port=(val) prop_set('remote-port', val) end end def tcp @subclasses['tcp'] ||= Tcp.new(parent_instance: self, client: @client, create_children: @create_children) end class Udp < ConfigClass def has_multiple_values?; false; end def _section :udp end @props = {'local-port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535', 'default'=>'0', 'optional'=>'yes'}, 'remote-port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535', 'default'=>'0', 'optional'=>'yes'}} def local_port prop_get('local-port') end def local_port=(val) prop_set('local-port', val) end def remote_port prop_get('remote-port') end def remote_port=(val) prop_set('remote-port', val) end end def udp @subclasses['udp'] ||= Udp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'number'=>{'node-type'=>'element', 'help-string'=>'IP protocol number', 'type'=>'rangedint', 'min'=>'1', 'max'=>'254', 'no-default'=>'yes'}} # IP protocol number def number prop_get('number') end # IP protocol number def number=(val) prop_set('number', val) end end def protocol maybe_register_subclass('protocol', Protocol.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string begin with letter: [0-9a-zA-Z._-]', 'regex'=>'^[a-zA-Z]{1}[0-9a-zA-Z._-]*$'}, 'local'=>{'node-type'=>'element', 'help-string'=>'IP subnet or IP address represents local network', 'type'=>'multiple', 'optional'=>'yes', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'remote'=>{'node-type'=>'element', 'help-string'=>'IP subnet or IP address represents remote network', 'type'=>'multiple', 'ipv4-only'=>'yes', 'optional'=>'yes', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}}}} # alphanumeric string begin with letter: [0-9a-zA-Z._-] def name prop_get('@name') end # IP subnet or IP address represents local network def local prop_get('local') end # IP subnet or IP address represents local network def local=(val) prop_set('local', val) end # IP subnet or IP address represents remote network def remote prop_get('remote') end # IP subnet or IP address represents remote network def remote=(val) prop_set('remote', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def proxy_id maybe_register_subclass('proxy-id', ProxyId.new(parent_instance: self, client: @client, create_children: @create_children)) end class ProxyIdV6 < XML::ConfigClass def has_multiple_values?; true; end def _section :'proxy-id-v6' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Protocol < XML::ConfigClass def has_multiple_values?; true; end def _section :protocol end class Any < ConfigClass def has_multiple_values?; false; end def _section :any end @props = {} end def any @subclasses['any'] ||= Any.new(parent_instance: self, client: @client, create_children: @create_children) end class Tcp < ConfigClass def has_multiple_values?; false; end def _section :tcp end @props = {'local-port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535', 'default'=>'0', 'optional'=>'yes'}, 'remote-port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535', 'default'=>'0', 'optional'=>'yes'}} def local_port prop_get('local-port') end def local_port=(val) prop_set('local-port', val) end def remote_port prop_get('remote-port') end def remote_port=(val) prop_set('remote-port', val) end end def tcp @subclasses['tcp'] ||= Tcp.new(parent_instance: self, client: @client, create_children: @create_children) end class Udp < ConfigClass def has_multiple_values?; false; end def _section :udp end @props = {'local-port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535', 'default'=>'0', 'optional'=>'yes'}, 'remote-port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535', 'default'=>'0', 'optional'=>'yes'}} def local_port prop_get('local-port') end def local_port=(val) prop_set('local-port', val) end def remote_port prop_get('remote-port') end def remote_port=(val) prop_set('remote-port', val) end end def udp @subclasses['udp'] ||= Udp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'number'=>{'node-type'=>'element', 'help-string'=>'IP protocol number', 'type'=>'rangedint', 'min'=>'1', 'max'=>'254', 'no-default'=>'yes'}} # IP protocol number def number prop_get('number') end # IP protocol number def number=(val) prop_set('number', val) end end def protocol maybe_register_subclass('protocol', Protocol.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string begin with letter: [0-9a-zA-Z._-]', 'regex'=>'^[a-zA-Z]{1}[0-9a-zA-Z._-]*$'}, 'local'=>{'node-type'=>'element', 'help-string'=>'IP subnet or IP address represents local network', 'type'=>'multiple', 'optional'=>'yes', 'multi-types'=>{'ipspec'=>{'ipv6-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'remote'=>{'node-type'=>'element', 'help-string'=>'IP subnet or IP address represents remote network', 'type'=>'multiple', 'ipv6-only'=>'yes', 'optional'=>'yes', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}}}} # alphanumeric string begin with letter: [0-9a-zA-Z._-] def name prop_get('@name') end # IP subnet or IP address represents local network def local prop_get('local') end # IP subnet or IP address represents local network def local=(val) prop_set('local', val) end # IP subnet or IP address represents remote network def remote prop_get('remote') end # IP subnet or IP address represents remote network def remote=(val) prop_set('remote', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def proxy_id_v6 maybe_register_subclass('proxy-id-v6', ProxyIdV6.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'ipsec-crypto-profile'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'IPSec crypto profile name', 'optional'=>'yes', 'default'=>'default'}} # IPSec crypto profile name def ipsec_crypto_profile prop_get('ipsec-crypto-profile') end # IPSec crypto profile name def ipsec_crypto_profile=(val) prop_set('ipsec-crypto-profile', val) end end def auto_key @subclasses['auto-key'] ||= AutoKey.new(parent_instance: self, client: @client, create_children: @create_children) end class ManualKey < ConfigClass def has_multiple_values?; false; end def _section :'manual-key' end class PeerAddress < ConfigClass def has_multiple_values?; false; end def _section :'peer-address' end @props = {'ip'=>{'node-type'=>'element', 'type'=>'ipspec', 'unicast-only'=>'yes', 'help-string'=>'Tunnel peer IP address'}} # Tunnel peer IP address def ip prop_get('ip') end # Tunnel peer IP address def ip=(val) prop_set('ip', val) end end def peer_address @subclasses['peer-address'] ||= PeerAddress.new(parent_instance: self, client: @client, create_children: @create_children) end class LocalAddress < ConfigClass def has_multiple_values?; false; end def _section :'local-address' end @props = {'interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Interface to termate tunnel'}, 'ip'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'specify exact IP address if interface has multiple addresses'}, 'floating-ip'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.vpn-srcaddr.floating-ip-disable=True', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Floating IP address in HA Active-Active configuration'}} # Interface to termate tunnel def interface prop_get('interface') end # Interface to termate tunnel def interface=(val) prop_set('interface', val) end # specify exact IP address if interface has multiple addresses def ip prop_get('ip') end # specify exact IP address if interface has multiple addresses def ip=(val) prop_set('ip', val) end # Floating IP address in HA Active-Active configuration def floating_ip prop_get('floating-ip') end # Floating IP address in HA Active-Active configuration def floating_ip=(val) prop_set('floating-ip', val) end end def local_address @subclasses['local-address'] ||= LocalAddress.new(parent_instance: self, client: @client, create_children: @create_children) end class Esp < ConfigClass def has_multiple_values?; false; end def _section :esp end class Authentication < ConfigClass def has_multiple_values?; false; end def _section :authentication end class Md5 < ConfigClass def has_multiple_values?; false; end def _section :md5 end @props = {'key'=>{'node-type'=>'element', 'maxlen'=>'255', 'type'=>'string', 'encrypt'=>'yes', 'show-help-tip'=>'yes', 'help-string'=>'hex format xxxxxxxx[-xxxxxxxx]... total 4 sections', 'regex'=>'^([0-9a-fA-F]{8}-){3}[0-9a-fA-F]{8}$'}} # hex format xxxxxxxx[-xxxxxxxx]... total 4 sections def key prop_get('key') end # hex format xxxxxxxx[-xxxxxxxx]... total 4 sections def key=(val) prop_set('key', val) end end def md5 @subclasses['md5'] ||= Md5.new(parent_instance: self, client: @client, create_children: @create_children) end class Sha1 < ConfigClass def has_multiple_values?; false; end def _section :sha1 end @props = {'key'=>{'node-type'=>'element', 'maxlen'=>'255', 'type'=>'string', 'encrypt'=>'yes', 'show-help-tip'=>'yes', 'help-string'=>'hex format xxxxxxxx[-xxxxxxxx]... total 5 sections', 'regex'=>'^([0-9a-fA-F]{8}-){4}[0-9a-fA-F]{8}$'}} # hex format xxxxxxxx[-xxxxxxxx]... total 5 sections def key prop_get('key') end # hex format xxxxxxxx[-xxxxxxxx]... total 5 sections def key=(val) prop_set('key', val) end end def sha1 @subclasses['sha1'] ||= Sha1.new(parent_instance: self, client: @client, create_children: @create_children) end class Sha256 < ConfigClass def has_multiple_values?; false; end def _section :sha256 end @props = {'key'=>{'node-type'=>'element', 'maxlen'=>'255', 'type'=>'string', 'encrypt'=>'yes', 'show-help-tip'=>'yes', 'help-string'=>'hex format xxxxxxxx[-xxxxxxxx]... total 8 sections', 'regex'=>'^([0-9a-fA-F]{8}-){7}[0-9a-fA-F]{8}$'}} # hex format xxxxxxxx[-xxxxxxxx]... total 8 sections def key prop_get('key') end # hex format xxxxxxxx[-xxxxxxxx]... total 8 sections def key=(val) prop_set('key', val) end end def sha256 @subclasses['sha256'] ||= Sha256.new(parent_instance: self, client: @client, create_children: @create_children) end class Sha384 < ConfigClass def has_multiple_values?; false; end def _section :sha384 end @props = {'key'=>{'node-type'=>'element', 'maxlen'=>'255', 'type'=>'string', 'encrypt'=>'yes', 'show-help-tip'=>'yes', 'help-string'=>'hex format xxxxxxxx[-xxxxxxxx]... total 12 sections', 'regex'=>'^([0-9a-fA-F]{8}-){11}[0-9a-fA-F]{8}$'}} # hex format xxxxxxxx[-xxxxxxxx]... total 12 sections def key prop_get('key') end # hex format xxxxxxxx[-xxxxxxxx]... total 12 sections def key=(val) prop_set('key', val) end end def sha384 @subclasses['sha384'] ||= Sha384.new(parent_instance: self, client: @client, create_children: @create_children) end class Sha512 < ConfigClass def has_multiple_values?; false; end def _section :sha512 end @props = {'key'=>{'node-type'=>'element', 'maxlen'=>'255', 'type'=>'string', 'encrypt'=>'yes', 'show-help-tip'=>'yes', 'help-string'=>'hex format xxxxxxxx[-xxxxxxxx]... total 16 sections', 'regex'=>'^([0-9a-fA-F]{8}-){15}[0-9a-fA-F]{8}$'}} # hex format xxxxxxxx[-xxxxxxxx]... total 16 sections def key prop_get('key') end # hex format xxxxxxxx[-xxxxxxxx]... total 16 sections def key=(val) prop_set('key', val) end end def sha512 @subclasses['sha512'] ||= Sha512.new(parent_instance: self, client: @client, create_children: @create_children) end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def authentication @subclasses['authentication'] ||= Authentication.new(parent_instance: self, client: @client, create_children: @create_children) end class Encryption < ConfigClass def has_multiple_values?; false; end def _section :encryption end @props = {'algorithm'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'aes-128-cbc', 'enum'=>[{'value'=>'des', 'prune-on'=>'cc-only-mode', 'help-string'=>'key is 64 bit'}, {'value'=>'3des', 'prune-on'=>'cc-only-mode', 'help-string'=>'key is 192 bit'}, {'value'=>'aes-128-cbc', 'help-string'=>'key is 128 bit'}, {'value'=>'aes-192-cbc', 'help-string'=>'key is 192 bit'}, {'value'=>'aes-256-cbc', 'help-string'=>'key is 256 bit'}, {'value'=>'null', 'prune-on'=>'fips-mode'}]}, 'key'=>{'node-type'=>'element', 'optional'=>'yes', 'maxlen'=>'255', 'type'=>'string', 'encrypt'=>'yes', 'show-help-tip'=>'yes', 'help-string'=>'hex format xxxxxxxx[-xxxxxxxx]... total number of sections: des: 2, 3des: 6, aes-128-cbc: 4, aes-192-cbc: 6, aes-256-cbc: 8', 'regex'=>'^([0-9a-fA-F]{8}-[0-9a-fA-F]{8}-){0,3}[0-9a-fA-F]{8}-[0-9a-fA-F]{8}$'}} def algorithm prop_get('algorithm') end def algorithm=(val) prop_set('algorithm', val) end # hex format xxxxxxxx[-xxxxxxxx]... total number of sections: des: 2, 3des: 6, aes-128-cbc: 4, aes-192-cbc: 6, aes-256-cbc: 8 def key prop_get('key') end # hex format xxxxxxxx[-xxxxxxxx]... total number of sections: des: 2, 3des: 6, aes-128-cbc: 4, aes-192-cbc: 6, aes-256-cbc: 8 def key=(val) prop_set('key', val) end end def encryption @subclasses['encryption'] ||= Encryption.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def esp @subclasses['esp'] ||= Esp.new(parent_instance: self, client: @client, create_children: @create_children) end class Ah < ConfigClass def has_multiple_values?; false; end def _section :ah end class Md5 < ConfigClass def has_multiple_values?; false; end def _section :md5 end @props = {'key'=>{'node-type'=>'element', 'maxlen'=>'255', 'type'=>'string', 'encrypt'=>'yes', 'show-help-tip'=>'yes', 'help-string'=>'hex format xxxxxxxx[-xxxxxxxx]... total 4 sections', 'regex'=>'^([0-9a-fA-F]{8}-){3}[0-9a-fA-F]{8}$'}} # hex format xxxxxxxx[-xxxxxxxx]... total 4 sections def key prop_get('key') end # hex format xxxxxxxx[-xxxxxxxx]... total 4 sections def key=(val) prop_set('key', val) end end def md5 @subclasses['md5'] ||= Md5.new(parent_instance: self, client: @client, create_children: @create_children) end class Sha1 < ConfigClass def has_multiple_values?; false; end def _section :sha1 end @props = {'key'=>{'node-type'=>'element', 'maxlen'=>'255', 'type'=>'string', 'encrypt'=>'yes', 'show-help-tip'=>'yes', 'help-string'=>'hex format xxxxxxxx[-xxxxxxxx]... total 5 sections', 'regex'=>'^([0-9a-fA-F]{8}-){4}[0-9a-fA-F]{8}$'}} # hex format xxxxxxxx[-xxxxxxxx]... total 5 sections def key prop_get('key') end # hex format xxxxxxxx[-xxxxxxxx]... total 5 sections def key=(val) prop_set('key', val) end end def sha1 @subclasses['sha1'] ||= Sha1.new(parent_instance: self, client: @client, create_children: @create_children) end class Sha256 < ConfigClass def has_multiple_values?; false; end def _section :sha256 end @props = {'key'=>{'node-type'=>'element', 'maxlen'=>'255', 'type'=>'string', 'encrypt'=>'yes', 'show-help-tip'=>'yes', 'help-string'=>'hex format xxxxxxxx[-xxxxxxxx]... total 8 sections', 'regex'=>'^([0-9a-fA-F]{8}-){7}[0-9a-fA-F]{8}$'}} # hex format xxxxxxxx[-xxxxxxxx]... total 8 sections def key prop_get('key') end # hex format xxxxxxxx[-xxxxxxxx]... total 8 sections def key=(val) prop_set('key', val) end end def sha256 @subclasses['sha256'] ||= Sha256.new(parent_instance: self, client: @client, create_children: @create_children) end class Sha384 < ConfigClass def has_multiple_values?; false; end def _section :sha384 end @props = {'key'=>{'node-type'=>'element', 'maxlen'=>'255', 'type'=>'string', 'encrypt'=>'yes', 'show-help-tip'=>'yes', 'help-string'=>'hex format xxxxxxxx[-xxxxxxxx]... total 12 sections', 'regex'=>'^([0-9a-fA-F]{8}-){11}[0-9a-fA-F]{8}$'}} # hex format xxxxxxxx[-xxxxxxxx]... total 12 sections def key prop_get('key') end # hex format xxxxxxxx[-xxxxxxxx]... total 12 sections def key=(val) prop_set('key', val) end end def sha384 @subclasses['sha384'] ||= Sha384.new(parent_instance: self, client: @client, create_children: @create_children) end class Sha512 < ConfigClass def has_multiple_values?; false; end def _section :sha512 end @props = {'key'=>{'node-type'=>'element', 'maxlen'=>'255', 'type'=>'string', 'encrypt'=>'yes', 'show-help-tip'=>'yes', 'help-string'=>'hex format xxxxxxxx[-xxxxxxxx]... total 16 sections', 'regex'=>'^([0-9a-fA-F]{8}-){15}[0-9a-fA-F]{8}$'}} # hex format xxxxxxxx[-xxxxxxxx]... total 16 sections def key prop_get('key') end # hex format xxxxxxxx[-xxxxxxxx]... total 16 sections def key=(val) prop_set('key', val) end end def sha512 @subclasses['sha512'] ||= Sha512.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ah @subclasses['ah'] ||= Ah.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'local-spi'=>{'node-type'=>'element', 'help-string'=>'Outbound SPI, hex format xxxxxxxx. range 00001000 to 1FFFFFFF', 'type'=>'string', 'regex'=>'^(0000[1-9a-fA-F]{1}[0-9a-fA-F]{3}|000[1-9a-fA-F]{1}[0-9a-fA-F]{4}|00[1-9a-fA-F]{1}[0-9a-fA-F]{5}|0[1-9a-fA-F]{1}[0-9a-fA-F]{6}|1[0-9a-fA-F]{7})$'}, 'remote-spi'=>{'node-type'=>'element', 'help-string'=>'Inbound SPI, hex format xxxxxxxx.', 'type'=>'string', 'regex'=>'^([0-9a-fA-F]{8})$'}} # Outbound SPI, hex format xxxxxxxx. range 00001000 to 1FFFFFFF def local_spi prop_get('local-spi') end # Outbound SPI, hex format xxxxxxxx. range 00001000 to 1FFFFFFF def local_spi=(val) prop_set('local-spi', val) end # Inbound SPI, hex format xxxxxxxx. def remote_spi prop_get('remote-spi') end # Inbound SPI, hex format xxxxxxxx. def remote_spi=(val) prop_set('remote-spi', val) end end def manual_key @subclasses['manual-key'] ||= ManualKey.new(parent_instance: self, client: @client, create_children: @create_children) end class GlobalProtectSatellite < ConfigClass def has_multiple_values?; false; end def _section :'global-protect-satellite' end class LocalAddress < ConfigClass def has_multiple_values?; false; end def _section :'local-address' end class Ip < ConfigClass def has_multiple_values?; false; end def _section :ip end @props = {'ipv4'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'specify exact IP address if interface has multiple addresses'}, 'ipv6'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'specify exact local IPv6 address if interface has multiple addresses'}} # specify exact IP address if interface has multiple addresses def ipv4 prop_get('ipv4') end # specify exact IP address if interface has multiple addresses def ipv4=(val) prop_set('ipv4', val) end # specify exact local IPv6 address if interface has multiple addresses def ipv6 prop_get('ipv6') end # specify exact local IPv6 address if interface has multiple addresses def ipv6=(val) prop_set('ipv6', val) end end def ip @subclasses['ip'] ||= Ip.new(parent_instance: self, client: @client, create_children: @create_children) end class FloatingIp < ConfigClass def has_multiple_values?; false; end def _section :'floating-ip' end @props = {'ipv4'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.tunnel.ipsec.floating-ip.satd-floating-ip-check.ipv4-disable=True', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Floating IP address in HA Active-Active configuration'}, 'ipv6'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Floating IPv6 address in HA Active-Active configuration'}} # Floating IP address in HA Active-Active configuration def ipv4 prop_get('ipv4') end # Floating IP address in HA Active-Active configuration def ipv4=(val) prop_set('ipv4', val) end # Floating IPv6 address in HA Active-Active configuration def ipv6 prop_get('ipv6') end # Floating IPv6 address in HA Active-Active configuration def ipv6=(val) prop_set('ipv6', val) end end def floating_ip @subclasses['floating-ip'] ||= FloatingIp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Interface to communicate with Portal'}} # Interface to communicate with Portal def interface prop_get('interface') end # Interface to communicate with Portal def interface=(val) prop_set('interface', val) end end def local_address @subclasses['local-address'] ||= LocalAddress.new(parent_instance: self, client: @client, create_children: @create_children) end class PublishRoutes < XML::ConfigClass def has_multiple_values?; true; end def _section :'publish-routes' end @props = {'member'=>{'node-type'=>'element', 'type'=>'ipspec', 'subnet-only'=>'yes'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def publish_routes maybe_register_subclass('publish-routes', PublishRoutes.new(parent_instance: self, client: @client, create_children: @create_children)) end class PublishConnectedRoutes < ConfigClass def has_multiple_values?; false; end def _section :'publish-connected-routes' end @props = {'enable'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable publishing of connected and static routes'}} # Enable publishing of connected and static routes def enable prop_get('enable') end # Enable publishing of connected and static routes def enable=(val) prop_set('enable', val) end end def publish_connected_routes @subclasses['publish-connected-routes'] ||= PublishConnectedRoutes.new(parent_instance: self, client: @client, create_children: @create_children) end class ExternalCa < ConfigClass def has_multiple_values?; false; end def _section :'external-ca' end @props = {'local-certificate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'GlobalProtect satellite certificate file name', 'maxlen'=>'255'}, 'certificate-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Profile for authenticating GlobalProtect gateway certificates'}} # GlobalProtect satellite certificate file name def local_certificate prop_get('local-certificate') end # GlobalProtect satellite certificate file name def local_certificate=(val) prop_set('local-certificate', val) end # Profile for authenticating GlobalProtect gateway certificates def certificate_profile prop_get('certificate-profile') end # Profile for authenticating GlobalProtect gateway certificates def certificate_profile=(val) prop_set('certificate-profile', val) end end def external_ca @subclasses['external-ca'] ||= ExternalCa.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'portal-address'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'help-string'=>'GlobalProtect portal address'}, 'ipv6-preferred'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Prefer to register to portal in ipv6. Only applicable to fqdn portal-address'}} # GlobalProtect portal address def portal_address prop_get('portal-address') end # GlobalProtect portal address def portal_address=(val) prop_set('portal-address', val) end # Prefer to register to portal in ipv6. Only applicable to fqdn portal-address def ipv6_preferred prop_get('ipv6-preferred') end # Prefer to register to portal in ipv6. Only applicable to fqdn portal-address def ipv6_preferred=(val) prop_set('ipv6-preferred', val) end end def global_protect_satellite @subclasses['global-protect-satellite'] ||= GlobalProtectSatellite.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string begin with letter: [0-9a-zA-Z._-]', 'regex'=>'^[a-zA-Z]{1}[0-9a-zA-Z._-]*$'}, 'ipsec-mode'=>{'node-type'=>'element', 'default'=>'tunnel', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'tunnel'}, {'value'=>'transport'}]}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable the IPSec tunnel'}, 'ipv6'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'use IPv6 for the IPSec tunnel'}, 'comment'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'0', 'maxlen'=>'1023'}, 'tunnel-interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'to apply IPSec VPN tunnels to tunnel interface'}, 'anti-replay'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable Anti-Replay check on this tunnel'}, 'anti-replay-window'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'1024', 'help-string'=>'64,128,256,512,1024,2048,4096', 'enum'=>[{'value'=>'64', 'help-string'=>'64'}, {'value'=>'128', 'help-string'=>'128'}, {'value'=>'256', 'help-string'=>'256'}, {'value'=>'512', 'help-string'=>'512'}, {'value'=>'1024', 'help-string'=>'1024'}, {'value'=>'2048', 'help-string'=>'2048'}, {'value'=>'4096', 'help-string'=>'4096'}]}, 'copy-tos'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Copy IP TOS bits from inner packet to IPSec packet (not recommended)'}, 'copy-flow-label'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Copy IPv6 flow label for 6in6 tunnel from inner packet to IPSec packet (not recommended)'}, 'enable-gre-encapsulation'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'allow GRE over IPSec'}} # alphanumeric string begin with letter: [0-9a-zA-Z._-] def name prop_get('@name') end def ipsec_mode prop_get('ipsec-mode') end def ipsec_mode=(val) prop_set('ipsec-mode', val) end # Disable the IPSec tunnel def disabled prop_get('disabled') end # Disable the IPSec tunnel def disabled=(val) prop_set('disabled', val) end # use IPv6 for the IPSec tunnel def ipv6 prop_get('ipv6') end # use IPv6 for the IPSec tunnel def ipv6=(val) prop_set('ipv6', val) end def comment prop_get('comment') end def comment=(val) prop_set('comment', val) end # to apply IPSec VPN tunnels to tunnel interface def tunnel_interface prop_get('tunnel-interface') end # to apply IPSec VPN tunnels to tunnel interface def tunnel_interface=(val) prop_set('tunnel-interface', val) end # Enable Anti-Replay check on this tunnel def anti_replay prop_get('anti-replay') end # Enable Anti-Replay check on this tunnel def anti_replay=(val) prop_set('anti-replay', val) end # 64,128,256,512,1024,2048,4096 def anti_replay_window prop_get('anti-replay-window') end # 64,128,256,512,1024,2048,4096 def anti_replay_window=(val) prop_set('anti-replay-window', val) end # Copy IP TOS bits from inner packet to IPSec packet (not recommended) def copy_tos prop_get('copy-tos') end # Copy IP TOS bits from inner packet to IPSec packet (not recommended) def copy_tos=(val) prop_set('copy-tos', val) end # Copy IPv6 flow label for 6in6 tunnel from inner packet to IPSec packet (not recommended) def copy_flow_label prop_get('copy-flow-label') end # Copy IPv6 flow label for 6in6 tunnel from inner packet to IPSec packet (not recommended) def copy_flow_label=(val) prop_set('copy-flow-label', val) end # allow GRE over IPSec def enable_gre_encapsulation prop_get('enable-gre-encapsulation') end # allow GRE over IPSec def enable_gre_encapsulation=(val) prop_set('enable-gre-encapsulation', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ipsec maybe_register_subclass('ipsec', Ipsec.new(parent_instance: self, client: @client, create_children: @create_children)) end class GlobalProtectGateway < XML::ConfigClass def has_multiple_values?; true; end def _section :'global-protect-gateway' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class LocalAddress < ConfigClass def has_multiple_values?; false; end def _section :'local-address' end class Ip < ConfigClass def has_multiple_values?; false; end def _section :ip end @props = {'ipv4'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'IPv4 address'}, 'ipv6'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'IPv6 address'}} # IPv4 address def ipv4 prop_get('ipv4') end # IPv4 address def ipv4=(val) prop_set('ipv4', val) end # IPv6 address def ipv6 prop_get('ipv6') end # IPv6 address def ipv6=(val) prop_set('ipv6', val) end end def ip @subclasses['ip'] ||= Ip.new(parent_instance: self, client: @client, create_children: @create_children) end class FloatingIp < ConfigClass def has_multiple_values?; false; end def _section :'floating-ip' end @props = {'ipv4'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Floating IP address'}, 'ipv6'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'Floating IPv6 address'}} # Floating IP address def ipv4 prop_get('ipv4') end # Floating IP address def ipv4=(val) prop_set('ipv4', val) end # Floating IPv6 address def ipv6 prop_get('ipv6') end # Floating IPv6 address def ipv6=(val) prop_set('ipv6', val) end end def floating_ip @subclasses['floating-ip'] ||= FloatingIp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'ip-address-family'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'ipv4', 'optional'=>'yes', 'help-string'=>'specify the family of the local address', 'enum'=>[{'value'=>'ipv4', 'help-string'=>'IPv4 Only'}, {'value'=>'ipv6', 'help-string'=>'IPv6 Only'}, {'value'=>'ipv4_ipv6', 'help-string'=>'IPv4 and IPv6'}]}, 'interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'local gateway end-point'}} # specify the family of the local address def ip_address_family prop_get('ip-address-family') end # specify the family of the local address def ip_address_family=(val) prop_set('ip-address-family', val) end # local gateway end-point def interface prop_get('interface') end # local gateway end-point def interface=(val) prop_set('interface', val) end end def local_address @subclasses['local-address'] ||= LocalAddress.new(parent_instance: self, client: @client, create_children: @create_children) end class Ipsec < ConfigClass def has_multiple_values?; false; end def _section :ipsec end class ThirdPartyClient < ConfigClass def has_multiple_values?; false; end def _section :'third-party-client' end @props = {'enable'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable thrid party client support'}, 'group-name'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'255', 'help-string'=>'group name'}, 'group-password'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'255', 'encrypt'=>'yes', 'help-string'=>'group password'}, 'rekey-noauth'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Skip Auth on IKE Rekey'}} # Enable thrid party client support def enable prop_get('enable') end # Enable thrid party client support def enable=(val) prop_set('enable', val) end # group name def group_name prop_get('group-name') end # group name def group_name=(val) prop_set('group-name', val) end # group password def group_password prop_get('group-password') end # group password def group_password=(val) prop_set('group-password', val) end # Skip Auth on IKE Rekey def rekey_noauth prop_get('rekey-noauth') end # Skip Auth on IKE Rekey def rekey_noauth=(val) prop_set('rekey-noauth', val) end end def third_party_client @subclasses['third-party-client'] ||= ThirdPartyClient.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable IPSec'}, 'server-udp-port'=>{'node-type'=>'element', 'disabled'=>'yes', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'1', 'max'=>'65535', 'default'=>'4501', 'help-string'=>'the port number used to send/receive IPSec over UDP traffic on GlobalProtect gateway side'}, 'ipsec-crypto-profile'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes', 'help-string'=>'IPSec crypto profile name', 'default'=>'default'}} # Enable IPSec def enable prop_get('enable') end # Enable IPSec def enable=(val) prop_set('enable', val) end # the port number used to send/receive IPSec over UDP traffic on GlobalProtect gateway side def server_udp_port prop_get('server-udp-port') end # the port number used to send/receive IPSec over UDP traffic on GlobalProtect gateway side def server_udp_port=(val) prop_set('server-udp-port', val) end # IPSec crypto profile name def ipsec_crypto_profile prop_get('ipsec-crypto-profile') end # IPSec crypto profile name def ipsec_crypto_profile=(val) prop_set('ipsec-crypto-profile', val) end end def ipsec @subclasses['ipsec'] ||= Ipsec.new(parent_instance: self, client: @client, create_children: @create_children) end class Ssl < ConfigClass def has_multiple_values?; false; end def _section :ssl end @props = {'server-port'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'1', 'max'=>'65535', 'default'=>'443', 'help-string'=>'the port number used to send/receive SSL traffic on GlobalProtect gateway side'}} # the port number used to send/receive SSL traffic on GlobalProtect gateway side def server_port prop_get('server-port') end # the port number used to send/receive SSL traffic on GlobalProtect gateway side def server_port=(val) prop_set('server-port', val) end end def ssl @subclasses['ssl'] ||= Ssl.new(parent_instance: self, client: @client, create_children: @create_children) end class IpPool < XML::ConfigClass def has_multiple_values?; true; end def _section :'ip-pool' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes'}, 'iprangespec'=>{}, 'string'=>{'maxlen'=>'63', 'loose-membership'=>'yes'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def ip_pool maybe_register_subclass('ip-pool', IpPool.new(parent_instance: self, client: @client, create_children: @create_children)) end class Client < ConfigClass def has_multiple_values?; false; end def _section :client end class Inheritance < ConfigClass def has_multiple_values?; false; end def _section :inheritance end @props = {'source'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Dynamic interface'}} # Dynamic interface def source prop_get('source') end # Dynamic interface def source=(val) prop_set('source', val) end end def inheritance @subclasses['inheritance'] ||= Inheritance.new(parent_instance: self, client: @client, create_children: @create_children) end class DnsServer < ConfigClass def has_multiple_values?; false; end def _section :'dns-server' end @props = {'primary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'DNS primary server ip address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'help-string'=>'DNS server ip'}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'inherited'}]}}, 'secondary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'DNS secondary server ip address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'help-string'=>'DNS server ip'}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'inherited'}]}}} # DNS primary server ip address def primary prop_get('primary') end # DNS primary server ip address def primary=(val) prop_set('primary', val) end # DNS secondary server ip address def secondary prop_get('secondary') end # DNS secondary server ip address def secondary=(val) prop_set('secondary', val) end end def dns_server @subclasses['dns-server'] ||= DnsServer.new(parent_instance: self, client: @client, create_children: @create_children) end class WinsServer < ConfigClass def has_multiple_values?; false; end def _section :'wins-server' end @props = {'primary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'WINS primary server ip address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'help-string'=>'WINS server ip'}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'inherited'}]}}, 'secondary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'WINS secondary server ip address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'help-string'=>'WINS server ip'}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'inherited'}]}}} # WINS primary server ip address def primary prop_get('primary') end # WINS primary server ip address def primary=(val) prop_set('primary', val) end # WINS secondary server ip address def secondary prop_get('secondary') end # WINS secondary server ip address def secondary=(val) prop_set('secondary', val) end end def wins_server @subclasses['wins-server'] ||= WinsServer.new(parent_instance: self, client: @client, create_children: @create_children) end class DnsSuffix < XML::ConfigClass def has_multiple_values?; true; end def _section :'dns-suffix' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'DNS suffix for client'}} # DNS suffix for client def member prop_get('member') end # DNS suffix for client def member=(val) prop_set('member', val) end end def dns_suffix maybe_register_subclass('dns-suffix', DnsSuffix.new(parent_instance: self, client: @client, create_children: @create_children)) end class ExcludeVideoTraffic < ConfigClass def has_multiple_values?; false; end def _section :'exclude-video-traffic' end class Applications < XML::ConfigClass def has_multiple_values?; true; end def _section :applications end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'max-count'=>'200', 'multi-types'=>{'string'=>{'maxlen'=>'63'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def applications maybe_register_subclass('applications', Applications.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Enable exclude video traffic'}} # Enable exclude video traffic def enabled prop_get('enabled') end # Enable exclude video traffic def enabled=(val) prop_set('enabled', val) end end def exclude_video_traffic @subclasses['exclude-video-traffic'] ||= ExcludeVideoTraffic.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'dns-suffix-inherited'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Enable dns-suffix inheritance from dynamic interface'}} # Enable dns-suffix inheritance from dynamic interface def dns_suffix_inherited prop_get('dns-suffix-inherited') end # Enable dns-suffix inheritance from dynamic interface def dns_suffix_inherited=(val) prop_set('dns-suffix-inherited', val) end end def client @subclasses['client'] ||= Client.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'33', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string begin with letter: [ 0-9a-zA-Z._-]'}, 'tunnel-interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'to apply GlobalProtect gateway tunnels to tunnel interface'}, 'max-user'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'1', 'platform-max'=>'cfg.general.max-ssl-tunnel', 'help-string'=>'max number of concurrent logined users'}} # alphanumeric string begin with letter: [ 0-9a-zA-Z._-] def name prop_get('@name') end # to apply GlobalProtect gateway tunnels to tunnel interface def tunnel_interface prop_get('tunnel-interface') end # to apply GlobalProtect gateway tunnels to tunnel interface def tunnel_interface=(val) prop_set('tunnel-interface', val) end # max number of concurrent logined users def max_user prop_get('max-user') end # max number of concurrent logined users def max_user=(val) prop_set('max-user', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def global_protect_gateway maybe_register_subclass('global-protect-gateway', GlobalProtectGateway.new(parent_instance: self, client: @client, create_children: @create_children)) end class GlobalProtectSiteToSite < XML::ConfigClass def has_multiple_values?; true; end def _section :'global-protect-site-to-site' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class LocalAddress < ConfigClass def has_multiple_values?; false; end def _section :'local-address' end class Ip < ConfigClass def has_multiple_values?; false; end def _section :ip end @props = {'ipv4'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'IPv4 address'}, 'ipv6'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'IPv6 address'}} # IPv4 address def ipv4 prop_get('ipv4') end # IPv4 address def ipv4=(val) prop_set('ipv4', val) end # IPv6 address def ipv6 prop_get('ipv6') end # IPv6 address def ipv6=(val) prop_set('ipv6', val) end end def ip @subclasses['ip'] ||= Ip.new(parent_instance: self, client: @client, create_children: @create_children) end class FloatingIp < ConfigClass def has_multiple_values?; false; end def _section :'floating-ip' end @props = {'ipv4'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Floating IP address'}, 'ipv6'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'Floating IPv6 address'}} # Floating IP address def ipv4 prop_get('ipv4') end # Floating IP address def ipv4=(val) prop_set('ipv4', val) end # Floating IPv6 address def ipv6 prop_get('ipv6') end # Floating IPv6 address def ipv6=(val) prop_set('ipv6', val) end end def floating_ip @subclasses['floating-ip'] ||= FloatingIp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'ip-address-family'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'ipv4', 'optional'=>'yes', 'help-string'=>'specify the family of the local address', 'enum'=>[{'value'=>'ipv4', 'help-string'=>'IPv4 Only'}, {'value'=>'ipv6', 'help-string'=>'IPv6 Only'}, {'value'=>'ipv4_ipv6', 'help-string'=>'IPv4 and IPv6'}]}, 'interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'local gateway end-point'}} # specify the family of the local address def ip_address_family prop_get('ip-address-family') end # specify the family of the local address def ip_address_family=(val) prop_set('ip-address-family', val) end # local gateway end-point def interface prop_get('interface') end # local gateway end-point def interface=(val) prop_set('interface', val) end end def local_address @subclasses['local-address'] ||= LocalAddress.new(parent_instance: self, client: @client, create_children: @create_children) end class Client < ConfigClass def has_multiple_values?; false; end def _section :client end class IpPool < XML::ConfigClass def has_multiple_values?; true; end def _section :'ip-pool' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes'}, 'iprangespec'=>{}, 'string'=>{'maxlen'=>'63'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def ip_pool maybe_register_subclass('ip-pool', IpPool.new(parent_instance: self, client: @client, create_children: @create_children)) end class Inheritance < ConfigClass def has_multiple_values?; false; end def _section :inheritance end @props = {'source'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Dynamic interface'}} # Dynamic interface def source prop_get('source') end # Dynamic interface def source=(val) prop_set('source', val) end end def inheritance @subclasses['inheritance'] ||= Inheritance.new(parent_instance: self, client: @client, create_children: @create_children) end class DnsServer < ConfigClass def has_multiple_values?; false; end def _section :'dns-server' end @props = {'primary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'DNS primary server ip address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'help-string'=>'DNS server ip'}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'inherited'}]}}, 'secondary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'DNS secondary server ip address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'help-string'=>'DNS server ip'}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'inherited'}]}}} # DNS primary server ip address def primary prop_get('primary') end # DNS primary server ip address def primary=(val) prop_set('primary', val) end # DNS secondary server ip address def secondary prop_get('secondary') end # DNS secondary server ip address def secondary=(val) prop_set('secondary', val) end end def dns_server @subclasses['dns-server'] ||= DnsServer.new(parent_instance: self, client: @client, create_children: @create_children) end class DnsSuffix < XML::ConfigClass def has_multiple_values?; true; end def _section :'dns-suffix' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'DNS suffix for client'}} # DNS suffix for client def member prop_get('member') end # DNS suffix for client def member=(val) prop_set('member', val) end end def dns_suffix maybe_register_subclass('dns-suffix', DnsSuffix.new(parent_instance: self, client: @client, create_children: @create_children)) end class SplitTunneling < ConfigClass def has_multiple_values?; false; end def _section :'split-tunneling' end class AccessRoute < XML::ConfigClass def has_multiple_values?; true; end def _section :'access-route' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def access_route maybe_register_subclass('access-route', AccessRoute.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def split_tunneling @subclasses['split-tunneling'] ||= SplitTunneling.new(parent_instance: self, client: @client, create_children: @create_children) end class TunnelMonitor < ConfigClass def has_multiple_values?; false; end def _section :'tunnel-monitor' end @props = {'enable'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Enable tunnel monitoring on this tunnel'}, 'destination-ip'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'Destination IP to send ICMP probe', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes', 'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'destination-ipv6'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'Destination IPv6 to send ICMP probe', 'multi-types'=>{'ipspec'=>{'ipv6-only'=>'yes', 'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'tunnel-monitor-profile'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'monitoring action', 'optional'=>'yes'}} # Enable tunnel monitoring on this tunnel def enable prop_get('enable') end # Enable tunnel monitoring on this tunnel def enable=(val) prop_set('enable', val) end # Destination IP to send ICMP probe def destination_ip prop_get('destination-ip') end # Destination IP to send ICMP probe def destination_ip=(val) prop_set('destination-ip', val) end # Destination IPv6 to send ICMP probe def destination_ipv6 prop_get('destination-ipv6') end # Destination IPv6 to send ICMP probe def destination_ipv6=(val) prop_set('destination-ipv6', val) end # monitoring action def tunnel_monitor_profile prop_get('tunnel-monitor-profile') end # monitoring action def tunnel_monitor_profile=(val) prop_set('tunnel-monitor-profile', val) end end def tunnel_monitor @subclasses['tunnel-monitor'] ||= TunnelMonitor.new(parent_instance: self, client: @client, create_children: @create_children) end class ValidNetworks < XML::ConfigClass def has_multiple_values?; true; end def _section :'valid-networks' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'subnet-only'=>'yes', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def valid_networks maybe_register_subclass('valid-networks', ValidNetworks.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'config-refresh-interval'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'1', 'max'=>'48', 'default'=>'2', 'help-string'=>'GlobalProtect gateway configuration refresh interval in hours'}, 'dns-suffix-inherited'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Enable dns-suffix inheritance from dynamic interface'}, 'ipsec-crypto-profile'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'IPSec crypto profile name', 'default'=>'default'}, 'accept-published-routes'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Whether Gateway should accept routes published by Satellite'}, 'anti-replay'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable Anti-Replay check on this tunnel'}, 'anti-replay-window'=>{'node-type'=>'element', 'internal'=>'yes', 'optional'=>'yes', 'type'=>'enum', 'default'=>'1024', 'help-string'=>'64,128,256,512,1024,2048,4096', 'enum'=>[{'value'=>'64', 'help-string'=>'64'}, {'value'=>'128', 'help-string'=>'128'}, {'value'=>'256', 'help-string'=>'256'}, {'value'=>'512', 'help-string'=>'512'}, {'value'=>'1024', 'help-string'=>'1024'}, {'value'=>'2048', 'help-string'=>'2048'}, {'value'=>'4096', 'help-string'=>'4096'}]}, 'copy-tos'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Copy IP TOS bits from inner packet to IPSec packet (not recommended)'}} # GlobalProtect gateway configuration refresh interval in hours def config_refresh_interval prop_get('config-refresh-interval') end # GlobalProtect gateway configuration refresh interval in hours def config_refresh_interval=(val) prop_set('config-refresh-interval', val) end # Enable dns-suffix inheritance from dynamic interface def dns_suffix_inherited prop_get('dns-suffix-inherited') end # Enable dns-suffix inheritance from dynamic interface def dns_suffix_inherited=(val) prop_set('dns-suffix-inherited', val) end # IPSec crypto profile name def ipsec_crypto_profile prop_get('ipsec-crypto-profile') end # IPSec crypto profile name def ipsec_crypto_profile=(val) prop_set('ipsec-crypto-profile', val) end # Whether Gateway should accept routes published by Satellite def accept_published_routes prop_get('accept-published-routes') end # Whether Gateway should accept routes published by Satellite def accept_published_routes=(val) prop_set('accept-published-routes', val) end # Enable Anti-Replay check on this tunnel def anti_replay prop_get('anti-replay') end # Enable Anti-Replay check on this tunnel def anti_replay=(val) prop_set('anti-replay', val) end # 64,128,256,512,1024,2048,4096 def anti_replay_window prop_get('anti-replay-window') end # 64,128,256,512,1024,2048,4096 def anti_replay_window=(val) prop_set('anti-replay-window', val) end # Copy IP TOS bits from inner packet to IPSec packet (not recommended) def copy_tos prop_get('copy-tos') end # Copy IP TOS bits from inner packet to IPSec packet (not recommended) def copy_tos=(val) prop_set('copy-tos', val) end end def client @subclasses['client'] ||= Client.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'33', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string begin with letter: [ 0-9a-zA-Z._-]'}, 'tunnel-interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'to apply GlobalProtect site to site tunnels to tunnel interface'}} # alphanumeric string begin with letter: [ 0-9a-zA-Z._-] def name prop_get('@name') end # to apply GlobalProtect site to site tunnels to tunnel interface def tunnel_interface prop_get('tunnel-interface') end # to apply GlobalProtect site to site tunnels to tunnel interface def tunnel_interface=(val) prop_set('tunnel-interface', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def global_protect_site_to_site maybe_register_subclass('global-protect-site-to-site', GlobalProtectSiteToSite.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def tunnel @subclasses['tunnel'] ||= Tunnel.new(parent_instance: self, client: @client, create_children: @create_children) end class Vlan < XML::ConfigClass def has_multiple_values?; true; end def _section :vlan end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Interface < XML::ConfigClass def has_multiple_values?; true; end def _section :interface end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'30'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def interface maybe_register_subclass('interface', Interface.new(parent_instance: self, client: @client, create_children: @create_children)) end class Mac < XML::ConfigClass def has_multiple_values?; true; end def _section :mac end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'mac-address', 'help-string'=>'MAC address (format xx:xx:xx:xx:xx:xx)'}, 'interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Interface name'}} # MAC address (format xx:xx:xx:xx:xx:xx) def name prop_get('@name') end # Interface name def interface prop_get('interface') end # Interface name def interface=(val) prop_set('interface', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def mac maybe_register_subclass('mac', Mac.new(parent_instance: self, client: @client, create_children: @create_children)) end class VirtualInterface < ConfigClass def has_multiple_values?; false; end def _section :'virtual-interface' end @props = {'interface'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Virtual interface'}} # Virtual interface def interface prop_get('interface') end # Virtual interface def interface=(val) prop_set('interface', val) end end def virtual_interface @subclasses['virtual-interface'] ||= VirtualInterface.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vlan maybe_register_subclass('vlan', Vlan.new(parent_instance: self, client: @client, create_children: @create_children)) end class Qos < ConfigClass def has_multiple_values?; false; end def _section :qos end class Profile < XML::ConfigClass def has_multiple_values?; true; end def _section :profile end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class AggregateBandwidth < ConfigClass def has_multiple_values?; false; end def _section :'aggregate-bandwidth' end @props = {'egress-max'=>{'node-type'=>'element', 'type'=>'float', 'optional'=>'yes', 'min'=>'0', 'max'=>'68000', 'platform-max'=>'cfg.general.max-qosbw', 'default'=>'0', 'help-string'=>'max sending bandwidth in mbps'}, 'egress-guaranteed'=>{'node-type'=>'element', 'type'=>'float', 'optional'=>'yes', 'min'=>'0', 'max'=>'60000', 'platform-max'=>'cfg.general.max-qosbw', 'default'=>'0', 'help-string'=>'guaranteed sending bandwidth in mbps'}} # max sending bandwidth in mbps def egress_max prop_get('egress-max') end # max sending bandwidth in mbps def egress_max=(val) prop_set('egress-max', val) end # guaranteed sending bandwidth in mbps def egress_guaranteed prop_get('egress-guaranteed') end # guaranteed sending bandwidth in mbps def egress_guaranteed=(val) prop_set('egress-guaranteed', val) end end def aggregate_bandwidth @subclasses['aggregate-bandwidth'] ||= AggregateBandwidth.new(parent_instance: self, client: @client, create_children: @create_children) end class ClassBandwidthType < XML::ConfigClass def has_multiple_values?; true; end def _section :'class-bandwidth-type' end class Mbps < ConfigClass def has_multiple_values?; false; end def _section :mbps end class Klass < XML::ConfigClass def has_multiple_values?; true; end def _section :class end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class ClassBandwidth < ConfigClass def has_multiple_values?; false; end def _section :'class-bandwidth' end @props = {'egress-max'=>{'node-type'=>'element', 'type'=>'float', 'optional'=>'yes', 'min'=>'0', 'max'=>'68000', 'platform-max'=>'cfg.general.max-qosbw', 'default'=>'0', 'help-string'=>'max sending bandwidth in mbps'}, 'egress-guaranteed'=>{'node-type'=>'element', 'type'=>'float', 'optional'=>'yes', 'min'=>'0', 'max'=>'60000', 'platform-max'=>'cfg.general.max-qosbw', 'default'=>'0', 'help-string'=>'guaranteed sending bandwidth in mbps'}} # max sending bandwidth in mbps def egress_max prop_get('egress-max') end # max sending bandwidth in mbps def egress_max=(val) prop_set('egress-max', val) end # guaranteed sending bandwidth in mbps def egress_guaranteed prop_get('egress-guaranteed') end # guaranteed sending bandwidth in mbps def egress_guaranteed=(val) prop_set('egress-guaranteed', val) end end def class_bandwidth @subclasses['class-bandwidth'] ||= ClassBandwidth.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'traffic class'}, 'priority'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'medium', 'help-string'=>'traffic class priority', 'enum'=>[{'value'=>'real-time', 'help-string'=>'highest priority'}, {'value'=>'high', 'help-string'=>'high priority'}, {'value'=>'medium', 'help-string'=>'medium priority'}, {'value'=>'low', 'help-string'=>'low priority'}]}, 'round-trip-time'=>{'node-type'=>'element', 'disabled'=>'yes', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'0', 'max'=>'1000', 'default'=>'20', 'help-string'=>'estimated average round trip time (in milli-seconds) for network path'}} # traffic class def name prop_get('@name') end # traffic class priority def priority prop_get('priority') end # traffic class priority def priority=(val) prop_set('priority', val) end # estimated average round trip time (in milli-seconds) for network path def round_trip_time prop_get('round-trip-time') end # estimated average round trip time (in milli-seconds) for network path def round_trip_time=(val) prop_set('round-trip-time', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def class maybe_register_subclass('class', Klass.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def mbps @subclasses['mbps'] ||= Mbps.new(parent_instance: self, client: @client, create_children: @create_children) end class Percentage < ConfigClass def has_multiple_values?; false; end def _section :percentage end class Klass < XML::ConfigClass def has_multiple_values?; true; end def _section :class end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class ClassBandwidth < ConfigClass def has_multiple_values?; false; end def _section :'class-bandwidth' end @props = {'egress-max'=>{'node-type'=>'element', 'type'=>'float', 'optional'=>'yes', 'min'=>'0', 'max'=>'100', 'default'=>'0', 'help-string'=>'max sending bandwidth percentage'}, 'egress-guaranteed'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'100', 'default'=>'0', 'help-string'=>'guaranteed sending bandwidth percentage'}} # max sending bandwidth percentage def egress_max prop_get('egress-max') end # max sending bandwidth percentage def egress_max=(val) prop_set('egress-max', val) end # guaranteed sending bandwidth percentage def egress_guaranteed prop_get('egress-guaranteed') end # guaranteed sending bandwidth percentage def egress_guaranteed=(val) prop_set('egress-guaranteed', val) end end def class_bandwidth @subclasses['class-bandwidth'] ||= ClassBandwidth.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'traffic class'}, 'priority'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'medium', 'help-string'=>'traffic class priority', 'enum'=>[{'value'=>'real-time', 'help-string'=>'highest priority'}, {'value'=>'high', 'help-string'=>'high priority'}, {'value'=>'medium', 'help-string'=>'medium priority'}, {'value'=>'low', 'help-string'=>'low priority'}]}, 'round-trip-time'=>{'node-type'=>'element', 'disabled'=>'yes', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'0', 'max'=>'1000', 'default'=>'20', 'help-string'=>'estimated average round trip time (in milli-seconds) for network path'}} # traffic class def name prop_get('@name') end # traffic class priority def priority prop_get('priority') end # traffic class priority def priority=(val) prop_set('priority', val) end # estimated average round trip time (in milli-seconds) for network path def round_trip_time prop_get('round-trip-time') end # estimated average round trip time (in milli-seconds) for network path def round_trip_time=(val) prop_set('round-trip-time', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def class maybe_register_subclass('class', Klass.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def percentage @subclasses['percentage'] ||= Percentage.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def class_bandwidth_type maybe_register_subclass('class-bandwidth-type', ClassBandwidthType.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def profile maybe_register_subclass('profile', Profile.new(parent_instance: self, client: @client, create_children: @create_children)) end class Interface < XML::ConfigClass def has_multiple_values?; true; end def _section :interface end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class InterfaceBandwidth < ConfigClass def has_multiple_values?; false; end def _section :'interface-bandwidth' end @props = {'egress-max'=>{'node-type'=>'element', 'complete-handler'=>'sdwan-emax-completer', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'0', 'help-string'=>'max bandwidth in mbps', 'multi-types'=>{'float'=>{'min'=>'0', 'max'=>'68000'}, 'string'=>{'maxlen'=>'63'}}}} # max bandwidth in mbps def egress_max prop_get('egress-max') end # max bandwidth in mbps def egress_max=(val) prop_set('egress-max', val) end end def interface_bandwidth @subclasses['interface-bandwidth'] ||= InterfaceBandwidth.new(parent_instance: self, client: @client, create_children: @create_children) end class TunnelTraffic < ConfigClass def has_multiple_values?; false; end def _section :'tunnel-traffic' end class Groups < XML::ConfigClass def has_multiple_values?; true; end def _section :groups end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Members < XML::ConfigClass def has_multiple_values?; true; end def _section :members end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'tunnel interface'}, 'qos-profile'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'apply QoS profile for traffic go through the tunnel interface'}} # tunnel interface def name prop_get('@name') end # apply QoS profile for traffic go through the tunnel interface def qos_profile prop_get('qos-profile') end # apply QoS profile for traffic go through the tunnel interface def qos_profile=(val) prop_set('qos-profile', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def members maybe_register_subclass('members', Members.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'enum', 'maxlen'=>'31', 'help-string'=>'tunnel traffic group', 'enum'=>[{'value'=>'tunnel-traffic-group', 'help-string'=>'the pre-defined group for tunnel traffic'}]}} # tunnel traffic group def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def groups maybe_register_subclass('groups', Groups.new(parent_instance: self, client: @client, create_children: @create_children)) end class DefaultGroup < ConfigClass def has_multiple_values?; false; end def _section :'default-group' end @props = {'per-tunnel-qos-profile'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'apply QoS profile for traffic go through each tunnel interface'}} # apply QoS profile for traffic go through each tunnel interface def per_tunnel_qos_profile prop_get('per-tunnel-qos-profile') end # apply QoS profile for traffic go through each tunnel interface def per_tunnel_qos_profile=(val) prop_set('per-tunnel-qos-profile', val) end end def default_group @subclasses['default-group'] ||= DefaultGroup.new(parent_instance: self, client: @client, create_children: @create_children) end class Bandwidth < ConfigClass def has_multiple_values?; false; end def _section :bandwidth end @props = {'egress-max'=>{'node-type'=>'element', 'type'=>'float', 'optional'=>'yes', 'min'=>'0', 'max'=>'68000', 'platform-max'=>'cfg.general.max-qosbw', 'default'=>'0', 'help-string'=>'max sending bandwidth in mbps'}, 'egress-guaranteed'=>{'node-type'=>'element', 'type'=>'float', 'optional'=>'yes', 'min'=>'0', 'max'=>'60000', 'platform-max'=>'cfg.general.max-qosbw', 'default'=>'0', 'help-string'=>'guaranteed sending bandwidth in mbps'}} # max sending bandwidth in mbps def egress_max prop_get('egress-max') end # max sending bandwidth in mbps def egress_max=(val) prop_set('egress-max', val) end # guaranteed sending bandwidth in mbps def egress_guaranteed prop_get('egress-guaranteed') end # guaranteed sending bandwidth in mbps def egress_guaranteed=(val) prop_set('egress-guaranteed', val) end end def bandwidth @subclasses['bandwidth'] ||= Bandwidth.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def tunnel_traffic @subclasses['tunnel-traffic'] ||= TunnelTraffic.new(parent_instance: self, client: @client, create_children: @create_children) end class RegularTraffic < ConfigClass def has_multiple_values?; false; end def _section :'regular-traffic' end class Groups < XML::ConfigClass def has_multiple_values?; true; end def _section :groups end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Members < XML::ConfigClass def has_multiple_values?; true; end def _section :members end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Match < ConfigClass def has_multiple_values?; false; end def _section :match end class LocalAddress < ConfigClass def has_multiple_values?; false; end def _section :'local-address' end class Address < XML::ConfigClass def has_multiple_values?; true; end def _section :address end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'max-count'=>'1', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def address maybe_register_subclass('address', Address.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'interface'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'local side interface'}, 'destination_interface'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'destination interface'}} # local side interface def interface prop_get('interface') end # local side interface def interface=(val) prop_set('interface', val) end # destination interface def destination_interface prop_get('destination_interface') end # destination interface def destination_interface=(val) prop_set('destination_interface', val) end end def local_address @subclasses['local-address'] ||= LocalAddress.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def match @subclasses['match'] ||= Match.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'31', 'help-string'=>'name of this QoS member entity'}, 'qos-profile'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'apply QoS profile for traffic go through the group of hosts'}} # name of this QoS member entity def name prop_get('@name') end # apply QoS profile for traffic go through the group of hosts def qos_profile prop_get('qos-profile') end # apply QoS profile for traffic go through the group of hosts def qos_profile=(val) prop_set('qos-profile', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def members maybe_register_subclass('members', Members.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'enum', 'maxlen'=>'31', 'help-string'=>'regular traffic group', 'enum'=>[{'value'=>'regular-traffic-group', 'help-string'=>'the pre-defined group for regular traffic'}]}} # regular traffic group def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def groups maybe_register_subclass('groups', Groups.new(parent_instance: self, client: @client, create_children: @create_children)) end class DefaultGroup < ConfigClass def has_multiple_values?; false; end def _section :'default-group' end @props = {'qos-profile'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'apply QoS profile for aggregated traffic'}} # apply QoS profile for aggregated traffic def qos_profile prop_get('qos-profile') end # apply QoS profile for aggregated traffic def qos_profile=(val) prop_set('qos-profile', val) end end def default_group @subclasses['default-group'] ||= DefaultGroup.new(parent_instance: self, client: @client, create_children: @create_children) end class Bandwidth < ConfigClass def has_multiple_values?; false; end def _section :bandwidth end @props = {'egress-max'=>{'node-type'=>'element', 'type'=>'float', 'optional'=>'yes', 'min'=>'0', 'max'=>'68000', 'platform-max'=>'cfg.general.max-qosbw', 'default'=>'0', 'help-string'=>'max sending bandwidth in mbps'}, 'egress-guaranteed'=>{'node-type'=>'element', 'type'=>'float', 'optional'=>'yes', 'min'=>'0', 'max'=>'60000', 'platform-max'=>'cfg.general.max-qosbw', 'default'=>'0', 'help-string'=>'guaranteed sending bandwidth in mbps'}} # max sending bandwidth in mbps def egress_max prop_get('egress-max') end # max sending bandwidth in mbps def egress_max=(val) prop_set('egress-max', val) end # guaranteed sending bandwidth in mbps def egress_guaranteed prop_get('egress-guaranteed') end # guaranteed sending bandwidth in mbps def egress_guaranteed=(val) prop_set('egress-guaranteed', val) end end def bandwidth @subclasses['bandwidth'] ||= Bandwidth.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def regular_traffic @subclasses['regular-traffic'] ||= RegularTraffic.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'regex'=>'^([\$]?[a-zA-Z0-9:@./_-])+$', 'help-string'=>'Interface name'}, 'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Turn on QoS feature on this interface'}} # Interface name def name prop_get('@name') end # Turn on QoS feature on this interface def enabled prop_get('enabled') end # Turn on QoS feature on this interface def enabled=(val) prop_set('enabled', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def interface maybe_register_subclass('interface', Interface.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def qos @subclasses['qos'] ||= Qos.new(parent_instance: self, client: @client, create_children: @create_children) end class SpanningTree < XML::ConfigClass def has_multiple_values?; true; end def _section :'spanning-tree' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Port < XML::ConfigClass def has_multiple_values?; true; end def _section :port end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'Switch port name'}, 'priority'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'0', 'max'=>'256', 'default'=>'32', 'help-string'=>'Port priority'}, 'cost'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'0', 'max'=>'256', 'default'=>'32', 'help-string'=>'Port cost'}, 'link-type'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'help-string'=>'Port link type', 'enum'=>[{'value'=>'auto', 'help-string'=>'Automatically detect edge port'}, {'value'=>'edge', 'help-string'=>'Edge port'}, {'value'=>'point-to-point', 'help-string'=>'Point-to-point link'}]}} # Switch port name def name prop_get('@name') end # Port priority def priority prop_get('priority') end # Port priority def priority=(val) prop_set('priority', val) end # Port cost def cost prop_get('cost') end # Port cost def cost=(val) prop_set('cost', val) end # Port link type def link_type prop_get('link-type') end # Port link type def link_type=(val) prop_set('link-type', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def port maybe_register_subclass('port', Port.new(parent_instance: self, client: @client, create_children: @create_children)) end class Time < ConfigClass def has_multiple_values?; false; end def _section :time end @props = {'hello-time'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'1', 'max'=>'2', 'default'=>'2', 'help-string'=>'Hello Time (in seconds)'}, 'max-age'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'6', 'max'=>'40', 'default'=>'20', 'help-string'=>'Max Age (in seconds)'}, 'forward-delay'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'4', 'max'=>'30', 'default'=>'15', 'help-string'=>'Forward Delay (in seconds)'}} # Hello Time (in seconds) def hello_time prop_get('hello-time') end # Hello Time (in seconds) def hello_time=(val) prop_set('hello-time', val) end # Max Age (in seconds) def max_age prop_get('max-age') end # Max Age (in seconds) def max_age=(val) prop_set('max-age', val) end # Forward Delay (in seconds) def forward_delay prop_get('forward-delay') end # Forward Delay (in seconds) def forward_delay=(val) prop_set('forward-delay', val) end end def time @subclasses['time'] ||= Time.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'vlan'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'VLAN of the instance'}, 'mode'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'rstp', 'help-string'=>'Rapid Spanning Tree Protocol'}, {'value'=>'per-vlan-rstp', 'help-string'=>'Per-VLAN Rapid Spanning Tree'}]}, 'bridge-priority'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'0', 'max'=>'65535', 'default'=>'32768', 'help-string'=>'Bridge priority'}, 'port-priority'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'0', 'max'=>'256', 'default'=>'32', 'help-string'=>'Default port priority within this instance'}, 'port-cost'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'0', 'max'=>'256', 'default'=>'32', 'help-string'=>'Default port cost within this instance'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # VLAN of the instance def vlan prop_get('vlan') end # VLAN of the instance def vlan=(val) prop_set('vlan', val) end def mode prop_get('mode') end def mode=(val) prop_set('mode', val) end # Bridge priority def bridge_priority prop_get('bridge-priority') end # Bridge priority def bridge_priority=(val) prop_set('bridge-priority', val) end # Default port priority within this instance def port_priority prop_get('port-priority') end # Default port priority within this instance def port_priority=(val) prop_set('port-priority', val) end # Default port cost within this instance def port_cost prop_get('port-cost') end # Default port cost within this instance def port_cost=(val) prop_set('port-cost', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def spanning_tree maybe_register_subclass('spanning-tree', SpanningTree.new(parent_instance: self, client: @client, create_children: @create_children)) end class VirtualWire < XML::ConfigClass def has_multiple_values?; true; end def _section :'virtual-wire' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class MulticastFirewalling < ConfigClass def has_multiple_values?; false; end def _section :'multicast-firewalling' end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Enable firewalling for non-unicast traffic', 'default'=>'no'}} # Enable firewalling for non-unicast traffic def enable prop_get('enable') end # Enable firewalling for non-unicast traffic def enable=(val) prop_set('enable', val) end end def multicast_firewalling @subclasses['multicast-firewalling'] ||= MulticastFirewalling.new(parent_instance: self, client: @client, create_children: @create_children) end class LinkStatePassThrough < ConfigClass def has_multiple_values?; false; end def _section :'link-state-pass-through' end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Enable link state passthrough', 'default'=>'yes'}} # Enable link state passthrough def enable prop_get('enable') end # Enable link state passthrough def enable=(val) prop_set('enable', val) end end def link_state_pass_through @subclasses['link-state-pass-through'] ||= LinkStatePassThrough.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'interface1'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Interface 1'}, 'interface2'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Interface 2'}, 'tag-allowed'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangelistspec', 'min'=>'0', 'max'=>'4094', 'help-string'=>'Allowed 802.1q VLAN tags', 'prune-on-sdb'=>'cfg.platform.vm.virtual-wire.tag-allowed-disable=True'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # Interface 1 def interface1 prop_get('interface1') end # Interface 1 def interface1=(val) prop_set('interface1', val) end # Interface 2 def interface2 prop_get('interface2') end # Interface 2 def interface2=(val) prop_set('interface2', val) end # Allowed 802.1q VLAN tags def tag_allowed prop_get('tag-allowed') end # Allowed 802.1q VLAN tags def tag_allowed=(val) prop_set('tag-allowed', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def virtual_wire maybe_register_subclass('virtual-wire', VirtualWire.new(parent_instance: self, client: @client, create_children: @create_children)) end class VirtualRouter < XML::ConfigClass def has_multiple_values?; true; end def _section :'virtual-router' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Interface < XML::ConfigClass def has_multiple_values?; true; end def _section :interface end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def interface maybe_register_subclass('interface', Interface.new(parent_instance: self, client: @client, create_children: @create_children)) end class RoutingTable < ConfigClass def has_multiple_values?; false; end def _section :'routing-table' end class Ip < ConfigClass def has_multiple_values?; false; end def _section :ip end class StaticRoute < XML::ConfigClass def has_multiple_values?; true; end def _section :'static-route' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Nexthop < XML::ConfigClass def has_multiple_values?; true; end def _section :nexthop end class Receive < ConfigClass def has_multiple_values?; false; end def _section :receive end @props = {} end def receive @subclasses['receive'] ||= Receive.new(parent_instance: self, client: @client, create_children: @create_children) end class Discard < ConfigClass def has_multiple_values?; false; end def _section :discard end @props = {} end def discard @subclasses['discard'] ||= Discard.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'ip-address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Next hop IP address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'ipv4-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'fqdn'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'regex'=>'^([a-zA-Z0-9._-])+$', 'help-string'=>'nexthop address FQDN address object configuration'}, 'next-vr'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Next hop virtual router'}, 'tunnel'=>{'node-type'=>'element', 'disabled'=>'yes', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'Forward packet through tunnel'}} # Next hop IP address def ip_address prop_get('ip-address') end # Next hop IP address def ip_address=(val) prop_set('ip-address', val) end # nexthop address FQDN address object configuration def fqdn prop_get('fqdn') end # nexthop address FQDN address object configuration def fqdn=(val) prop_set('fqdn', val) end # Next hop virtual router def next_vr prop_get('next-vr') end # Next hop virtual router def next_vr=(val) prop_set('next-vr', val) end # Forward packet through tunnel def tunnel prop_get('tunnel') end # Forward packet through tunnel def tunnel=(val) prop_set('tunnel', val) end end def nexthop maybe_register_subclass('nexthop', Nexthop.new(parent_instance: self, client: @client, create_children: @create_children)) end class RouteTable < ConfigClass def has_multiple_values?; false; end def _section :'route-table' end class Unicast < ConfigClass def has_multiple_values?; false; end def _section :unicast end @props = {} end def unicast @subclasses['unicast'] ||= Unicast.new(parent_instance: self, client: @client, create_children: @create_children) end class Multicast < ConfigClass def has_multiple_values?; false; end def _section :multicast end @props = {} end def multicast @subclasses['multicast'] ||= Multicast.new(parent_instance: self, client: @client, create_children: @create_children) end class Both < ConfigClass def has_multiple_values?; false; end def _section :both end @props = {} end def both @subclasses['both'] ||= Both.new(parent_instance: self, client: @client, create_children: @create_children) end class NoInstall < ConfigClass def has_multiple_values?; false; end def _section :'no-install' end @props = {} end def no_install @subclasses['no-install'] ||= NoInstall.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def route_table @subclasses['route-table'] ||= RouteTable.new(parent_instance: self, client: @client, create_children: @create_children) end class Bfd < ConfigClass def has_multiple_values?; false; end def _section :bfd end @props = {'profile'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'None', 'help-string'=>'BFD profile', 'optional'=>'yes', 'multi-types'=>{'string'=>{}, 'enum'=>[{'value'=>'None', 'help-string'=>'Disable BFD'}]}}} # BFD profile def profile prop_get('profile') end # BFD profile def profile=(val) prop_set('profile', val) end end def bfd @subclasses['bfd'] ||= Bfd.new(parent_instance: self, client: @client, create_children: @create_children) end class PathMonitor < ConfigClass def has_multiple_values?; false; end def _section :'path-monitor' end class MonitorDestinations < XML::ConfigClass def has_multiple_values?; true; end def _section :'monitor-destinations' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'source'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Source IP address', 'multi-types'=>{'string'=>{}, 'enum'=>[{'value'=>'DHCP', 'help-string'=>'Use DHCP Client Address'}, {'value'=>'PPPOE', 'help-string'=>'Use PPPoE Client Address'}]}}, 'destination'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'Destination IP address'}, 'interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'60', 'default'=>'3', 'help-string'=>'ping interval'}, 'count'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'3', 'max'=>'10', 'default'=>'5', 'help-string'=>'ping count'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Source IP address def source prop_get('source') end # Source IP address def source=(val) prop_set('source', val) end # Destination IP address def destination prop_get('destination') end # Destination IP address def destination=(val) prop_set('destination', val) end # ping interval def interval prop_get('interval') end # ping interval def interval=(val) prop_set('interval', val) end # ping count def count prop_get('count') end # ping count def count=(val) prop_set('count', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def monitor_destinations maybe_register_subclass('monitor-destinations', MonitorDestinations.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'failure-condition'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'any', 'help-string'=>'failure condition', 'enum'=>[{'value'=>'any'}, {'value'=>'all'}]}, 'hold-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'1440', 'default'=>'2', 'help-string'=>'hold time (minutes)'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # failure condition def failure_condition prop_get('failure-condition') end # failure condition def failure_condition=(val) prop_set('failure-condition', val) end # hold time (minutes) def hold_time prop_get('hold-time') end # hold time (minutes) def hold_time=(val) prop_set('hold-time', val) end end def path_monitor @subclasses['path-monitor'] ||= PathMonitor.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [0-9a-zA-Z._-]'}, 'destination'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Destination IP address/prefix', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes', 'ipv4-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'interface'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string'}, 'admin-dist'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'10', 'max'=>'240', 'help-string'=>'adminitrative distance'}, 'metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'10', 'help-string'=>'metric value (path cost)'}} # alphanumeric string [0-9a-zA-Z._-] def name prop_get('@name') end # Destination IP address/prefix def destination prop_get('destination') end # Destination IP address/prefix def destination=(val) prop_set('destination', val) end def interface prop_get('interface') end def interface=(val) prop_set('interface', val) end # adminitrative distance def admin_dist prop_get('admin-dist') end # adminitrative distance def admin_dist=(val) prop_set('admin-dist', val) end # metric value (path cost) def metric prop_get('metric') end # metric value (path cost) def metric=(val) prop_set('metric', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def static_route maybe_register_subclass('static-route', StaticRoute.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def ip @subclasses['ip'] ||= Ip.new(parent_instance: self, client: @client, create_children: @create_children) end class Ipv6 < ConfigClass def has_multiple_values?; false; end def _section :ipv6 end class StaticRoute < XML::ConfigClass def has_multiple_values?; true; end def _section :'static-route' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Nexthop < XML::ConfigClass def has_multiple_values?; true; end def _section :nexthop end class Receive < ConfigClass def has_multiple_values?; false; end def _section :receive end @props = {} end def receive @subclasses['receive'] ||= Receive.new(parent_instance: self, client: @client, create_children: @create_children) end class Discard < ConfigClass def has_multiple_values?; false; end def _section :discard end @props = {} end def discard @subclasses['discard'] ||= Discard.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'ipv6-address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Next hop IP address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'next-vr'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Next hop virtual router'}, 'tunnel'=>{'node-type'=>'element', 'disabled'=>'yes', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'Forward packet through tunnel'}} # Next hop IP address def ipv6_address prop_get('ipv6-address') end # Next hop IP address def ipv6_address=(val) prop_set('ipv6-address', val) end # Next hop virtual router def next_vr prop_get('next-vr') end # Next hop virtual router def next_vr=(val) prop_set('next-vr', val) end # Forward packet through tunnel def tunnel prop_get('tunnel') end # Forward packet through tunnel def tunnel=(val) prop_set('tunnel', val) end end def nexthop maybe_register_subclass('nexthop', Nexthop.new(parent_instance: self, client: @client, create_children: @create_children)) end class Option < ConfigClass def has_multiple_values?; false; end def _section :option end class Passive < ConfigClass def has_multiple_values?; false; end def _section :passive end @props = {} end def passive @subclasses['passive'] ||= Passive.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def option @subclasses['option'] ||= Option.new(parent_instance: self, client: @client, create_children: @create_children) end class RouteTable < ConfigClass def has_multiple_values?; false; end def _section :'route-table' end class Unicast < ConfigClass def has_multiple_values?; false; end def _section :unicast end @props = {} end def unicast @subclasses['unicast'] ||= Unicast.new(parent_instance: self, client: @client, create_children: @create_children) end class NoInstall < ConfigClass def has_multiple_values?; false; end def _section :'no-install' end @props = {} end def no_install @subclasses['no-install'] ||= NoInstall.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def route_table @subclasses['route-table'] ||= RouteTable.new(parent_instance: self, client: @client, create_children: @create_children) end class Bfd < ConfigClass def has_multiple_values?; false; end def _section :bfd end @props = {'profile'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'None', 'help-string'=>'BFD profile', 'optional'=>'yes', 'multi-types'=>{'string'=>{}, 'enum'=>[{'value'=>'None', 'help-string'=>'Disable BFD'}]}}} # BFD profile def profile prop_get('profile') end # BFD profile def profile=(val) prop_set('profile', val) end end def bfd @subclasses['bfd'] ||= Bfd.new(parent_instance: self, client: @client, create_children: @create_children) end class PathMonitor < ConfigClass def has_multiple_values?; false; end def _section :'path-monitor' end class MonitorDestinations < XML::ConfigClass def has_multiple_values?; true; end def _section :'monitor-destinations' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'source'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Source IP address', 'multi-types'=>{'string'=>{}}}, 'destination'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'Destination IP address'}, 'interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'60', 'default'=>'3', 'help-string'=>'ping interval'}, 'count'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'3', 'max'=>'10', 'default'=>'5', 'help-string'=>'ping count'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Source IP address def source prop_get('source') end # Source IP address def source=(val) prop_set('source', val) end # Destination IP address def destination prop_get('destination') end # Destination IP address def destination=(val) prop_set('destination', val) end # ping interval def interval prop_get('interval') end # ping interval def interval=(val) prop_set('interval', val) end # ping count def count prop_get('count') end # ping count def count=(val) prop_set('count', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def monitor_destinations maybe_register_subclass('monitor-destinations', MonitorDestinations.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'failure-condition'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'any', 'help-string'=>'failure condition', 'enum'=>[{'value'=>'any'}, {'value'=>'all'}]}, 'hold-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'1440', 'default'=>'2', 'help-string'=>'hold time (minutes)'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # failure condition def failure_condition prop_get('failure-condition') end # failure condition def failure_condition=(val) prop_set('failure-condition', val) end # hold time (minutes) def hold_time prop_get('hold-time') end # hold time (minutes) def hold_time=(val) prop_set('hold-time', val) end end def path_monitor @subclasses['path-monitor'] ||= PathMonitor.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [0-9a-zA-Z._-]'}, 'destination'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Destination IP address/prefix', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'interface'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string'}, 'admin-dist'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'10', 'max'=>'240', 'help-string'=>'adminitrative distance'}, 'metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'10', 'help-string'=>'metric value (path cost)'}} # alphanumeric string [0-9a-zA-Z._-] def name prop_get('@name') end # Destination IP address/prefix def destination prop_get('destination') end # Destination IP address/prefix def destination=(val) prop_set('destination', val) end def interface prop_get('interface') end def interface=(val) prop_set('interface', val) end # adminitrative distance def admin_dist prop_get('admin-dist') end # adminitrative distance def admin_dist=(val) prop_set('admin-dist', val) end # metric value (path cost) def metric prop_get('metric') end # metric value (path cost) def metric=(val) prop_set('metric', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def static_route maybe_register_subclass('static-route', StaticRoute.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def ipv6 @subclasses['ipv6'] ||= Ipv6.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def routing_table @subclasses['routing-table'] ||= RoutingTable.new(parent_instance: self, client: @client, create_children: @create_children) end class Multicast < ConfigClass def has_multiple_values?; false; end def _section :multicast end class InterfaceGroup < XML::ConfigClass def has_multiple_values?; true; end def _section :'interface-group' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Interface < XML::ConfigClass def has_multiple_values?; true; end def _section :interface end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def interface maybe_register_subclass('interface', Interface.new(parent_instance: self, client: @client, create_children: @create_children)) end class GroupPermission < ConfigClass def has_multiple_values?; false; end def _section :'group-permission' end class AnySourceMulticast < XML::ConfigClass def has_multiple_values?; true; end def _section :'any-source-multicast' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'16', 'help-string'=>'rule name'}, 'group-address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'group-address/prefix', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes', 'multicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'included'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'included'}} # rule name def name prop_get('@name') end # group-address/prefix def group_address prop_get('group-address') end # group-address/prefix def group_address=(val) prop_set('group-address', val) end # included def included prop_get('included') end # included def included=(val) prop_set('included', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def any_source_multicast maybe_register_subclass('any-source-multicast', AnySourceMulticast.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceSpecificMulticast < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-specific-multicast' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'16', 'help-string'=>'rule name'}, 'group-address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'group-address/prefix', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes', 'multicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'source-address'=>{'node-type'=>'element', 'type'=>'multiple', 'ipv4-only'=>'yes', 'help-string'=>'source-address/prefix', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}}}, 'included'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'included'}} # rule name def name prop_get('@name') end # group-address/prefix def group_address prop_get('group-address') end # group-address/prefix def group_address=(val) prop_set('group-address', val) end # source-address/prefix def source_address prop_get('source-address') end # source-address/prefix def source_address=(val) prop_set('source-address', val) end # included def included prop_get('included') end # included def included=(val) prop_set('included', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def source_specific_multicast maybe_register_subclass('source-specific-multicast', SourceSpecificMulticast.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def group_permission @subclasses['group-permission'] ||= GroupPermission.new(parent_instance: self, client: @client, create_children: @create_children) end class Igmp < ConfigClass def has_multiple_values?; false; end def _section :igmp end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'enable IGMP'}, 'version'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'3', 'help-string'=>'IGMP version number', 'enum'=>[{'value'=>'1'}, {'value'=>'2'}, {'value'=>'3'}]}, 'mode'=>{'node-type'=>'element', 'optional'=>'yes', 'disabled'=>'yes', 'type'=>'multiple', 'default'=>'router', 'help-string'=>'IGMP mode', 'multi-types'=>{'enum'=>[{'value'=>'router'}, {'value'=>'host'}]}}, 'max-query-response-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'default'=>'10', 'min'=>'0', 'max'=>'3174.4', 'help-string'=>'maximum query response time for general group membership queries in seconds'}, 'query-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'125', 'min'=>'1', 'max'=>'31744', 'help-string'=>'interval between group/source specific query messages'}, 'last-member-query-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'default'=>'1', 'min'=>'0.1', 'max'=>'3174.4', 'help-string'=>'interval between group/source specific query messages (including those sent in response of leave group messages)'}, 'immediate-leave'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'leave group immediately when a leave message is received'}, 'robustness'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'2', 'help-string'=>'robustness variable', 'enum'=>[{'value'=>'1'}, {'value'=>'2'}, {'value'=>'3'}, {'value'=>'4'}, {'value'=>'5'}, {'value'=>'6'}, {'value'=>'7'}]}, 'max-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unlimited', 'help-string'=>'maximum number of groups allowed on this interface', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'65535'}, 'enum'=>[{'value'=>'unlimited'}]}}, 'max-sources'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unlimited', 'help-string'=>'maximum number of source-specific memberships allowed on this interface', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'65535'}, 'enum'=>[{'value'=>'unlimited'}]}}, 'router-alert-policing'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'drop IGMP packets without Router Alert option'}} # enable IGMP def enable prop_get('enable') end # enable IGMP def enable=(val) prop_set('enable', val) end # IGMP version number def version prop_get('version') end # IGMP version number def version=(val) prop_set('version', val) end # IGMP mode def mode prop_get('mode') end # IGMP mode def mode=(val) prop_set('mode', val) end # maximum query response time for general group membership queries in seconds def max_query_response_time prop_get('max-query-response-time') end # maximum query response time for general group membership queries in seconds def max_query_response_time=(val) prop_set('max-query-response-time', val) end # interval between group/source specific query messages def query_interval prop_get('query-interval') end # interval between group/source specific query messages def query_interval=(val) prop_set('query-interval', val) end # interval between group/source specific query messages (including those sent in response of leave group messages) def last_member_query_interval prop_get('last-member-query-interval') end # interval between group/source specific query messages (including those sent in response of leave group messages) def last_member_query_interval=(val) prop_set('last-member-query-interval', val) end # leave group immediately when a leave message is received def immediate_leave prop_get('immediate-leave') end # leave group immediately when a leave message is received def immediate_leave=(val) prop_set('immediate-leave', val) end # robustness variable def robustness prop_get('robustness') end # robustness variable def robustness=(val) prop_set('robustness', val) end # maximum number of groups allowed on this interface def max_groups prop_get('max-groups') end # maximum number of groups allowed on this interface def max_groups=(val) prop_set('max-groups', val) end # maximum number of source-specific memberships allowed on this interface def max_sources prop_get('max-sources') end # maximum number of source-specific memberships allowed on this interface def max_sources=(val) prop_set('max-sources', val) end # drop IGMP packets without Router Alert option def router_alert_policing prop_get('router-alert-policing') end # drop IGMP packets without Router Alert option def router_alert_policing=(val) prop_set('router-alert-policing', val) end end def igmp @subclasses['igmp'] ||= Igmp.new(parent_instance: self, client: @client, create_children: @create_children) end class Pim < ConfigClass def has_multiple_values?; false; end def _section :pim end class AllowedNeighbors < XML::ConfigClass def has_multiple_values?; true; end def _section :'allowed-neighbors' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'multiple', 'help-string'=>'ip address/prefix', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}}}} # ip address/prefix def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def allowed_neighbors maybe_register_subclass('allowed-neighbors', AllowedNeighbors.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'assert-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65534', 'default'=>'177', 'help-string'=>'interval between PIM Assert messages, in seconds'}, 'hello-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'18000', 'default'=>'30', 'help-string'=>'interval between PIM Hello messages, in seconds, a value of 0 represents an \'infinite\' interval'}, 'join-prune-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'18000', 'default'=>'60', 'help-string'=>'interval between PIM Join/Prune messages, in seconds'}, 'dr-priority'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'default'=>'1', 'help-string'=>'Designated Router priority'}, 'bsr-border'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'interface is bootstrap border'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # interval between PIM Assert messages, in seconds def assert_interval prop_get('assert-interval') end # interval between PIM Assert messages, in seconds def assert_interval=(val) prop_set('assert-interval', val) end # interval between PIM Hello messages, in seconds, a value of 0 represents an 'infinite' interval def hello_interval prop_get('hello-interval') end # interval between PIM Hello messages, in seconds, a value of 0 represents an 'infinite' interval def hello_interval=(val) prop_set('hello-interval', val) end # interval between PIM Join/Prune messages, in seconds def join_prune_interval prop_get('join-prune-interval') end # interval between PIM Join/Prune messages, in seconds def join_prune_interval=(val) prop_set('join-prune-interval', val) end # Designated Router priority def dr_priority prop_get('dr-priority') end # Designated Router priority def dr_priority=(val) prop_set('dr-priority', val) end # interface is bootstrap border def bsr_border prop_get('bsr-border') end # interface is bootstrap border def bsr_border=(val) prop_set('bsr-border', val) end end def pim @subclasses['pim'] ||= Pim.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'16', 'help-string'=>'interface group name'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}} # interface group name def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def interface_group maybe_register_subclass('interface-group', InterfaceGroup.new(parent_instance: self, client: @client, create_children: @create_children)) end class SsmAddressSpace < XML::ConfigClass def has_multiple_values?; true; end def _section :'ssm-address-space' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'16', 'help-string'=>'rule name'}, 'group-address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'group-address/prefix', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes', 'multicast-only'=>'yes', 'default'=>'232.0.0.0/8'}, 'string'=>{'maxlen'=>'63'}}}, 'included'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'included'}} # rule name def name prop_get('@name') end # group-address/prefix def group_address prop_get('group-address') end # group-address/prefix def group_address=(val) prop_set('group-address', val) end # included def included prop_get('included') end # included def included=(val) prop_set('included', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ssm_address_space maybe_register_subclass('ssm-address-space', SsmAddressSpace.new(parent_instance: self, client: @client, create_children: @create_children)) end class SptThreshold < XML::ConfigClass def has_multiple_values?; true; end def _section :'spt-threshold' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{'multicast-only'=>'yes', 'ipv4-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'threshold'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'0', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'4294967295', 'help-string'=>'data rate (kbps) at which a SPT switch is triggered'}, 'enum'=>[{'value'=>'never', 'help-string'=>'do not switch to spt'}, {'value'=>'0', 'help-string'=>'switch on first data packet'}]}}} def name prop_get('@name') end def threshold prop_get('threshold') end def threshold=(val) prop_set('threshold', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def spt_threshold maybe_register_subclass('spt-threshold', SptThreshold.new(parent_instance: self, client: @client, create_children: @create_children)) end class Rp < ConfigClass def has_multiple_values?; false; end def _section :rp end class LocalRp < ConfigClass def has_multiple_values?; false; end def _section :'local-rp' end class StaticRp < ConfigClass def has_multiple_values?; false; end def _section :'static-rp' end class GroupAddresses < XML::ConfigClass def has_multiple_values?; true; end def _section :'group-addresses' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes', 'multicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def group_addresses maybe_register_subclass('group-addresses', GroupAddresses.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'interface'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'local RP interface'}, 'address'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'local RP address'}, 'override'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Override learned RP for the same group'}} # local RP interface def interface prop_get('interface') end # local RP interface def interface=(val) prop_set('interface', val) end # local RP address def address prop_get('address') end # local RP address def address=(val) prop_set('address', val) end # Override learned RP for the same group def override prop_get('override') end # Override learned RP for the same group def override=(val) prop_set('override', val) end end def static_rp @subclasses['static-rp'] ||= StaticRp.new(parent_instance: self, client: @client, create_children: @create_children) end class CandidateRp < ConfigClass def has_multiple_values?; false; end def _section :'candidate-rp' end class GroupAddresses < XML::ConfigClass def has_multiple_values?; true; end def _section :'group-addresses' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes', 'multicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def group_addresses maybe_register_subclass('group-addresses', GroupAddresses.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'candidate RP interface'}, 'address'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'candidate RP address'}, 'priority'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255', 'default'=>'192', 'help-string'=>'The priority for this candidate rt'}, 'advertisement-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'26214', 'default'=>'60', 'help-string'=>'The time interval in seconds between candidate rp advertisements'}} # candidate RP interface def interface prop_get('interface') end # candidate RP interface def interface=(val) prop_set('interface', val) end # candidate RP address def address prop_get('address') end # candidate RP address def address=(val) prop_set('address', val) end # The priority for this candidate rt def priority prop_get('priority') end # The priority for this candidate rt def priority=(val) prop_set('priority', val) end # The time interval in seconds between candidate rp advertisements def advertisement_interval prop_get('advertisement-interval') end # The time interval in seconds between candidate rp advertisements def advertisement_interval=(val) prop_set('advertisement-interval', val) end end def candidate_rp @subclasses['candidate-rp'] ||= CandidateRp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def local_rp @subclasses['local-rp'] ||= LocalRp.new(parent_instance: self, client: @client, create_children: @create_children) end class ExternalRp < XML::ConfigClass def has_multiple_values?; true; end def _section :'external-rp' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class GroupAddresses < XML::ConfigClass def has_multiple_values?; true; end def _section :'group-addresses' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes', 'multicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def group_addresses maybe_register_subclass('group-addresses', GroupAddresses.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'multiple', 'help-string'=>'RP address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'ipv4-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'override'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Override learned RP for the same group'}} # RP address def name prop_get('@name') end # Override learned RP for the same group def override prop_get('override') end # Override learned RP for the same group def override=(val) prop_set('override', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def external_rp maybe_register_subclass('external-rp', ExternalRp.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def rp @subclasses['rp'] ||= Rp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable multicast protocol'}, 'mode'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'disabled'=>'yes', 'default'=>'PIM-SM', 'enum'=>[{'value'=>'PIM-SM', 'help-string'=>'PIM Sparse Mode'}, {'value'=>'IGMP-Proxy', 'help-string'=>'IGMP Proxy'}]}, 'route-ageout-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'210', 'min'=>'210', 'max'=>'7200', 'help-string'=>'time to wait before aging out a multicast route after data stops, in seconds'}} # enable multicast protocol def enable prop_get('enable') end # enable multicast protocol def enable=(val) prop_set('enable', val) end def mode prop_get('mode') end def mode=(val) prop_set('mode', val) end # time to wait before aging out a multicast route after data stops, in seconds def route_ageout_time prop_get('route-ageout-time') end # time to wait before aging out a multicast route after data stops, in seconds def route_ageout_time=(val) prop_set('route-ageout-time', val) end end def multicast @subclasses['multicast'] ||= Multicast.new(parent_instance: self, client: @client, create_children: @create_children) end class Protocol < ConfigClass def has_multiple_values?; false; end def _section :protocol end class RedistProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'redist-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Filter < ConfigClass def has_multiple_values?; false; end def _section :filter end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'enum'=>[{'value'=>'static'}, {'value'=>'connect'}, {'value'=>'rip'}, {'value'=>'ospf'}, {'value'=>'bgp'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end class Interface < XML::ConfigClass def has_multiple_values?; true; end def _section :interface end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def interface maybe_register_subclass('interface', Interface.new(parent_instance: self, client: @client, create_children: @create_children)) end class Destination < XML::ConfigClass def has_multiple_values?; true; end def _section :destination end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination maybe_register_subclass('destination', Destination.new(parent_instance: self, client: @client, create_children: @create_children)) end class Nexthop < XML::ConfigClass def has_multiple_values?; true; end def _section :nexthop end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def nexthop maybe_register_subclass('nexthop', Nexthop.new(parent_instance: self, client: @client, create_children: @create_children)) end class Ospf < ConfigClass def has_multiple_values?; false; end def _section :ospf end class PathType < XML::ConfigClass def has_multiple_values?; true; end def _section :'path-type' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'intra-area'}, {'value'=>'inter-area'}, {'value'=>'ext-1'}, {'value'=>'ext-2'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def path_type maybe_register_subclass('path-type', PathType.new(parent_instance: self, client: @client, create_children: @create_children)) end class Area < XML::ConfigClass def has_multiple_values?; true; end def _section :area end @props = {'member'=>{'node-type'=>'element', 'type'=>'ipspec', 'unicast-only'=>'yes'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def area maybe_register_subclass('area', Area.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'4294967295'}, 'ipspec'=>{'unicast-only'=>'yes', 'ipv4-only'=>'yes'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def ospf @subclasses['ospf'] ||= Ospf.new(parent_instance: self, client: @client, create_children: @create_children) end class Bgp < ConfigClass def has_multiple_values?; false; end def _section :bgp end class Community < XML::ConfigClass def has_multiple_values?; true; end def _section :community end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'max-count'=>'10', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'4294967295', 'help-string'=>'32-bit value in decimal'}, 'string'=>{'regex'=>'^[0][xX][0-9A-Fa-f]{8}$|^[1-9][0-9]{0,4}:[1-9][0-9]{0,4}$', 'maxlen'=>'11', 'help-string'=>'32-bit value in hex, or in AS:VAL format, AS and VAL each in 0-65535 range'}, 'enum'=>[{'value'=>'no-export', 'help-string'=>'well known community value: NO_EXPORT'}, {'value'=>'no-advertise', 'help-string'=>'well known community value: NO_ADVERTISE'}, {'value'=>'local-as', 'help-string'=>'well known community value: NO_EXPORT_SUBCONFED'}, {'value'=>'nopeer', 'help-string'=>'well known community value: NOPEER'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def community maybe_register_subclass('community', Community.new(parent_instance: self, client: @client, create_children: @create_children)) end class ExtendedCommunity < XML::ConfigClass def has_multiple_values?; true; end def _section :'extended-community' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'max-count'=>'5', 'multi-types'=>{'string'=>{'regex'=>'^([0][xX][[:xdigit:]]{16,16})|(([[:digit:]]+|target|origin):[[:digit:].]+:[[:digit:].]+)$', 'maxlen'=>'40', 'help-string'=>'64-bit value in hex, or one of TYPE:AS:VAL, TYPE:IP:VAL, TYPE:A.B:VAL format, TYPE is \'target\', \'origin\' or decimal number (0-65535)'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def extended_community maybe_register_subclass('extended-community', ExtendedCommunity.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def bgp @subclasses['bgp'] ||= Bgp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def filter @subclasses['filter'] ||= Filter.new(parent_instance: self, client: @client, create_children: @create_children) end class Action < XML::ConfigClass def has_multiple_values?; true; end def _section :action end class NoRedist < ConfigClass def has_multiple_values?; false; end def _section :'no-redist' end @props = {} end def no_redist @subclasses['no-redist'] ||= NoRedist.new(parent_instance: self, client: @client, create_children: @create_children) end class Redist < ConfigClass def has_multiple_values?; false; end def _section :redist end @props = {} end def redist @subclasses['redist'] ||= Redist.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def action maybe_register_subclass('action', Action.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'16', 'help-string'=>'profile name'}, 'priority'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'help-string'=>'priority'}} # profile name def name prop_get('@name') end # priority def priority prop_get('priority') end # priority def priority=(val) prop_set('priority', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def redist_profile maybe_register_subclass('redist-profile', RedistProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class RedistProfileIpv6 < XML::ConfigClass def has_multiple_values?; true; end def _section :'redist-profile-ipv6' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Filter < ConfigClass def has_multiple_values?; false; end def _section :filter end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'enum'=>[{'value'=>'static'}, {'value'=>'connect'}, {'value'=>'ospfv3'}, {'value'=>'bgp'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end class Interface < XML::ConfigClass def has_multiple_values?; true; end def _section :interface end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def interface maybe_register_subclass('interface', Interface.new(parent_instance: self, client: @client, create_children: @create_children)) end class Destination < XML::ConfigClass def has_multiple_values?; true; end def _section :destination end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{'ipv6-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination maybe_register_subclass('destination', Destination.new(parent_instance: self, client: @client, create_children: @create_children)) end class Nexthop < XML::ConfigClass def has_multiple_values?; true; end def _section :nexthop end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{'ipv6-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def nexthop maybe_register_subclass('nexthop', Nexthop.new(parent_instance: self, client: @client, create_children: @create_children)) end class Ospfv3 < ConfigClass def has_multiple_values?; false; end def _section :ospfv3 end class PathType < XML::ConfigClass def has_multiple_values?; true; end def _section :'path-type' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'intra-area'}, {'value'=>'inter-area'}, {'value'=>'ext-1'}, {'value'=>'ext-2'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def path_type maybe_register_subclass('path-type', PathType.new(parent_instance: self, client: @client, create_children: @create_children)) end class Area < XML::ConfigClass def has_multiple_values?; true; end def _section :area end @props = {'member'=>{'node-type'=>'element', 'type'=>'ipspec', 'unicast-only'=>'yes'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def area maybe_register_subclass('area', Area.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'4294967295'}, 'ipspec'=>{'unicast-only'=>'yes', 'ipv4-only'=>'yes'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def ospfv3 @subclasses['ospfv3'] ||= Ospfv3.new(parent_instance: self, client: @client, create_children: @create_children) end class Bgp < ConfigClass def has_multiple_values?; false; end def _section :bgp end class Community < XML::ConfigClass def has_multiple_values?; true; end def _section :community end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'max-count'=>'10', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'4294967295', 'help-string'=>'32-bit value in decimal'}, 'string'=>{'regex'=>'^[0][xX][0-9A-Fa-f]{8}$|^[1-9][0-9]{0,4}:[1-9][0-9]{0,4}$', 'maxlen'=>'11', 'help-string'=>'32-bit value in hex, or in AS:VAL format, AS and VAL each in 0-65535 range'}, 'enum'=>[{'value'=>'no-export', 'help-string'=>'well known community value: NO_EXPORT'}, {'value'=>'no-advertise', 'help-string'=>'well known community value: NO_ADVERTISE'}, {'value'=>'local-as', 'help-string'=>'well known community value: NO_EXPORT_SUBCONFED'}, {'value'=>'nopeer', 'help-string'=>'well known community value: NOPEER'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def community maybe_register_subclass('community', Community.new(parent_instance: self, client: @client, create_children: @create_children)) end class ExtendedCommunity < XML::ConfigClass def has_multiple_values?; true; end def _section :'extended-community' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'max-count'=>'5', 'multi-types'=>{'string'=>{'regex'=>'^([0][xX][[:xdigit:]]{16,16})|(([[:digit:]]+|target|origin):[[:digit:].]+:[[:digit:].]+)$', 'maxlen'=>'40', 'help-string'=>'64-bit value in hex, or one of TYPE:AS:VAL, TYPE:IP:VAL, TYPE:A.B:VAL format, TYPE is \'target\', \'origin\' or decimal number (0-65535)'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def extended_community maybe_register_subclass('extended-community', ExtendedCommunity.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def bgp @subclasses['bgp'] ||= Bgp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def filter @subclasses['filter'] ||= Filter.new(parent_instance: self, client: @client, create_children: @create_children) end class Action < XML::ConfigClass def has_multiple_values?; true; end def _section :action end class NoRedist < ConfigClass def has_multiple_values?; false; end def _section :'no-redist' end @props = {} end def no_redist @subclasses['no-redist'] ||= NoRedist.new(parent_instance: self, client: @client, create_children: @create_children) end class Redist < ConfigClass def has_multiple_values?; false; end def _section :redist end @props = {} end def redist @subclasses['redist'] ||= Redist.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def action maybe_register_subclass('action', Action.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'46', 'help-string'=>'profile name'}, 'priority'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'help-string'=>'priority'}} # profile name def name prop_get('@name') end # priority def priority prop_get('priority') end # priority def priority=(val) prop_set('priority', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def redist_profile_ipv6 maybe_register_subclass('redist-profile-ipv6', RedistProfileIpv6.new(parent_instance: self, client: @client, create_children: @create_children)) end class Rip < ConfigClass def has_multiple_values?; false; end def _section :rip end class Timers < ConfigClass def has_multiple_values?; false; end def _section :timers end @props = {'interval-seconds'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'60', 'default'=>'1', 'help-string'=>'timer interval value in seconds'}, 'update-intervals'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'default'=>'30', 'help-string'=>'number of intervals take between route advertisement (RIP response packet)'}, 'expire-intervals'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'default'=>'180', 'help-string'=>'number of intervals take between route last updated to its expiration'}, 'delete-intervals'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'default'=>'120', 'help-string'=>'number of intervals take between route expiration to its deletion'}} # timer interval value in seconds def interval_seconds prop_get('interval-seconds') end # timer interval value in seconds def interval_seconds=(val) prop_set('interval-seconds', val) end # number of intervals take between route advertisement (RIP response packet) def update_intervals prop_get('update-intervals') end # number of intervals take between route advertisement (RIP response packet) def update_intervals=(val) prop_set('update-intervals', val) end # number of intervals take between route last updated to its expiration def expire_intervals prop_get('expire-intervals') end # number of intervals take between route last updated to its expiration def expire_intervals=(val) prop_set('expire-intervals', val) end # number of intervals take between route expiration to its deletion def delete_intervals prop_get('delete-intervals') end # number of intervals take between route expiration to its deletion def delete_intervals=(val) prop_set('delete-intervals', val) end end def timers @subclasses['timers'] ||= Timers.new(parent_instance: self, client: @client, create_children: @create_children) end class AuthProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'auth-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Md5 < XML::ConfigClass def has_multiple_values?; true; end def _section :md5 end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255', 'help-string'=>'Key-ID'}, 'key'=>{'node-type'=>'element', 'type'=>'string', 'encrypt'=>'yes', 'skip-commit-validation'=>'yes', 'maxlen'=>'16', 'help-string'=>'key for the authentication'}, 'preferred'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'prefer to use this key when sending packet'}} # Key-ID def name prop_get('@name') end # key for the authentication def key prop_get('key') end # key for the authentication def key=(val) prop_set('key', val) end # prefer to use this key when sending packet def preferred prop_get('preferred') end # prefer to use this key when sending packet def preferred=(val) prop_set('preferred', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def md5 maybe_register_subclass('md5', Md5.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'31'}, 'password'=>{'node-type'=>'element', 'optional'=>'yes', 'encrypt'=>'yes', 'type'=>'string', 'maxlen'=>'16', 'skip-commit-validation'=>'yes', 'help-string'=>'Simple password authentication'}} def name prop_get('@name') end # Simple password authentication def password prop_get('password') end # Simple password authentication def password=(val) prop_set('password', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def auth_profile maybe_register_subclass('auth-profile', AuthProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class GlobalBfd < ConfigClass def has_multiple_values?; false; end def _section :'global-bfd' end @props = {'profile'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'None', 'help-string'=>'BFD profile', 'optional'=>'yes', 'multi-types'=>{'string'=>{}, 'enum'=>[{'value'=>'None', 'help-string'=>'Disable BFD'}]}}} # BFD profile def profile prop_get('profile') end # BFD profile def profile=(val) prop_set('profile', val) end end def global_bfd @subclasses['global-bfd'] ||= GlobalBfd.new(parent_instance: self, client: @client, create_children: @create_children) end class Interface < XML::ConfigClass def has_multiple_values?; true; end def _section :interface end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class DefaultRoute < XML::ConfigClass def has_multiple_values?; true; end def _section :'default-route' end class Disable < ConfigClass def has_multiple_values?; false; end def _section :disable end @props = {} end def disable @subclasses['disable'] ||= Disable.new(parent_instance: self, client: @client, create_children: @create_children) end class Advertise < ConfigClass def has_multiple_values?; false; end def _section :advertise end @props = {'metric'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'15', 'default'=>'10', 'help-string'=>'metric to be used when advertise default route via RIP'}} # metric to be used when advertise default route via RIP def metric prop_get('metric') end # metric to be used when advertise default route via RIP def metric=(val) prop_set('metric', val) end end def advertise @subclasses['advertise'] ||= Advertise.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def default_route maybe_register_subclass('default-route', DefaultRoute.new(parent_instance: self, client: @client, create_children: @create_children)) end class Bfd < ConfigClass def has_multiple_values?; false; end def _section :bfd end @props = {'profile'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'Inherit-vr-global-setting', 'help-string'=>'BFD profile', 'optional'=>'yes', 'multi-types'=>{'string'=>{}, 'enum'=>[{'value'=>'None', 'help-string'=>'Disable BFD'}, {'value'=>'Inherit-vr-global-setting', 'help-string'=>'Inherit Protocol\'s Global BFD Profile'}]}}} # BFD profile def profile prop_get('profile') end # BFD profile def profile=(val) prop_set('profile', val) end end def bfd @subclasses['bfd'] ||= Bfd.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'interface name'}, 'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'authentication'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes', 'help-string'=>'Authentication options'}, 'mode'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'normal', 'enum'=>[{'value'=>'normal', 'help-string'=>'send and receive'}, {'value'=>'passive', 'help-string'=>'receive only'}, {'value'=>'send-only', 'help-string'=>'send only, do not receive RIP updates'}]}} # interface name def name prop_get('@name') end def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Authentication options def authentication prop_get('authentication') end # Authentication options def authentication=(val) prop_set('authentication', val) end def mode prop_get('mode') end def mode=(val) prop_set('mode', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def interface maybe_register_subclass('interface', Interface.new(parent_instance: self, client: @client, create_children: @create_children)) end class ExportRules < XML::ConfigClass def has_multiple_values?; true; end def _section :'export-rules' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'16', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'16', 'help-string'=>'metric value'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # metric value def metric prop_get('metric') end # metric value def metric=(val) prop_set('metric', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def export_rules maybe_register_subclass('export-rules', ExportRules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'reject-default-route'=>{'node-type'=>'element', 'optional'=>'yes', 'help-string'=>'do not learn default route from RIP', 'type'=>'bool', 'default'=>'yes'}, 'allow-redist-default-route'=>{'node-type'=>'element', 'optional'=>'yes', 'help-string'=>'allow redistribute default route to RIP', 'type'=>'bool', 'default'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # do not learn default route from RIP def reject_default_route prop_get('reject-default-route') end # do not learn default route from RIP def reject_default_route=(val) prop_set('reject-default-route', val) end # allow redistribute default route to RIP def allow_redist_default_route prop_get('allow-redist-default-route') end # allow redistribute default route to RIP def allow_redist_default_route=(val) prop_set('allow-redist-default-route', val) end end def rip @subclasses['rip'] ||= Rip.new(parent_instance: self, client: @client, create_children: @create_children) end class Ospf < ConfigClass def has_multiple_values?; false; end def _section :ospf end class FloodPrevention < ConfigClass def has_multiple_values?; false; end def _section :'flood-prevention' end class Hello < ConfigClass def has_multiple_values?; false; end def _section :hello end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'max-packet'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'64', 'default'=>'8', 'help-string'=>'Maximum of outstanding Hello packets'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Maximum of outstanding Hello packets def max_packet prop_get('max-packet') end # Maximum of outstanding Hello packets def max_packet=(val) prop_set('max-packet', val) end end def hello @subclasses['hello'] ||= Hello.new(parent_instance: self, client: @client, create_children: @create_children) end class Lsa < ConfigClass def has_multiple_values?; false; end def _section :lsa end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'max-packet'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'64', 'default'=>'8', 'help-string'=>'Maximum of outstanding LSAs'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Maximum of outstanding LSAs def max_packet prop_get('max-packet') end # Maximum of outstanding LSAs def max_packet=(val) prop_set('max-packet', val) end end def lsa @subclasses['lsa'] ||= Lsa.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def flood_prevention @subclasses['flood-prevention'] ||= FloodPrevention.new(parent_instance: self, client: @client, create_children: @create_children) end class Timers < ConfigClass def has_multiple_values?; false; end def _section :timers end @props = {'spf-calculation-delay'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0.05', 'max'=>'10', 'default'=>'5', 'help-string'=>'Delay in seconds before running the SPF algorithm'}, 'lsa-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'1', 'max'=>'10', 'default'=>'5', 'help-string'=>'The minimum time in seconds between distinct originations of any particular LSA'}} # Delay in seconds before running the SPF algorithm def spf_calculation_delay prop_get('spf-calculation-delay') end # Delay in seconds before running the SPF algorithm def spf_calculation_delay=(val) prop_set('spf-calculation-delay', val) end # The minimum time in seconds between distinct originations of any particular LSA def lsa_interval prop_get('lsa-interval') end # The minimum time in seconds between distinct originations of any particular LSA def lsa_interval=(val) prop_set('lsa-interval', val) end end def timers @subclasses['timers'] ||= Timers.new(parent_instance: self, client: @client, create_children: @create_children) end class AuthProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'auth-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Md5 < XML::ConfigClass def has_multiple_values?; true; end def _section :md5 end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255', 'help-string'=>'Key-ID'}, 'key'=>{'node-type'=>'element', 'encrypt'=>'yes', 'type'=>'string', 'skip-commit-validation'=>'yes', 'maxlen'=>'16', 'help-string'=>'key for the authentication'}, 'preferred'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'use this key when sending packet'}} # Key-ID def name prop_get('@name') end # key for the authentication def key prop_get('key') end # key for the authentication def key=(val) prop_set('key', val) end # use this key when sending packet def preferred prop_get('preferred') end # use this key when sending packet def preferred=(val) prop_set('preferred', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def md5 maybe_register_subclass('md5', Md5.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'31'}, 'password'=>{'node-type'=>'element', 'optional'=>'yes', 'encrypt'=>'yes', 'skip-commit-validation'=>'yes', 'type'=>'string', 'maxlen'=>'8', 'help-string'=>'Simple password authentication'}} def name prop_get('@name') end # Simple password authentication def password prop_get('password') end # Simple password authentication def password=(val) prop_set('password', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def auth_profile maybe_register_subclass('auth-profile', AuthProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class GlobalBfd < ConfigClass def has_multiple_values?; false; end def _section :'global-bfd' end @props = {'profile'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'None', 'help-string'=>'BFD profile', 'optional'=>'yes', 'multi-types'=>{'string'=>{}, 'enum'=>[{'value'=>'None', 'help-string'=>'Disable BFD'}]}}} # BFD profile def profile prop_get('profile') end # BFD profile def profile=(val) prop_set('profile', val) end end def global_bfd @subclasses['global-bfd'] ||= GlobalBfd.new(parent_instance: self, client: @client, create_children: @create_children) end class Area < XML::ConfigClass def has_multiple_values?; true; end def _section :area end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Normal < ConfigClass def has_multiple_values?; false; end def _section :normal end @props = {} end def normal @subclasses['normal'] ||= Normal.new(parent_instance: self, client: @client, create_children: @create_children) end class Stub < ConfigClass def has_multiple_values?; false; end def _section :stub end class DefaultRoute < XML::ConfigClass def has_multiple_values?; true; end def _section :'default-route' end class Disable < ConfigClass def has_multiple_values?; false; end def _section :disable end @props = {} end def disable @subclasses['disable'] ||= Disable.new(parent_instance: self, client: @client, create_children: @create_children) end class Advertise < ConfigClass def has_multiple_values?; false; end def _section :advertise end @props = {'metric'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'default'=>'10', 'help-string'=>'metric to be used when advertise default route within this stub area'}} # metric to be used when advertise default route within this stub area def metric prop_get('metric') end # metric to be used when advertise default route within this stub area def metric=(val) prop_set('metric', val) end end def advertise @subclasses['advertise'] ||= Advertise.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def default_route maybe_register_subclass('default-route', DefaultRoute.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'accept-summary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}} def accept_summary prop_get('accept-summary') end def accept_summary=(val) prop_set('accept-summary', val) end end def stub @subclasses['stub'] ||= Stub.new(parent_instance: self, client: @client, create_children: @create_children) end class Nssa < ConfigClass def has_multiple_values?; false; end def _section :nssa end class DefaultRoute < XML::ConfigClass def has_multiple_values?; true; end def _section :'default-route' end class Disable < ConfigClass def has_multiple_values?; false; end def _section :disable end @props = {} end def disable @subclasses['disable'] ||= Disable.new(parent_instance: self, client: @client, create_children: @create_children) end class Advertise < ConfigClass def has_multiple_values?; false; end def _section :advertise end @props = {'metric'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'default'=>'10', 'help-string'=>'metric to be used when advertise default route within this stub area'}, 'type'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'ext-2', 'help-string'=>'metric type to be used when advertise default route', 'enum'=>[{'value'=>'ext-1', 'help-string'=>'metric comparable with OSPF metric'}, {'value'=>'ext-2', 'help-string'=>'external route is always less preferred than OSPF routes'}]}} # metric to be used when advertise default route within this stub area def metric prop_get('metric') end # metric to be used when advertise default route within this stub area def metric=(val) prop_set('metric', val) end # metric type to be used when advertise default route def type prop_get('type') end # metric type to be used when advertise default route def type=(val) prop_set('type', val) end end def advertise @subclasses['advertise'] ||= Advertise.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def default_route maybe_register_subclass('default-route', DefaultRoute.new(parent_instance: self, client: @client, create_children: @create_children)) end class NssaExtRange < XML::ConfigClass def has_multiple_values?; true; end def _section :'nssa-ext-range' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Advertise < ConfigClass def has_multiple_values?; false; end def _section :advertise end @props = {} end def advertise @subclasses['advertise'] ||= Advertise.new(parent_instance: self, client: @client, create_children: @create_children) end class Suppress < ConfigClass def has_multiple_values?; false; end def _section :suppress end @props = {} end def suppress @subclasses['suppress'] ||= Suppress.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'help-string'=>'network/prefix'}} # network/prefix def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def nssa_ext_range maybe_register_subclass('nssa-ext-range', NssaExtRange.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'accept-summary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}} def accept_summary prop_get('accept-summary') end def accept_summary=(val) prop_set('accept-summary', val) end end def nssa @subclasses['nssa'] ||= Nssa.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end class Range < XML::ConfigClass def has_multiple_values?; true; end def _section :range end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Advertise < ConfigClass def has_multiple_values?; false; end def _section :advertise end @props = {} end def advertise @subclasses['advertise'] ||= Advertise.new(parent_instance: self, client: @client, create_children: @create_children) end class Suppress < ConfigClass def has_multiple_values?; false; end def _section :suppress end @props = {} end def suppress @subclasses['suppress'] ||= Suppress.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'multiple', 'help-string'=>'network/prefix', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}}}} # network/prefix def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def range maybe_register_subclass('range', Range.new(parent_instance: self, client: @client, create_children: @create_children)) end class Interface < XML::ConfigClass def has_multiple_values?; true; end def _section :interface end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class LinkType < XML::ConfigClass def has_multiple_values?; true; end def _section :'link-type' end class Broadcast < ConfigClass def has_multiple_values?; false; end def _section :broadcast end @props = {} end def broadcast @subclasses['broadcast'] ||= Broadcast.new(parent_instance: self, client: @client, create_children: @create_children) end class P2p < ConfigClass def has_multiple_values?; false; end def _section :p2p end @props = {} end def p2p @subclasses['p2p'] ||= P2p.new(parent_instance: self, client: @client, create_children: @create_children) end class P2mp < ConfigClass def has_multiple_values?; false; end def _section :p2mp end @props = {} end def p2mp @subclasses['p2mp'] ||= P2mp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def link_type maybe_register_subclass('link-type', LinkType.new(parent_instance: self, client: @client, create_children: @create_children)) end class Neighbor < XML::ConfigClass def has_multiple_values?; true; end def _section :neighbor end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'unicast-only'=>'yes'}, 'metric'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Cost of neighbor', 'disabled'=>'yes'}} def name prop_get('@name') end # Cost of neighbor def metric prop_get('metric') end # Cost of neighbor def metric=(val) prop_set('metric', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def neighbor maybe_register_subclass('neighbor', Neighbor.new(parent_instance: self, client: @client, create_children: @create_children)) end class Bfd < ConfigClass def has_multiple_values?; false; end def _section :bfd end @props = {'profile'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'Inherit-vr-global-setting', 'help-string'=>'BFD profile', 'optional'=>'yes', 'multi-types'=>{'string'=>{}, 'enum'=>[{'value'=>'None', 'help-string'=>'Disable BFD'}, {'value'=>'Inherit-vr-global-setting', 'help-string'=>'Inherit Protocol\'s Global BFD Profile'}]}}} # BFD profile def profile prop_get('profile') end # BFD profile def profile=(val) prop_set('profile', val) end end def bfd @subclasses['bfd'] ||= Bfd.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'interface name'}, 'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable OSPF in this interface'}, 'passive'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Suppress the sending of hello packets in this interface'}, 'metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'10', 'help-string'=>'Cost of OSPF interface'}, 'priority'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255', 'default'=>'1', 'help-string'=>'Priority for OSPF designated router selection'}, 'hello-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'3600', 'default'=>'10', 'help-string'=>'Interval (in seconds) to send Hello packets'}, 'dead-counts'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'3', 'max'=>'20', 'default'=>'4', 'help-string'=>'number of lost hello packets to declare router down'}, 'retransmit-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'5', 'help-string'=>'Interval (in seconds) to retransmit LSAs'}, 'transit-delay'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'1', 'help-string'=>'Estimated delay (in seconds) to transmit LSAs'}, 'authentication'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes', 'help-string'=>'Authentication options'}, 'gr-delay'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'10', 'default'=>'10', 'help-string'=>'Period (in seconds) used to send grace LSAs before first hello is sent when graceful restart starts'}} # interface name def name prop_get('@name') end # Enable OSPF in this interface def enable prop_get('enable') end # Enable OSPF in this interface def enable=(val) prop_set('enable', val) end # Suppress the sending of hello packets in this interface def passive prop_get('passive') end # Suppress the sending of hello packets in this interface def passive=(val) prop_set('passive', val) end # Cost of OSPF interface def metric prop_get('metric') end # Cost of OSPF interface def metric=(val) prop_set('metric', val) end # Priority for OSPF designated router selection def priority prop_get('priority') end # Priority for OSPF designated router selection def priority=(val) prop_set('priority', val) end # Interval (in seconds) to send Hello packets def hello_interval prop_get('hello-interval') end # Interval (in seconds) to send Hello packets def hello_interval=(val) prop_set('hello-interval', val) end # number of lost hello packets to declare router down def dead_counts prop_get('dead-counts') end # number of lost hello packets to declare router down def dead_counts=(val) prop_set('dead-counts', val) end # Interval (in seconds) to retransmit LSAs def retransmit_interval prop_get('retransmit-interval') end # Interval (in seconds) to retransmit LSAs def retransmit_interval=(val) prop_set('retransmit-interval', val) end # Estimated delay (in seconds) to transmit LSAs def transit_delay prop_get('transit-delay') end # Estimated delay (in seconds) to transmit LSAs def transit_delay=(val) prop_set('transit-delay', val) end # Authentication options def authentication prop_get('authentication') end # Authentication options def authentication=(val) prop_set('authentication', val) end # Period (in seconds) used to send grace LSAs before first hello is sent when graceful restart starts def gr_delay prop_get('gr-delay') end # Period (in seconds) used to send grace LSAs before first hello is sent when graceful restart starts def gr_delay=(val) prop_set('gr-delay', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def interface maybe_register_subclass('interface', Interface.new(parent_instance: self, client: @client, create_children: @create_children)) end class VirtualLink < XML::ConfigClass def has_multiple_values?; true; end def _section :'virtual-link' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Bfd < ConfigClass def has_multiple_values?; false; end def _section :bfd end @props = {'profile'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'Inherit-vr-global-setting', 'help-string'=>'BFD profile', 'optional'=>'yes', 'multi-types'=>{'string'=>{}, 'enum'=>[{'value'=>'None', 'help-string'=>'Disable BFD'}, {'value'=>'Inherit-vr-global-setting', 'help-string'=>'Inherit Protocol\'s Global BFD Profile'}]}}} # BFD profile def profile prop_get('profile') end # BFD profile def profile=(val) prop_set('profile', val) end end def bfd @subclasses['bfd'] ||= Bfd.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'help-string'=>'virtual-link name'}, 'neighbor-id'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'neighbor router id for virtual link', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'transit-area-id'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'id of transit area, cannot be backbone, stub or NSSA'}, 'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable this virtual link'}, 'hello-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'3600', 'default'=>'10', 'help-string'=>'Interval (in seconds) to send Hello packets'}, 'dead-counts'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'3', 'max'=>'20', 'default'=>'4', 'help-string'=>'number of lost hello packets to declare router down'}, 'retransmit-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'5', 'help-string'=>'Interval (in seconds) to retransmit LSAs'}, 'transit-delay'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'1', 'help-string'=>'Estimated delay (in seconds) to transmit LSAs'}, 'passive'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'disabled'=>'yes', 'help-string'=>'Suppress the sending of hello packets in this virtual link'}, 'authentication'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes', 'help-string'=>'Authentication options'}} # virtual-link name def name prop_get('@name') end # neighbor router id for virtual link def neighbor_id prop_get('neighbor-id') end # neighbor router id for virtual link def neighbor_id=(val) prop_set('neighbor-id', val) end # id of transit area, cannot be backbone, stub or NSSA def transit_area_id prop_get('transit-area-id') end # id of transit area, cannot be backbone, stub or NSSA def transit_area_id=(val) prop_set('transit-area-id', val) end # Enable this virtual link def enable prop_get('enable') end # Enable this virtual link def enable=(val) prop_set('enable', val) end # Interval (in seconds) to send Hello packets def hello_interval prop_get('hello-interval') end # Interval (in seconds) to send Hello packets def hello_interval=(val) prop_set('hello-interval', val) end # number of lost hello packets to declare router down def dead_counts prop_get('dead-counts') end # number of lost hello packets to declare router down def dead_counts=(val) prop_set('dead-counts', val) end # Interval (in seconds) to retransmit LSAs def retransmit_interval prop_get('retransmit-interval') end # Interval (in seconds) to retransmit LSAs def retransmit_interval=(val) prop_set('retransmit-interval', val) end # Estimated delay (in seconds) to transmit LSAs def transit_delay prop_get('transit-delay') end # Estimated delay (in seconds) to transmit LSAs def transit_delay=(val) prop_set('transit-delay', val) end # Suppress the sending of hello packets in this virtual link def passive prop_get('passive') end # Suppress the sending of hello packets in this virtual link def passive=(val) prop_set('passive', val) end # Authentication options def authentication prop_get('authentication') end # Authentication options def authentication=(val) prop_set('authentication', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def virtual_link maybe_register_subclass('virtual-link', VirtualLink.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'multiple', 'help-string'=>'Area ID', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # Area ID def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def area maybe_register_subclass('area', Area.new(parent_instance: self, client: @client, create_children: @create_children)) end class ExportRules < XML::ConfigClass def has_multiple_values?; true; end def _section :'export-rules' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'multiple', 'multi-types'=>{'string'=>{'help-string'=>'redistribute routes using redist-profile'}, 'ipspec'=>{'subnet-only'=>'yes', 'ipv4-only'=>'yes', 'help-string'=>'generate subnet for redistribution'}}}, 'new-path-type'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'ext-2', 'help-string'=>'path type to be used for imported external routes', 'enum'=>[{'value'=>'ext-1', 'help-string'=>'metric comparable with OSPF metric'}, {'value'=>'ext-2', 'help-string'=>'external route is always less preferred than OSPF routes'}]}, 'new-tag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'new tag value', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'4294967295'}, 'ipspec'=>{'unicast-only'=>'yes', 'ipv4-only'=>'yes'}}}, 'metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'metric value'}} def name prop_get('@name') end # path type to be used for imported external routes def new_path_type prop_get('new-path-type') end # path type to be used for imported external routes def new_path_type=(val) prop_set('new-path-type', val) end # new tag value def new_tag prop_get('new-tag') end # new tag value def new_tag=(val) prop_set('new-tag', val) end # metric value def metric prop_get('metric') end # metric value def metric=(val) prop_set('metric', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def export_rules maybe_register_subclass('export-rules', ExportRules.new(parent_instance: self, client: @client, create_children: @create_children)) end class GracefulRestart < ConfigClass def has_multiple_values?; false; end def _section :'graceful-restart' end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'grace-period'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'5', 'max'=>'1800', 'default'=>'120', 'help-string'=>'maximum local restarting time (in seconds)'}, 'helper-enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'enable/disable helping neighboring routers to graceful restart'}, 'strict-LSA-checking'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'enable/disable strict LSA checking. Abort GR if lsa change is detected'}, 'max-neighbor-restart-time'=>{'node-type'=>'element', 'optional'=>'yes', 'help-string'=>'maximum of neighbor restart time accepted (in seconds)', 'type'=>'rangedint', 'min'=>'5', 'max'=>'1800', 'default'=>'140'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # maximum local restarting time (in seconds) def grace_period prop_get('grace-period') end # maximum local restarting time (in seconds) def grace_period=(val) prop_set('grace-period', val) end # enable/disable helping neighboring routers to graceful restart def helper_enable prop_get('helper-enable') end # enable/disable helping neighboring routers to graceful restart def helper_enable=(val) prop_set('helper-enable', val) end # enable/disable strict LSA checking. Abort GR if lsa change is detected def strict_LSA_checking prop_get('strict-LSA-checking') end # enable/disable strict LSA checking. Abort GR if lsa change is detected def strict_LSA_checking=(val) prop_set('strict-LSA-checking', val) end # maximum of neighbor restart time accepted (in seconds) def max_neighbor_restart_time prop_get('max-neighbor-restart-time') end # maximum of neighbor restart time accepted (in seconds) def max_neighbor_restart_time=(val) prop_set('max-neighbor-restart-time', val) end end def graceful_restart @subclasses['graceful-restart'] ||= GracefulRestart.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'router-id'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'router id of this OSPF instance', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'ipv4-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'reject-default-route'=>{'node-type'=>'element', 'optional'=>'yes', 'help-string'=>'do not learn default route from OSPF', 'type'=>'bool', 'default'=>'yes'}, 'allow-redist-default-route'=>{'node-type'=>'element', 'optional'=>'yes', 'help-string'=>'allow redistribute default route to OSPF', 'type'=>'bool', 'default'=>'no'}, 'rfc1583'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'rfc-1583 compatibility'}} # router id of this OSPF instance def router_id prop_get('router-id') end # router id of this OSPF instance def router_id=(val) prop_set('router-id', val) end def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # do not learn default route from OSPF def reject_default_route prop_get('reject-default-route') end # do not learn default route from OSPF def reject_default_route=(val) prop_set('reject-default-route', val) end # allow redistribute default route to OSPF def allow_redist_default_route prop_get('allow-redist-default-route') end # allow redistribute default route to OSPF def allow_redist_default_route=(val) prop_set('allow-redist-default-route', val) end # rfc-1583 compatibility def rfc1583 prop_get('rfc1583') end # rfc-1583 compatibility def rfc1583=(val) prop_set('rfc1583', val) end end def ospf @subclasses['ospf'] ||= Ospf.new(parent_instance: self, client: @client, create_children: @create_children) end class Ospfv3 < ConfigClass def has_multiple_values?; false; end def _section :ospfv3 end class Timers < ConfigClass def has_multiple_values?; false; end def _section :timers end @props = {'spf-calculation-delay'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0.05', 'max'=>'10', 'default'=>'5', 'help-string'=>'Delay in seconds before running the SPF algorithm'}, 'lsa-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'1', 'max'=>'10', 'default'=>'5', 'help-string'=>'The minimum time in seconds between distinct originations of any particular LSA'}} # Delay in seconds before running the SPF algorithm def spf_calculation_delay prop_get('spf-calculation-delay') end # Delay in seconds before running the SPF algorithm def spf_calculation_delay=(val) prop_set('spf-calculation-delay', val) end # The minimum time in seconds between distinct originations of any particular LSA def lsa_interval prop_get('lsa-interval') end # The minimum time in seconds between distinct originations of any particular LSA def lsa_interval=(val) prop_set('lsa-interval', val) end end def timers @subclasses['timers'] ||= Timers.new(parent_instance: self, client: @client, create_children: @create_children) end class AuthProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'auth-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Esp < ConfigClass def has_multiple_values?; false; end def _section :esp end class Authentication < ConfigClass def has_multiple_values?; false; end def _section :authentication end class Md5 < ConfigClass def has_multiple_values?; false; end def _section :md5 end @props = {'key'=>{'node-type'=>'element', 'maxlen'=>'255', 'type'=>'string', 'encrypt'=>'yes', 'skip-commit-validation'=>'yes', 'show-help-tip'=>'yes', 'help-string'=>'hex format xxxxxxxx[-xxxxxxxx]... total 4 sections'}} # hex format xxxxxxxx[-xxxxxxxx]... total 4 sections def key prop_get('key') end # hex format xxxxxxxx[-xxxxxxxx]... total 4 sections def key=(val) prop_set('key', val) end end def md5 @subclasses['md5'] ||= Md5.new(parent_instance: self, client: @client, create_children: @create_children) end class Sha1 < ConfigClass def has_multiple_values?; false; end def _section :sha1 end @props = {'key'=>{'node-type'=>'element', 'maxlen'=>'255', 'type'=>'string', 'encrypt'=>'yes', 'skip-commit-validation'=>'yes', 'show-help-tip'=>'yes', 'help-string'=>'hex format xxxxxxxx[-xxxxxxxx]... total 5 sections'}} # hex format xxxxxxxx[-xxxxxxxx]... total 5 sections def key prop_get('key') end # hex format xxxxxxxx[-xxxxxxxx]... total 5 sections def key=(val) prop_set('key', val) end end def sha1 @subclasses['sha1'] ||= Sha1.new(parent_instance: self, client: @client, create_children: @create_children) end class Sha256 < ConfigClass def has_multiple_values?; false; end def _section :sha256 end @props = {'key'=>{'node-type'=>'element', 'maxlen'=>'255', 'type'=>'string', 'encrypt'=>'yes', 'skip-commit-validation'=>'yes', 'show-help-tip'=>'yes', 'help-string'=>'hex format xxxxxxxx[-xxxxxxxx]... total 8 sections'}} # hex format xxxxxxxx[-xxxxxxxx]... total 8 sections def key prop_get('key') end # hex format xxxxxxxx[-xxxxxxxx]... total 8 sections def key=(val) prop_set('key', val) end end def sha256 @subclasses['sha256'] ||= Sha256.new(parent_instance: self, client: @client, create_children: @create_children) end class Sha384 < ConfigClass def has_multiple_values?; false; end def _section :sha384 end @props = {'key'=>{'node-type'=>'element', 'maxlen'=>'255', 'type'=>'string', 'encrypt'=>'yes', 'skip-commit-validation'=>'yes', 'show-help-tip'=>'yes', 'help-string'=>'hex format xxxxxxxx[-xxxxxxxx]... total 12 sections'}} # hex format xxxxxxxx[-xxxxxxxx]... total 12 sections def key prop_get('key') end # hex format xxxxxxxx[-xxxxxxxx]... total 12 sections def key=(val) prop_set('key', val) end end def sha384 @subclasses['sha384'] ||= Sha384.new(parent_instance: self, client: @client, create_children: @create_children) end class Sha512 < ConfigClass def has_multiple_values?; false; end def _section :sha512 end @props = {'key'=>{'node-type'=>'element', 'maxlen'=>'255', 'type'=>'string', 'encrypt'=>'yes', 'skip-commit-validation'=>'yes', 'show-help-tip'=>'yes', 'help-string'=>'hex format xxxxxxxx[-xxxxxxxx]... total 16 sections'}} # hex format xxxxxxxx[-xxxxxxxx]... total 16 sections def key prop_get('key') end # hex format xxxxxxxx[-xxxxxxxx]... total 16 sections def key=(val) prop_set('key', val) end end def sha512 @subclasses['sha512'] ||= Sha512.new(parent_instance: self, client: @client, create_children: @create_children) end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def authentication @subclasses['authentication'] ||= Authentication.new(parent_instance: self, client: @client, create_children: @create_children) end class Encryption < ConfigClass def has_multiple_values?; false; end def _section :encryption end @props = {'algorithm'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'3des', 'prune-on'=>'cc-only-mode', 'help-string'=>'key is 192 bit'}, {'value'=>'aes-128-cbc', 'help-string'=>'key is 128 bit'}, {'value'=>'aes-192-cbc', 'help-string'=>'key is 192 bit'}, {'value'=>'aes-256-cbc', 'help-string'=>'key is 256 bit'}, {'value'=>'null', 'prune-on'=>'fips-mode'}]}, 'key'=>{'node-type'=>'element', 'optional'=>'yes', 'maxlen'=>'255', 'type'=>'string', 'encrypt'=>'yes', 'skip-commit-validation'=>'yes', 'show-help-tip'=>'yes', 'help-string'=>'hex format xxxxxxxx[-xxxxxxxx]... total number of sections: 3des: 6, aes128: 4, aes192: 6, aes256: 8'}} def algorithm prop_get('algorithm') end def algorithm=(val) prop_set('algorithm', val) end # hex format xxxxxxxx[-xxxxxxxx]... total number of sections: 3des: 6, aes128: 4, aes192: 6, aes256: 8 def key prop_get('key') end # hex format xxxxxxxx[-xxxxxxxx]... total number of sections: 3des: 6, aes128: 4, aes192: 6, aes256: 8 def key=(val) prop_set('key', val) end end def encryption @subclasses['encryption'] ||= Encryption.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def esp @subclasses['esp'] ||= Esp.new(parent_instance: self, client: @client, create_children: @create_children) end class Ah < ConfigClass def has_multiple_values?; false; end def _section :ah end class Md5 < ConfigClass def has_multiple_values?; false; end def _section :md5 end @props = {'key'=>{'node-type'=>'element', 'maxlen'=>'255', 'type'=>'string', 'encrypt'=>'yes', 'skip-commit-validation'=>'yes', 'show-help-tip'=>'yes', 'help-string'=>'hex format xxxxxxxx[-xxxxxxxx]... total 4 sections'}} # hex format xxxxxxxx[-xxxxxxxx]... total 4 sections def key prop_get('key') end # hex format xxxxxxxx[-xxxxxxxx]... total 4 sections def key=(val) prop_set('key', val) end end def md5 @subclasses['md5'] ||= Md5.new(parent_instance: self, client: @client, create_children: @create_children) end class Sha1 < ConfigClass def has_multiple_values?; false; end def _section :sha1 end @props = {'key'=>{'node-type'=>'element', 'maxlen'=>'255', 'type'=>'string', 'encrypt'=>'yes', 'skip-commit-validation'=>'yes', 'show-help-tip'=>'yes', 'help-string'=>'hex format xxxxxxxx[-xxxxxxxx]... total 5 sections'}} # hex format xxxxxxxx[-xxxxxxxx]... total 5 sections def key prop_get('key') end # hex format xxxxxxxx[-xxxxxxxx]... total 5 sections def key=(val) prop_set('key', val) end end def sha1 @subclasses['sha1'] ||= Sha1.new(parent_instance: self, client: @client, create_children: @create_children) end class Sha256 < ConfigClass def has_multiple_values?; false; end def _section :sha256 end @props = {'key'=>{'node-type'=>'element', 'maxlen'=>'255', 'type'=>'string', 'encrypt'=>'yes', 'skip-commit-validation'=>'yes', 'show-help-tip'=>'yes', 'help-string'=>'hex format xxxxxxxx[-xxxxxxxx]... total 8 sections'}} # hex format xxxxxxxx[-xxxxxxxx]... total 8 sections def key prop_get('key') end # hex format xxxxxxxx[-xxxxxxxx]... total 8 sections def key=(val) prop_set('key', val) end end def sha256 @subclasses['sha256'] ||= Sha256.new(parent_instance: self, client: @client, create_children: @create_children) end class Sha384 < ConfigClass def has_multiple_values?; false; end def _section :sha384 end @props = {'key'=>{'node-type'=>'element', 'maxlen'=>'255', 'type'=>'string', 'encrypt'=>'yes', 'skip-commit-validation'=>'yes', 'show-help-tip'=>'yes', 'help-string'=>'hex format xxxxxxxx[-xxxxxxxx]... total 12 sections'}} # hex format xxxxxxxx[-xxxxxxxx]... total 12 sections def key prop_get('key') end # hex format xxxxxxxx[-xxxxxxxx]... total 12 sections def key=(val) prop_set('key', val) end end def sha384 @subclasses['sha384'] ||= Sha384.new(parent_instance: self, client: @client, create_children: @create_children) end class Sha512 < ConfigClass def has_multiple_values?; false; end def _section :sha512 end @props = {'key'=>{'node-type'=>'element', 'maxlen'=>'255', 'type'=>'string', 'encrypt'=>'yes', 'skip-commit-validation'=>'yes', 'show-help-tip'=>'yes', 'help-string'=>'hex format xxxxxxxx[-xxxxxxxx]... total 16 sections'}} # hex format xxxxxxxx[-xxxxxxxx]... total 16 sections def key prop_get('key') end # hex format xxxxxxxx[-xxxxxxxx]... total 16 sections def key=(val) prop_set('key', val) end end def sha512 @subclasses['sha512'] ||= Sha512.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ah @subclasses['ah'] ||= Ah.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'31'}, 'spi'=>{'node-type'=>'element', 'help-string'=>'SPI for both inbound and outbound SA, hex format xxxxxxxx.', 'type'=>'string', 'regex'=>'^([0-9a-fA-F]{8})$'}} def name prop_get('@name') end # SPI for both inbound and outbound SA, hex format xxxxxxxx. def spi prop_get('spi') end # SPI for both inbound and outbound SA, hex format xxxxxxxx. def spi=(val) prop_set('spi', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def auth_profile maybe_register_subclass('auth-profile', AuthProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class GlobalBfd < ConfigClass def has_multiple_values?; false; end def _section :'global-bfd' end @props = {'profile'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'None', 'help-string'=>'BFD profile', 'optional'=>'yes', 'multi-types'=>{'string'=>{}, 'enum'=>[{'value'=>'None', 'help-string'=>'Disable BFD'}]}}} # BFD profile def profile prop_get('profile') end # BFD profile def profile=(val) prop_set('profile', val) end end def global_bfd @subclasses['global-bfd'] ||= GlobalBfd.new(parent_instance: self, client: @client, create_children: @create_children) end class Area < XML::ConfigClass def has_multiple_values?; true; end def _section :area end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Normal < ConfigClass def has_multiple_values?; false; end def _section :normal end @props = {} end def normal @subclasses['normal'] ||= Normal.new(parent_instance: self, client: @client, create_children: @create_children) end class Stub < ConfigClass def has_multiple_values?; false; end def _section :stub end class DefaultRoute < XML::ConfigClass def has_multiple_values?; true; end def _section :'default-route' end class Disable < ConfigClass def has_multiple_values?; false; end def _section :disable end @props = {} end def disable @subclasses['disable'] ||= Disable.new(parent_instance: self, client: @client, create_children: @create_children) end class Advertise < ConfigClass def has_multiple_values?; false; end def _section :advertise end @props = {'metric'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'16777215', 'default'=>'10', 'help-string'=>'metric to be used when advertise default route within this stub area'}} # metric to be used when advertise default route within this stub area def metric prop_get('metric') end # metric to be used when advertise default route within this stub area def metric=(val) prop_set('metric', val) end end def advertise @subclasses['advertise'] ||= Advertise.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def default_route maybe_register_subclass('default-route', DefaultRoute.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'accept-summary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable the origination and propagation of summary LSA to this area'}} # Enable the origination and propagation of summary LSA to this area def accept_summary prop_get('accept-summary') end # Enable the origination and propagation of summary LSA to this area def accept_summary=(val) prop_set('accept-summary', val) end end def stub @subclasses['stub'] ||= Stub.new(parent_instance: self, client: @client, create_children: @create_children) end class Nssa < ConfigClass def has_multiple_values?; false; end def _section :nssa end class DefaultRoute < XML::ConfigClass def has_multiple_values?; true; end def _section :'default-route' end class Disable < ConfigClass def has_multiple_values?; false; end def _section :disable end @props = {} end def disable @subclasses['disable'] ||= Disable.new(parent_instance: self, client: @client, create_children: @create_children) end class Advertise < ConfigClass def has_multiple_values?; false; end def _section :advertise end @props = {'metric'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'16777215', 'default'=>'10', 'help-string'=>'metric to be used when advertise default route within this stub area'}, 'type'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'ext-2', 'help-string'=>'metric type to be used when advertise default route', 'enum'=>[{'value'=>'ext-1', 'help-string'=>'metric comparable with OSPF metric'}, {'value'=>'ext-2', 'help-string'=>'external route is always less preferred than OSPF routes'}]}} # metric to be used when advertise default route within this stub area def metric prop_get('metric') end # metric to be used when advertise default route within this stub area def metric=(val) prop_set('metric', val) end # metric type to be used when advertise default route def type prop_get('type') end # metric type to be used when advertise default route def type=(val) prop_set('type', val) end end def advertise @subclasses['advertise'] ||= Advertise.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def default_route maybe_register_subclass('default-route', DefaultRoute.new(parent_instance: self, client: @client, create_children: @create_children)) end class NssaExtRange < XML::ConfigClass def has_multiple_values?; true; end def _section :'nssa-ext-range' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Advertise < ConfigClass def has_multiple_values?; false; end def _section :advertise end @props = {} end def advertise @subclasses['advertise'] ||= Advertise.new(parent_instance: self, client: @client, create_children: @create_children) end class Suppress < ConfigClass def has_multiple_values?; false; end def _section :suppress end @props = {} end def suppress @subclasses['suppress'] ||= Suppress.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'help-string'=>'network/prefix'}, 'route-tag'=>{'node-type'=>'element', 'disabled'=>'yes', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'help-string'=>'route tag value'}} # network/prefix def name prop_get('@name') end # route tag value def route_tag prop_get('route-tag') end # route tag value def route_tag=(val) prop_set('route-tag', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def nssa_ext_range maybe_register_subclass('nssa-ext-range', NssaExtRange.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'accept-summary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable the origination and propagation of summary LSA to this area'}} # Enable the origination and propagation of summary LSA to this area def accept_summary prop_get('accept-summary') end # Enable the origination and propagation of summary LSA to this area def accept_summary=(val) prop_set('accept-summary', val) end end def nssa @subclasses['nssa'] ||= Nssa.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end class Range < XML::ConfigClass def has_multiple_values?; true; end def _section :range end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Advertise < ConfigClass def has_multiple_values?; false; end def _section :advertise end @props = {} end def advertise @subclasses['advertise'] ||= Advertise.new(parent_instance: self, client: @client, create_children: @create_children) end class Suppress < ConfigClass def has_multiple_values?; false; end def _section :suppress end @props = {} end def suppress @subclasses['suppress'] ||= Suppress.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'multiple', 'help-string'=>'network/prefix', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}}}} # network/prefix def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def range maybe_register_subclass('range', Range.new(parent_instance: self, client: @client, create_children: @create_children)) end class Interface < XML::ConfigClass def has_multiple_values?; true; end def _section :interface end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class LinkType < XML::ConfigClass def has_multiple_values?; true; end def _section :'link-type' end class Broadcast < ConfigClass def has_multiple_values?; false; end def _section :broadcast end @props = {} end def broadcast @subclasses['broadcast'] ||= Broadcast.new(parent_instance: self, client: @client, create_children: @create_children) end class P2p < ConfigClass def has_multiple_values?; false; end def _section :p2p end @props = {} end def p2p @subclasses['p2p'] ||= P2p.new(parent_instance: self, client: @client, create_children: @create_children) end class P2mp < ConfigClass def has_multiple_values?; false; end def _section :p2mp end @props = {} end def p2mp @subclasses['p2mp'] ||= P2mp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def link_type maybe_register_subclass('link-type', LinkType.new(parent_instance: self, client: @client, create_children: @create_children)) end class Neighbor < XML::ConfigClass def has_multiple_values?; true; end def _section :neighbor end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'unicast-only'=>'yes'}} def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def neighbor maybe_register_subclass('neighbor', Neighbor.new(parent_instance: self, client: @client, create_children: @create_children)) end class Bfd < ConfigClass def has_multiple_values?; false; end def _section :bfd end @props = {'profile'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'Inherit-vr-global-setting', 'help-string'=>'BFD profile', 'optional'=>'yes', 'multi-types'=>{'string'=>{}, 'enum'=>[{'value'=>'None', 'help-string'=>'Disable BFD'}, {'value'=>'Inherit-vr-global-setting', 'help-string'=>'Inherit Protocol\'s Global BFD Profile'}]}}} # BFD profile def profile prop_get('profile') end # BFD profile def profile=(val) prop_set('profile', val) end end def bfd @subclasses['bfd'] ||= Bfd.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'interface name'}, 'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable OSPF in this interface'}, 'instance-id'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255', 'default'=>'0', 'help-string'=>'OSPFv3 instance ID'}, 'passive'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Suppress the sending of hello packets in this interface'}, 'metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'10', 'help-string'=>'Cost of OSPF interface'}, 'priority'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255', 'default'=>'1', 'help-string'=>'Priority for OSPF designated router selection'}, 'hello-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'10', 'help-string'=>'Interval (in seconds) to send Hello packets'}, 'dead-counts'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'3', 'max'=>'20', 'default'=>'4', 'help-string'=>'number of lost hello packets to declare router down'}, 'retransmit-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'1800', 'default'=>'5', 'help-string'=>'Interval (in seconds) to retransmit LSAs'}, 'transit-delay'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'1800', 'default'=>'1', 'help-string'=>'Estimated delay (in seconds) to transmit LSAs'}, 'authentication'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes', 'help-string'=>'Authentication options'}, 'gr-delay'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'10', 'default'=>'10', 'help-string'=>'Period (in seconds) used to send grace LSAs before first hello is sent when graceful restart starts'}} # interface name def name prop_get('@name') end # Enable OSPF in this interface def enable prop_get('enable') end # Enable OSPF in this interface def enable=(val) prop_set('enable', val) end # OSPFv3 instance ID def instance_id prop_get('instance-id') end # OSPFv3 instance ID def instance_id=(val) prop_set('instance-id', val) end # Suppress the sending of hello packets in this interface def passive prop_get('passive') end # Suppress the sending of hello packets in this interface def passive=(val) prop_set('passive', val) end # Cost of OSPF interface def metric prop_get('metric') end # Cost of OSPF interface def metric=(val) prop_set('metric', val) end # Priority for OSPF designated router selection def priority prop_get('priority') end # Priority for OSPF designated router selection def priority=(val) prop_set('priority', val) end # Interval (in seconds) to send Hello packets def hello_interval prop_get('hello-interval') end # Interval (in seconds) to send Hello packets def hello_interval=(val) prop_set('hello-interval', val) end # number of lost hello packets to declare router down def dead_counts prop_get('dead-counts') end # number of lost hello packets to declare router down def dead_counts=(val) prop_set('dead-counts', val) end # Interval (in seconds) to retransmit LSAs def retransmit_interval prop_get('retransmit-interval') end # Interval (in seconds) to retransmit LSAs def retransmit_interval=(val) prop_set('retransmit-interval', val) end # Estimated delay (in seconds) to transmit LSAs def transit_delay prop_get('transit-delay') end # Estimated delay (in seconds) to transmit LSAs def transit_delay=(val) prop_set('transit-delay', val) end # Authentication options def authentication prop_get('authentication') end # Authentication options def authentication=(val) prop_set('authentication', val) end # Period (in seconds) used to send grace LSAs before first hello is sent when graceful restart starts def gr_delay prop_get('gr-delay') end # Period (in seconds) used to send grace LSAs before first hello is sent when graceful restart starts def gr_delay=(val) prop_set('gr-delay', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def interface maybe_register_subclass('interface', Interface.new(parent_instance: self, client: @client, create_children: @create_children)) end class VirtualLink < XML::ConfigClass def has_multiple_values?; true; end def _section :'virtual-link' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Bfd < ConfigClass def has_multiple_values?; false; end def _section :bfd end @props = {'profile'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'Inherit-vr-global-setting', 'help-string'=>'BFD profile', 'optional'=>'yes', 'multi-types'=>{'string'=>{}, 'enum'=>[{'value'=>'None', 'help-string'=>'Disable BFD'}, {'value'=>'Inherit-vr-global-setting', 'help-string'=>'Inherit Protocol\'s Global BFD Profile'}]}}} # BFD profile def profile prop_get('profile') end # BFD profile def profile=(val) prop_set('profile', val) end end def bfd @subclasses['bfd'] ||= Bfd.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'help-string'=>'virtual-link name'}, 'neighbor-id'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'neighbor router id for virtual link', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'transit-area-id'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'id of transit area, cannot be backbone, stub or NSSA'}, 'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable this virtual link'}, 'interface-id'=>{'node-type'=>'element', 'disabled'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2147483647', 'help-string'=>'The interface ID assigned to the OSPFv3 virtual interface.'}, 'instance-id'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255', 'default'=>'0', 'help-string'=>'OSPFv3 instance ID'}, 'hello-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'10', 'help-string'=>'Interval (in seconds) to send Hello packets'}, 'dead-counts'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'3', 'max'=>'20', 'default'=>'4', 'help-string'=>'number of lost hello packets to declare router down'}, 'retransmit-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'1800', 'default'=>'5', 'help-string'=>'Interval (in seconds) to retransmit LSAs'}, 'transit-delay'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'1800', 'default'=>'1', 'help-string'=>'Estimated delay (in seconds) to transmit LSAs'}, 'passive'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'disabled'=>'yes', 'help-string'=>'Suppress the sending of hello packets in this virtual link'}, 'authentication'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes', 'help-string'=>'Authentication options'}} # virtual-link name def name prop_get('@name') end # neighbor router id for virtual link def neighbor_id prop_get('neighbor-id') end # neighbor router id for virtual link def neighbor_id=(val) prop_set('neighbor-id', val) end # id of transit area, cannot be backbone, stub or NSSA def transit_area_id prop_get('transit-area-id') end # id of transit area, cannot be backbone, stub or NSSA def transit_area_id=(val) prop_set('transit-area-id', val) end # Enable this virtual link def enable prop_get('enable') end # Enable this virtual link def enable=(val) prop_set('enable', val) end # The interface ID assigned to the OSPFv3 virtual interface. def interface_id prop_get('interface-id') end # The interface ID assigned to the OSPFv3 virtual interface. def interface_id=(val) prop_set('interface-id', val) end # OSPFv3 instance ID def instance_id prop_get('instance-id') end # OSPFv3 instance ID def instance_id=(val) prop_set('instance-id', val) end # Interval (in seconds) to send Hello packets def hello_interval prop_get('hello-interval') end # Interval (in seconds) to send Hello packets def hello_interval=(val) prop_set('hello-interval', val) end # number of lost hello packets to declare router down def dead_counts prop_get('dead-counts') end # number of lost hello packets to declare router down def dead_counts=(val) prop_set('dead-counts', val) end # Interval (in seconds) to retransmit LSAs def retransmit_interval prop_get('retransmit-interval') end # Interval (in seconds) to retransmit LSAs def retransmit_interval=(val) prop_set('retransmit-interval', val) end # Estimated delay (in seconds) to transmit LSAs def transit_delay prop_get('transit-delay') end # Estimated delay (in seconds) to transmit LSAs def transit_delay=(val) prop_set('transit-delay', val) end # Suppress the sending of hello packets in this virtual link def passive prop_get('passive') end # Suppress the sending of hello packets in this virtual link def passive=(val) prop_set('passive', val) end # Authentication options def authentication prop_get('authentication') end # Authentication options def authentication=(val) prop_set('authentication', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def virtual_link maybe_register_subclass('virtual-link', VirtualLink.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'multiple', 'help-string'=>'Area ID', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'authentication'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes', 'help-string'=>'Authentication options'}} # Area ID def name prop_get('@name') end # Authentication options def authentication prop_get('authentication') end # Authentication options def authentication=(val) prop_set('authentication', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def area maybe_register_subclass('area', Area.new(parent_instance: self, client: @client, create_children: @create_children)) end class ExportRules < XML::ConfigClass def has_multiple_values?; true; end def _section :'export-rules' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'multiple', 'multi-types'=>{'string'=>{'help-string'=>'redistribute routes using redist-profile'}, 'ipspec'=>{'ipv6-only'=>'yes', 'subnet-only'=>'yes', 'help-string'=>'generate subnet for redistribution'}}}, 'new-path-type'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'ext-2', 'help-string'=>'path type to be used for imported external routes', 'enum'=>[{'value'=>'ext-1', 'help-string'=>'metric comparable with OSPF metric'}, {'value'=>'ext-2', 'help-string'=>'external route is always less preferred than OSPF routes'}]}, 'new-tag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'new tag value', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'4294967295'}, 'ipspec'=>{'unicast-only'=>'yes', 'ipv4-only'=>'yes'}}}, 'metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'16777215', 'help-string'=>'metric value'}} def name prop_get('@name') end # path type to be used for imported external routes def new_path_type prop_get('new-path-type') end # path type to be used for imported external routes def new_path_type=(val) prop_set('new-path-type', val) end # new tag value def new_tag prop_get('new-tag') end # new tag value def new_tag=(val) prop_set('new-tag', val) end # metric value def metric prop_get('metric') end # metric value def metric=(val) prop_set('metric', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def export_rules maybe_register_subclass('export-rules', ExportRules.new(parent_instance: self, client: @client, create_children: @create_children)) end class GracefulRestart < ConfigClass def has_multiple_values?; false; end def _section :'graceful-restart' end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'grace-period'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'5', 'max'=>'1800', 'default'=>'120', 'help-string'=>'maximum local restarting time (in seconds)'}, 'helper-enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'enable/disable helping neighboring routers to graceful restart'}, 'strict-LSA-checking'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'enable/disable strict LSA checking. Abort GR if lsa change is detected'}, 'max-neighbor-restart-time'=>{'node-type'=>'element', 'optional'=>'yes', 'help-string'=>'maximum of neighbor restart time accepted (in seconds)', 'type'=>'rangedint', 'min'=>'5', 'max'=>'1800', 'default'=>'140'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # maximum local restarting time (in seconds) def grace_period prop_get('grace-period') end # maximum local restarting time (in seconds) def grace_period=(val) prop_set('grace-period', val) end # enable/disable helping neighboring routers to graceful restart def helper_enable prop_get('helper-enable') end # enable/disable helping neighboring routers to graceful restart def helper_enable=(val) prop_set('helper-enable', val) end # enable/disable strict LSA checking. Abort GR if lsa change is detected def strict_LSA_checking prop_get('strict-LSA-checking') end # enable/disable strict LSA checking. Abort GR if lsa change is detected def strict_LSA_checking=(val) prop_set('strict-LSA-checking', val) end # maximum of neighbor restart time accepted (in seconds) def max_neighbor_restart_time prop_get('max-neighbor-restart-time') end # maximum of neighbor restart time accepted (in seconds) def max_neighbor_restart_time=(val) prop_set('max-neighbor-restart-time', val) end end def graceful_restart @subclasses['graceful-restart'] ||= GracefulRestart.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'router-id'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'router id of this OSPFv3 instance', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'reject-default-route'=>{'node-type'=>'element', 'optional'=>'yes', 'help-string'=>'do not learn default route from OSPF', 'type'=>'bool', 'default'=>'yes'}, 'allow-redist-default-route'=>{'node-type'=>'element', 'optional'=>'yes', 'help-string'=>'allow redistribute default route to OSPF', 'type'=>'bool', 'default'=>'no'}, 'disable-transit-traffic'=>{'node-type'=>'element', 'optional'=>'yes', 'help-string'=>'whether OSPFv3 should set the R- and V6-bits in its Router-LSAs', 'type'=>'bool', 'default'=>'no'}} # router id of this OSPFv3 instance def router_id prop_get('router-id') end # router id of this OSPFv3 instance def router_id=(val) prop_set('router-id', val) end def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # do not learn default route from OSPF def reject_default_route prop_get('reject-default-route') end # do not learn default route from OSPF def reject_default_route=(val) prop_set('reject-default-route', val) end # allow redistribute default route to OSPF def allow_redist_default_route prop_get('allow-redist-default-route') end # allow redistribute default route to OSPF def allow_redist_default_route=(val) prop_set('allow-redist-default-route', val) end # whether OSPFv3 should set the R- and V6-bits in its Router-LSAs def disable_transit_traffic prop_get('disable-transit-traffic') end # whether OSPFv3 should set the R- and V6-bits in its Router-LSAs def disable_transit_traffic=(val) prop_set('disable-transit-traffic', val) end end def ospfv3 @subclasses['ospfv3'] ||= Ospfv3.new(parent_instance: self, client: @client, create_children: @create_children) end class Bgp < ConfigClass def has_multiple_values?; false; end def _section :bgp end class RoutingOptions < ConfigClass def has_multiple_values?; false; end def _section :'routing-options' end class Med < ConfigClass def has_multiple_values?; false; end def _section :med end @props = {'always-compare-med'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'always compare MEDs'}, 'deterministic-med-comparison'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'deterministic MEDs comparison'}} # always compare MEDs def always_compare_med prop_get('always-compare-med') end # always compare MEDs def always_compare_med=(val) prop_set('always-compare-med', val) end # deterministic MEDs comparison def deterministic_med_comparison prop_get('deterministic-med-comparison') end # deterministic MEDs comparison def deterministic_med_comparison=(val) prop_set('deterministic-med-comparison', val) end end def med @subclasses['med'] ||= Med.new(parent_instance: self, client: @client, create_children: @create_children) end class OutboundRouteFilter < ConfigClass def has_multiple_values?; false; end def _section :'outbound-route-filter' end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable ORF'}, 'max-received-entries'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'help-string'=>'maximum of prefixes to receive'}, 'cisco-prefix-mode'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'vendor-compatible mode'}} # enable ORF def enable prop_get('enable') end # enable ORF def enable=(val) prop_set('enable', val) end # maximum of prefixes to receive def max_received_entries prop_get('max-received-entries') end # maximum of prefixes to receive def max_received_entries=(val) prop_set('max-received-entries', val) end # vendor-compatible mode def cisco_prefix_mode prop_get('cisco-prefix-mode') end # vendor-compatible mode def cisco_prefix_mode=(val) prop_set('cisco-prefix-mode', val) end end def outbound_route_filter @subclasses['outbound-route-filter'] ||= OutboundRouteFilter.new(parent_instance: self, client: @client, create_children: @create_children) end class GracefulRestart < ConfigClass def has_multiple_values?; false; end def _section :'graceful-restart' end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'stale-route-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'120', 'help-string'=>'time to remove stale routes after peer restart (in seconds)'}, 'local-restart-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'120', 'help-string'=>'local restart time to advertise to peer (in seconds)'}, 'max-peer-restart-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'120', 'help-string'=>'maximum of peer restart time accepted (in seconds)'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # time to remove stale routes after peer restart (in seconds) def stale_route_time prop_get('stale-route-time') end # time to remove stale routes after peer restart (in seconds) def stale_route_time=(val) prop_set('stale-route-time', val) end # local restart time to advertise to peer (in seconds) def local_restart_time prop_get('local-restart-time') end # local restart time to advertise to peer (in seconds) def local_restart_time=(val) prop_set('local-restart-time', val) end # maximum of peer restart time accepted (in seconds) def max_peer_restart_time prop_get('max-peer-restart-time') end # maximum of peer restart time accepted (in seconds) def max_peer_restart_time=(val) prop_set('max-peer-restart-time', val) end end def graceful_restart @subclasses['graceful-restart'] ||= GracefulRestart.new(parent_instance: self, client: @client, create_children: @create_children) end class Aggregate < ConfigClass def has_multiple_values?; false; end def _section :aggregate end @props = {'aggregate-med'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'aggregate route only if they have same MED attributes'}} # aggregate route only if they have same MED attributes def aggregate_med prop_get('aggregate-med') end # aggregate route only if they have same MED attributes def aggregate_med=(val) prop_set('aggregate-med', val) end end def aggregate @subclasses['aggregate'] ||= Aggregate.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'as-format'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'2-byte', 'help-string'=>'AS format', 'enum'=>[{'value'=>'2-byte', 'help-string'=>'2-byte AS format'}, {'value'=>'4-byte', 'help-string'=>'4-byte AS format specified in rfc-4893'}]}, 'default-local-preference'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'default'=>'100', 'help-string'=>'default local preference'}, 'reflector-cluster-id'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'route reflector cluster ID', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'ipv4-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'confederation-member-as'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'confederation requires member-AS number', 'multi-types'=>{'string'=>{'maxlen'=>'63', 'loose-membership'=>'yes'}, 'rangedint'=>{'min'=>'1', 'max'=>'4294967295'}}}} # AS format def as_format prop_get('as-format') end # AS format def as_format=(val) prop_set('as-format', val) end # default local preference def default_local_preference prop_get('default-local-preference') end # default local preference def default_local_preference=(val) prop_set('default-local-preference', val) end # route reflector cluster ID def reflector_cluster_id prop_get('reflector-cluster-id') end # route reflector cluster ID def reflector_cluster_id=(val) prop_set('reflector-cluster-id', val) end # confederation requires member-AS number def confederation_member_as prop_get('confederation-member-as') end # confederation requires member-AS number def confederation_member_as=(val) prop_set('confederation-member-as', val) end end def routing_options @subclasses['routing-options'] ||= RoutingOptions.new(parent_instance: self, client: @client, create_children: @create_children) end class AuthProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'auth-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'31'}, 'secret'=>{'node-type'=>'element', 'optional'=>'yes', 'encrypt'=>'yes', 'skip-commit-validation'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'shared secret for the TCP MD5 authentication'}} def name prop_get('@name') end # shared secret for the TCP MD5 authentication def secret prop_get('secret') end # shared secret for the TCP MD5 authentication def secret=(val) prop_set('secret', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def auth_profile maybe_register_subclass('auth-profile', AuthProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class DampeningProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'dampening-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'31'}, 'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'cutoff'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'1000', 'default'=>'1.25', 'help-string'=>'cutoff threshold value'}, 'reuse'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'1000', 'default'=>'0.5', 'help-string'=>'reuse threshold value'}, 'max-hold-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'900', 'help-string'=>'maximum of hold-down time (in seconds)'}, 'decay-half-life-reachable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'300', 'help-string'=>'Decay half-life while reachable (in seconds)'}, 'decay-half-life-unreachable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'900', 'help-string'=>'Decay half-life while unreachable (in seconds)'}} def name prop_get('@name') end def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # cutoff threshold value def cutoff prop_get('cutoff') end # cutoff threshold value def cutoff=(val) prop_set('cutoff', val) end # reuse threshold value def reuse prop_get('reuse') end # reuse threshold value def reuse=(val) prop_set('reuse', val) end # maximum of hold-down time (in seconds) def max_hold_time prop_get('max-hold-time') end # maximum of hold-down time (in seconds) def max_hold_time=(val) prop_set('max-hold-time', val) end # Decay half-life while reachable (in seconds) def decay_half_life_reachable prop_get('decay-half-life-reachable') end # Decay half-life while reachable (in seconds) def decay_half_life_reachable=(val) prop_set('decay-half-life-reachable', val) end # Decay half-life while unreachable (in seconds) def decay_half_life_unreachable prop_get('decay-half-life-unreachable') end # Decay half-life while unreachable (in seconds) def decay_half_life_unreachable=(val) prop_set('decay-half-life-unreachable', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def dampening_profile maybe_register_subclass('dampening-profile', DampeningProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class GlobalBfd < ConfigClass def has_multiple_values?; false; end def _section :'global-bfd' end @props = {'profile'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'None', 'help-string'=>'BFD profile', 'optional'=>'yes', 'multi-types'=>{'string'=>{}, 'enum'=>[{'value'=>'None', 'help-string'=>'Disable BFD'}]}}} # BFD profile def profile prop_get('profile') end # BFD profile def profile=(val) prop_set('profile', val) end end def global_bfd @subclasses['global-bfd'] ||= GlobalBfd.new(parent_instance: self, client: @client, create_children: @create_children) end class PeerGroup < XML::ConfigClass def has_multiple_values?; true; end def _section :'peer-group' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Ibgp < ConfigClass def has_multiple_values?; false; end def _section :ibgp end @props = {'export-nexthop'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'original', 'enum'=>[{'value'=>'original', 'help-string'=>'keep original nexthop'}, {'value'=>'use-self', 'help-string'=>'override nexthop with self address'}]}} def export_nexthop prop_get('export-nexthop') end def export_nexthop=(val) prop_set('export-nexthop', val) end end def ibgp @subclasses['ibgp'] ||= Ibgp.new(parent_instance: self, client: @client, create_children: @create_children) end class EbgpConfed < ConfigClass def has_multiple_values?; false; end def _section :'ebgp-confed' end @props = {'export-nexthop'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'original', 'enum'=>[{'value'=>'original', 'help-string'=>'keep original nexthop'}, {'value'=>'use-self', 'help-string'=>'override nexthop with self address'}]}} def export_nexthop prop_get('export-nexthop') end def export_nexthop=(val) prop_set('export-nexthop', val) end end def ebgp_confed @subclasses['ebgp-confed'] ||= EbgpConfed.new(parent_instance: self, client: @client, create_children: @create_children) end class IbgpConfed < ConfigClass def has_multiple_values?; false; end def _section :'ibgp-confed' end @props = {'export-nexthop'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'original', 'enum'=>[{'value'=>'original', 'help-string'=>'keep original nexthop'}, {'value'=>'use-self', 'help-string'=>'override nexthop with self address'}]}} def export_nexthop prop_get('export-nexthop') end def export_nexthop=(val) prop_set('export-nexthop', val) end end def ibgp_confed @subclasses['ibgp-confed'] ||= IbgpConfed.new(parent_instance: self, client: @client, create_children: @create_children) end class Ebgp < ConfigClass def has_multiple_values?; false; end def _section :ebgp end @props = {'import-nexthop'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'original', 'enum'=>[{'value'=>'original', 'help-string'=>'keep original nexthop'}, {'value'=>'use-peer', 'help-string'=>'override nexthop with peer address'}]}, 'export-nexthop'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'resolve', 'enum'=>[{'value'=>'resolve', 'help-string'=>'export locally resolved nexthop'}, {'value'=>'use-self', 'help-string'=>'export self address as nexthop'}]}, 'remove-private-as'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'remove private AS when exporting route'}} def import_nexthop prop_get('import-nexthop') end def import_nexthop=(val) prop_set('import-nexthop', val) end def export_nexthop prop_get('export-nexthop') end def export_nexthop=(val) prop_set('export-nexthop', val) end # remove private AS when exporting route def remove_private_as prop_get('remove-private-as') end # remove private AS when exporting route def remove_private_as=(val) prop_set('remove-private-as', val) end end def ebgp @subclasses['ebgp'] ||= Ebgp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end class Peer < XML::ConfigClass def has_multiple_values?; true; end def _section :peer end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SubsequentAddressFamilyIdentifier < ConfigClass def has_multiple_values?; false; end def _section :'subsequent-address-family-identifier' end @props = {'unicast'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'multicast'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} def unicast prop_get('unicast') end def unicast=(val) prop_set('unicast', val) end def multicast prop_get('multicast') end def multicast=(val) prop_set('multicast', val) end end def subsequent_address_family_identifier @subclasses['subsequent-address-family-identifier'] ||= SubsequentAddressFamilyIdentifier.new(parent_instance: self, client: @client, create_children: @create_children) end class LocalAddress < ConfigClass def has_multiple_values?; false; end def _section :'local-address' end @props = {'interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'interface to accept BGP session'}, 'ip'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'50', 'help-string'=>'specify exact IP address if interface has multiple addresses'}} # interface to accept BGP session def interface prop_get('interface') end # interface to accept BGP session def interface=(val) prop_set('interface', val) end # specify exact IP address if interface has multiple addresses def ip prop_get('ip') end # specify exact IP address if interface has multiple addresses def ip=(val) prop_set('ip', val) end end def local_address @subclasses['local-address'] ||= LocalAddress.new(parent_instance: self, client: @client, create_children: @create_children) end class PeerAddress < ConfigClass def has_multiple_values?; false; end def _section :'peer-address' end @props = {'ip'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'peer address configuration', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'fqdn'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'regex'=>'^([a-zA-Z0-9._-])+$', 'help-string'=>'bgp peer FQDN address object configuration'}} # peer address configuration def ip prop_get('ip') end # peer address configuration def ip=(val) prop_set('ip', val) end # bgp peer FQDN address object configuration def fqdn prop_get('fqdn') end # bgp peer FQDN address object configuration def fqdn=(val) prop_set('fqdn', val) end end def peer_address @subclasses['peer-address'] ||= PeerAddress.new(parent_instance: self, client: @client, create_children: @create_children) end class ConnectionOptions < ConfigClass def has_multiple_values?; false; end def _section :'connection-options' end class IncomingBgpConnection < ConfigClass def has_multiple_values?; false; end def _section :'incoming-bgp-connection' end @props = {'remote-port'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'0', 'max'=>'65535', 'default'=>'0', 'help-string'=>'restrict remote port for incoming BGP connections'}, 'allow'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}} # restrict remote port for incoming BGP connections def remote_port prop_get('remote-port') end # restrict remote port for incoming BGP connections def remote_port=(val) prop_set('remote-port', val) end def allow prop_get('allow') end def allow=(val) prop_set('allow', val) end end def incoming_bgp_connection @subclasses['incoming-bgp-connection'] ||= IncomingBgpConnection.new(parent_instance: self, client: @client, create_children: @create_children) end class OutgoingBgpConnection < ConfigClass def has_multiple_values?; false; end def _section :'outgoing-bgp-connection' end @props = {'local-port'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'0', 'max'=>'65535', 'default'=>'0', 'help-string'=>'use specific local port for outgoing BGP connections'}, 'allow'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}} # use specific local port for outgoing BGP connections def local_port prop_get('local-port') end # use specific local port for outgoing BGP connections def local_port=(val) prop_set('local-port', val) end def allow prop_get('allow') end def allow=(val) prop_set('allow', val) end end def outgoing_bgp_connection @subclasses['outgoing-bgp-connection'] ||= OutgoingBgpConnection.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'authentication'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes', 'help-string'=>'Authentication options'}, 'keep-alive-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'30', 'help-string'=>'keep-alive interval (in seconds)', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'1200', 'default'=>'30'}}}, 'min-route-adv-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'600', 'default'=>'30', 'help-string'=>'Minimum Route Advertisement Interval (in seconds)'}, 'multihop'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255', 'default'=>'0', 'help-string'=>'IP TTL value used for sending BGP packet. set to 0 means eBGP use 2, iBGP use 255'}, 'open-delay-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'240', 'default'=>'0', 'help-string'=>'open delay time (in seconds)'}, 'hold-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'90', 'help-string'=>'hold time (in seconds)', 'multi-types'=>{'rangedint'=>{'min'=>'3', 'max'=>'3600', 'default'=>'90'}}}, 'idle-hold-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'15', 'help-string'=>'idle hold time (in seconds)'}} # Authentication options def authentication prop_get('authentication') end # Authentication options def authentication=(val) prop_set('authentication', val) end # keep-alive interval (in seconds) def keep_alive_interval prop_get('keep-alive-interval') end # keep-alive interval (in seconds) def keep_alive_interval=(val) prop_set('keep-alive-interval', val) end # Minimum Route Advertisement Interval (in seconds) def min_route_adv_interval prop_get('min-route-adv-interval') end # Minimum Route Advertisement Interval (in seconds) def min_route_adv_interval=(val) prop_set('min-route-adv-interval', val) end # IP TTL value used for sending BGP packet. set to 0 means eBGP use 2, iBGP use 255 def multihop prop_get('multihop') end # IP TTL value used for sending BGP packet. set to 0 means eBGP use 2, iBGP use 255 def multihop=(val) prop_set('multihop', val) end # open delay time (in seconds) def open_delay_time prop_get('open-delay-time') end # open delay time (in seconds) def open_delay_time=(val) prop_set('open-delay-time', val) end # hold time (in seconds) def hold_time prop_get('hold-time') end # hold time (in seconds) def hold_time=(val) prop_set('hold-time', val) end # idle hold time (in seconds) def idle_hold_time prop_get('idle-hold-time') end # idle hold time (in seconds) def idle_hold_time=(val) prop_set('idle-hold-time', val) end end def connection_options @subclasses['connection-options'] ||= ConnectionOptions.new(parent_instance: self, client: @client, create_children: @create_children) end class Bfd < ConfigClass def has_multiple_values?; false; end def _section :bfd end @props = {'profile'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'Inherit-vr-global-setting', 'help-string'=>'BFD profile', 'optional'=>'yes', 'multi-types'=>{'string'=>{}, 'enum'=>[{'value'=>'None', 'help-string'=>'Disable BFD'}, {'value'=>'Inherit-vr-global-setting', 'help-string'=>'Inherit Protocol\'s Global BFD Profile'}]}}} # BFD profile def profile prop_get('profile') end # BFD profile def profile=(val) prop_set('profile', val) end end def bfd @subclasses['bfd'] ||= Bfd.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'31'}, 'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'peer-as'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'peer AS number', 'multi-types'=>{'string'=>{'maxlen'=>'63', 'loose-membership'=>'yes'}, 'rangedint'=>{'min'=>'1', 'max'=>'4294967295'}}}, 'enable-mp-bgp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'address-family-identifier'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'ipv4', 'help-string'=>'select AFI for this peer', 'enum'=>[{'value'=>'ipv4', 'help-string'=>'enable IPv4 route exchange'}, {'value'=>'ipv6', 'help-string'=>'enable IPv6 route exchange'}]}, 'enable-sender-side-loop-detection'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'reflector-client'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'non-client', 'help-string'=>'this peer is reflector client', 'enum'=>[{'value'=>'non-client', 'help-string'=>'not a reflector client'}, {'value'=>'client', 'help-string'=>'reflector client'}, {'value'=>'meshed-client', 'help-string'=>'fully meshed reflector client'}]}, 'peering-type'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'unspecified', 'help-string'=>'peering type that affects NOPEER community value handling', 'enum'=>[{'value'=>'bilateral', 'help-string'=>'block sending and receiving routes with NOPEER community value'}, {'value'=>'unspecified', 'help-string'=>'disregard NOPEER community value with this peer'}]}, 'aggregated-confed-as-path'=>{'node-type'=>'element', 'type'=>'bool', 'disabled'=>'yes', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'this peer understands aggregated confederation AS path'}, 'max-prefixes'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'5000', 'help-string'=>'maximum of prefixes to receive from peer', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'100000', 'default'=>'5000'}, 'enum'=>[{'value'=>'unlimited'}]}}, 'max-orf-entries'=>{'node-type'=>'element', 'disabled'=>'yes', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'1', 'max'=>'100000', 'default'=>'5000', 'help-string'=>'maximum of ORF entries accepted from peer'}, 'soft-reset-with-stored-info'=>{'node-type'=>'element', 'type'=>'bool', 'disabled'=>'yes', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'soft reset with stored info'}} def name prop_get('@name') end def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # peer AS number def peer_as prop_get('peer-as') end # peer AS number def peer_as=(val) prop_set('peer-as', val) end def enable_mp_bgp prop_get('enable-mp-bgp') end def enable_mp_bgp=(val) prop_set('enable-mp-bgp', val) end # select AFI for this peer def address_family_identifier prop_get('address-family-identifier') end # select AFI for this peer def address_family_identifier=(val) prop_set('address-family-identifier', val) end def enable_sender_side_loop_detection prop_get('enable-sender-side-loop-detection') end def enable_sender_side_loop_detection=(val) prop_set('enable-sender-side-loop-detection', val) end # this peer is reflector client def reflector_client prop_get('reflector-client') end # this peer is reflector client def reflector_client=(val) prop_set('reflector-client', val) end # peering type that affects NOPEER community value handling def peering_type prop_get('peering-type') end # peering type that affects NOPEER community value handling def peering_type=(val) prop_set('peering-type', val) end # this peer understands aggregated confederation AS path def aggregated_confed_as_path prop_get('aggregated-confed-as-path') end # this peer understands aggregated confederation AS path def aggregated_confed_as_path=(val) prop_set('aggregated-confed-as-path', val) end # maximum of prefixes to receive from peer def max_prefixes prop_get('max-prefixes') end # maximum of prefixes to receive from peer def max_prefixes=(val) prop_set('max-prefixes', val) end # maximum of ORF entries accepted from peer def max_orf_entries prop_get('max-orf-entries') end # maximum of ORF entries accepted from peer def max_orf_entries=(val) prop_set('max-orf-entries', val) end # soft reset with stored info def soft_reset_with_stored_info prop_get('soft-reset-with-stored-info') end # soft reset with stored info def soft_reset_with_stored_info=(val) prop_set('soft-reset-with-stored-info', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def peer maybe_register_subclass('peer', Peer.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'31'}, 'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'aggregated-confed-as-path'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'the peers understand aggregated confederation AS path'}, 'soft-reset-with-stored-info'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'soft reset with stored info'}} def name prop_get('@name') end def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # the peers understand aggregated confederation AS path def aggregated_confed_as_path prop_get('aggregated-confed-as-path') end # the peers understand aggregated confederation AS path def aggregated_confed_as_path=(val) prop_set('aggregated-confed-as-path', val) end # soft reset with stored info def soft_reset_with_stored_info prop_get('soft-reset-with-stored-info') end # soft reset with stored info def soft_reset_with_stored_info=(val) prop_set('soft-reset-with-stored-info', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def peer_group maybe_register_subclass('peer-group', PeerGroup.new(parent_instance: self, client: @client, create_children: @create_children)) end class Policy < ConfigClass def has_multiple_values?; false; end def _section :policy end class Import < ConfigClass def has_multiple_values?; false; end def _section :import end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class UsedBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'used-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def used_by maybe_register_subclass('used-by', UsedBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Match < ConfigClass def has_multiple_values?; false; end def _section :match end class AddressPrefix < XML::ConfigClass def has_multiple_values?; true; end def _section :'address-prefix' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'exact'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'help-string'=>'match exact prefix length'}} def name prop_get('@name') end # match exact prefix length def exact prop_get('exact') end # match exact prefix length def exact=(val) prop_set('exact', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def address_prefix maybe_register_subclass('address-prefix', AddressPrefix.new(parent_instance: self, client: @client, create_children: @create_children)) end class Nexthop < XML::ConfigClass def has_multiple_values?; true; end def _section :nexthop end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def nexthop maybe_register_subclass('nexthop', Nexthop.new(parent_instance: self, client: @client, create_children: @create_children)) end class FromPeer < XML::ConfigClass def has_multiple_values?; true; end def _section :'from-peer' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'filter by peer that sent this route'}} # filter by peer that sent this route def member prop_get('member') end # filter by peer that sent this route def member=(val) prop_set('member', val) end end def from_peer maybe_register_subclass('from-peer', FromPeer.new(parent_instance: self, client: @client, create_children: @create_children)) end class AsPath < ConfigClass def has_multiple_values?; false; end def _section :'as-path' end @props = {'regex'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'126', 'help-string'=>'AS-path regular expression'}} # AS-path regular expression def regex prop_get('regex') end # AS-path regular expression def regex=(val) prop_set('regex', val) end end def as_path @subclasses['as-path'] ||= AsPath.new(parent_instance: self, client: @client, create_children: @create_children) end class Community < ConfigClass def has_multiple_values?; false; end def _section :community end @props = {'regex'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'126', 'help-string'=>'AS-path regular expression'}} # AS-path regular expression def regex prop_get('regex') end # AS-path regular expression def regex=(val) prop_set('regex', val) end end def community @subclasses['community'] ||= Community.new(parent_instance: self, client: @client, create_children: @create_children) end class ExtendedCommunity < ConfigClass def has_multiple_values?; false; end def _section :'extended-community' end @props = {'regex'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'126', 'help-string'=>'AS-path regular expression'}} # AS-path regular expression def regex prop_get('regex') end # AS-path regular expression def regex=(val) prop_set('regex', val) end end def extended_community @subclasses['extended-community'] ||= ExtendedCommunity.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'afi'=>{'node-type'=>'element', 'disabled'=>'yes', 'type'=>'enum', 'optional'=>'yes', 'help-string'=>'Address Family Identifier', 'enum'=>[{'value'=>'ip', 'help-string'=>'IPv4 (INET)'}, {'value'=>'ipv6', 'help-string'=>'IPv6 (INET6)'}]}, 'safi'=>{'node-type'=>'element', 'disabled'=>'yes', 'type'=>'enum', 'optional'=>'yes', 'help-string'=>'Subsequent Address Family Identifier', 'enum'=>[{'value'=>'ip', 'help-string'=>'IPv4 (INET)'}, {'value'=>'ipv6', 'help-string'=>'IPv6 (INET6)'}]}, 'route-table'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'unicast', 'help-string'=>'route table to match rule', 'enum'=>[{'value'=>'unicast', 'help-string'=>'unicast table'}, {'value'=>'multicast', 'help-string'=>'multicast table'}, {'value'=>'both', 'help-string'=>'both unicast and multicast tables'}]}, 'med'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} # Address Family Identifier def afi prop_get('afi') end # Address Family Identifier def afi=(val) prop_set('afi', val) end # Subsequent Address Family Identifier def safi prop_get('safi') end # Subsequent Address Family Identifier def safi=(val) prop_set('safi', val) end # route table to match rule def route_table prop_get('route-table') end # route table to match rule def route_table=(val) prop_set('route-table', val) end def med prop_get('med') end def med=(val) prop_set('med', val) end end def match @subclasses['match'] ||= Match.new(parent_instance: self, client: @client, create_children: @create_children) end class Action < ConfigClass def has_multiple_values?; false; end def _section :action end class Deny < ConfigClass def has_multiple_values?; false; end def _section :deny end @props = {} end def deny @subclasses['deny'] ||= Deny.new(parent_instance: self, client: @client, create_children: @create_children) end class Allow < ConfigClass def has_multiple_values?; false; end def _section :allow end class Update < ConfigClass def has_multiple_values?; false; end def _section :update end class AsPath < ConfigClass def has_multiple_values?; false; end def _section :'as-path' end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end class Remove < ConfigClass def has_multiple_values?; false; end def _section :remove end @props = {} end def remove @subclasses['remove'] ||= Remove.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'prepend'=>{'node-type'=>'element', 'disabled'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'default'=>'1', 'help-string'=>'prepend local AS for specified number of times'}, 'remove-and-prepend'=>{'node-type'=>'element', 'disabled'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'default'=>'1', 'help-string'=>'remove matched AS path(s), and prepend local AS for specified number of times'}} # prepend local AS for specified number of times def prepend prop_get('prepend') end # prepend local AS for specified number of times def prepend=(val) prop_set('prepend', val) end # remove matched AS path(s), and prepend local AS for specified number of times def remove_and_prepend prop_get('remove-and-prepend') end # remove matched AS path(s), and prepend local AS for specified number of times def remove_and_prepend=(val) prop_set('remove-and-prepend', val) end end def as_path @subclasses['as-path'] ||= AsPath.new(parent_instance: self, client: @client, create_children: @create_children) end class Community < ConfigClass def has_multiple_values?; false; end def _section :community end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end class RemoveAll < ConfigClass def has_multiple_values?; false; end def _section :'remove-all' end @props = {} end def remove_all @subclasses['remove-all'] ||= RemoveAll.new(parent_instance: self, client: @client, create_children: @create_children) end class Append < XML::ConfigClass def has_multiple_values?; true; end def _section :append end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'max-count'=>'1', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'4294967295', 'help-string'=>'32-bit value in decimal'}, 'string'=>{'regex'=>'^[0][xX][0-9A-Fa-f]{8}$|^0:[1-9][0-9]{0,4}$|^[1-9][0-9]{0,4}:[0-9]{1,5}$', 'maxlen'=>'11', 'help-string'=>'32-bit value in hex, or in AS:VAL format, AS and VAL each in 0-65535 range but not 0:0'}, 'enum'=>[{'value'=>'no-export', 'help-string'=>'well known community value: NO_EXPORT'}, {'value'=>'no-advertise', 'help-string'=>'well known community value: NO_ADVERTISE'}, {'value'=>'local-as', 'help-string'=>'well known community value: NO_EXPORT_SUBCONFED'}, {'value'=>'nopeer', 'help-string'=>'well known community value: NOPEER'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def append maybe_register_subclass('append', Append.new(parent_instance: self, client: @client, create_children: @create_children)) end class Overwrite < XML::ConfigClass def has_multiple_values?; true; end def _section :overwrite end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'max-count'=>'1', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'4294967295', 'help-string'=>'32-bit value in decimal'}, 'string'=>{'regex'=>'^[0][xX][0-9A-Fa-f]{8}$|^0:[1-9][0-9]{0,4}$|^[1-9][0-9]{0,4}:[0-9]{1,5}$', 'maxlen'=>'11', 'help-string'=>'32-bit value in hex, or in AS:VAL format, AS and VAL each in 0-65535 range but not 0:0'}, 'enum'=>[{'value'=>'no-export', 'help-string'=>'well known community value: NO_EXPORT'}, {'value'=>'no-advertise', 'help-string'=>'well known community value: NO_ADVERTISE'}, {'value'=>'local-as', 'help-string'=>'well known community value: NO_EXPORT_SUBCONFED'}, {'value'=>'nopeer', 'help-string'=>'well known community value: NOPEER'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def overwrite maybe_register_subclass('overwrite', Overwrite.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'remove-regex'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127', 'help-string'=>'remove specified coummnity match regular expression'}} # remove specified coummnity match regular expression def remove_regex prop_get('remove-regex') end # remove specified coummnity match regular expression def remove_regex=(val) prop_set('remove-regex', val) end end def community @subclasses['community'] ||= Community.new(parent_instance: self, client: @client, create_children: @create_children) end class ExtendedCommunity < ConfigClass def has_multiple_values?; false; end def _section :'extended-community' end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end class RemoveAll < ConfigClass def has_multiple_values?; false; end def _section :'remove-all' end @props = {} end def remove_all @subclasses['remove-all'] ||= RemoveAll.new(parent_instance: self, client: @client, create_children: @create_children) end class Append < XML::ConfigClass def has_multiple_values?; true; end def _section :append end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'max-count'=>'1', 'multi-types'=>{'string'=>{'regex'=>'^([0][xX][A-Fa-f0-9]{16,16})|(([0-9]+|target|origin):[0-9]+(\.[0-9]+)?:[0-9]+)$', 'maxlen'=>'40', 'help-string'=>'64-bit value in hex, or one of TYPE:AS:VAL, TYPE:IP:VAL, TYPE:A.B:VAL format, TYPE is \'target\', \'origin\' or decimal number (0-65535)'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def append maybe_register_subclass('append', Append.new(parent_instance: self, client: @client, create_children: @create_children)) end class Overwrite < XML::ConfigClass def has_multiple_values?; true; end def _section :overwrite end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'max-count'=>'1', 'multi-types'=>{'string'=>{'regex'=>'^([0][xX][A-Fa-f0-9]{16,16})|(([0-9]+|target|origin):[0-9]+(\.[0-9]+)?:[0-9]+)$', 'maxlen'=>'40', 'help-string'=>'64-bit value in hex, or one of TYPE:AS:VAL, TYPE:IP:VAL, TYPE:A.B:VAL format, TYPE is \'target\', \'origin\' or decimal number (0-65535)'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def overwrite maybe_register_subclass('overwrite', Overwrite.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'remove-regex'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127', 'help-string'=>'remove specified coummnity match regular expression'}} # remove specified coummnity match regular expression def remove_regex prop_get('remove-regex') end # remove specified coummnity match regular expression def remove_regex=(val) prop_set('remove-regex', val) end end def extended_community @subclasses['extended-community'] ||= ExtendedCommunity.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'local-preference'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'help-string'=>'new local preference value'}, 'med'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'help-string'=>'new MED value'}, 'weight'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535', 'help-string'=>'new weight value'}, 'nexthop'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'nexthop address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'origin'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-string'=>'new route origin', 'enum'=>[{'value'=>'igp', 'help-string'=>'route originated from IGP'}, {'value'=>'egp', 'help-string'=>'route originated from EGP'}, {'value'=>'incomplete'}]}, 'as-path-limit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'help-string'=>'add AS path limit attribute if it does not exist '}} # new local preference value def local_preference prop_get('local-preference') end # new local preference value def local_preference=(val) prop_set('local-preference', val) end # new MED value def med prop_get('med') end # new MED value def med=(val) prop_set('med', val) end # new weight value def weight prop_get('weight') end # new weight value def weight=(val) prop_set('weight', val) end # nexthop address def nexthop prop_get('nexthop') end # nexthop address def nexthop=(val) prop_set('nexthop', val) end # new route origin def origin prop_get('origin') end # new route origin def origin=(val) prop_set('origin', val) end # add AS path limit attribute if it does not exist def as_path_limit prop_get('as-path-limit') end # add AS path limit attribute if it does not exist def as_path_limit=(val) prop_set('as-path-limit', val) end end def update @subclasses['update'] ||= Update.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'dampening'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'route flap dampening profile'}} # route flap dampening profile def dampening prop_get('dampening') end # route flap dampening profile def dampening=(val) prop_set('dampening', val) end end def allow @subclasses['allow'] ||= Allow.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def action @subclasses['action'] ||= Action.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63'}, 'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable'}} def name prop_get('@name') end # Enable def enable prop_get('enable') end # Enable def enable=(val) prop_set('enable', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def import @subclasses['import'] ||= Import.new(parent_instance: self, client: @client, create_children: @create_children) end class Export < ConfigClass def has_multiple_values?; false; end def _section :export end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class UsedBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'used-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def used_by maybe_register_subclass('used-by', UsedBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Match < ConfigClass def has_multiple_values?; false; end def _section :match end class AddressPrefix < XML::ConfigClass def has_multiple_values?; true; end def _section :'address-prefix' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'exact'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'help-string'=>'match exact prefix length'}} def name prop_get('@name') end # match exact prefix length def exact prop_get('exact') end # match exact prefix length def exact=(val) prop_set('exact', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def address_prefix maybe_register_subclass('address-prefix', AddressPrefix.new(parent_instance: self, client: @client, create_children: @create_children)) end class Nexthop < XML::ConfigClass def has_multiple_values?; true; end def _section :nexthop end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def nexthop maybe_register_subclass('nexthop', Nexthop.new(parent_instance: self, client: @client, create_children: @create_children)) end class FromPeer < XML::ConfigClass def has_multiple_values?; true; end def _section :'from-peer' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'filter by peer that sent this route'}} # filter by peer that sent this route def member prop_get('member') end # filter by peer that sent this route def member=(val) prop_set('member', val) end end def from_peer maybe_register_subclass('from-peer', FromPeer.new(parent_instance: self, client: @client, create_children: @create_children)) end class AsPath < ConfigClass def has_multiple_values?; false; end def _section :'as-path' end @props = {'regex'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'126', 'help-string'=>'AS-path regular expression'}} # AS-path regular expression def regex prop_get('regex') end # AS-path regular expression def regex=(val) prop_set('regex', val) end end def as_path @subclasses['as-path'] ||= AsPath.new(parent_instance: self, client: @client, create_children: @create_children) end class Community < ConfigClass def has_multiple_values?; false; end def _section :community end @props = {'regex'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'126', 'help-string'=>'AS-path regular expression'}} # AS-path regular expression def regex prop_get('regex') end # AS-path regular expression def regex=(val) prop_set('regex', val) end end def community @subclasses['community'] ||= Community.new(parent_instance: self, client: @client, create_children: @create_children) end class ExtendedCommunity < ConfigClass def has_multiple_values?; false; end def _section :'extended-community' end @props = {'regex'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'126', 'help-string'=>'AS-path regular expression'}} # AS-path regular expression def regex prop_get('regex') end # AS-path regular expression def regex=(val) prop_set('regex', val) end end def extended_community @subclasses['extended-community'] ||= ExtendedCommunity.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'afi'=>{'node-type'=>'element', 'disabled'=>'yes', 'type'=>'enum', 'optional'=>'yes', 'help-string'=>'Address Family Identifier', 'enum'=>[{'value'=>'ip', 'help-string'=>'IPv4 (INET)'}, {'value'=>'ipv6', 'help-string'=>'IPv6 (INET6)'}]}, 'safi'=>{'node-type'=>'element', 'disabled'=>'yes', 'type'=>'enum', 'optional'=>'yes', 'help-string'=>'Subsequent Address Family Identifier', 'enum'=>[{'value'=>'ip', 'help-string'=>'IPv4 (INET)'}, {'value'=>'ipv6', 'help-string'=>'IPv6 (INET6)'}]}, 'route-table'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'unicast', 'help-string'=>'route table to match rule', 'enum'=>[{'value'=>'unicast', 'help-string'=>'unicast table'}, {'value'=>'multicast', 'help-string'=>'multicast table'}, {'value'=>'both', 'help-string'=>'both unicast and multicast tables'}]}, 'med'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} # Address Family Identifier def afi prop_get('afi') end # Address Family Identifier def afi=(val) prop_set('afi', val) end # Subsequent Address Family Identifier def safi prop_get('safi') end # Subsequent Address Family Identifier def safi=(val) prop_set('safi', val) end # route table to match rule def route_table prop_get('route-table') end # route table to match rule def route_table=(val) prop_set('route-table', val) end def med prop_get('med') end def med=(val) prop_set('med', val) end end def match @subclasses['match'] ||= Match.new(parent_instance: self, client: @client, create_children: @create_children) end class Action < ConfigClass def has_multiple_values?; false; end def _section :action end class Deny < ConfigClass def has_multiple_values?; false; end def _section :deny end @props = {} end def deny @subclasses['deny'] ||= Deny.new(parent_instance: self, client: @client, create_children: @create_children) end class Allow < ConfigClass def has_multiple_values?; false; end def _section :allow end class Update < ConfigClass def has_multiple_values?; false; end def _section :update end class AsPath < ConfigClass def has_multiple_values?; false; end def _section :'as-path' end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end class Remove < ConfigClass def has_multiple_values?; false; end def _section :remove end @props = {} end def remove @subclasses['remove'] ||= Remove.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'prepend'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'default'=>'1', 'help-string'=>'prepend local AS for specified number of times'}, 'remove-and-prepend'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'default'=>'1', 'help-string'=>'remove matched AS path(s), and prepend local AS for specified number of times'}} # prepend local AS for specified number of times def prepend prop_get('prepend') end # prepend local AS for specified number of times def prepend=(val) prop_set('prepend', val) end # remove matched AS path(s), and prepend local AS for specified number of times def remove_and_prepend prop_get('remove-and-prepend') end # remove matched AS path(s), and prepend local AS for specified number of times def remove_and_prepend=(val) prop_set('remove-and-prepend', val) end end def as_path @subclasses['as-path'] ||= AsPath.new(parent_instance: self, client: @client, create_children: @create_children) end class Community < ConfigClass def has_multiple_values?; false; end def _section :community end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end class RemoveAll < ConfigClass def has_multiple_values?; false; end def _section :'remove-all' end @props = {} end def remove_all @subclasses['remove-all'] ||= RemoveAll.new(parent_instance: self, client: @client, create_children: @create_children) end class Append < XML::ConfigClass def has_multiple_values?; true; end def _section :append end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'max-count'=>'1', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'4294967295', 'help-string'=>'32-bit value in decimal'}, 'string'=>{'regex'=>'^[0][xX][0-9A-Fa-f]{8}$|^0:[1-9][0-9]{0,4}$|^[1-9][0-9]{0,4}:[0-9]{1,5}$', 'maxlen'=>'11', 'help-string'=>'32-bit value in hex, or in AS:VAL format, AS and VAL each in 0-65535 range but not 0:0'}, 'enum'=>[{'value'=>'no-export', 'help-string'=>'well known community value: NO_EXPORT'}, {'value'=>'no-advertise', 'help-string'=>'well known community value: NO_ADVERTISE'}, {'value'=>'local-as', 'help-string'=>'well known community value: NO_EXPORT_SUBCONFED'}, {'value'=>'nopeer', 'help-string'=>'well known community value: NOPEER'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def append maybe_register_subclass('append', Append.new(parent_instance: self, client: @client, create_children: @create_children)) end class Overwrite < XML::ConfigClass def has_multiple_values?; true; end def _section :overwrite end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'max-count'=>'1', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'4294967295', 'help-string'=>'32-bit value in decimal'}, 'string'=>{'regex'=>'^[0][xX][0-9A-Fa-f]{8}$|^0:[1-9][0-9]{0,4}$|^[1-9][0-9]{0,4}:[0-9]{1,5}$', 'maxlen'=>'11', 'help-string'=>'32-bit value in hex, or in AS:VAL format, AS and VAL each in 0-65535 range but not 0:0'}, 'enum'=>[{'value'=>'no-export', 'help-string'=>'well known community value: NO_EXPORT'}, {'value'=>'no-advertise', 'help-string'=>'well known community value: NO_ADVERTISE'}, {'value'=>'local-as', 'help-string'=>'well known community value: NO_EXPORT_SUBCONFED'}, {'value'=>'nopeer', 'help-string'=>'well known community value: NOPEER'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def overwrite maybe_register_subclass('overwrite', Overwrite.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'remove-regex'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127', 'help-string'=>'remove specified coummnity match regular expression'}} # remove specified coummnity match regular expression def remove_regex prop_get('remove-regex') end # remove specified coummnity match regular expression def remove_regex=(val) prop_set('remove-regex', val) end end def community @subclasses['community'] ||= Community.new(parent_instance: self, client: @client, create_children: @create_children) end class ExtendedCommunity < ConfigClass def has_multiple_values?; false; end def _section :'extended-community' end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end class RemoveAll < ConfigClass def has_multiple_values?; false; end def _section :'remove-all' end @props = {} end def remove_all @subclasses['remove-all'] ||= RemoveAll.new(parent_instance: self, client: @client, create_children: @create_children) end class Append < XML::ConfigClass def has_multiple_values?; true; end def _section :append end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'max-count'=>'1', 'multi-types'=>{'string'=>{'regex'=>'^([0][xX][A-Fa-f0-9]{16,16})|(([0-9]+|target|origin):[0-9]+(\.[0-9]+)?:[0-9]+)$', 'maxlen'=>'40', 'help-string'=>'64-bit value in hex, or one of TYPE:AS:VAL, TYPE:IP:VAL, TYPE:A.B:VAL format, TYPE is \'target\', \'origin\' or decimal number (0-65535)'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def append maybe_register_subclass('append', Append.new(parent_instance: self, client: @client, create_children: @create_children)) end class Overwrite < XML::ConfigClass def has_multiple_values?; true; end def _section :overwrite end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'max-count'=>'1', 'multi-types'=>{'string'=>{'regex'=>'^([0][xX][A-Fa-f0-9]{16,16})|(([0-9]+|target|origin):[0-9]+(\.[0-9]+)?:[0-9]+)$', 'maxlen'=>'40', 'help-string'=>'64-bit value in hex, or one of TYPE:AS:VAL, TYPE:IP:VAL, TYPE:A.B:VAL format, TYPE is \'target\', \'origin\' or decimal number (0-65535)'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def overwrite maybe_register_subclass('overwrite', Overwrite.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'remove-regex'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127', 'help-string'=>'remove specified coummnity match regular expression'}} # remove specified coummnity match regular expression def remove_regex prop_get('remove-regex') end # remove specified coummnity match regular expression def remove_regex=(val) prop_set('remove-regex', val) end end def extended_community @subclasses['extended-community'] ||= ExtendedCommunity.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'local-preference'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'help-string'=>'new local preference value'}, 'med'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'help-string'=>'new MED value'}, 'nexthop'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'nexthop address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'origin'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-string'=>'new route origin', 'enum'=>[{'value'=>'igp', 'help-string'=>'route originated from IGP'}, {'value'=>'egp', 'help-string'=>'route originated from EGP'}, {'value'=>'incomplete'}]}, 'as-path-limit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'help-string'=>'add AS path limit attribute if it does not exist '}} # new local preference value def local_preference prop_get('local-preference') end # new local preference value def local_preference=(val) prop_set('local-preference', val) end # new MED value def med prop_get('med') end # new MED value def med=(val) prop_set('med', val) end # nexthop address def nexthop prop_get('nexthop') end # nexthop address def nexthop=(val) prop_set('nexthop', val) end # new route origin def origin prop_get('origin') end # new route origin def origin=(val) prop_set('origin', val) end # add AS path limit attribute if it does not exist def as_path_limit prop_get('as-path-limit') end # add AS path limit attribute if it does not exist def as_path_limit=(val) prop_set('as-path-limit', val) end end def update @subclasses['update'] ||= Update.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def allow @subclasses['allow'] ||= Allow.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def action @subclasses['action'] ||= Action.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'31'}, 'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable'}} def name prop_get('@name') end # Enable def enable prop_get('enable') end # Enable def enable=(val) prop_set('enable', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def export @subclasses['export'] ||= Export.new(parent_instance: self, client: @client, create_children: @create_children) end class ConditionalAdvertisement < ConfigClass def has_multiple_values?; false; end def _section :'conditional-advertisement' end class Policy < XML::ConfigClass def has_multiple_values?; true; end def _section :policy end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class UsedBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'used-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def used_by maybe_register_subclass('used-by', UsedBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class NonExistFilters < XML::ConfigClass def has_multiple_values?; true; end def _section :'non-exist-filters' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Match < ConfigClass def has_multiple_values?; false; end def _section :match end class AddressPrefix < XML::ConfigClass def has_multiple_values?; true; end def _section :'address-prefix' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'exact'=>{'node-type'=>'element', 'type'=>'bool', 'disabled'=>'yes', 'optional'=>'yes', 'help-string'=>'match exact prefix length'}} def name prop_get('@name') end # match exact prefix length def exact prop_get('exact') end # match exact prefix length def exact=(val) prop_set('exact', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def address_prefix maybe_register_subclass('address-prefix', AddressPrefix.new(parent_instance: self, client: @client, create_children: @create_children)) end class Nexthop < XML::ConfigClass def has_multiple_values?; true; end def _section :nexthop end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def nexthop maybe_register_subclass('nexthop', Nexthop.new(parent_instance: self, client: @client, create_children: @create_children)) end class FromPeer < XML::ConfigClass def has_multiple_values?; true; end def _section :'from-peer' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'filter by peer that sent this route'}} # filter by peer that sent this route def member prop_get('member') end # filter by peer that sent this route def member=(val) prop_set('member', val) end end def from_peer maybe_register_subclass('from-peer', FromPeer.new(parent_instance: self, client: @client, create_children: @create_children)) end class AsPath < ConfigClass def has_multiple_values?; false; end def _section :'as-path' end @props = {'regex'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'126', 'help-string'=>'AS-path regular expression'}} # AS-path regular expression def regex prop_get('regex') end # AS-path regular expression def regex=(val) prop_set('regex', val) end end def as_path @subclasses['as-path'] ||= AsPath.new(parent_instance: self, client: @client, create_children: @create_children) end class Community < ConfigClass def has_multiple_values?; false; end def _section :community end @props = {'regex'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'126', 'help-string'=>'AS-path regular expression'}} # AS-path regular expression def regex prop_get('regex') end # AS-path regular expression def regex=(val) prop_set('regex', val) end end def community @subclasses['community'] ||= Community.new(parent_instance: self, client: @client, create_children: @create_children) end class ExtendedCommunity < ConfigClass def has_multiple_values?; false; end def _section :'extended-community' end @props = {'regex'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'126', 'help-string'=>'AS-path regular expression'}} # AS-path regular expression def regex prop_get('regex') end # AS-path regular expression def regex=(val) prop_set('regex', val) end end def extended_community @subclasses['extended-community'] ||= ExtendedCommunity.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'afi'=>{'node-type'=>'element', 'disabled'=>'yes', 'type'=>'enum', 'optional'=>'yes', 'help-string'=>'Address Family Identifier', 'enum'=>[{'value'=>'ip', 'help-string'=>'IPv4 (INET)'}, {'value'=>'ipv6', 'help-string'=>'IPv6 (INET6)'}]}, 'safi'=>{'node-type'=>'element', 'disabled'=>'yes', 'type'=>'enum', 'optional'=>'yes', 'help-string'=>'Subsequent Address Family Identifier', 'enum'=>[{'value'=>'ip', 'help-string'=>'IPv4 (INET)'}, {'value'=>'ipv6', 'help-string'=>'IPv6 (INET6)'}]}, 'route-table'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'unicast', 'help-string'=>'route table to match rule', 'enum'=>[{'value'=>'unicast', 'help-string'=>'unicast table'}, {'value'=>'multicast', 'help-string'=>'multicast table'}, {'value'=>'both', 'help-string'=>'both unicast and multicast tables'}]}, 'med'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} # Address Family Identifier def afi prop_get('afi') end # Address Family Identifier def afi=(val) prop_set('afi', val) end # Subsequent Address Family Identifier def safi prop_get('safi') end # Subsequent Address Family Identifier def safi=(val) prop_set('safi', val) end # route table to match rule def route_table prop_get('route-table') end # route table to match rule def route_table=(val) prop_set('route-table', val) end def med prop_get('med') end def med=(val) prop_set('med', val) end end def match @subclasses['match'] ||= Match.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'31'}, 'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'enble this filter'}} def name prop_get('@name') end # enble this filter def enable prop_get('enable') end # enble this filter def enable=(val) prop_set('enable', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def non_exist_filters maybe_register_subclass('non-exist-filters', NonExistFilters.new(parent_instance: self, client: @client, create_children: @create_children)) end class AdvertiseFilters < XML::ConfigClass def has_multiple_values?; true; end def _section :'advertise-filters' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Match < ConfigClass def has_multiple_values?; false; end def _section :match end class AddressPrefix < XML::ConfigClass def has_multiple_values?; true; end def _section :'address-prefix' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'exact'=>{'node-type'=>'element', 'type'=>'bool', 'disabled'=>'yes', 'optional'=>'yes', 'help-string'=>'match exact prefix length'}} def name prop_get('@name') end # match exact prefix length def exact prop_get('exact') end # match exact prefix length def exact=(val) prop_set('exact', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def address_prefix maybe_register_subclass('address-prefix', AddressPrefix.new(parent_instance: self, client: @client, create_children: @create_children)) end class Nexthop < XML::ConfigClass def has_multiple_values?; true; end def _section :nexthop end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def nexthop maybe_register_subclass('nexthop', Nexthop.new(parent_instance: self, client: @client, create_children: @create_children)) end class FromPeer < XML::ConfigClass def has_multiple_values?; true; end def _section :'from-peer' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'filter by peer that sent this route'}} # filter by peer that sent this route def member prop_get('member') end # filter by peer that sent this route def member=(val) prop_set('member', val) end end def from_peer maybe_register_subclass('from-peer', FromPeer.new(parent_instance: self, client: @client, create_children: @create_children)) end class AsPath < ConfigClass def has_multiple_values?; false; end def _section :'as-path' end @props = {'regex'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'126', 'help-string'=>'AS-path regular expression'}} # AS-path regular expression def regex prop_get('regex') end # AS-path regular expression def regex=(val) prop_set('regex', val) end end def as_path @subclasses['as-path'] ||= AsPath.new(parent_instance: self, client: @client, create_children: @create_children) end class Community < ConfigClass def has_multiple_values?; false; end def _section :community end @props = {'regex'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'126', 'help-string'=>'AS-path regular expression'}} # AS-path regular expression def regex prop_get('regex') end # AS-path regular expression def regex=(val) prop_set('regex', val) end end def community @subclasses['community'] ||= Community.new(parent_instance: self, client: @client, create_children: @create_children) end class ExtendedCommunity < ConfigClass def has_multiple_values?; false; end def _section :'extended-community' end @props = {'regex'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'126', 'help-string'=>'AS-path regular expression'}} # AS-path regular expression def regex prop_get('regex') end # AS-path regular expression def regex=(val) prop_set('regex', val) end end def extended_community @subclasses['extended-community'] ||= ExtendedCommunity.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'afi'=>{'node-type'=>'element', 'disabled'=>'yes', 'type'=>'enum', 'optional'=>'yes', 'help-string'=>'Address Family Identifier', 'enum'=>[{'value'=>'ip', 'help-string'=>'IPv4 (INET)'}, {'value'=>'ipv6', 'help-string'=>'IPv6 (INET6)'}]}, 'safi'=>{'node-type'=>'element', 'disabled'=>'yes', 'type'=>'enum', 'optional'=>'yes', 'help-string'=>'Subsequent Address Family Identifier', 'enum'=>[{'value'=>'ip', 'help-string'=>'IPv4 (INET)'}, {'value'=>'ipv6', 'help-string'=>'IPv6 (INET6)'}]}, 'route-table'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'unicast', 'help-string'=>'route table to match rule', 'enum'=>[{'value'=>'unicast', 'help-string'=>'unicast table'}, {'value'=>'multicast', 'help-string'=>'multicast table'}, {'value'=>'both', 'help-string'=>'both unicast and multicast tables'}]}, 'med'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} # Address Family Identifier def afi prop_get('afi') end # Address Family Identifier def afi=(val) prop_set('afi', val) end # Subsequent Address Family Identifier def safi prop_get('safi') end # Subsequent Address Family Identifier def safi=(val) prop_set('safi', val) end # route table to match rule def route_table prop_get('route-table') end # route table to match rule def route_table=(val) prop_set('route-table', val) end def med prop_get('med') end def med=(val) prop_set('med', val) end end def match @subclasses['match'] ||= Match.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'31'}, 'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'enble this filter'}} def name prop_get('@name') end # enble this filter def enable prop_get('enable') end # enble this filter def enable=(val) prop_set('enable', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def advertise_filters maybe_register_subclass('advertise-filters', AdvertiseFilters.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'31'}, 'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'enble this policy'}} def name prop_get('@name') end # enble this policy def enable prop_get('enable') end # enble this policy def enable=(val) prop_set('enable', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def policy maybe_register_subclass('policy', Policy.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def conditional_advertisement @subclasses['conditional-advertisement'] ||= ConditionalAdvertisement.new(parent_instance: self, client: @client, create_children: @create_children) end class Aggregation < ConfigClass def has_multiple_values?; false; end def _section :aggregation end class Address < XML::ConfigClass def has_multiple_values?; true; end def _section :address end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class AggregateRouteAttributes < ConfigClass def has_multiple_values?; false; end def _section :'aggregate-route-attributes' end class AsPath < ConfigClass def has_multiple_values?; false; end def _section :'as-path' end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end class Remove < ConfigClass def has_multiple_values?; false; end def _section :remove end @props = {} end def remove @subclasses['remove'] ||= Remove.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'prepend'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'default'=>'1', 'help-string'=>'prepend local AS for specified number of times'}, 'remove-and-prepend'=>{'node-type'=>'element', 'disabled'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'default'=>'1', 'help-string'=>'remove matched AS path(s), and prepend local AS for specified number of times'}} # prepend local AS for specified number of times def prepend prop_get('prepend') end # prepend local AS for specified number of times def prepend=(val) prop_set('prepend', val) end # remove matched AS path(s), and prepend local AS for specified number of times def remove_and_prepend prop_get('remove-and-prepend') end # remove matched AS path(s), and prepend local AS for specified number of times def remove_and_prepend=(val) prop_set('remove-and-prepend', val) end end def as_path @subclasses['as-path'] ||= AsPath.new(parent_instance: self, client: @client, create_children: @create_children) end class Community < ConfigClass def has_multiple_values?; false; end def _section :community end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end class RemoveAll < ConfigClass def has_multiple_values?; false; end def _section :'remove-all' end @props = {} end def remove_all @subclasses['remove-all'] ||= RemoveAll.new(parent_instance: self, client: @client, create_children: @create_children) end class Append < XML::ConfigClass def has_multiple_values?; true; end def _section :append end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'max-count'=>'1', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'4294967295', 'help-string'=>'32-bit value in decimal'}, 'string'=>{'regex'=>'^[0][xX][0-9A-Fa-f]{8}$|^0:[1-9][0-9]{0,4}$|^[1-9][0-9]{0,4}:[0-9]{1,5}$', 'maxlen'=>'11', 'help-string'=>'32-bit value in hex, or in AS:VAL format, AS and VAL each in 0-65535 range but not 0:0'}, 'enum'=>[{'value'=>'no-export', 'help-string'=>'well known community value: NO_EXPORT'}, {'value'=>'no-advertise', 'help-string'=>'well known community value: NO_ADVERTISE'}, {'value'=>'local-as', 'help-string'=>'well known community value: NO_EXPORT_SUBCONFED'}, {'value'=>'nopeer', 'help-string'=>'well known community value: NOPEER'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def append maybe_register_subclass('append', Append.new(parent_instance: self, client: @client, create_children: @create_children)) end class Overwrite < XML::ConfigClass def has_multiple_values?; true; end def _section :overwrite end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'max-count'=>'1', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'4294967295', 'help-string'=>'32-bit value in decimal'}, 'string'=>{'regex'=>'^[0][xX][0-9A-Fa-f]{8}$|^0:[1-9][0-9]{0,4}$|^[1-9][0-9]{0,4}:[0-9]{1,5}$', 'maxlen'=>'11', 'help-string'=>'32-bit value in hex, or in AS:VAL format, AS and VAL each in 0-65535 range but not 0:0'}, 'enum'=>[{'value'=>'no-export', 'help-string'=>'well known community value: NO_EXPORT'}, {'value'=>'no-advertise', 'help-string'=>'well known community value: NO_ADVERTISE'}, {'value'=>'local-as', 'help-string'=>'well known community value: NO_EXPORT_SUBCONFED'}, {'value'=>'nopeer', 'help-string'=>'well known community value: NOPEER'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def overwrite maybe_register_subclass('overwrite', Overwrite.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'remove-regex'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127', 'help-string'=>'remove specified coummnity match regular expression'}} # remove specified coummnity match regular expression def remove_regex prop_get('remove-regex') end # remove specified coummnity match regular expression def remove_regex=(val) prop_set('remove-regex', val) end end def community @subclasses['community'] ||= Community.new(parent_instance: self, client: @client, create_children: @create_children) end class ExtendedCommunity < ConfigClass def has_multiple_values?; false; end def _section :'extended-community' end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end class RemoveAll < ConfigClass def has_multiple_values?; false; end def _section :'remove-all' end @props = {} end def remove_all @subclasses['remove-all'] ||= RemoveAll.new(parent_instance: self, client: @client, create_children: @create_children) end class Append < XML::ConfigClass def has_multiple_values?; true; end def _section :append end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'max-count'=>'1', 'multi-types'=>{'string'=>{'regex'=>'^([0][xX][A-Fa-f0-9]{16,16})|(([0-9]+|target|origin):[0-9]+(\.[0-9]+)?:[0-9]+)$', 'maxlen'=>'40', 'help-string'=>'64-bit value in hex, or one of TYPE:AS:VAL, TYPE:IP:VAL, TYPE:A.B:VAL format, TYPE is \'target\', \'origin\' or decimal number (0-65535)'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def append maybe_register_subclass('append', Append.new(parent_instance: self, client: @client, create_children: @create_children)) end class Overwrite < XML::ConfigClass def has_multiple_values?; true; end def _section :overwrite end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'max-count'=>'1', 'multi-types'=>{'string'=>{'regex'=>'^([0][xX][A-Fa-f0-9]{16,16})|(([0-9]+|target|origin):[0-9]+(\.[0-9]+)?:[0-9]+)$', 'maxlen'=>'40', 'help-string'=>'64-bit value in hex, or one of TYPE:AS:VAL, TYPE:IP:VAL, TYPE:A.B:VAL format, TYPE is \'target\', \'origin\' or decimal number (0-65535)'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def overwrite maybe_register_subclass('overwrite', Overwrite.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'remove-regex'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127', 'help-string'=>'remove specified coummnity match regular expression'}} # remove specified coummnity match regular expression def remove_regex prop_get('remove-regex') end # remove specified coummnity match regular expression def remove_regex=(val) prop_set('remove-regex', val) end end def extended_community @subclasses['extended-community'] ||= ExtendedCommunity.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'local-preference'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'help-string'=>'new local preference value'}, 'med'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'help-string'=>'new MED value'}, 'weight'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535', 'help-string'=>'new weight value'}, 'nexthop'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'nexthop address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'origin'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-string'=>'new route origin', 'enum'=>[{'value'=>'igp', 'help-string'=>'route originated from IGP'}, {'value'=>'egp', 'help-string'=>'route originated from EGP'}, {'value'=>'incomplete'}]}, 'as-path-limit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'help-string'=>'add AS path limit attribute if it does not exist '}} # new local preference value def local_preference prop_get('local-preference') end # new local preference value def local_preference=(val) prop_set('local-preference', val) end # new MED value def med prop_get('med') end # new MED value def med=(val) prop_set('med', val) end # new weight value def weight prop_get('weight') end # new weight value def weight=(val) prop_set('weight', val) end # nexthop address def nexthop prop_get('nexthop') end # nexthop address def nexthop=(val) prop_set('nexthop', val) end # new route origin def origin prop_get('origin') end # new route origin def origin=(val) prop_set('origin', val) end # add AS path limit attribute if it does not exist def as_path_limit prop_get('as-path-limit') end # add AS path limit attribute if it does not exist def as_path_limit=(val) prop_set('as-path-limit', val) end end def aggregate_route_attributes @subclasses['aggregate-route-attributes'] ||= AggregateRouteAttributes.new(parent_instance: self, client: @client, create_children: @create_children) end class SuppressFilters < XML::ConfigClass def has_multiple_values?; true; end def _section :'suppress-filters' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Match < ConfigClass def has_multiple_values?; false; end def _section :match end class AddressPrefix < XML::ConfigClass def has_multiple_values?; true; end def _section :'address-prefix' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'exact'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'help-string'=>'match exact prefix length'}} def name prop_get('@name') end # match exact prefix length def exact prop_get('exact') end # match exact prefix length def exact=(val) prop_set('exact', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def address_prefix maybe_register_subclass('address-prefix', AddressPrefix.new(parent_instance: self, client: @client, create_children: @create_children)) end class Nexthop < XML::ConfigClass def has_multiple_values?; true; end def _section :nexthop end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def nexthop maybe_register_subclass('nexthop', Nexthop.new(parent_instance: self, client: @client, create_children: @create_children)) end class FromPeer < XML::ConfigClass def has_multiple_values?; true; end def _section :'from-peer' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'filter by peer that sent this route'}} # filter by peer that sent this route def member prop_get('member') end # filter by peer that sent this route def member=(val) prop_set('member', val) end end def from_peer maybe_register_subclass('from-peer', FromPeer.new(parent_instance: self, client: @client, create_children: @create_children)) end class AsPath < ConfigClass def has_multiple_values?; false; end def _section :'as-path' end @props = {'regex'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'126', 'help-string'=>'AS-path regular expression'}} # AS-path regular expression def regex prop_get('regex') end # AS-path regular expression def regex=(val) prop_set('regex', val) end end def as_path @subclasses['as-path'] ||= AsPath.new(parent_instance: self, client: @client, create_children: @create_children) end class Community < ConfigClass def has_multiple_values?; false; end def _section :community end @props = {'regex'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'126', 'help-string'=>'AS-path regular expression'}} # AS-path regular expression def regex prop_get('regex') end # AS-path regular expression def regex=(val) prop_set('regex', val) end end def community @subclasses['community'] ||= Community.new(parent_instance: self, client: @client, create_children: @create_children) end class ExtendedCommunity < ConfigClass def has_multiple_values?; false; end def _section :'extended-community' end @props = {'regex'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'126', 'help-string'=>'AS-path regular expression'}} # AS-path regular expression def regex prop_get('regex') end # AS-path regular expression def regex=(val) prop_set('regex', val) end end def extended_community @subclasses['extended-community'] ||= ExtendedCommunity.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'afi'=>{'node-type'=>'element', 'disabled'=>'yes', 'type'=>'enum', 'optional'=>'yes', 'help-string'=>'Address Family Identifier', 'enum'=>[{'value'=>'ip', 'help-string'=>'IPv4 (INET)'}, {'value'=>'ipv6', 'help-string'=>'IPv6 (INET6)'}]}, 'safi'=>{'node-type'=>'element', 'disabled'=>'yes', 'type'=>'enum', 'optional'=>'yes', 'help-string'=>'Subsequent Address Family Identifier', 'enum'=>[{'value'=>'ip', 'help-string'=>'IPv4 (INET)'}, {'value'=>'ipv6', 'help-string'=>'IPv6 (INET6)'}]}, 'route-table'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'unicast', 'help-string'=>'route table to match rule', 'enum'=>[{'value'=>'unicast', 'help-string'=>'unicast table'}, {'value'=>'multicast', 'help-string'=>'multicast table'}, {'value'=>'both', 'help-string'=>'both unicast and multicast tables'}]}, 'med'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} # Address Family Identifier def afi prop_get('afi') end # Address Family Identifier def afi=(val) prop_set('afi', val) end # Subsequent Address Family Identifier def safi prop_get('safi') end # Subsequent Address Family Identifier def safi=(val) prop_set('safi', val) end # route table to match rule def route_table prop_get('route-table') end # route table to match rule def route_table=(val) prop_set('route-table', val) end def med prop_get('med') end def med=(val) prop_set('med', val) end end def match @subclasses['match'] ||= Match.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'31'}, 'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'enble this rule'}} def name prop_get('@name') end # enble this rule def enable prop_get('enable') end # enble this rule def enable=(val) prop_set('enable', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def suppress_filters maybe_register_subclass('suppress-filters', SuppressFilters.new(parent_instance: self, client: @client, create_children: @create_children)) end class AdvertiseFilters < XML::ConfigClass def has_multiple_values?; true; end def _section :'advertise-filters' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Match < ConfigClass def has_multiple_values?; false; end def _section :match end class AddressPrefix < XML::ConfigClass def has_multiple_values?; true; end def _section :'address-prefix' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'exact'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'help-string'=>'match exact prefix length'}} def name prop_get('@name') end # match exact prefix length def exact prop_get('exact') end # match exact prefix length def exact=(val) prop_set('exact', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def address_prefix maybe_register_subclass('address-prefix', AddressPrefix.new(parent_instance: self, client: @client, create_children: @create_children)) end class Nexthop < XML::ConfigClass def has_multiple_values?; true; end def _section :nexthop end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def nexthop maybe_register_subclass('nexthop', Nexthop.new(parent_instance: self, client: @client, create_children: @create_children)) end class FromPeer < XML::ConfigClass def has_multiple_values?; true; end def _section :'from-peer' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'filter by peer that sent this route'}} # filter by peer that sent this route def member prop_get('member') end # filter by peer that sent this route def member=(val) prop_set('member', val) end end def from_peer maybe_register_subclass('from-peer', FromPeer.new(parent_instance: self, client: @client, create_children: @create_children)) end class AsPath < ConfigClass def has_multiple_values?; false; end def _section :'as-path' end @props = {'regex'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'126', 'help-string'=>'AS-path regular expression'}} # AS-path regular expression def regex prop_get('regex') end # AS-path regular expression def regex=(val) prop_set('regex', val) end end def as_path @subclasses['as-path'] ||= AsPath.new(parent_instance: self, client: @client, create_children: @create_children) end class Community < ConfigClass def has_multiple_values?; false; end def _section :community end @props = {'regex'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'126', 'help-string'=>'AS-path regular expression'}} # AS-path regular expression def regex prop_get('regex') end # AS-path regular expression def regex=(val) prop_set('regex', val) end end def community @subclasses['community'] ||= Community.new(parent_instance: self, client: @client, create_children: @create_children) end class ExtendedCommunity < ConfigClass def has_multiple_values?; false; end def _section :'extended-community' end @props = {'regex'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'126', 'help-string'=>'AS-path regular expression'}} # AS-path regular expression def regex prop_get('regex') end # AS-path regular expression def regex=(val) prop_set('regex', val) end end def extended_community @subclasses['extended-community'] ||= ExtendedCommunity.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'afi'=>{'node-type'=>'element', 'disabled'=>'yes', 'type'=>'enum', 'optional'=>'yes', 'help-string'=>'Address Family Identifier', 'enum'=>[{'value'=>'ip', 'help-string'=>'IPv4 (INET)'}, {'value'=>'ipv6', 'help-string'=>'IPv6 (INET6)'}]}, 'safi'=>{'node-type'=>'element', 'disabled'=>'yes', 'type'=>'enum', 'optional'=>'yes', 'help-string'=>'Subsequent Address Family Identifier', 'enum'=>[{'value'=>'ip', 'help-string'=>'IPv4 (INET)'}, {'value'=>'ipv6', 'help-string'=>'IPv6 (INET6)'}]}, 'route-table'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'unicast', 'help-string'=>'route table to match rule', 'enum'=>[{'value'=>'unicast', 'help-string'=>'unicast table'}, {'value'=>'multicast', 'help-string'=>'multicast table'}, {'value'=>'both', 'help-string'=>'both unicast and multicast tables'}]}, 'med'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} # Address Family Identifier def afi prop_get('afi') end # Address Family Identifier def afi=(val) prop_set('afi', val) end # Subsequent Address Family Identifier def safi prop_get('safi') end # Subsequent Address Family Identifier def safi=(val) prop_set('safi', val) end # route table to match rule def route_table prop_get('route-table') end # route table to match rule def route_table=(val) prop_set('route-table', val) end def med prop_get('med') end def med=(val) prop_set('med', val) end end def match @subclasses['match'] ||= Match.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'31'}, 'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'enble this rule'}} def name prop_get('@name') end # enble this rule def enable prop_get('enable') end # enble this rule def enable=(val) prop_set('enable', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def advertise_filters maybe_register_subclass('advertise-filters', AdvertiseFilters.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'31'}, 'prefix'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'aggregating address prefix', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'enable aggregation for this prefix'}, 'summary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'summarize route'}, 'as-set'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'generate AS-set attribute'}} def name prop_get('@name') end # aggregating address prefix def prefix prop_get('prefix') end # aggregating address prefix def prefix=(val) prop_set('prefix', val) end # enable aggregation for this prefix def enable prop_get('enable') end # enable aggregation for this prefix def enable=(val) prop_set('enable', val) end # summarize route def summary prop_get('summary') end # summarize route def summary=(val) prop_set('summary', val) end # generate AS-set attribute def as_set prop_get('as-set') end # generate AS-set attribute def as_set=(val) prop_set('as-set', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def address maybe_register_subclass('address', Address.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def aggregation @subclasses['aggregation'] ||= Aggregation.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def policy @subclasses['policy'] ||= Policy.new(parent_instance: self, client: @client, create_children: @create_children) end class RedistRules < XML::ConfigClass def has_multiple_values?; true; end def _section :'redist-rules' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SetCommunity < XML::ConfigClass def has_multiple_values?; true; end def _section :'set-community' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'max-count'=>'10', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'4294967295', 'help-string'=>'32-bit value in decimal'}, 'string'=>{'regex'=>'^[0][xX][0-9A-Fa-f]{8}$|^0:[1-9][0-9]{0,4}$|^[1-9][0-9]{0,4}:[0-9]{1,5}$', 'maxlen'=>'11', 'help-string'=>'32-bit value in hex, or in AS:VAL format, AS and VAL each in 0-65535 range but not 0:0'}, 'enum'=>[{'value'=>'no-export', 'help-string'=>'well known community value: NO_EXPORT'}, {'value'=>'no-advertise', 'help-string'=>'well known community value: NO_ADVERTISE'}, {'value'=>'local-as', 'help-string'=>'well known community value: NO_EXPORT_SUBCONFED'}, {'value'=>'nopeer', 'help-string'=>'well known community value: NOPEER'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def set_community maybe_register_subclass('set-community', SetCommunity.new(parent_instance: self, client: @client, create_children: @create_children)) end class SetExtendedCommunity < XML::ConfigClass def has_multiple_values?; true; end def _section :'set-extended-community' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'max-count'=>'5', 'multi-types'=>{'string'=>{'regex'=>'^([0][xX][A-Fa-f0-9]{16,16})|(([0-9]+|target|origin):[0-9]+(\.[0-9]+)?:[0-9]+)$', 'maxlen'=>'40', 'help-string'=>'64-bit value in hex, or one of TYPE:AS:VAL, TYPE:IP:VAL, TYPE:A.B:VAL format, TYPE is \'target\', \'origin\' or decimal number (0-65535)'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def set_extended_community maybe_register_subclass('set-extended-community', SetExtendedCommunity.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'multiple', 'multi-types'=>{'string'=>{'subtype'=>'object-name', 'help-string'=>'redistribute routes using redist-profile'}, 'ipspec'=>{'subnet-only'=>'yes', 'help-string'=>'generate subnet for redistribution'}}}, 'address-family-identifier'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'ipv4', 'help-string'=>'select redistribution profile type', 'enum'=>[{'value'=>'ipv4', 'help-string'=>'choose IPv4 redistribution profiles'}, {'value'=>'ipv6', 'help-string'=>'choose IPv6 redistribution profile'}]}, 'route-table'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'unicast', 'help-string'=>'select destination SAFI for redistribution', 'enum'=>[{'value'=>'unicast', 'help-string'=>'redistribute as unicast route'}, {'value'=>'multicast', 'help-string'=>'redistribute as multicast route'}, {'value'=>'both', 'help-string'=>'redistribute as both unicast and multicast route'}]}, 'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'set-origin'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'incomplete', 'help-string'=>'add the ORIGIN path attribute', 'enum'=>[{'value'=>'igp', 'help-string'=>'Path interior to originating AS'}, {'value'=>'egp', 'help-string'=>'Path learned via EGP protocol'}, {'value'=>'incomplete', 'help-string'=>'Path was learned by some other means'}]}, 'set-med'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'help-string'=>'add the MULTI_EXIT_DISC path attribute'}, 'set-local-preference'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'help-string'=>'add the LOCAL_PREF path attribute'}, 'set-as-path-limit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'help-string'=>'add the AS_PATHLIMIT path attribute'}, 'metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'metric value'}} def name prop_get('@name') end # select redistribution profile type def address_family_identifier prop_get('address-family-identifier') end # select redistribution profile type def address_family_identifier=(val) prop_set('address-family-identifier', val) end # select destination SAFI for redistribution def route_table prop_get('route-table') end # select destination SAFI for redistribution def route_table=(val) prop_set('route-table', val) end def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # add the ORIGIN path attribute def set_origin prop_get('set-origin') end # add the ORIGIN path attribute def set_origin=(val) prop_set('set-origin', val) end # add the MULTI_EXIT_DISC path attribute def set_med prop_get('set-med') end # add the MULTI_EXIT_DISC path attribute def set_med=(val) prop_set('set-med', val) end # add the LOCAL_PREF path attribute def set_local_preference prop_get('set-local-preference') end # add the LOCAL_PREF path attribute def set_local_preference=(val) prop_set('set-local-preference', val) end # add the AS_PATHLIMIT path attribute def set_as_path_limit prop_get('set-as-path-limit') end # add the AS_PATHLIMIT path attribute def set_as_path_limit=(val) prop_set('set-as-path-limit', val) end # metric value def metric prop_get('metric') end # metric value def metric=(val) prop_set('metric', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def redist_rules maybe_register_subclass('redist-rules', RedistRules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'router-id'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'router id of this BGP instance', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'ipv4-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'local-as'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'local AS number', 'multi-types'=>{'string'=>{'maxlen'=>'63', 'loose-membership'=>'yes'}, 'rangedint'=>{'min'=>'1', 'max'=>'4294967295'}}}, 'reject-default-route'=>{'node-type'=>'element', 'optional'=>'yes', 'help-string'=>'do not learn default route from BGP', 'type'=>'bool', 'default'=>'yes'}, 'allow-redist-default-route'=>{'node-type'=>'element', 'optional'=>'yes', 'help-string'=>'allow redistribute default route to BGP', 'type'=>'bool', 'default'=>'no'}, 'install-route'=>{'node-type'=>'element', 'optional'=>'yes', 'help-string'=>'Populate BGP learned route to global route table', 'type'=>'bool', 'default'=>'no'}, 'ecmp-multi-as'=>{'node-type'=>'element', 'optional'=>'yes', 'help-string'=>'Support multiple AS in ECMP', 'type'=>'bool', 'default'=>'no'}, 'enforce-first-as'=>{'node-type'=>'element', 'optional'=>'yes', 'help-string'=>'Enforce First AS for EBGP', 'type'=>'bool', 'default'=>'yes'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # router id of this BGP instance def router_id prop_get('router-id') end # router id of this BGP instance def router_id=(val) prop_set('router-id', val) end # local AS number def local_as prop_get('local-as') end # local AS number def local_as=(val) prop_set('local-as', val) end # do not learn default route from BGP def reject_default_route prop_get('reject-default-route') end # do not learn default route from BGP def reject_default_route=(val) prop_set('reject-default-route', val) end # allow redistribute default route to BGP def allow_redist_default_route prop_get('allow-redist-default-route') end # allow redistribute default route to BGP def allow_redist_default_route=(val) prop_set('allow-redist-default-route', val) end # Populate BGP learned route to global route table def install_route prop_get('install-route') end # Populate BGP learned route to global route table def install_route=(val) prop_set('install-route', val) end # Support multiple AS in ECMP def ecmp_multi_as prop_get('ecmp-multi-as') end # Support multiple AS in ECMP def ecmp_multi_as=(val) prop_set('ecmp-multi-as', val) end # Enforce First AS for EBGP def enforce_first_as prop_get('enforce-first-as') end # Enforce First AS for EBGP def enforce_first_as=(val) prop_set('enforce-first-as', val) end end def bgp @subclasses['bgp'] ||= Bgp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def protocol @subclasses['protocol'] ||= Protocol.new(parent_instance: self, client: @client, create_children: @create_children) end class AdminDists < ConfigClass def has_multiple_values?; false; end def _section :'admin-dists' end @props = {'static'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'10', 'max'=>'240', 'default'=>'10', 'help-string'=>'administrative distance used for static routes'}, 'static-ipv6'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'10', 'max'=>'240', 'default'=>'10', 'help-string'=>'administrative distance used for ipv6 static routes'}, 'ospf-int'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'10', 'max'=>'240', 'default'=>'30', 'help-string'=>'administrative distance used for OSPF internal routes'}, 'ospf-ext'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'10', 'max'=>'240', 'default'=>'110', 'help-string'=>'administrative distance used for OSPF external routes'}, 'ospfv3-int'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'10', 'max'=>'240', 'default'=>'30', 'help-string'=>'administrative distance used for OSPFv3 internal routes'}, 'ospfv3-ext'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'10', 'max'=>'240', 'default'=>'110', 'help-string'=>'administrative distance used for OSPFv3 external routes'}, 'ibgp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'10', 'max'=>'240', 'default'=>'200', 'help-string'=>'administrative distance used for iBGP routes'}, 'ebgp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'10', 'max'=>'240', 'default'=>'20', 'help-string'=>'administrative distance used for eBGP routes'}, 'rip'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'10', 'max'=>'240', 'default'=>'120', 'help-string'=>'administrative distance used for RIP routes'}} # administrative distance used for static routes def static prop_get('static') end # administrative distance used for static routes def static=(val) prop_set('static', val) end # administrative distance used for ipv6 static routes def static_ipv6 prop_get('static-ipv6') end # administrative distance used for ipv6 static routes def static_ipv6=(val) prop_set('static-ipv6', val) end # administrative distance used for OSPF internal routes def ospf_int prop_get('ospf-int') end # administrative distance used for OSPF internal routes def ospf_int=(val) prop_set('ospf-int', val) end # administrative distance used for OSPF external routes def ospf_ext prop_get('ospf-ext') end # administrative distance used for OSPF external routes def ospf_ext=(val) prop_set('ospf-ext', val) end # administrative distance used for OSPFv3 internal routes def ospfv3_int prop_get('ospfv3-int') end # administrative distance used for OSPFv3 internal routes def ospfv3_int=(val) prop_set('ospfv3-int', val) end # administrative distance used for OSPFv3 external routes def ospfv3_ext prop_get('ospfv3-ext') end # administrative distance used for OSPFv3 external routes def ospfv3_ext=(val) prop_set('ospfv3-ext', val) end # administrative distance used for iBGP routes def ibgp prop_get('ibgp') end # administrative distance used for iBGP routes def ibgp=(val) prop_set('ibgp', val) end # administrative distance used for eBGP routes def ebgp prop_get('ebgp') end # administrative distance used for eBGP routes def ebgp=(val) prop_set('ebgp', val) end # administrative distance used for RIP routes def rip prop_get('rip') end # administrative distance used for RIP routes def rip=(val) prop_set('rip', val) end end def admin_dists @subclasses['admin-dists'] ||= AdminDists.new(parent_instance: self, client: @client, create_children: @create_children) end class Ecmp < ConfigClass def has_multiple_values?; false; end def _section :ecmp end class Algorithm < ConfigClass def has_multiple_values?; false; end def _section :algorithm end class IpModulo < ConfigClass def has_multiple_values?; false; end def _section :'ip-modulo' end @props = {} end def ip_modulo @subclasses['ip-modulo'] ||= IpModulo.new(parent_instance: self, client: @client, create_children: @create_children) end class IpHash < ConfigClass def has_multiple_values?; false; end def _section :'ip-hash' end @props = {'src-only'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'only use source address for hash', 'uiHint-fieldLabel'=>'Use Source Address Only'}, 'use-port'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'use source/destination port for hash'}, 'hash-seed'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'default'=>'0', 'help-string'=>'User-specified hash seed'}} # only use source address for hash def src_only prop_get('src-only') end # only use source address for hash def src_only=(val) prop_set('src-only', val) end # use source/destination port for hash def use_port prop_get('use-port') end # use source/destination port for hash def use_port=(val) prop_set('use-port', val) end # User-specified hash seed def hash_seed prop_get('hash-seed') end # User-specified hash seed def hash_seed=(val) prop_set('hash-seed', val) end end def ip_hash @subclasses['ip-hash'] ||= IpHash.new(parent_instance: self, client: @client, create_children: @create_children) end class WeightedRoundRobin < ConfigClass def has_multiple_values?; false; end def _section :'weighted-round-robin' end class Interface < XML::ConfigClass def has_multiple_values?; true; end def _section :interface end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'interface name'}, 'weight'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'default'=>'100', 'help-string'=>'interface ECMP weight'}} # interface name def name prop_get('@name') end # interface ECMP weight def weight prop_get('weight') end # interface ECMP weight def weight=(val) prop_set('weight', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def interface maybe_register_subclass('interface', Interface.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def weighted_round_robin @subclasses['weighted-round-robin'] ||= WeightedRoundRobin.new(parent_instance: self, client: @client, create_children: @create_children) end class BalancedRoundRobin < ConfigClass def has_multiple_values?; false; end def _section :'balanced-round-robin' end @props = {} end def balanced_round_robin @subclasses['balanced-round-robin'] ||= BalancedRoundRobin.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def algorithm @subclasses['algorithm'] ||= Algorithm.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable Equal Cost Multipath routing, change this configuration will result in a virtual router restart'}, 'max-path'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'2', 'max'=>'4', 'default'=>'2', 'help-string'=>'Maxmum number of ECMP paths supported, change this configuration will result in a virtual router restart'}, 'symmetric-return'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'allows return packets to egress out of the ingress interface of the flow'}, 'strict-source-path'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'force VPN traffic to exit interface that the source-ip belongs to'}} # enable Equal Cost Multipath routing, change this configuration will result in a virtual router restart def enable prop_get('enable') end # enable Equal Cost Multipath routing, change this configuration will result in a virtual router restart def enable=(val) prop_set('enable', val) end # Maxmum number of ECMP paths supported, change this configuration will result in a virtual router restart def max_path prop_get('max-path') end # Maxmum number of ECMP paths supported, change this configuration will result in a virtual router restart def max_path=(val) prop_set('max-path', val) end # allows return packets to egress out of the ingress interface of the flow def symmetric_return prop_get('symmetric-return') end # allows return packets to egress out of the ingress interface of the flow def symmetric_return=(val) prop_set('symmetric-return', val) end # force VPN traffic to exit interface that the source-ip belongs to def strict_source_path prop_get('strict-source-path') end # force VPN traffic to exit interface that the source-ip belongs to def strict_source_path=(val) prop_set('strict-source-path', val) end end def ecmp @subclasses['ecmp'] ||= Ecmp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def virtual_router maybe_register_subclass('virtual-router', VirtualRouter.new(parent_instance: self, client: @client, create_children: @create_children)) end class SecureWebGateway < ConfigClass def has_multiple_values?; false; end def _section :'secure-web-gateway' end class Enablement < XML::ConfigClass def has_multiple_values?; true; end def _section :enablement end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end class ExplicitProxy < ConfigClass def has_multiple_values?; false; end def _section :'explicit-proxy' end @props = {} end def explicit_proxy @subclasses['explicit-proxy'] ||= ExplicitProxy.new(parent_instance: self, client: @client, create_children: @create_children) end class TransparentProxy < ConfigClass def has_multiple_values?; false; end def _section :'transparent-proxy' end @props = {} end def transparent_proxy @subclasses['transparent-proxy'] ||= TransparentProxy.new(parent_instance: self, client: @client, create_children: @create_children) end class PaloaltoNetworksServiceProxy < ConfigClass def has_multiple_values?; false; end def _section :'paloalto-networks-service-proxy' end @props = {} end def paloalto_networks_service_proxy @subclasses['paloalto-networks-service-proxy'] ||= PaloaltoNetworksServiceProxy.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def enablement maybe_register_subclass('enablement', Enablement.new(parent_instance: self, client: @client, create_children: @create_children)) end class ExplicitWebGateway < ConfigClass def has_multiple_values?; false; end def _section :'explicit-web-gateway' end class ProxyIp < ConfigClass def has_multiple_values?; false; end def _section :'proxy-ip' end @props = {'ipv4'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'IPv4 addresses'}} # IPv4 addresses def ipv4 prop_get('ipv4') end # IPv4 addresses def ipv4=(val) prop_set('ipv4', val) end end def proxy_ip @subclasses['proxy-ip'] ||= ProxyIp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'connect-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'60', 'default'=>'5', 'help-string'=>'CONNECT timeout'}, 'dns-proxy'=>{'node-type'=>'element', 'type'=>'string', 'complete-handler'=>'swg-dns-proxy-completer', 'help-string'=>'DNS proxy for upstream DNS'}, 'interface'=>{'node-type'=>'element', 'uiHint-Label'=>'listening-interface', 'type'=>'string', 'help-string'=>'Explicit Web Gateway Interface/Address'}, 'upstream-interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'proxy upstream traffic source loopback interface'}, 'authentication-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'complete-handler'=>'swg-auth-profile-completer', 'help-string'=>'Authentication profile to use for Kerberos Single-Sign-on'}, 'log-setting'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'uiHint-fieldLabel'=>'Authentication Log Forwarding', 'help-string'=>'Log Setting for Forwarding Authentication Logs'}, 'authentication-method'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'saml-cas', 'enum'=>[{'value'=>'saml-cas', 'help-string'=>'SAML or CAS authentication'}, {'value'=>'kerberos-sso', 'help-string'=>'Kerberos Single-Sign-on'}]}, 'skip-auth-category'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Skip authentication for the category'}, 'swg-site-cookie'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'Name your swg-site-cookie'}, 'acs-return-path'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'External ACS return path, default to _proxy_auth'}, 'strip-alpn'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Strip ALPN in client hello'}, 'sni-dest-check'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Reset if SNI does not match HTTP CONNECT'}} # CONNECT timeout def connect_timeout prop_get('connect-timeout') end # CONNECT timeout def connect_timeout=(val) prop_set('connect-timeout', val) end # DNS proxy for upstream DNS def dns_proxy prop_get('dns-proxy') end # DNS proxy for upstream DNS def dns_proxy=(val) prop_set('dns-proxy', val) end # Explicit Web Gateway Interface/Address def interface prop_get('interface') end # Explicit Web Gateway Interface/Address def interface=(val) prop_set('interface', val) end # proxy upstream traffic source loopback interface def upstream_interface prop_get('upstream-interface') end # proxy upstream traffic source loopback interface def upstream_interface=(val) prop_set('upstream-interface', val) end # Authentication profile to use for Kerberos Single-Sign-on def authentication_profile prop_get('authentication-profile') end # Authentication profile to use for Kerberos Single-Sign-on def authentication_profile=(val) prop_set('authentication-profile', val) end # Log Setting for Forwarding Authentication Logs def log_setting prop_get('log-setting') end # Log Setting for Forwarding Authentication Logs def log_setting=(val) prop_set('log-setting', val) end def authentication_method prop_get('authentication-method') end def authentication_method=(val) prop_set('authentication-method', val) end # Skip authentication for the category def skip_auth_category prop_get('skip-auth-category') end # Skip authentication for the category def skip_auth_category=(val) prop_set('skip-auth-category', val) end # Name your swg-site-cookie def swg_site_cookie prop_get('swg-site-cookie') end # Name your swg-site-cookie def swg_site_cookie=(val) prop_set('swg-site-cookie', val) end # External ACS return path, default to _proxy_auth def acs_return_path prop_get('acs-return-path') end # External ACS return path, default to _proxy_auth def acs_return_path=(val) prop_set('acs-return-path', val) end # Strip ALPN in client hello def strip_alpn prop_get('strip-alpn') end # Strip ALPN in client hello def strip_alpn=(val) prop_set('strip-alpn', val) end # Reset if SNI does not match HTTP CONNECT def sni_dest_check prop_get('sni-dest-check') end # Reset if SNI does not match HTTP CONNECT def sni_dest_check=(val) prop_set('sni-dest-check', val) end end def explicit_web_gateway @subclasses['explicit-web-gateway'] ||= ExplicitWebGateway.new(parent_instance: self, client: @client, create_children: @create_children) end class TransparentWebGateway < ConfigClass def has_multiple_values?; false; end def _section :'transparent-web-gateway' end class ProxyIp < ConfigClass def has_multiple_values?; false; end def _section :'proxy-ip' end @props = {'ipv4'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'IPv4 addresses'}} # IPv4 addresses def ipv4 prop_get('ipv4') end # IPv4 addresses def ipv4=(val) prop_set('ipv4', val) end end def proxy_ip @subclasses['proxy-ip'] ||= ProxyIp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'connect-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'60', 'default'=>'5', 'help-string'=>'CONNECT timeout'}, 'dns-proxy'=>{'node-type'=>'element', 'type'=>'string', 'complete-handler'=>'swg-dns-proxy-completer', 'help-string'=>'DNS proxy for upstream DNS'}, 'upstream-interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'proxy upstream traffic source loopback interface'}} # CONNECT timeout def connect_timeout prop_get('connect-timeout') end # CONNECT timeout def connect_timeout=(val) prop_set('connect-timeout', val) end # DNS proxy for upstream DNS def dns_proxy prop_get('dns-proxy') end # DNS proxy for upstream DNS def dns_proxy=(val) prop_set('dns-proxy', val) end # proxy upstream traffic source loopback interface def upstream_interface prop_get('upstream-interface') end # proxy upstream traffic source loopback interface def upstream_interface=(val) prop_set('upstream-interface', val) end end def transparent_web_gateway @subclasses['transparent-web-gateway'] ||= TransparentWebGateway.new(parent_instance: self, client: @client, create_children: @create_children) end class PaloaltoNetworksServiceGateway < ConfigClass def has_multiple_values?; false; end def _section :'paloalto-networks-service-gateway' end class ProxyIp < ConfigClass def has_multiple_values?; false; end def _section :'proxy-ip' end @props = {'ipv4'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'IPv4 addresses'}} # IPv4 addresses def ipv4 prop_get('ipv4') end # IPv4 addresses def ipv4=(val) prop_set('ipv4', val) end end def proxy_ip @subclasses['proxy-ip'] ||= ProxyIp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'connect-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'60', 'default'=>'5', 'help-string'=>'CONNECT timeout'}, 'dns-proxy'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'complete-handler'=>'swg-dns-proxy-completer', 'help-string'=>'DNS proxy for upstream DNS'}, 'interface'=>{'node-type'=>'element', 'uiHint-Label'=>'listening-interface', 'type'=>'string', 'help-string'=>'Palo Alto Networks Service Gateway Interface/Address'}, 'upstream-interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'proxy upstream traffic source loopback interface'}, 'allowed-category'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Allowed URL category'}, 'next-hop-proxy-server'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^([0-9a-zA-Z.:/_-])+$', 'maxlen'=>'255', 'help-string'=>'Next hop Palo Alto Networks service proxy server'}, 'next-hop-proxy-port'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Port for next hop Palo Alto Networks service proxy server'}} # CONNECT timeout def connect_timeout prop_get('connect-timeout') end # CONNECT timeout def connect_timeout=(val) prop_set('connect-timeout', val) end # DNS proxy for upstream DNS def dns_proxy prop_get('dns-proxy') end # DNS proxy for upstream DNS def dns_proxy=(val) prop_set('dns-proxy', val) end # Palo Alto Networks Service Gateway Interface/Address def interface prop_get('interface') end # Palo Alto Networks Service Gateway Interface/Address def interface=(val) prop_set('interface', val) end # proxy upstream traffic source loopback interface def upstream_interface prop_get('upstream-interface') end # proxy upstream traffic source loopback interface def upstream_interface=(val) prop_set('upstream-interface', val) end # Allowed URL category def allowed_category prop_get('allowed-category') end # Allowed URL category def allowed_category=(val) prop_set('allowed-category', val) end # Next hop Palo Alto Networks service proxy server def next_hop_proxy_server prop_get('next-hop-proxy-server') end # Next hop Palo Alto Networks service proxy server def next_hop_proxy_server=(val) prop_set('next-hop-proxy-server', val) end # Port for next hop Palo Alto Networks service proxy server def next_hop_proxy_port prop_get('next-hop-proxy-port') end # Port for next hop Palo Alto Networks service proxy server def next_hop_proxy_port=(val) prop_set('next-hop-proxy-port', val) end end def paloalto_networks_service_gateway @subclasses['paloalto-networks-service-gateway'] ||= PaloaltoNetworksServiceGateway.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def secure_web_gateway @subclasses['secure-web-gateway'] ||= SecureWebGateway.new(parent_instance: self, client: @client, create_children: @create_children) end class LogicalRouter < XML::ConfigClass def has_multiple_values?; true; end def _section :'logical-router' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Vrf < XML::ConfigClass def has_multiple_values?; true; end def _section :vrf end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Interface < XML::ConfigClass def has_multiple_values?; true; end def _section :interface end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def interface maybe_register_subclass('interface', Interface.new(parent_instance: self, client: @client, create_children: @create_children)) end class AdminDists < ConfigClass def has_multiple_values?; false; end def _section :'admin-dists' end @props = {'static'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'default'=>'10', 'help-string'=>'Set IPv4 Static Routes Administrative Distance'}, 'static-ipv6'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'default'=>'10', 'help-string'=>'Set IPv6 Static Routes Administrative Distance'}, 'ospf-inter'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'default'=>'110', 'help-string'=>'Set OSPF Inter Area Routes Administrative Distance'}, 'ospf-intra'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'default'=>'110', 'help-string'=>'Set OSPF Intra Area Routes Administrative Distance'}, 'ospf-ext'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'default'=>'110', 'help-string'=>'Set OSPF External Routes Administrative Distance'}, 'ospfv3-inter'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'default'=>'110', 'help-string'=>'Set OSPFv3 Inter Area Routes Administrative Distance'}, 'ospfv3-intra'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'default'=>'110', 'help-string'=>'Set OSPFv3 Intra Area Routes Administrative Distance'}, 'ospfv3-ext'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'default'=>'110', 'help-string'=>'Set OSPFv3 External Routes Administrative Distance'}, 'bgp-internal'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'default'=>'200', 'help-string'=>'Set BGP AS Internal Routes Administrative Distance'}, 'bgp-external'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'default'=>'20', 'help-string'=>'Set BGP AS External Routes Administrative Distance'}, 'bgp-local'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'default'=>'20', 'help-string'=>'Set BGP Local Routes Administrative Distance'}, 'rip'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'default'=>'120', 'help-string'=>'Set RIP Routes Administrative Distance'}} # Set IPv4 Static Routes Administrative Distance def static prop_get('static') end # Set IPv4 Static Routes Administrative Distance def static=(val) prop_set('static', val) end # Set IPv6 Static Routes Administrative Distance def static_ipv6 prop_get('static-ipv6') end # Set IPv6 Static Routes Administrative Distance def static_ipv6=(val) prop_set('static-ipv6', val) end # Set OSPF Inter Area Routes Administrative Distance def ospf_inter prop_get('ospf-inter') end # Set OSPF Inter Area Routes Administrative Distance def ospf_inter=(val) prop_set('ospf-inter', val) end # Set OSPF Intra Area Routes Administrative Distance def ospf_intra prop_get('ospf-intra') end # Set OSPF Intra Area Routes Administrative Distance def ospf_intra=(val) prop_set('ospf-intra', val) end # Set OSPF External Routes Administrative Distance def ospf_ext prop_get('ospf-ext') end # Set OSPF External Routes Administrative Distance def ospf_ext=(val) prop_set('ospf-ext', val) end # Set OSPFv3 Inter Area Routes Administrative Distance def ospfv3_inter prop_get('ospfv3-inter') end # Set OSPFv3 Inter Area Routes Administrative Distance def ospfv3_inter=(val) prop_set('ospfv3-inter', val) end # Set OSPFv3 Intra Area Routes Administrative Distance def ospfv3_intra prop_get('ospfv3-intra') end # Set OSPFv3 Intra Area Routes Administrative Distance def ospfv3_intra=(val) prop_set('ospfv3-intra', val) end # Set OSPFv3 External Routes Administrative Distance def ospfv3_ext prop_get('ospfv3-ext') end # Set OSPFv3 External Routes Administrative Distance def ospfv3_ext=(val) prop_set('ospfv3-ext', val) end # Set BGP AS Internal Routes Administrative Distance def bgp_internal prop_get('bgp-internal') end # Set BGP AS Internal Routes Administrative Distance def bgp_internal=(val) prop_set('bgp-internal', val) end # Set BGP AS External Routes Administrative Distance def bgp_external prop_get('bgp-external') end # Set BGP AS External Routes Administrative Distance def bgp_external=(val) prop_set('bgp-external', val) end # Set BGP Local Routes Administrative Distance def bgp_local prop_get('bgp-local') end # Set BGP Local Routes Administrative Distance def bgp_local=(val) prop_set('bgp-local', val) end # Set RIP Routes Administrative Distance def rip prop_get('rip') end # Set RIP Routes Administrative Distance def rip=(val) prop_set('rip', val) end end def admin_dists @subclasses['admin-dists'] ||= AdminDists.new(parent_instance: self, client: @client, create_children: @create_children) end class RibFilter < ConfigClass def has_multiple_values?; false; end def _section :'rib-filter' end class Ipv4 < ConfigClass def has_multiple_values?; false; end def _section :ipv4 end class Static < ConfigClass def has_multiple_values?; false; end def _section :static end @props = {'route-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Apply Route-Map on Static Routes'}} # Apply Route-Map on Static Routes def route_map prop_get('route-map') end # Apply Route-Map on Static Routes def route_map=(val) prop_set('route-map', val) end end def static @subclasses['static'] ||= Static.new(parent_instance: self, client: @client, create_children: @create_children) end class Bgp < ConfigClass def has_multiple_values?; false; end def _section :bgp end @props = {'route-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Apply Route-Map on BGP Routes'}} # Apply Route-Map on BGP Routes def route_map prop_get('route-map') end # Apply Route-Map on BGP Routes def route_map=(val) prop_set('route-map', val) end end def bgp @subclasses['bgp'] ||= Bgp.new(parent_instance: self, client: @client, create_children: @create_children) end class Ospf < ConfigClass def has_multiple_values?; false; end def _section :ospf end @props = {'route-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Apply Route-Map on OSPF Routes'}} # Apply Route-Map on OSPF Routes def route_map prop_get('route-map') end # Apply Route-Map on OSPF Routes def route_map=(val) prop_set('route-map', val) end end def ospf @subclasses['ospf'] ||= Ospf.new(parent_instance: self, client: @client, create_children: @create_children) end class Rip < ConfigClass def has_multiple_values?; false; end def _section :rip end @props = {'route-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Apply Route-Map on RIP Routes'}} # Apply Route-Map on RIP Routes def route_map prop_get('route-map') end # Apply Route-Map on RIP Routes def route_map=(val) prop_set('route-map', val) end end def rip @subclasses['rip'] ||= Rip.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ipv4 @subclasses['ipv4'] ||= Ipv4.new(parent_instance: self, client: @client, create_children: @create_children) end class Ipv6 < ConfigClass def has_multiple_values?; false; end def _section :ipv6 end class Static < ConfigClass def has_multiple_values?; false; end def _section :static end @props = {'route-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Apply Route-Map on Static Routes'}} # Apply Route-Map on Static Routes def route_map prop_get('route-map') end # Apply Route-Map on Static Routes def route_map=(val) prop_set('route-map', val) end end def static @subclasses['static'] ||= Static.new(parent_instance: self, client: @client, create_children: @create_children) end class Bgp < ConfigClass def has_multiple_values?; false; end def _section :bgp end @props = {'route-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Apply Route-Map on BGP Routes'}} # Apply Route-Map on BGP Routes def route_map prop_get('route-map') end # Apply Route-Map on BGP Routes def route_map=(val) prop_set('route-map', val) end end def bgp @subclasses['bgp'] ||= Bgp.new(parent_instance: self, client: @client, create_children: @create_children) end class Ospfv3 < ConfigClass def has_multiple_values?; false; end def _section :ospfv3 end @props = {'route-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Apply Route-Map on OSPFv3 Routes'}} # Apply Route-Map on OSPFv3 Routes def route_map prop_get('route-map') end # Apply Route-Map on OSPFv3 Routes def route_map=(val) prop_set('route-map', val) end end def ospfv3 @subclasses['ospfv3'] ||= Ospfv3.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ipv6 @subclasses['ipv6'] ||= Ipv6.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def rib_filter @subclasses['rib-filter'] ||= RibFilter.new(parent_instance: self, client: @client, create_children: @create_children) end class Bgp < ConfigClass def has_multiple_values?; false; end def _section :bgp end class Med < ConfigClass def has_multiple_values?; false; end def _section :med end @props = {'always-compare-med'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'always compare MEDs'}, 'deterministic-med-comparison'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'deterministic MEDs comparison'}} # always compare MEDs def always_compare_med prop_get('always-compare-med') end # always compare MEDs def always_compare_med=(val) prop_set('always-compare-med', val) end # deterministic MEDs comparison def deterministic_med_comparison prop_get('deterministic-med-comparison') end # deterministic MEDs comparison def deterministic_med_comparison=(val) prop_set('deterministic-med-comparison', val) end end def med @subclasses['med'] ||= Med.new(parent_instance: self, client: @client, create_children: @create_children) end class GracefulRestart < ConfigClass def has_multiple_values?; false; end def _section :'graceful-restart' end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'stale-route-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'120', 'help-string'=>'time to remove stale routes after peer restart Default:120 (in seconds)'}, 'max-peer-restart-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'120', 'help-string'=>'maximum of peer restart time accepted Default:120 (in seconds)'}, 'local-restart-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'120', 'help-string'=>'local restart time to advertise to peer Default:120 (in seconds)'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # time to remove stale routes after peer restart Default:120 (in seconds) def stale_route_time prop_get('stale-route-time') end # time to remove stale routes after peer restart Default:120 (in seconds) def stale_route_time=(val) prop_set('stale-route-time', val) end # maximum of peer restart time accepted Default:120 (in seconds) def max_peer_restart_time prop_get('max-peer-restart-time') end # maximum of peer restart time accepted Default:120 (in seconds) def max_peer_restart_time=(val) prop_set('max-peer-restart-time', val) end # local restart time to advertise to peer Default:120 (in seconds) def local_restart_time prop_get('local-restart-time') end # local restart time to advertise to peer Default:120 (in seconds) def local_restart_time=(val) prop_set('local-restart-time', val) end end def graceful_restart @subclasses['graceful-restart'] ||= GracefulRestart.new(parent_instance: self, client: @client, create_children: @create_children) end class GlobalBfd < ConfigClass def has_multiple_values?; false; end def _section :'global-bfd' end @props = {'profile'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'None', 'help-string'=>'BFD profile', 'optional'=>'yes', 'uiHint-fieldLabel'=>'BFD Profile', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'None', 'help-string'=>'Disable BFD'}]}}} # BFD profile def profile prop_get('profile') end # BFD profile def profile=(val) prop_set('profile', val) end end def global_bfd @subclasses['global-bfd'] ||= GlobalBfd.new(parent_instance: self, client: @client, create_children: @create_children) end class PeerGroup < XML::ConfigClass def has_multiple_values?; true; end def _section :'peer-group' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Ibgp < ConfigClass def has_multiple_values?; false; end def _section :ibgp end @props = {} end def ibgp @subclasses['ibgp'] ||= Ibgp.new(parent_instance: self, client: @client, create_children: @create_children) end class Ebgp < ConfigClass def has_multiple_values?; false; end def _section :ebgp end @props = {} end def ebgp @subclasses['ebgp'] ||= Ebgp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end class AddressFamily < ConfigClass def has_multiple_values?; false; end def _section :'address-family' end @props = {'ipv4'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'uiHint-fieldLabel'=>'IPv4 Address Family', 'help-string'=>'Enable IPv4 route exchange'}, 'ipv6'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'uiHint-fieldLabel'=>'IPv6 Address Family', 'help-string'=>'Enable IPv6 route exchange'}} # Enable IPv4 route exchange def ipv4 prop_get('ipv4') end # Enable IPv4 route exchange def ipv4=(val) prop_set('ipv4', val) end # Enable IPv6 route exchange def ipv6 prop_get('ipv6') end # Enable IPv6 route exchange def ipv6=(val) prop_set('ipv6', val) end end def address_family @subclasses['address-family'] ||= AddressFamily.new(parent_instance: self, client: @client, create_children: @create_children) end class FilteringProfile < ConfigClass def has_multiple_values?; false; end def _section :'filtering-profile' end @props = {'ipv4'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'uiHint-fieldLabel'=>'IPv4 Filtering Profile', 'help-string'=>'IPv4 Filtering Profile'}, 'ipv6'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'uiHint-fieldLabel'=>'IPv6 Filtering Profile', 'help-string'=>'IPv6 Filtering Profile'}} # IPv4 Filtering Profile def ipv4 prop_get('ipv4') end # IPv4 Filtering Profile def ipv4=(val) prop_set('ipv4', val) end # IPv6 Filtering Profile def ipv6 prop_get('ipv6') end # IPv6 Filtering Profile def ipv6=(val) prop_set('ipv6', val) end end def filtering_profile @subclasses['filtering-profile'] ||= FilteringProfile.new(parent_instance: self, client: @client, create_children: @create_children) end class ConnectionOptions < ConfigClass def has_multiple_values?; false; end def _section :'connection-options' end @props = {'timers'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Timer Profile', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Timer Profile Name'}, 'multihop'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Multi Hop', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255', 'default'=>'0', 'help-string'=>'Multi-hop value'}, 'authentication'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Auth Profile', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Authentication Profile Name'}, 'dampening'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Dampening Profile', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Dampening Profile Name'}} # Timer Profile Name def timers prop_get('timers') end # Timer Profile Name def timers=(val) prop_set('timers', val) end # Multi-hop value def multihop prop_get('multihop') end # Multi-hop value def multihop=(val) prop_set('multihop', val) end # Authentication Profile Name def authentication prop_get('authentication') end # Authentication Profile Name def authentication=(val) prop_set('authentication', val) end # Dampening Profile Name def dampening prop_get('dampening') end # Dampening Profile Name def dampening=(val) prop_set('dampening', val) end end def connection_options @subclasses['connection-options'] ||= ConnectionOptions.new(parent_instance: self, client: @client, create_children: @create_children) end class Peer < XML::ConfigClass def has_multiple_values?; true; end def _section :peer end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Inherit < XML::ConfigClass def has_multiple_values?; true; end def _section :inherit end class Yes < ConfigClass def has_multiple_values?; false; end def _section :yes end @props = {} end def yes @subclasses['yes'] ||= Yes.new(parent_instance: self, client: @client, create_children: @create_children) end class No < ConfigClass def has_multiple_values?; false; end def _section :no end class AddressFamily < ConfigClass def has_multiple_values?; false; end def _section :'address-family' end @props = {'ipv4'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'none', 'uiHint-fieldLabel'=>'IPv4 Address Family', 'help-string'=>'Enable IPv4 route exchange', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'inherit', 'help-string'=>'Inherit from Peer-Group'}, {'value'=>'none', 'help-string'=>'Disable IPv4 AFI'}]}}, 'ipv6'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'none', 'uiHint-fieldLabel'=>'IPv6 Address Family', 'help-string'=>'Enable IPv6 route exchange', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'inherit', 'help-string'=>'Inherit from Peer-Group'}, {'value'=>'none', 'help-string'=>'Disable IPv6 AFI'}]}}} # Enable IPv4 route exchange def ipv4 prop_get('ipv4') end # Enable IPv4 route exchange def ipv4=(val) prop_set('ipv4', val) end # Enable IPv6 route exchange def ipv6 prop_get('ipv6') end # Enable IPv6 route exchange def ipv6=(val) prop_set('ipv6', val) end end def address_family @subclasses['address-family'] ||= AddressFamily.new(parent_instance: self, client: @client, create_children: @create_children) end class FilteringProfile < ConfigClass def has_multiple_values?; false; end def _section :'filtering-profile' end @props = {'ipv4'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'none', 'uiHint-fieldLabel'=>'IPv4 Filtering Profile', 'help-string'=>'IPv4 Filtering Profile', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'inherit', 'help-string'=>'Inherit from Peer-Group'}, {'value'=>'none', 'help-string'=>'Disable IPv4 Filtering'}]}}, 'ipv6'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'none', 'uiHint-fieldLabel'=>'IPv6 Filtering Profile', 'help-string'=>'IPv6 Filtering Profile', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'inherit', 'help-string'=>'Inherit from Peer-Group'}, {'value'=>'none', 'help-string'=>'Disable IPv6 Filtering'}]}}} # IPv4 Filtering Profile def ipv4 prop_get('ipv4') end # IPv4 Filtering Profile def ipv4=(val) prop_set('ipv4', val) end # IPv6 Filtering Profile def ipv6 prop_get('ipv6') end # IPv6 Filtering Profile def ipv6=(val) prop_set('ipv6', val) end end def filtering_profile @subclasses['filtering-profile'] ||= FilteringProfile.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def no @subclasses['no'] ||= No.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def inherit maybe_register_subclass('inherit', Inherit.new(parent_instance: self, client: @client, create_children: @create_children)) end class LocalAddress < ConfigClass def has_multiple_values?; false; end def _section :'local-address' end @props = {'interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'interface to accept BGP session'}, 'ip'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'50', 'help-string'=>'specify exact IP address if interface has multiple addresses'}} # interface to accept BGP session def interface prop_get('interface') end # interface to accept BGP session def interface=(val) prop_set('interface', val) end # specify exact IP address if interface has multiple addresses def ip prop_get('ip') end # specify exact IP address if interface has multiple addresses def ip=(val) prop_set('ip', val) end end def local_address @subclasses['local-address'] ||= LocalAddress.new(parent_instance: self, client: @client, create_children: @create_children) end class PeerAddress < ConfigClass def has_multiple_values?; false; end def _section :'peer-address' end @props = {'ip'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'peer address configuration', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'fqdn'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'regex'=>'^([a-zA-Z0-9._-])+$', 'help-string'=>'Peer FQDN Address Object'}} # peer address configuration def ip prop_get('ip') end # peer address configuration def ip=(val) prop_set('ip', val) end # Peer FQDN Address Object def fqdn prop_get('fqdn') end # Peer FQDN Address Object def fqdn=(val) prop_set('fqdn', val) end end def peer_address @subclasses['peer-address'] ||= PeerAddress.new(parent_instance: self, client: @client, create_children: @create_children) end class ConnectionOptions < ConfigClass def has_multiple_values?; false; end def _section :'connection-options' end @props = {'timers'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Timer Profile', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'Timer Profile Name', 'default'=>'inherit', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'inherit', 'help-string'=>'Inherit from Peer-Group'}]}}, 'multihop'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Multi Hop', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Multi-hop value', 'default'=>'inherit', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'255', 'default'=>'0', 'help-string'=>'IP TTL value used for sending BGP packet. set to 0 means eBGP use 1, iBGP use 255'}, 'enum'=>[{'value'=>'inherit', 'help-string'=>'Inherit from Peer-Group'}]}}, 'authentication'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Auth Profile', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'Authentication Profile Name', 'default'=>'inherit', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'inherit', 'help-string'=>'Inherit from Peer-Group'}]}}, 'dampening'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Dampening Profile', 'type'=>'multiple', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Dampening Profile Name', 'default'=>'inherit', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'inherit', 'help-string'=>'Inherit from Peer-Group'}]}}} # Timer Profile Name def timers prop_get('timers') end # Timer Profile Name def timers=(val) prop_set('timers', val) end # Multi-hop value def multihop prop_get('multihop') end # Multi-hop value def multihop=(val) prop_set('multihop', val) end # Authentication Profile Name def authentication prop_get('authentication') end # Authentication Profile Name def authentication=(val) prop_set('authentication', val) end # Dampening Profile Name def dampening prop_get('dampening') end # Dampening Profile Name def dampening=(val) prop_set('dampening', val) end end def connection_options @subclasses['connection-options'] ||= ConnectionOptions.new(parent_instance: self, client: @client, create_children: @create_children) end class Bfd < ConfigClass def has_multiple_values?; false; end def _section :bfd end @props = {'profile'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'Inherit-lr-global-setting', 'help-string'=>'BFD profile', 'optional'=>'yes', 'uiHint-fieldLabel'=>'BFD Profile', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'None', 'help-string'=>'Disable BFD'}, {'value'=>'Inherit-lr-global-setting', 'help-string'=>'Inherit Protocol\'s Global BFD Profile'}]}}} # BFD profile def profile prop_get('profile') end # BFD profile def profile=(val) prop_set('profile', val) end end def bfd @subclasses['bfd'] ||= Bfd.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'regex'=>'^[a-zA-Z0-9._-]+$'}, 'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'passive'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'If enabled, open messages are not sent to this peer'}, 'peer-as'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'peer AS number', 'multi-types'=>{'string'=>{'maxlen'=>'63', 'loose-membership'=>'yes'}, 'rangedint'=>{'min'=>'1', 'max'=>'4294967295'}}}, 'enable-sender-side-loop-detection'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}} def name prop_get('@name') end def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # If enabled, open messages are not sent to this peer def passive prop_get('passive') end # If enabled, open messages are not sent to this peer def passive=(val) prop_set('passive', val) end # peer AS number def peer_as prop_get('peer-as') end # peer AS number def peer_as=(val) prop_set('peer-as', val) end def enable_sender_side_loop_detection prop_get('enable-sender-side-loop-detection') end def enable_sender_side_loop_detection=(val) prop_set('enable-sender-side-loop-detection', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def peer maybe_register_subclass('peer', Peer.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'regex'=>'^[a-zA-Z0-9._-]+$'}, 'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}} def name prop_get('@name') end def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def peer_group maybe_register_subclass('peer-group', PeerGroup.new(parent_instance: self, client: @client, create_children: @create_children)) end class AggregateRoutes < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-routes' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Ipv4 < ConfigClass def has_multiple_values?; false; end def _section :ipv4 end @props = {'summary-prefix'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Aggregating Address Prefix', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes', 'subnet-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'suppress-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Suppress Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Specify Route-Map to select routes to be suppressed'}, 'attribute-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Attribute Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Specify Route-Map to set attributes of aggregate prefix'}} # Aggregating Address Prefix def summary_prefix prop_get('summary-prefix') end # Aggregating Address Prefix def summary_prefix=(val) prop_set('summary-prefix', val) end # Specify Route-Map to select routes to be suppressed def suppress_map prop_get('suppress-map') end # Specify Route-Map to select routes to be suppressed def suppress_map=(val) prop_set('suppress-map', val) end # Specify Route-Map to set attributes of aggregate prefix def attribute_map prop_get('attribute-map') end # Specify Route-Map to set attributes of aggregate prefix def attribute_map=(val) prop_set('attribute-map', val) end end def ipv4 @subclasses['ipv4'] ||= Ipv4.new(parent_instance: self, client: @client, create_children: @create_children) end class Ipv6 < ConfigClass def has_multiple_values?; false; end def _section :ipv6 end @props = {'summary-prefix'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Aggregating Address Prefix', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes', 'ipv6-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'suppress-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Suppress Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Specify Route-Map to select routes to be suppressed'}, 'attribute-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Attribute Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Specify Route-Map to set attributes of aggregate prefix'}} # Aggregating Address Prefix def summary_prefix prop_get('summary-prefix') end # Aggregating Address Prefix def summary_prefix=(val) prop_set('summary-prefix', val) end # Specify Route-Map to select routes to be suppressed def suppress_map prop_get('suppress-map') end # Specify Route-Map to select routes to be suppressed def suppress_map=(val) prop_set('suppress-map', val) end # Specify Route-Map to set attributes of aggregate prefix def attribute_map prop_get('attribute-map') end # Specify Route-Map to set attributes of aggregate prefix def attribute_map=(val) prop_set('attribute-map', val) end end def ipv6 @subclasses['ipv6'] ||= Ipv6.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'regex'=>'^[a-zA-Z0-9._-]+$', 'help-string'=>'Aggregation Address Name'}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'optional'=>'yes', 'help-string'=>'Describe Aggregate Route', 'regex'=>'^[ a-zA-Z0-9._-]+$'}, 'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable Aggregation for this Prefix'}, 'summary-only'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Send only Summary Route'}, 'as-set'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Generate AS set path attribute'}, 'same-med'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Aggregate Routes only if they have same MED Attributes'}} # Aggregation Address Name def name prop_get('@name') end # Describe Aggregate Route def description prop_get('description') end # Describe Aggregate Route def description=(val) prop_set('description', val) end # Enable Aggregation for this Prefix def enable prop_get('enable') end # Enable Aggregation for this Prefix def enable=(val) prop_set('enable', val) end # Send only Summary Route def summary_only prop_get('summary-only') end # Send only Summary Route def summary_only=(val) prop_set('summary-only', val) end # Generate AS set path attribute def as_set prop_get('as-set') end # Generate AS set path attribute def as_set=(val) prop_set('as-set', val) end # Aggregate Routes only if they have same MED Attributes def same_med prop_get('same-med') end # Aggregate Routes only if they have same MED Attributes def same_med=(val) prop_set('same-med', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def aggregate_routes maybe_register_subclass('aggregate-routes', AggregateRoutes.new(parent_instance: self, client: @client, create_children: @create_children)) end class RedistributionProfile < ConfigClass def has_multiple_values?; false; end def _section :'redistribution-profile' end class Ipv4 < ConfigClass def has_multiple_values?; false; end def _section :ipv4 end @props = {'unicast'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Redistribution Profile Name'}} # Redistribution Profile Name def unicast prop_get('unicast') end # Redistribution Profile Name def unicast=(val) prop_set('unicast', val) end end def ipv4 @subclasses['ipv4'] ||= Ipv4.new(parent_instance: self, client: @client, create_children: @create_children) end class Ipv6 < ConfigClass def has_multiple_values?; false; end def _section :ipv6 end @props = {'unicast'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Redistribution Profile Name'}} # Redistribution Profile Name def unicast prop_get('unicast') end # Redistribution Profile Name def unicast=(val) prop_set('unicast', val) end end def ipv6 @subclasses['ipv6'] ||= Ipv6.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def redistribution_profile @subclasses['redistribution-profile'] ||= RedistributionProfile.new(parent_instance: self, client: @client, create_children: @create_children) end class AdvertiseNetwork < ConfigClass def has_multiple_values?; false; end def _section :'advertise-network' end class Ipv4 < ConfigClass def has_multiple_values?; false; end def _section :ipv4 end class Network < XML::ConfigClass def has_multiple_values?; true; end def _section :network end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'subnet-only'=>'yes', 'ipv4-only'=>'yes', 'help-string'=>'Destination IP address/prefix'}, 'unicast'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Unicast Network configuration'}, 'multicast'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Multicast Network configuration'}, 'backdoor'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Mark network as backdoor route'}} # Destination IP address/prefix def name prop_get('@name') end # Unicast Network configuration def unicast prop_get('unicast') end # Unicast Network configuration def unicast=(val) prop_set('unicast', val) end # Multicast Network configuration def multicast prop_get('multicast') end # Multicast Network configuration def multicast=(val) prop_set('multicast', val) end # Mark network as backdoor route def backdoor prop_get('backdoor') end # Mark network as backdoor route def backdoor=(val) prop_set('backdoor', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def network maybe_register_subclass('network', Network.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def ipv4 @subclasses['ipv4'] ||= Ipv4.new(parent_instance: self, client: @client, create_children: @create_children) end class Ipv6 < ConfigClass def has_multiple_values?; false; end def _section :ipv6 end class Network < XML::ConfigClass def has_multiple_values?; true; end def _section :network end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'subnet-only'=>'yes', 'ipv6-only'=>'yes', 'help-string'=>'Destination IP address/prefix'}, 'unicast'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Unicast Network configuration'}} # Destination IP address/prefix def name prop_get('@name') end # Unicast Network configuration def unicast prop_get('unicast') end # Unicast Network configuration def unicast=(val) prop_set('unicast', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def network maybe_register_subclass('network', Network.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def ipv6 @subclasses['ipv6'] ||= Ipv6.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def advertise_network @subclasses['advertise-network'] ||= AdvertiseNetwork.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'router-id'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'router id of this BGP instance', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'ipv4-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'local-as'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'local AS number', 'multi-types'=>{'string'=>{'maxlen'=>'63', 'loose-membership'=>'yes'}, 'rangedint'=>{'min'=>'1', 'max'=>'4294967295'}}}, 'install-route'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Populate BGP learned route to global route table', 'uiHint-fieldLabel'=>'Install Route'}, 'enforce-first-as'=>{'node-type'=>'element', 'optional'=>'yes', 'help-string'=>'Enforce First AS for EBGP', 'type'=>'bool', 'default'=>'yes', 'uiHint-fieldLabel'=>'Enforce First AS'}, 'fast-external-failover'=>{'node-type'=>'element', 'optional'=>'yes', 'help-string'=>'Immediately reset session if a link to a directly connected external peer goes down', 'type'=>'bool', 'default'=>'yes', 'uiHint-fieldLabel'=>'Fast Failover'}, 'ecmp-multi-as'=>{'node-type'=>'element', 'optional'=>'yes', 'help-string'=>'Support multiple AS in ECMP', 'type'=>'bool', 'default'=>'no', 'uiHint-fieldLabel'=>'ECMP Multiple AS Support'}, 'default-local-preference'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'default'=>'100', 'help-string'=>'default local preference'}, 'graceful-shutdown'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Gracefully Shutdown BGP following RFC-8326', 'uiHint-fieldLabel'=>'Graceful Shutdown'}, 'always-advertise-network-route'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'optional'=>'yes', 'help-string'=>'Always advertise network routes even if not present in RIB', 'uiHint-fieldLabel'=>'Always Advertise Network Route'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # router id of this BGP instance def router_id prop_get('router-id') end # router id of this BGP instance def router_id=(val) prop_set('router-id', val) end # local AS number def local_as prop_get('local-as') end # local AS number def local_as=(val) prop_set('local-as', val) end # Populate BGP learned route to global route table def install_route prop_get('install-route') end # Populate BGP learned route to global route table def install_route=(val) prop_set('install-route', val) end # Enforce First AS for EBGP def enforce_first_as prop_get('enforce-first-as') end # Enforce First AS for EBGP def enforce_first_as=(val) prop_set('enforce-first-as', val) end # Immediately reset session if a link to a directly connected external peer goes down def fast_external_failover prop_get('fast-external-failover') end # Immediately reset session if a link to a directly connected external peer goes down def fast_external_failover=(val) prop_set('fast-external-failover', val) end # Support multiple AS in ECMP def ecmp_multi_as prop_get('ecmp-multi-as') end # Support multiple AS in ECMP def ecmp_multi_as=(val) prop_set('ecmp-multi-as', val) end # default local preference def default_local_preference prop_get('default-local-preference') end # default local preference def default_local_preference=(val) prop_set('default-local-preference', val) end # Gracefully Shutdown BGP following RFC-8326 def graceful_shutdown prop_get('graceful-shutdown') end # Gracefully Shutdown BGP following RFC-8326 def graceful_shutdown=(val) prop_set('graceful-shutdown', val) end # Always advertise network routes even if not present in RIB def always_advertise_network_route prop_get('always-advertise-network-route') end # Always advertise network routes even if not present in RIB def always_advertise_network_route=(val) prop_set('always-advertise-network-route', val) end end def bgp @subclasses['bgp'] ||= Bgp.new(parent_instance: self, client: @client, create_children: @create_children) end class RoutingTable < ConfigClass def has_multiple_values?; false; end def _section :'routing-table' end class Ip < ConfigClass def has_multiple_values?; false; end def _section :ip end class StaticRoute < XML::ConfigClass def has_multiple_values?; true; end def _section :'static-route' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Nexthop < XML::ConfigClass def has_multiple_values?; true; end def _section :nexthop end class Discard < ConfigClass def has_multiple_values?; false; end def _section :discard end @props = {} end def discard @subclasses['discard'] ||= Discard.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'ip-address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Next hop IP address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'ipv4-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'next-lr'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Next-Hop Logical Router', 'uiHint-fieldLabel'=>'Next LR', 'maxlen'=>'63'}, 'fqdn'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'regex'=>'^([a-zA-Z0-9._-])+$', 'help-string'=>'nexthop address FQDN address object configuration', 'uiHint-fieldLabel'=>'FQDN'}} # Next hop IP address def ip_address prop_get('ip-address') end # Next hop IP address def ip_address=(val) prop_set('ip-address', val) end # Next-Hop Logical Router def next_lr prop_get('next-lr') end # Next-Hop Logical Router def next_lr=(val) prop_set('next-lr', val) end # nexthop address FQDN address object configuration def fqdn prop_get('fqdn') end # nexthop address FQDN address object configuration def fqdn=(val) prop_set('fqdn', val) end end def nexthop maybe_register_subclass('nexthop', Nexthop.new(parent_instance: self, client: @client, create_children: @create_children)) end class Bfd < ConfigClass def has_multiple_values?; false; end def _section :bfd end @props = {'profile'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'None', 'help-string'=>'BFD profile', 'optional'=>'yes', 'uiHint-fieldLabel'=>'BFD Profile', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'None', 'help-string'=>'Disable BFD'}]}}} # BFD profile def profile prop_get('profile') end # BFD profile def profile=(val) prop_set('profile', val) end end def bfd @subclasses['bfd'] ||= Bfd.new(parent_instance: self, client: @client, create_children: @create_children) end class PathMonitor < ConfigClass def has_multiple_values?; false; end def _section :'path-monitor' end class MonitorDestinations < XML::ConfigClass def has_multiple_values?; true; end def _section :'monitor-destinations' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'source'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Source IP address', 'multi-types'=>{'string'=>{}, 'enum'=>[{'value'=>'DHCP', 'help-string'=>'Use DHCP Client Address'}, {'value'=>'PPPOE', 'help-string'=>'Use PPPoE Client Address'}]}}, 'destination'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'Destination IP address'}, 'interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'60', 'default'=>'3', 'help-string'=>'ping interval'}, 'count'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'3', 'max'=>'10', 'default'=>'5', 'help-string'=>'ping count'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Source IP address def source prop_get('source') end # Source IP address def source=(val) prop_set('source', val) end # Destination IP address def destination prop_get('destination') end # Destination IP address def destination=(val) prop_set('destination', val) end # ping interval def interval prop_get('interval') end # ping interval def interval=(val) prop_set('interval', val) end # ping count def count prop_get('count') end # ping count def count=(val) prop_set('count', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def monitor_destinations maybe_register_subclass('monitor-destinations', MonitorDestinations.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'failure-condition'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'any', 'help-string'=>'failure condition', 'enum'=>[{'value'=>'any'}, {'value'=>'all'}]}, 'hold-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'1440', 'default'=>'2', 'help-string'=>'hold time (minutes)'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # failure condition def failure_condition prop_get('failure-condition') end # failure condition def failure_condition=(val) prop_set('failure-condition', val) end # hold time (minutes) def hold_time prop_get('hold-time') end # hold time (minutes) def hold_time=(val) prop_set('hold-time', val) end end def path_monitor @subclasses['path-monitor'] ||= PathMonitor.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'regex'=>'^[a-zA-Z0-9._-]+$', 'help-string'=>'alphanumeric string [0-9a-zA-Z._-]'}, 'destination'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Destination IP address/prefix', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes', 'ipv4-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'interface'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string'}, 'admin-dist'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'10', 'max'=>'240', 'help-string'=>'adminitrative distance', 'uiHint-fieldLabel'=>'Admin Dist'}, 'metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'10', 'help-string'=>'metric value (path cost)', 'uiHint-fieldLabel'=>'Metric'}} # alphanumeric string [0-9a-zA-Z._-] def name prop_get('@name') end # Destination IP address/prefix def destination prop_get('destination') end # Destination IP address/prefix def destination=(val) prop_set('destination', val) end def interface prop_get('interface') end def interface=(val) prop_set('interface', val) end # adminitrative distance def admin_dist prop_get('admin-dist') end # adminitrative distance def admin_dist=(val) prop_set('admin-dist', val) end # metric value (path cost) def metric prop_get('metric') end # metric value (path cost) def metric=(val) prop_set('metric', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def static_route maybe_register_subclass('static-route', StaticRoute.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def ip @subclasses['ip'] ||= Ip.new(parent_instance: self, client: @client, create_children: @create_children) end class Ipv6 < ConfigClass def has_multiple_values?; false; end def _section :ipv6 end class StaticRoute < XML::ConfigClass def has_multiple_values?; true; end def _section :'static-route' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Nexthop < XML::ConfigClass def has_multiple_values?; true; end def _section :nexthop end class Discard < ConfigClass def has_multiple_values?; false; end def _section :discard end @props = {} end def discard @subclasses['discard'] ||= Discard.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'ipv6-address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Next hop IP address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'fqdn'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'regex'=>'^([a-zA-Z0-9._-])+$', 'help-string'=>'nexthop address FQDN address object configuration', 'uiHint-fieldLabel'=>'FQDN'}, 'next-lr'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Next-Hop Logical Router', 'uiHint-fieldLabel'=>'Next LR', 'maxlen'=>'63'}} # Next hop IP address def ipv6_address prop_get('ipv6-address') end # Next hop IP address def ipv6_address=(val) prop_set('ipv6-address', val) end # nexthop address FQDN address object configuration def fqdn prop_get('fqdn') end # nexthop address FQDN address object configuration def fqdn=(val) prop_set('fqdn', val) end # Next-Hop Logical Router def next_lr prop_get('next-lr') end # Next-Hop Logical Router def next_lr=(val) prop_set('next-lr', val) end end def nexthop maybe_register_subclass('nexthop', Nexthop.new(parent_instance: self, client: @client, create_children: @create_children)) end class Bfd < ConfigClass def has_multiple_values?; false; end def _section :bfd end @props = {'profile'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'None', 'help-string'=>'BFD profile', 'optional'=>'yes', 'uiHint-fieldLabel'=>'BFD Profile', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'None', 'help-string'=>'Disable BFD'}]}}} # BFD profile def profile prop_get('profile') end # BFD profile def profile=(val) prop_set('profile', val) end end def bfd @subclasses['bfd'] ||= Bfd.new(parent_instance: self, client: @client, create_children: @create_children) end class PathMonitor < ConfigClass def has_multiple_values?; false; end def _section :'path-monitor' end class MonitorDestinations < XML::ConfigClass def has_multiple_values?; true; end def _section :'monitor-destinations' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'source'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Source IP address', 'multi-types'=>{'string'=>{}}}, 'destination'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'Destination IP address'}, 'interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'60', 'default'=>'3', 'help-string'=>'ping interval'}, 'count'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'3', 'max'=>'10', 'default'=>'5', 'help-string'=>'ping count'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Source IP address def source prop_get('source') end # Source IP address def source=(val) prop_set('source', val) end # Destination IP address def destination prop_get('destination') end # Destination IP address def destination=(val) prop_set('destination', val) end # ping interval def interval prop_get('interval') end # ping interval def interval=(val) prop_set('interval', val) end # ping count def count prop_get('count') end # ping count def count=(val) prop_set('count', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def monitor_destinations maybe_register_subclass('monitor-destinations', MonitorDestinations.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'failure-condition'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'any', 'help-string'=>'failure condition', 'enum'=>[{'value'=>'any'}, {'value'=>'all'}]}, 'hold-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'1440', 'default'=>'2', 'help-string'=>'hold time (minutes)'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # failure condition def failure_condition prop_get('failure-condition') end # failure condition def failure_condition=(val) prop_set('failure-condition', val) end # hold time (minutes) def hold_time prop_get('hold-time') end # hold time (minutes) def hold_time=(val) prop_set('hold-time', val) end end def path_monitor @subclasses['path-monitor'] ||= PathMonitor.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [0-9a-zA-Z._-]', 'regex'=>'^[a-zA-Z0-9._-]+$'}, 'destination'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Destination IP address/prefix', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'interface'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string'}, 'admin-dist'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'10', 'max'=>'240', 'help-string'=>'adminitrative distance', 'uiHint-fieldLabel'=>'Admin Dist'}, 'metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'10', 'help-string'=>'metric value (path cost)', 'uiHint-fieldLabel'=>'Metric'}} # alphanumeric string [0-9a-zA-Z._-] def name prop_get('@name') end # Destination IP address/prefix def destination prop_get('destination') end # Destination IP address/prefix def destination=(val) prop_set('destination', val) end def interface prop_get('interface') end def interface=(val) prop_set('interface', val) end # adminitrative distance def admin_dist prop_get('admin-dist') end # adminitrative distance def admin_dist=(val) prop_set('admin-dist', val) end # metric value (path cost) def metric prop_get('metric') end # metric value (path cost) def metric=(val) prop_set('metric', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def static_route maybe_register_subclass('static-route', StaticRoute.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def ipv6 @subclasses['ipv6'] ||= Ipv6.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def routing_table @subclasses['routing-table'] ||= RoutingTable.new(parent_instance: self, client: @client, create_children: @create_children) end class Ospf < ConfigClass def has_multiple_values?; false; end def _section :ospf end class GlobalBfd < ConfigClass def has_multiple_values?; false; end def _section :'global-bfd' end @props = {'profile'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'None', 'help-string'=>'BFD profile', 'optional'=>'yes', 'uiHint-fieldLabel'=>'BFD Profile', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'None', 'help-string'=>'Disable BFD'}]}}} # BFD profile def profile prop_get('profile') end # BFD profile def profile=(val) prop_set('profile', val) end end def global_bfd @subclasses['global-bfd'] ||= GlobalBfd.new(parent_instance: self, client: @client, create_children: @create_children) end class Area < XML::ConfigClass def has_multiple_values?; true; end def _section :area end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Normal < ConfigClass def has_multiple_values?; false; end def _section :normal end class Abr < ConfigClass def has_multiple_values?; false; end def _section :abr end @props = {'import-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Import-list', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Set the filter for networks announced from other areas', 'multi-types'=>{'string'=>{'maxlen'=>'63'}}}, 'export-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Export-list', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Set the filter for networks announced to other areas', 'multi-types'=>{'string'=>{'maxlen'=>'63'}}}, 'inbound-filter-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Inbound Filter List', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Inbound filter list', 'multi-types'=>{'string'=>{'maxlen'=>'63'}}}, 'outbound-filter-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Outbound Filter List', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Outbound filter list', 'multi-types'=>{'string'=>{'maxlen'=>'63'}}}} # Set the filter for networks announced from other areas def import_list prop_get('import-list') end # Set the filter for networks announced from other areas def import_list=(val) prop_set('import-list', val) end # Set the filter for networks announced to other areas def export_list prop_get('export-list') end # Set the filter for networks announced to other areas def export_list=(val) prop_set('export-list', val) end # Inbound filter list def inbound_filter_list prop_get('inbound-filter-list') end # Inbound filter list def inbound_filter_list=(val) prop_set('inbound-filter-list', val) end # Outbound filter list def outbound_filter_list prop_get('outbound-filter-list') end # Outbound filter list def outbound_filter_list=(val) prop_set('outbound-filter-list', val) end end def abr @subclasses['abr'] ||= Abr.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def normal @subclasses['normal'] ||= Normal.new(parent_instance: self, client: @client, create_children: @create_children) end class Stub < ConfigClass def has_multiple_values?; false; end def _section :stub end class Abr < ConfigClass def has_multiple_values?; false; end def _section :abr end @props = {'import-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Import-list', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Set the filter for networks announced from other areas', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'None', 'help-string'=>'no access list'}]}}, 'export-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Export-list', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Set the filter for networks announced to other areas', 'multi-types'=>{'string'=>{'maxlen'=>'63'}}}, 'inbound-filter-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Inbound Filter List', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Inbound filter list', 'multi-types'=>{'string'=>{'maxlen'=>'63'}}}, 'outbound-filter-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Outbound Filter List', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Outbound filter list', 'multi-types'=>{'string'=>{'maxlen'=>'63'}}}} # Set the filter for networks announced from other areas def import_list prop_get('import-list') end # Set the filter for networks announced from other areas def import_list=(val) prop_set('import-list', val) end # Set the filter for networks announced to other areas def export_list prop_get('export-list') end # Set the filter for networks announced to other areas def export_list=(val) prop_set('export-list', val) end # Inbound filter list def inbound_filter_list prop_get('inbound-filter-list') end # Inbound filter list def inbound_filter_list=(val) prop_set('inbound-filter-list', val) end # Outbound filter list def outbound_filter_list prop_get('outbound-filter-list') end # Outbound filter list def outbound_filter_list=(val) prop_set('outbound-filter-list', val) end end def abr @subclasses['abr'] ||= Abr.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'no-summary'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'no-summary', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'default-route-metric'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'default route metric', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'16777215', 'default'=>'0'}} def no_summary prop_get('no-summary') end def no_summary=(val) prop_set('no-summary', val) end def default_route_metric prop_get('default-route-metric') end def default_route_metric=(val) prop_set('default-route-metric', val) end end def stub @subclasses['stub'] ||= Stub.new(parent_instance: self, client: @client, create_children: @create_children) end class Nssa < ConfigClass def has_multiple_values?; false; end def _section :nssa end class DefaultInformationOriginate < ConfigClass def has_multiple_values?; false; end def _section :'default-information-originate' end @props = {'metric'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Metric', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'16777215', 'default'=>'10'}, 'metric-type'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Metric-Type', 'type'=>'enum', 'optional'=>'yes', 'default'=>'type-2', 'help-string'=>'metric type to be used when redistribute default route', 'enum'=>[{'value'=>'type-1', 'uiHint-fieldLabel'=>'E1', 'help-string'=>'metric comparable with OSPF metric'}, {'value'=>'type-2', 'uiHint-fieldLabel'=>'E2', 'help-string'=>'external route is always less preferred than OSPF routes'}]}} def metric prop_get('metric') end def metric=(val) prop_set('metric', val) end # metric type to be used when redistribute default route def metric_type prop_get('metric-type') end # metric type to be used when redistribute default route def metric_type=(val) prop_set('metric-type', val) end end def default_information_originate @subclasses['default-information-originate'] ||= DefaultInformationOriginate.new(parent_instance: self, client: @client, create_children: @create_children) end class Abr < ConfigClass def has_multiple_values?; false; end def _section :abr end class NssaExtRange < XML::ConfigClass def has_multiple_values?; true; end def _section :'nssa-ext-range' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'uiHint-fieldLabel'=>'IPv4 Prefix', 'type'=>'ipspec', 'help-string'=>'network/prefix'}, 'route-tag'=>{'node-type'=>'element', 'disabled'=>'yes', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'help-string'=>'route tag value'}, 'advertise'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Advertise', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'do summarization and advertise'}} # network/prefix def name prop_get('@name') end # route tag value def route_tag prop_get('route-tag') end # route tag value def route_tag=(val) prop_set('route-tag', val) end # do summarization and advertise def advertise prop_get('advertise') end # do summarization and advertise def advertise=(val) prop_set('advertise', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def nssa_ext_range maybe_register_subclass('nssa-ext-range', NssaExtRange.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'import-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Import-list', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Set the filter for networks announced from other areas', 'multi-types'=>{'string'=>{'maxlen'=>'63'}}}, 'export-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Export-list', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Set the filter for networks announced to other areas', 'multi-types'=>{'string'=>{'maxlen'=>'63'}}}, 'inbound-filter-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Inbound Filter List', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Inbound filter list', 'multi-types'=>{'string'=>{'maxlen'=>'63'}}}, 'outbound-filter-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Outbound Filter List', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Outbound filter list', 'multi-types'=>{'string'=>{'maxlen'=>'63'}}}} # Set the filter for networks announced from other areas def import_list prop_get('import-list') end # Set the filter for networks announced from other areas def import_list=(val) prop_set('import-list', val) end # Set the filter for networks announced to other areas def export_list prop_get('export-list') end # Set the filter for networks announced to other areas def export_list=(val) prop_set('export-list', val) end # Inbound filter list def inbound_filter_list prop_get('inbound-filter-list') end # Inbound filter list def inbound_filter_list=(val) prop_set('inbound-filter-list', val) end # Outbound filter list def outbound_filter_list prop_get('outbound-filter-list') end # Outbound filter list def outbound_filter_list=(val) prop_set('outbound-filter-list', val) end end def abr @subclasses['abr'] ||= Abr.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'no-summary'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'no-summary', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} def no_summary prop_get('no-summary') end def no_summary=(val) prop_set('no-summary', val) end end def nssa @subclasses['nssa'] ||= Nssa.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end class Range < XML::ConfigClass def has_multiple_values?; true; end def _section :range end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'uiHint-fieldLabel'=>'IP Address/Netmask', 'type'=>'ipspec', 'help-string'=>'network/prefix'}, '@substitute'=>{'node-type'=>'attr-req', 'uiHint-fieldLabel'=>'Substitute', 'optional'=>'yes', 'type'=>'ipspec', 'help-string'=>'substitute network/prefix'}, 'advertise'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Advertise', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'do summarization and advertise'}} # network/prefix def name prop_get('@name') end # substitute network/prefix def substitute prop_get('@substitute') end # do summarization and advertise def advertise prop_get('advertise') end # do summarization and advertise def advertise=(val) prop_set('advertise', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def range maybe_register_subclass('range', Range.new(parent_instance: self, client: @client, create_children: @create_children)) end class Interface < XML::ConfigClass def has_multiple_values?; true; end def _section :interface end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class LinkType < XML::ConfigClass def has_multiple_values?; true; end def _section :'link-type' end class Broadcast < ConfigClass def has_multiple_values?; false; end def _section :broadcast end @props = {} end def broadcast @subclasses['broadcast'] ||= Broadcast.new(parent_instance: self, client: @client, create_children: @create_children) end class P2p < ConfigClass def has_multiple_values?; false; end def _section :p2p end @props = {} end def p2p @subclasses['p2p'] ||= P2p.new(parent_instance: self, client: @client, create_children: @create_children) end class P2mp < ConfigClass def has_multiple_values?; false; end def _section :p2mp end class Neighbor < XML::ConfigClass def has_multiple_values?; true; end def _section :neighbor end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'uiHint-fieldLabel'=>'Neighbor', 'type'=>'ipspec', 'unicast-only'=>'yes'}, 'priority'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>' Priority', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'default'=>'1', 'help-string'=>'Neighbor priority'}} def name prop_get('@name') end # Neighbor priority def priority prop_get('priority') end # Neighbor priority def priority=(val) prop_set('priority', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def neighbor maybe_register_subclass('neighbor', Neighbor.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def p2mp @subclasses['p2mp'] ||= P2mp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def link_type maybe_register_subclass('link-type', LinkType.new(parent_instance: self, client: @client, create_children: @create_children)) end class Bfd < ConfigClass def has_multiple_values?; false; end def _section :bfd end @props = {'profile'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'Inherit-lr-global-setting', 'help-string'=>'BFD profile', 'optional'=>'yes', 'uiHint-fieldLabel'=>'BFD Profile', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'None', 'help-string'=>'Disable BFD'}, {'value'=>'Inherit-lr-global-setting', 'help-string'=>'Inherit Protocol\'s Global BFD Profile'}]}}} # BFD profile def profile prop_get('profile') end # BFD profile def profile=(val) prop_set('profile', val) end end def bfd @subclasses['bfd'] ||= Bfd.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'uiHint-fieldLabel'=>'Interface', 'type'=>'string', 'help-string'=>'interface name'}, 'enable'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Enable', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable OSPF on this interface'}, 'mtu-ignore'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'MTU Ignore', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Ignore mtu when try to establish adjacency'}, 'passive'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Passive', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Suppress the sending of hello packets in this interface'}, 'priority'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Priority', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255', 'default'=>'1', 'help-string'=>'Priority for OSPF designated router selection'}, 'metric'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Cost', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'10', 'help-string'=>'Cost of OSPF interface'}, 'authentication'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Authentication', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes', 'help-string'=>'Authentication options', 'maxlen'=>'63'}, 'timing'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Timer Profile', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes', 'help-string'=>'Protocol timer setting', 'maxlen'=>'63'}} # interface name def name prop_get('@name') end # Enable OSPF on this interface def enable prop_get('enable') end # Enable OSPF on this interface def enable=(val) prop_set('enable', val) end # Ignore mtu when try to establish adjacency def mtu_ignore prop_get('mtu-ignore') end # Ignore mtu when try to establish adjacency def mtu_ignore=(val) prop_set('mtu-ignore', val) end # Suppress the sending of hello packets in this interface def passive prop_get('passive') end # Suppress the sending of hello packets in this interface def passive=(val) prop_set('passive', val) end # Priority for OSPF designated router selection def priority prop_get('priority') end # Priority for OSPF designated router selection def priority=(val) prop_set('priority', val) end # Cost of OSPF interface def metric prop_get('metric') end # Cost of OSPF interface def metric=(val) prop_set('metric', val) end # Authentication options def authentication prop_get('authentication') end # Authentication options def authentication=(val) prop_set('authentication', val) end # Protocol timer setting def timing prop_get('timing') end # Protocol timer setting def timing=(val) prop_set('timing', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def interface maybe_register_subclass('interface', Interface.new(parent_instance: self, client: @client, create_children: @create_children)) end class VirtualLink < XML::ConfigClass def has_multiple_values?; true; end def _section :'virtual-link' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Bfd < ConfigClass def has_multiple_values?; false; end def _section :bfd end @props = {'profile'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'Inherit-lr-global-setting', 'help-string'=>'BFD profile', 'optional'=>'yes', 'uiHint-fieldLabel'=>'BFD Profile', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'None', 'help-string'=>'Disable BFD'}, {'value'=>'Inherit-lr-global-setting', 'help-string'=>'Inherit Protocol\'s Global BFD Profile'}]}}} # BFD profile def profile prop_get('profile') end # BFD profile def profile=(val) prop_set('profile', val) end end def bfd @subclasses['bfd'] ||= Bfd.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'uiHint-fieldLabel'=>'Name', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'help-string'=>'virtual-link name', 'regex'=>'^[a-zA-Z0-9._-]+$'}, 'neighbor-id'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Neighbor ID', 'type'=>'multiple', 'help-string'=>'neighbor router id for virtual link', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'transit-area-id'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Area', 'type'=>'string', 'help-string'=>'id of transit area, cannot be backbone, stub or NSSA'}, 'enable'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Enable', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable this virtual link'}, 'interface-id'=>{'node-type'=>'element', 'disabled'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2147483647', 'help-string'=>'The interface ID assigned to the OSPF virtual interface.'}, 'instance-id'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255', 'default'=>'0', 'help-string'=>'OSPF instance ID'}, 'timing'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Timer Profile', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes', 'help-string'=>'Protocol timer setting', 'maxlen'=>'63'}, 'passive'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'disabled'=>'yes', 'help-string'=>'Suppress the sending of hello packets in this virtual link'}, 'authentication'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Authentication', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes', 'help-string'=>'Authentication options', 'maxlen'=>'63'}} # virtual-link name def name prop_get('@name') end # neighbor router id for virtual link def neighbor_id prop_get('neighbor-id') end # neighbor router id for virtual link def neighbor_id=(val) prop_set('neighbor-id', val) end # id of transit area, cannot be backbone, stub or NSSA def transit_area_id prop_get('transit-area-id') end # id of transit area, cannot be backbone, stub or NSSA def transit_area_id=(val) prop_set('transit-area-id', val) end # Enable this virtual link def enable prop_get('enable') end # Enable this virtual link def enable=(val) prop_set('enable', val) end # The interface ID assigned to the OSPF virtual interface. def interface_id prop_get('interface-id') end # The interface ID assigned to the OSPF virtual interface. def interface_id=(val) prop_set('interface-id', val) end # OSPF instance ID def instance_id prop_get('instance-id') end # OSPF instance ID def instance_id=(val) prop_set('instance-id', val) end # Protocol timer setting def timing prop_get('timing') end # Protocol timer setting def timing=(val) prop_set('timing', val) end # Suppress the sending of hello packets in this virtual link def passive prop_get('passive') end # Suppress the sending of hello packets in this virtual link def passive=(val) prop_set('passive', val) end # Authentication options def authentication prop_get('authentication') end # Authentication options def authentication=(val) prop_set('authentication', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def virtual_link maybe_register_subclass('virtual-link', VirtualLink.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'uiHint-fieldLabel'=>'Area ID', 'type'=>'multiple', 'help-string'=>'Area ID', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'authentication'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Authentication', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes', 'help-string'=>'Authentication profile name', 'maxlen'=>'63'}} # Area ID def name prop_get('@name') end # Authentication profile name def authentication prop_get('authentication') end # Authentication profile name def authentication=(val) prop_set('authentication', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def area maybe_register_subclass('area', Area.new(parent_instance: self, client: @client, create_children: @create_children)) end class GracefulRestart < ConfigClass def has_multiple_values?; false; end def _section :'graceful-restart' end @props = {'enable'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Enable Graceful Restart', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'grace-period'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Grace Period (sec)', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'5', 'max'=>'1800', 'default'=>'120', 'help-string'=>'maximum local restarting time (in seconds)'}, 'helper-enable'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Enable Helper Mode', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'enable/disable helping neighboring routers to graceful restart'}, 'strict-LSA-checking'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Enable Strict LSA Checking', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'enable/disable strict LSA checking. Abort GR if lsa change is detected'}, 'max-neighbor-restart-time'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Max Neighbor Restart Time (sec)', 'optional'=>'yes', 'help-string'=>'maximum of neighbor restart time accepted (in seconds)', 'type'=>'rangedint', 'min'=>'5', 'max'=>'1800', 'default'=>'140'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # maximum local restarting time (in seconds) def grace_period prop_get('grace-period') end # maximum local restarting time (in seconds) def grace_period=(val) prop_set('grace-period', val) end # enable/disable helping neighboring routers to graceful restart def helper_enable prop_get('helper-enable') end # enable/disable helping neighboring routers to graceful restart def helper_enable=(val) prop_set('helper-enable', val) end # enable/disable strict LSA checking. Abort GR if lsa change is detected def strict_LSA_checking prop_get('strict-LSA-checking') end # enable/disable strict LSA checking. Abort GR if lsa change is detected def strict_LSA_checking=(val) prop_set('strict-LSA-checking', val) end # maximum of neighbor restart time accepted (in seconds) def max_neighbor_restart_time prop_get('max-neighbor-restart-time') end # maximum of neighbor restart time accepted (in seconds) def max_neighbor_restart_time=(val) prop_set('max-neighbor-restart-time', val) end end def graceful_restart @subclasses['graceful-restart'] ||= GracefulRestart.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'router-id'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'router id of this OSPF instance', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'ipv4-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'rfc1583'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'rfc-1583 compatibility'}, 'spf-timer'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Global General Timer', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes', 'help-string'=>'SPF timer setting'}, 'global-if-timer'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Global Interface Timer', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes', 'maxlen'=>'63', 'help-string'=>'Global protocol timer setting'}, 'redistribution-profile'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Redistribution Profile', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes', 'maxlen'=>'63', 'help-string'=>'Redistribution profile setting'}} # router id of this OSPF instance def router_id prop_get('router-id') end # router id of this OSPF instance def router_id=(val) prop_set('router-id', val) end def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # rfc-1583 compatibility def rfc1583 prop_get('rfc1583') end # rfc-1583 compatibility def rfc1583=(val) prop_set('rfc1583', val) end # SPF timer setting def spf_timer prop_get('spf-timer') end # SPF timer setting def spf_timer=(val) prop_set('spf-timer', val) end # Global protocol timer setting def global_if_timer prop_get('global-if-timer') end # Global protocol timer setting def global_if_timer=(val) prop_set('global-if-timer', val) end # Redistribution profile setting def redistribution_profile prop_get('redistribution-profile') end # Redistribution profile setting def redistribution_profile=(val) prop_set('redistribution-profile', val) end end def ospf @subclasses['ospf'] ||= Ospf.new(parent_instance: self, client: @client, create_children: @create_children) end class Ospfv3 < ConfigClass def has_multiple_values?; false; end def _section :ospfv3 end class GlobalBfd < ConfigClass def has_multiple_values?; false; end def _section :'global-bfd' end @props = {'profile'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'None', 'help-string'=>'BFD profile', 'optional'=>'yes', 'uiHint-fieldLabel'=>'BFD Profile', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'None', 'help-string'=>'Disable BFD'}]}}} # BFD profile def profile prop_get('profile') end # BFD profile def profile=(val) prop_set('profile', val) end end def global_bfd @subclasses['global-bfd'] ||= GlobalBfd.new(parent_instance: self, client: @client, create_children: @create_children) end class Area < XML::ConfigClass def has_multiple_values?; true; end def _section :area end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Normal < ConfigClass def has_multiple_values?; false; end def _section :normal end class Abr < ConfigClass def has_multiple_values?; false; end def _section :abr end @props = {'import-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Import-list', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Set the filter for networks announced from other areas', 'multi-types'=>{'string'=>{'maxlen'=>'63'}}}, 'export-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Export-list', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Set the filter for networks announced to other areas', 'multi-types'=>{'string'=>{'maxlen'=>'63'}}}, 'inbound-filter-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Inbound Filter List', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Inbound filter list', 'multi-types'=>{'string'=>{'maxlen'=>'63'}}}, 'outbound-filter-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Outbound Filter List', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Outbound filter list', 'multi-types'=>{'string'=>{'maxlen'=>'63'}}}} # Set the filter for networks announced from other areas def import_list prop_get('import-list') end # Set the filter for networks announced from other areas def import_list=(val) prop_set('import-list', val) end # Set the filter for networks announced to other areas def export_list prop_get('export-list') end # Set the filter for networks announced to other areas def export_list=(val) prop_set('export-list', val) end # Inbound filter list def inbound_filter_list prop_get('inbound-filter-list') end # Inbound filter list def inbound_filter_list=(val) prop_set('inbound-filter-list', val) end # Outbound filter list def outbound_filter_list prop_get('outbound-filter-list') end # Outbound filter list def outbound_filter_list=(val) prop_set('outbound-filter-list', val) end end def abr @subclasses['abr'] ||= Abr.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def normal @subclasses['normal'] ||= Normal.new(parent_instance: self, client: @client, create_children: @create_children) end class Stub < ConfigClass def has_multiple_values?; false; end def _section :stub end class Abr < ConfigClass def has_multiple_values?; false; end def _section :abr end @props = {'import-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Import-list', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Set the filter for networks announced from other areas', 'multi-types'=>{'string'=>{'maxlen'=>'63'}}}, 'export-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Export-list', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Set the filter for networks announced to other areas', 'multi-types'=>{'string'=>{'maxlen'=>'63'}}}, 'inbound-filter-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Inbound Filter List', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Inbound filter list', 'multi-types'=>{'string'=>{'maxlen'=>'63'}}}, 'outbound-filter-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Outbound Filter List', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Outbound filter list', 'multi-types'=>{'string'=>{'maxlen'=>'63'}}}} # Set the filter for networks announced from other areas def import_list prop_get('import-list') end # Set the filter for networks announced from other areas def import_list=(val) prop_set('import-list', val) end # Set the filter for networks announced to other areas def export_list prop_get('export-list') end # Set the filter for networks announced to other areas def export_list=(val) prop_set('export-list', val) end # Inbound filter list def inbound_filter_list prop_get('inbound-filter-list') end # Inbound filter list def inbound_filter_list=(val) prop_set('inbound-filter-list', val) end # Outbound filter list def outbound_filter_list prop_get('outbound-filter-list') end # Outbound filter list def outbound_filter_list=(val) prop_set('outbound-filter-list', val) end end def abr @subclasses['abr'] ||= Abr.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'no-summary'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'no-summary', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'default-route-metric'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'default route metric', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'16777215', 'default'=>'0'}} def no_summary prop_get('no-summary') end def no_summary=(val) prop_set('no-summary', val) end def default_route_metric prop_get('default-route-metric') end def default_route_metric=(val) prop_set('default-route-metric', val) end end def stub @subclasses['stub'] ||= Stub.new(parent_instance: self, client: @client, create_children: @create_children) end class Nssa < ConfigClass def has_multiple_values?; false; end def _section :nssa end class DefaultInformationOriginate < ConfigClass def has_multiple_values?; false; end def _section :'default-information-originate' end @props = {'metric'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Metric', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'16777215', 'default'=>'10'}, 'metric-type'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Metric-Type', 'type'=>'enum', 'optional'=>'yes', 'default'=>'type-2', 'help-string'=>'metric type to be used when redistribute default route', 'enum'=>[{'value'=>'type-1', 'uiHint-fieldLabel'=>'E1', 'help-string'=>'metric comparable with OSPF metric'}, {'value'=>'type-2', 'uiHint-fieldLabel'=>'E2', 'help-string'=>'external route is always less preferred than OSPF routes'}]}} def metric prop_get('metric') end def metric=(val) prop_set('metric', val) end # metric type to be used when redistribute default route def metric_type prop_get('metric-type') end # metric type to be used when redistribute default route def metric_type=(val) prop_set('metric-type', val) end end def default_information_originate @subclasses['default-information-originate'] ||= DefaultInformationOriginate.new(parent_instance: self, client: @client, create_children: @create_children) end class Abr < ConfigClass def has_multiple_values?; false; end def _section :abr end class NssaExtRange < XML::ConfigClass def has_multiple_values?; true; end def _section :'nssa-ext-range' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'uiHint-fieldLabel'=>'IPv6 Prefix', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'help-string'=>'network/prefix'}, 'route-tag'=>{'node-type'=>'element', 'disabled'=>'yes', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'help-string'=>'route tag value'}, 'advertise'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Advertise', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'do summarization and advertise'}} # network/prefix def name prop_get('@name') end # route tag value def route_tag prop_get('route-tag') end # route tag value def route_tag=(val) prop_set('route-tag', val) end # do summarization and advertise def advertise prop_get('advertise') end # do summarization and advertise def advertise=(val) prop_set('advertise', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def nssa_ext_range maybe_register_subclass('nssa-ext-range', NssaExtRange.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'import-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Import-list', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Set the filter for networks announced from other areas', 'multi-types'=>{'string'=>{'maxlen'=>'63'}}}, 'export-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Export-list', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Set the filter for networks announced to other areas', 'multi-types'=>{'string'=>{'maxlen'=>'63'}}}, 'inbound-filter-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Inbound Filter List', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Inbound filter list', 'multi-types'=>{'string'=>{'maxlen'=>'63'}}}, 'outbound-filter-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Outbound Filter List', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Outbound filter list', 'multi-types'=>{'string'=>{'maxlen'=>'63'}}}} # Set the filter for networks announced from other areas def import_list prop_get('import-list') end # Set the filter for networks announced from other areas def import_list=(val) prop_set('import-list', val) end # Set the filter for networks announced to other areas def export_list prop_get('export-list') end # Set the filter for networks announced to other areas def export_list=(val) prop_set('export-list', val) end # Inbound filter list def inbound_filter_list prop_get('inbound-filter-list') end # Inbound filter list def inbound_filter_list=(val) prop_set('inbound-filter-list', val) end # Outbound filter list def outbound_filter_list prop_get('outbound-filter-list') end # Outbound filter list def outbound_filter_list=(val) prop_set('outbound-filter-list', val) end end def abr @subclasses['abr'] ||= Abr.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'no-summary'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'no-summary', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} def no_summary prop_get('no-summary') end def no_summary=(val) prop_set('no-summary', val) end end def nssa @subclasses['nssa'] ||= Nssa.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end class Range < XML::ConfigClass def has_multiple_values?; true; end def _section :range end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'uiHint-fieldLabel'=>'IPv6 Address/Netmask', 'type'=>'multiple', 'help-string'=>'network/prefix', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}}}, 'advertise'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Advertise', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'do summarization and advertise'}} # network/prefix def name prop_get('@name') end # do summarization and advertise def advertise prop_get('advertise') end # do summarization and advertise def advertise=(val) prop_set('advertise', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def range maybe_register_subclass('range', Range.new(parent_instance: self, client: @client, create_children: @create_children)) end class Interface < XML::ConfigClass def has_multiple_values?; true; end def _section :interface end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class LinkType < XML::ConfigClass def has_multiple_values?; true; end def _section :'link-type' end class Broadcast < ConfigClass def has_multiple_values?; false; end def _section :broadcast end @props = {} end def broadcast @subclasses['broadcast'] ||= Broadcast.new(parent_instance: self, client: @client, create_children: @create_children) end class P2p < ConfigClass def has_multiple_values?; false; end def _section :p2p end @props = {} end def p2p @subclasses['p2p'] ||= P2p.new(parent_instance: self, client: @client, create_children: @create_children) end class P2mp < ConfigClass def has_multiple_values?; false; end def _section :p2mp end class Neighbor < XML::ConfigClass def has_multiple_values?; true; end def _section :neighbor end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'uiHint-fieldLabel'=>'Neighbor', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'unicast-only'=>'yes'}, 'priority'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>' Priority', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'default'=>'1', 'help-string'=>'Neighbor priority'}} def name prop_get('@name') end # Neighbor priority def priority prop_get('priority') end # Neighbor priority def priority=(val) prop_set('priority', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def neighbor maybe_register_subclass('neighbor', Neighbor.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def p2mp @subclasses['p2mp'] ||= P2mp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def link_type maybe_register_subclass('link-type', LinkType.new(parent_instance: self, client: @client, create_children: @create_children)) end class Bfd < ConfigClass def has_multiple_values?; false; end def _section :bfd end @props = {'profile'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'Inherit-lr-global-setting', 'help-string'=>'BFD profile', 'optional'=>'yes', 'uiHint-fieldLabel'=>'BFD Profile', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'None', 'help-string'=>'Disable BFD'}, {'value'=>'Inherit-lr-global-setting', 'help-string'=>'Inherit Protocol\'s Global BFD Profile'}]}}} # BFD profile def profile prop_get('profile') end # BFD profile def profile=(val) prop_set('profile', val) end end def bfd @subclasses['bfd'] ||= Bfd.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'uiHint-fieldLabel'=>'Interface', 'type'=>'string', 'help-string'=>'interface name'}, 'enable'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Enable', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable OSPF in this interface'}, 'mtu-ignore'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'MTU Ignore', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Ignore mtu when try to establish adjacency'}, 'passive'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Passive', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Suppress the sending of hello packets in this interface'}, 'priority'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Priority', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255', 'default'=>'1', 'help-string'=>'Priority for OSPF designated router selection'}, 'metric'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Cost', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'10', 'help-string'=>'Cost of OSPF interface'}, 'instance-id'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'0', 'default'=>'0', 'help-string'=>'OSPFv3 instance ID'}, 'authentication'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Authentication', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes', 'maxlen'=>'63', 'help-string'=>'Authentication options'}, 'timing'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Timer Profile', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes', 'maxlen'=>'63', 'help-string'=>'Protocol timer setting'}} # interface name def name prop_get('@name') end # Enable OSPF in this interface def enable prop_get('enable') end # Enable OSPF in this interface def enable=(val) prop_set('enable', val) end # Ignore mtu when try to establish adjacency def mtu_ignore prop_get('mtu-ignore') end # Ignore mtu when try to establish adjacency def mtu_ignore=(val) prop_set('mtu-ignore', val) end # Suppress the sending of hello packets in this interface def passive prop_get('passive') end # Suppress the sending of hello packets in this interface def passive=(val) prop_set('passive', val) end # Priority for OSPF designated router selection def priority prop_get('priority') end # Priority for OSPF designated router selection def priority=(val) prop_set('priority', val) end # Cost of OSPF interface def metric prop_get('metric') end # Cost of OSPF interface def metric=(val) prop_set('metric', val) end # OSPFv3 instance ID def instance_id prop_get('instance-id') end # OSPFv3 instance ID def instance_id=(val) prop_set('instance-id', val) end # Authentication options def authentication prop_get('authentication') end # Authentication options def authentication=(val) prop_set('authentication', val) end # Protocol timer setting def timing prop_get('timing') end # Protocol timer setting def timing=(val) prop_set('timing', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def interface maybe_register_subclass('interface', Interface.new(parent_instance: self, client: @client, create_children: @create_children)) end class VirtualLink < XML::ConfigClass def has_multiple_values?; true; end def _section :'virtual-link' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'uiHint-fieldLabel'=>'Name', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'help-string'=>'virtual-link name', 'regex'=>'^[a-zA-Z0-9._-]+$'}, 'neighbor-id'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Router ID', 'type'=>'multiple', 'help-string'=>'neighbor router id for virtual link', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'transit-area-id'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Area', 'type'=>'string', 'help-string'=>'id of transit area, cannot be backbone, stub or NSSA'}, 'enable'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Enable', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable this virtual link'}, 'interface-id'=>{'node-type'=>'element', 'disabled'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2147483647', 'help-string'=>'The interface ID assigned to the OSPFv3 virtual interface.'}, 'instance-id'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'0', 'default'=>'0', 'help-string'=>'OSPFv3 instance ID'}, 'timing'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Timer Profile', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes', 'maxlen'=>'63', 'help-string'=>'Protocol timer setting'}, 'passive'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'disabled'=>'yes', 'help-string'=>'Suppress the sending of hello packets in this virtual link'}, 'authentication'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Authentication', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes', 'maxlen'=>'63', 'help-string'=>'Authentication options'}} # virtual-link name def name prop_get('@name') end # neighbor router id for virtual link def neighbor_id prop_get('neighbor-id') end # neighbor router id for virtual link def neighbor_id=(val) prop_set('neighbor-id', val) end # id of transit area, cannot be backbone, stub or NSSA def transit_area_id prop_get('transit-area-id') end # id of transit area, cannot be backbone, stub or NSSA def transit_area_id=(val) prop_set('transit-area-id', val) end # Enable this virtual link def enable prop_get('enable') end # Enable this virtual link def enable=(val) prop_set('enable', val) end # The interface ID assigned to the OSPFv3 virtual interface. def interface_id prop_get('interface-id') end # The interface ID assigned to the OSPFv3 virtual interface. def interface_id=(val) prop_set('interface-id', val) end # OSPFv3 instance ID def instance_id prop_get('instance-id') end # OSPFv3 instance ID def instance_id=(val) prop_set('instance-id', val) end # Protocol timer setting def timing prop_get('timing') end # Protocol timer setting def timing=(val) prop_set('timing', val) end # Suppress the sending of hello packets in this virtual link def passive prop_get('passive') end # Suppress the sending of hello packets in this virtual link def passive=(val) prop_set('passive', val) end # Authentication options def authentication prop_get('authentication') end # Authentication options def authentication=(val) prop_set('authentication', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def virtual_link maybe_register_subclass('virtual-link', VirtualLink.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'uiHint-fieldLabel'=>'Area ID', 'type'=>'multiple', 'help-string'=>'Area ID', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'authentication'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Authentication', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes', 'help-string'=>'Authentication profile name', 'maxlen'=>'63'}} # Area ID def name prop_get('@name') end # Authentication profile name def authentication prop_get('authentication') end # Authentication profile name def authentication=(val) prop_set('authentication', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def area maybe_register_subclass('area', Area.new(parent_instance: self, client: @client, create_children: @create_children)) end class GracefulRestart < ConfigClass def has_multiple_values?; false; end def _section :'graceful-restart' end @props = {'enable'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Enable Graceful Restart', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'grace-period'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Grace Period (sec)', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'5', 'max'=>'1800', 'default'=>'120', 'help-string'=>'maximum local restarting time (in seconds)'}, 'helper-enable'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Enable Helper Mode', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'enable/disable helping neighboring routers to graceful restart'}, 'strict-LSA-checking'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Enable Strict LSA Checking', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'enable/disable strict LSA checking. Abort GR if lsa change is detected'}, 'max-neighbor-restart-time'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Max Neighbor Restart Time (sec)', 'optional'=>'yes', 'help-string'=>'maximum of neighbor restart time accepted (in seconds)', 'type'=>'rangedint', 'min'=>'5', 'max'=>'1800', 'default'=>'140'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # maximum local restarting time (in seconds) def grace_period prop_get('grace-period') end # maximum local restarting time (in seconds) def grace_period=(val) prop_set('grace-period', val) end # enable/disable helping neighboring routers to graceful restart def helper_enable prop_get('helper-enable') end # enable/disable helping neighboring routers to graceful restart def helper_enable=(val) prop_set('helper-enable', val) end # enable/disable strict LSA checking. Abort GR if lsa change is detected def strict_LSA_checking prop_get('strict-LSA-checking') end # enable/disable strict LSA checking. Abort GR if lsa change is detected def strict_LSA_checking=(val) prop_set('strict-LSA-checking', val) end # maximum of neighbor restart time accepted (in seconds) def max_neighbor_restart_time prop_get('max-neighbor-restart-time') end # maximum of neighbor restart time accepted (in seconds) def max_neighbor_restart_time=(val) prop_set('max-neighbor-restart-time', val) end end def graceful_restart @subclasses['graceful-restart'] ||= GracefulRestart.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'router-id'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Router ID', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'router id of this OSPFv3 instance', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'disable-transit-traffic'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Disable R-Bit and v6-Bit', 'optional'=>'yes', 'help-string'=>'whether OSPFv3 should set the R- and V6-bits in its Router-LSAs', 'type'=>'bool', 'default'=>'no'}, 'spf-timer'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Global General Timer', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes', 'maxlen'=>'63', 'help-string'=>'SPF timer setting'}, 'global-if-timer'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Global Interface Timer', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes', 'maxlen'=>'63', 'help-string'=>'Global protocol timer setting'}, 'redistribution-profile'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Redistribution Profile', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes', 'maxlen'=>'63', 'help-string'=>'Redistribution profile setting'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # router id of this OSPFv3 instance def router_id prop_get('router-id') end # router id of this OSPFv3 instance def router_id=(val) prop_set('router-id', val) end # whether OSPFv3 should set the R- and V6-bits in its Router-LSAs def disable_transit_traffic prop_get('disable-transit-traffic') end # whether OSPFv3 should set the R- and V6-bits in its Router-LSAs def disable_transit_traffic=(val) prop_set('disable-transit-traffic', val) end # SPF timer setting def spf_timer prop_get('spf-timer') end # SPF timer setting def spf_timer=(val) prop_set('spf-timer', val) end # Global protocol timer setting def global_if_timer prop_get('global-if-timer') end # Global protocol timer setting def global_if_timer=(val) prop_set('global-if-timer', val) end # Redistribution profile setting def redistribution_profile prop_get('redistribution-profile') end # Redistribution profile setting def redistribution_profile=(val) prop_set('redistribution-profile', val) end end def ospfv3 @subclasses['ospfv3'] ||= Ospfv3.new(parent_instance: self, client: @client, create_children: @create_children) end class Ecmp < ConfigClass def has_multiple_values?; false; end def _section :ecmp end class Algorithm < ConfigClass def has_multiple_values?; false; end def _section :algorithm end class IpModulo < ConfigClass def has_multiple_values?; false; end def _section :'ip-modulo' end @props = {} end def ip_modulo @subclasses['ip-modulo'] ||= IpModulo.new(parent_instance: self, client: @client, create_children: @create_children) end class IpHash < ConfigClass def has_multiple_values?; false; end def _section :'ip-hash' end @props = {'src-only'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'only use source address for hash', 'uiHint-fieldLabel'=>'Use Source Address Only'}, 'use-port'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'use source/destination port for hash'}, 'hash-seed'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'default'=>'0', 'help-string'=>'User-specified hash seed'}} # only use source address for hash def src_only prop_get('src-only') end # only use source address for hash def src_only=(val) prop_set('src-only', val) end # use source/destination port for hash def use_port prop_get('use-port') end # use source/destination port for hash def use_port=(val) prop_set('use-port', val) end # User-specified hash seed def hash_seed prop_get('hash-seed') end # User-specified hash seed def hash_seed=(val) prop_set('hash-seed', val) end end def ip_hash @subclasses['ip-hash'] ||= IpHash.new(parent_instance: self, client: @client, create_children: @create_children) end class WeightedRoundRobin < ConfigClass def has_multiple_values?; false; end def _section :'weighted-round-robin' end class Interface < XML::ConfigClass def has_multiple_values?; true; end def _section :interface end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'interface name'}, 'weight'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'default'=>'100', 'help-string'=>'interface ECMP weight'}} # interface name def name prop_get('@name') end # interface ECMP weight def weight prop_get('weight') end # interface ECMP weight def weight=(val) prop_set('weight', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def interface maybe_register_subclass('interface', Interface.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def weighted_round_robin @subclasses['weighted-round-robin'] ||= WeightedRoundRobin.new(parent_instance: self, client: @client, create_children: @create_children) end class BalancedRoundRobin < ConfigClass def has_multiple_values?; false; end def _section :'balanced-round-robin' end @props = {} end def balanced_round_robin @subclasses['balanced-round-robin'] ||= BalancedRoundRobin.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def algorithm @subclasses['algorithm'] ||= Algorithm.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable Equal Cost Multipath routing, change this configuration will result in a virtual router restart'}, 'max-path'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'2', 'max'=>'4', 'default'=>'2', 'help-string'=>'Maxmum number of ECMP paths supported, change this configuration will result in a virtual router restart'}, 'symmetric-return'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'allows return packets to egress out of the ingress interface of the flow'}, 'strict-source-path'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'force VPN traffic to exit interface that the source-ip belongs to'}} # enable Equal Cost Multipath routing, change this configuration will result in a virtual router restart def enable prop_get('enable') end # enable Equal Cost Multipath routing, change this configuration will result in a virtual router restart def enable=(val) prop_set('enable', val) end # Maxmum number of ECMP paths supported, change this configuration will result in a virtual router restart def max_path prop_get('max-path') end # Maxmum number of ECMP paths supported, change this configuration will result in a virtual router restart def max_path=(val) prop_set('max-path', val) end # allows return packets to egress out of the ingress interface of the flow def symmetric_return prop_get('symmetric-return') end # allows return packets to egress out of the ingress interface of the flow def symmetric_return=(val) prop_set('symmetric-return', val) end # force VPN traffic to exit interface that the source-ip belongs to def strict_source_path prop_get('strict-source-path') end # force VPN traffic to exit interface that the source-ip belongs to def strict_source_path=(val) prop_set('strict-source-path', val) end end def ecmp @subclasses['ecmp'] ||= Ecmp.new(parent_instance: self, client: @client, create_children: @create_children) end class Multicast < ConfigClass def has_multiple_values?; false; end def _section :multicast end class StaticRoute < XML::ConfigClass def has_multiple_values?; true; end def _section :'static-route' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Nexthop < ConfigClass def has_multiple_values?; false; end def _section :nexthop end @props = {'ip-address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Next hop IP address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'ipv4-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # Next hop IP address def ip_address prop_get('ip-address') end # Next hop IP address def ip_address=(val) prop_set('ip-address', val) end end def nexthop @subclasses['nexthop'] ||= Nexthop.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [0-9a-zA-Z._-]', 'regex'=>'^[a-zA-Z0-9._-]+$'}, 'destination'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Destination IP address/prefix', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes', 'ipv4-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'interface'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string'}, 'preference'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'help-string'=>'administrative distance'}} # alphanumeric string [0-9a-zA-Z._-] def name prop_get('@name') end # Destination IP address/prefix def destination prop_get('destination') end # Destination IP address/prefix def destination=(val) prop_set('destination', val) end def interface prop_get('interface') end def interface=(val) prop_set('interface', val) end # administrative distance def preference prop_get('preference') end # administrative distance def preference=(val) prop_set('preference', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def static_route maybe_register_subclass('static-route', StaticRoute.new(parent_instance: self, client: @client, create_children: @create_children)) end class Pim < ConfigClass def has_multiple_values?; false; end def _section :pim end class SsmAddressSpace < ConfigClass def has_multiple_values?; false; end def _section :'ssm-address-space' end @props = {'group-list'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'None', 'help-string'=>'SSM Group Prefix List', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'None', 'help-string'=>'no prefix list'}]}}} # SSM Group Prefix List def group_list prop_get('group-list') end # SSM Group Prefix List def group_list=(val) prop_set('group-list', val) end end def ssm_address_space @subclasses['ssm-address-space'] ||= SsmAddressSpace.new(parent_instance: self, client: @client, create_children: @create_children) end class SptThreshold < XML::ConfigClass def has_multiple_values?; true; end def _section :'spt-threshold' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{'multicast-only'=>'yes', 'ipv4-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'threshold'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'0', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'4294967295', 'help-string'=>'data rate (kbps) at which a SPT switch is triggered'}, 'enum'=>[{'value'=>'never', 'help-string'=>'do not switch to spt'}, {'value'=>'0', 'help-string'=>'switch on first data packet'}]}}} def name prop_get('@name') end def threshold prop_get('threshold') end def threshold=(val) prop_set('threshold', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def spt_threshold maybe_register_subclass('spt-threshold', SptThreshold.new(parent_instance: self, client: @client, create_children: @create_children)) end class Interface < XML::ConfigClass def has_multiple_values?; true; end def _section :interface end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'interface name'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023', 'regex'=>'^[ a-zA-Z0-9._-]+$'}, 'dr-priority'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'default'=>'1', 'help-string'=>'Designated Router priority'}, 'send-bsm'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Send BSM'}, 'if-timer'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes', 'maxlen'=>'63', 'help-string'=>'Interface Timer Profile'}, 'neighbor-filter'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'None', 'help-string'=>'Set the filter for neighbor list', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'None', 'help-string'=>'no prefix list'}]}}} # interface name def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end # Designated Router priority def dr_priority prop_get('dr-priority') end # Designated Router priority def dr_priority=(val) prop_set('dr-priority', val) end # Send BSM def send_bsm prop_get('send-bsm') end # Send BSM def send_bsm=(val) prop_set('send-bsm', val) end # Interface Timer Profile def if_timer prop_get('if-timer') end # Interface Timer Profile def if_timer=(val) prop_set('if-timer', val) end # Set the filter for neighbor list def neighbor_filter prop_get('neighbor-filter') end # Set the filter for neighbor list def neighbor_filter=(val) prop_set('neighbor-filter', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def interface maybe_register_subclass('interface', Interface.new(parent_instance: self, client: @client, create_children: @create_children)) end class Rp < ConfigClass def has_multiple_values?; false; end def _section :rp end class LocalRp < ConfigClass def has_multiple_values?; false; end def _section :'local-rp' end class StaticRp < ConfigClass def has_multiple_values?; false; end def _section :'static-rp' end @props = {'interface'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'local RP interface'}, 'address'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'local RP address'}, 'override'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Override learned RP for the same group'}, 'group-list'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'None', 'help-string'=>'Group Access List', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'None', 'help-string'=>'no access list'}]}}} # local RP interface def interface prop_get('interface') end # local RP interface def interface=(val) prop_set('interface', val) end # local RP address def address prop_get('address') end # local RP address def address=(val) prop_set('address', val) end # Override learned RP for the same group def override prop_get('override') end # Override learned RP for the same group def override=(val) prop_set('override', val) end # Group Access List def group_list prop_get('group-list') end # Group Access List def group_list=(val) prop_set('group-list', val) end end def static_rp @subclasses['static-rp'] ||= StaticRp.new(parent_instance: self, client: @client, create_children: @create_children) end class CandidateRp < ConfigClass def has_multiple_values?; false; end def _section :'candidate-rp' end @props = {'interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'candidate RP interface'}, 'address'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'candidate RP address'}, 'priority'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255', 'default'=>'192', 'help-string'=>'The priority for this candidate rt'}, 'advertisement-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'26214', 'default'=>'60', 'help-string'=>'The time interval in seconds between candidate rp advertisements'}, 'group-list'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'None', 'help-string'=>'Group Access List', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'None', 'help-string'=>'no access list'}]}}} # candidate RP interface def interface prop_get('interface') end # candidate RP interface def interface=(val) prop_set('interface', val) end # candidate RP address def address prop_get('address') end # candidate RP address def address=(val) prop_set('address', val) end # The priority for this candidate rt def priority prop_get('priority') end # The priority for this candidate rt def priority=(val) prop_set('priority', val) end # The time interval in seconds between candidate rp advertisements def advertisement_interval prop_get('advertisement-interval') end # The time interval in seconds between candidate rp advertisements def advertisement_interval=(val) prop_set('advertisement-interval', val) end # Group Access List def group_list prop_get('group-list') end # Group Access List def group_list=(val) prop_set('group-list', val) end end def candidate_rp @subclasses['candidate-rp'] ||= CandidateRp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def local_rp @subclasses['local-rp'] ||= LocalRp.new(parent_instance: self, client: @client, create_children: @create_children) end class ExternalRp < XML::ConfigClass def has_multiple_values?; true; end def _section :'external-rp' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'multiple', 'help-string'=>'RP address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'ipv4-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'group-list'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'None', 'help-string'=>'Group Access List', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'None', 'help-string'=>'no access list'}]}}, 'override'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Override learned RP for the same group'}} # RP address def name prop_get('@name') end # Group Access List def group_list prop_get('group-list') end # Group Access List def group_list=(val) prop_set('group-list', val) end # Override learned RP for the same group def override prop_get('override') end # Override learned RP for the same group def override=(val) prop_set('override', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def external_rp maybe_register_subclass('external-rp', ExternalRp.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def rp @subclasses['rp'] ||= Rp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'rpf-lookup-mode'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'mrib-then-urib', 'help-string'=>'RPF Lookup Preference', 'enum'=>[{'value'=>'mrib-then-urib', 'help-string'=>'Multicast RIB, then Unicast RIB'}, {'value'=>'mrib-only', 'help-string'=>'Multicast RIB only'}, {'value'=>'urib-only', 'help-string'=>'Unicast RIB only'}]}, 'route-ageout-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'210', 'min'=>'210', 'max'=>'7200', 'help-string'=>'time to wait before aging out a multicast route after data stops, in seconds'}, 'if-timer-global'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes', 'help-string'=>'Global Interface Timer Profile'}, 'group-permission'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'ASM/SSM group permission', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'None', 'help-string'=>'no access list'}]}}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # RPF Lookup Preference def rpf_lookup_mode prop_get('rpf-lookup-mode') end # RPF Lookup Preference def rpf_lookup_mode=(val) prop_set('rpf-lookup-mode', val) end # time to wait before aging out a multicast route after data stops, in seconds def route_ageout_time prop_get('route-ageout-time') end # time to wait before aging out a multicast route after data stops, in seconds def route_ageout_time=(val) prop_set('route-ageout-time', val) end # Global Interface Timer Profile def if_timer_global prop_get('if-timer-global') end # Global Interface Timer Profile def if_timer_global=(val) prop_set('if-timer-global', val) end # ASM/SSM group permission def group_permission prop_get('group-permission') end # ASM/SSM group permission def group_permission=(val) prop_set('group-permission', val) end end def pim @subclasses['pim'] ||= Pim.new(parent_instance: self, client: @client, create_children: @create_children) end class Igmp < ConfigClass def has_multiple_values?; false; end def _section :igmp end class Dynamic < ConfigClass def has_multiple_values?; false; end def _section :dynamic end class Interface < XML::ConfigClass def has_multiple_values?; true; end def _section :interface end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'interface name'}, 'version'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'3', 'help-string'=>'IGMP version number', 'enum'=>[{'value'=>'2'}, {'value'=>'3'}]}, 'robustness'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'2', 'help-string'=>'robustness variable', 'enum'=>[{'value'=>'1'}, {'value'=>'2'}, {'value'=>'3'}, {'value'=>'4'}, {'value'=>'5'}, {'value'=>'6'}, {'value'=>'7'}]}, 'group-filter'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'None', 'help-string'=>'ASM/SSM Group Access List', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'None', 'help-string'=>'no access list'}]}}, 'max-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unlimited', 'help-string'=>'maximum number of groups allowed on this interface', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'65535'}, 'enum'=>[{'value'=>'unlimited'}]}}, 'max-sources'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unlimited', 'help-string'=>'maximum number of source-specific memberships allowed on this interface', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'65535'}, 'enum'=>[{'value'=>'unlimited'}]}}, 'query-profile'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes', 'maxlen'=>'63', 'help-string'=>'IGMP Query Timer Profile'}, 'router-alert-policing'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'drop IGMP packets without Router Alert option'}} # interface name def name prop_get('@name') end # IGMP version number def version prop_get('version') end # IGMP version number def version=(val) prop_set('version', val) end # robustness variable def robustness prop_get('robustness') end # robustness variable def robustness=(val) prop_set('robustness', val) end # ASM/SSM Group Access List def group_filter prop_get('group-filter') end # ASM/SSM Group Access List def group_filter=(val) prop_set('group-filter', val) end # maximum number of groups allowed on this interface def max_groups prop_get('max-groups') end # maximum number of groups allowed on this interface def max_groups=(val) prop_set('max-groups', val) end # maximum number of source-specific memberships allowed on this interface def max_sources prop_get('max-sources') end # maximum number of source-specific memberships allowed on this interface def max_sources=(val) prop_set('max-sources', val) end # IGMP Query Timer Profile def query_profile prop_get('query-profile') end # IGMP Query Timer Profile def query_profile=(val) prop_set('query-profile', val) end # drop IGMP packets without Router Alert option def router_alert_policing prop_get('router-alert-policing') end # drop IGMP packets without Router Alert option def router_alert_policing=(val) prop_set('router-alert-policing', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def interface maybe_register_subclass('interface', Interface.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def dynamic @subclasses['dynamic'] ||= Dynamic.new(parent_instance: self, client: @client, create_children: @create_children) end class Static < XML::ConfigClass def has_multiple_values?; true; end def _section :static end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [0-9a-zA-Z._-]', 'regex'=>'^[a-zA-Z0-9._-]+$'}, 'interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'multicast interfaces'}, 'group-address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'group-address/prefix', 'multi-types'=>{'ipspec'=>{'multicast-only'=>'yes', 'ipv4-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'source-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'ipv4-only'=>'yes', 'unicast-only'=>'yes', 'disallow-zero-addr'=>'yes', 'help-string'=>'source-address'}} # alphanumeric string [0-9a-zA-Z._-] def name prop_get('@name') end # multicast interfaces def interface prop_get('interface') end # multicast interfaces def interface=(val) prop_set('interface', val) end # group-address/prefix def group_address prop_get('group-address') end # group-address/prefix def group_address=(val) prop_set('group-address', val) end # source-address def source_address prop_get('source-address') end # source-address def source_address=(val) prop_set('source-address', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def static maybe_register_subclass('static', Static.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'enable IGMP'}} # enable IGMP def enable prop_get('enable') end # enable IGMP def enable=(val) prop_set('enable', val) end end def igmp @subclasses['igmp'] ||= Igmp.new(parent_instance: self, client: @client, create_children: @create_children) end class Msdp < ConfigClass def has_multiple_values?; false; end def _section :msdp end class OriginatorId < ConfigClass def has_multiple_values?; false; end def _section :'originator-id' end @props = {'interface'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'interface of originator'}, 'ip'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'50', 'help-string'=>'specify exact IP address if interface has multiple addresses'}} # interface of originator def interface prop_get('interface') end # interface of originator def interface=(val) prop_set('interface', val) end # specify exact IP address if interface has multiple addresses def ip prop_get('ip') end # specify exact IP address if interface has multiple addresses def ip=(val) prop_set('ip', val) end end def originator_id @subclasses['originator-id'] ||= OriginatorId.new(parent_instance: self, client: @client, create_children: @create_children) end class Peer < XML::ConfigClass def has_multiple_values?; true; end def _section :peer end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class LocalAddress < ConfigClass def has_multiple_values?; false; end def _section :'local-address' end @props = {'interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'interface to accept MSDP connection'}, 'ip'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'50', 'help-string'=>'specify exact IP address if interface has multiple addresses'}} # interface to accept MSDP connection def interface prop_get('interface') end # interface to accept MSDP connection def interface=(val) prop_set('interface', val) end # specify exact IP address if interface has multiple addresses def ip prop_get('ip') end # specify exact IP address if interface has multiple addresses def ip=(val) prop_set('ip', val) end end def local_address @subclasses['local-address'] ||= LocalAddress.new(parent_instance: self, client: @client, create_children: @create_children) end class PeerAddress < ConfigClass def has_multiple_values?; false; end def _section :'peer-address' end @props = {'ip'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'peer address configuration', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'fqdn'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'regex'=>'^([a-zA-Z0-9._-])+$', 'help-string'=>'Peer FQDN Address Object'}} # peer address configuration def ip prop_get('ip') end # peer address configuration def ip=(val) prop_set('ip', val) end # Peer FQDN Address Object def fqdn prop_get('fqdn') end # Peer FQDN Address Object def fqdn=(val) prop_set('fqdn', val) end end def peer_address @subclasses['peer-address'] ||= PeerAddress.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63'}, 'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'peer-as'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'peer AS number', 'multi-types'=>{'string'=>{'maxlen'=>'63', 'loose-membership'=>'yes'}, 'rangedint'=>{'min'=>'1', 'max'=>'4294967295'}}}, 'authentication'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Authentication options', 'default'=>'inherit', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'inherit', 'help-string'=>'Inherit from global authentication'}, {'value'=>'none', 'help-string'=>'Disable authentication'}]}}, 'max-sa'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'help-string'=>'Maximum number of SA', 'min'=>'0', 'max'=>'1024', 'default'=>'0'}, 'inbound-sa-filter'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'Inbound SA Filter'}, 'outbound-sa-filter'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'Outbound SA Filter'}} def name prop_get('@name') end def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # peer AS number def peer_as prop_get('peer-as') end # peer AS number def peer_as=(val) prop_set('peer-as', val) end # Authentication options def authentication prop_get('authentication') end # Authentication options def authentication=(val) prop_set('authentication', val) end # Maximum number of SA def max_sa prop_get('max-sa') end # Maximum number of SA def max_sa=(val) prop_set('max-sa', val) end # Inbound SA Filter def inbound_sa_filter prop_get('inbound-sa-filter') end # Inbound SA Filter def inbound_sa_filter=(val) prop_set('inbound-sa-filter', val) end # Outbound SA Filter def outbound_sa_filter prop_get('outbound-sa-filter') end # Outbound SA Filter def outbound_sa_filter=(val) prop_set('outbound-sa-filter', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def peer maybe_register_subclass('peer', Peer.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'global-timer'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'Global timer profile', 'uiHint-fieldLabel'=>'MSDP Global Timer', 'maxlen'=>'63'}, 'global-authentication'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'Global authentication profile', 'uiHint-fieldLabel'=>'MSDP Global Authentication', 'maxlen'=>'63'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Global timer profile def global_timer prop_get('global-timer') end # Global timer profile def global_timer=(val) prop_set('global-timer', val) end # Global authentication profile def global_authentication prop_get('global-authentication') end # Global authentication profile def global_authentication=(val) prop_set('global-authentication', val) end end def msdp @subclasses['msdp'] ||= Msdp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable multicast protocol'}} # enable multicast protocol def enable prop_get('enable') end # enable multicast protocol def enable=(val) prop_set('enable', val) end end def multicast @subclasses['multicast'] ||= Multicast.new(parent_instance: self, client: @client, create_children: @create_children) end class Rip < ConfigClass def has_multiple_values?; false; end def _section :rip end class GlobalBfd < ConfigClass def has_multiple_values?; false; end def _section :'global-bfd' end @props = {'profile'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'None', 'help-string'=>'BFD profile', 'optional'=>'yes', 'uiHint-fieldLabel'=>'BFD Profile', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'None', 'help-string'=>'Disable BFD'}]}}} # BFD profile def profile prop_get('profile') end # BFD profile def profile=(val) prop_set('profile', val) end end def global_bfd @subclasses['global-bfd'] ||= GlobalBfd.new(parent_instance: self, client: @client, create_children: @create_children) end class GlobalInboundDistributeList < ConfigClass def has_multiple_values?; false; end def _section :'global-inbound-distribute-list' end @props = {'access-list'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'access-list name from filter'}} # access-list name from filter def access_list prop_get('access-list') end # access-list name from filter def access_list=(val) prop_set('access-list', val) end end def global_inbound_distribute_list @subclasses['global-inbound-distribute-list'] ||= GlobalInboundDistributeList.new(parent_instance: self, client: @client, create_children: @create_children) end class GlobalOutboundDistributeList < ConfigClass def has_multiple_values?; false; end def _section :'global-outbound-distribute-list' end @props = {'access-list'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'access-list name from filter'}} # access-list name from filter def access_list prop_get('access-list') end # access-list name from filter def access_list=(val) prop_set('access-list', val) end end def global_outbound_distribute_list @subclasses['global-outbound-distribute-list'] ||= GlobalOutboundDistributeList.new(parent_instance: self, client: @client, create_children: @create_children) end class Interface < XML::ConfigClass def has_multiple_values?; true; end def _section :interface end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Bfd < ConfigClass def has_multiple_values?; false; end def _section :bfd end @props = {'profile'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'Inherit-lr-global-setting', 'help-string'=>'BFD profile', 'optional'=>'yes', 'uiHint-fieldLabel'=>'BFD Profile', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'None', 'help-string'=>'Disable BFD'}, {'value'=>'Inherit-lr-global-setting', 'help-string'=>'Inherit Protocol\'s Global BFD Profile'}]}}} # BFD profile def profile prop_get('profile') end # BFD profile def profile=(val) prop_set('profile', val) end end def bfd @subclasses['bfd'] ||= Bfd.new(parent_instance: self, client: @client, create_children: @create_children) end class InterfaceInboundDistributeList < ConfigClass def has_multiple_values?; false; end def _section :'interface-inbound-distribute-list' end @props = {'access-list'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'access-list name from filter'}, 'metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'16', 'help-string'=>'metric value'}} # access-list name from filter def access_list prop_get('access-list') end # access-list name from filter def access_list=(val) prop_set('access-list', val) end # metric value def metric prop_get('metric') end # metric value def metric=(val) prop_set('metric', val) end end def interface_inbound_distribute_list @subclasses['interface-inbound-distribute-list'] ||= InterfaceInboundDistributeList.new(parent_instance: self, client: @client, create_children: @create_children) end class InterfaceOutboundDistributeList < ConfigClass def has_multiple_values?; false; end def _section :'interface-outbound-distribute-list' end @props = {'access-list'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'access-list name from filter'}, 'metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'16', 'help-string'=>'metric value'}} # access-list name from filter def access_list prop_get('access-list') end # access-list name from filter def access_list=(val) prop_set('access-list', val) end # metric value def metric prop_get('metric') end # metric value def metric=(val) prop_set('metric', val) end end def interface_outbound_distribute_list @subclasses['interface-outbound-distribute-list'] ||= InterfaceOutboundDistributeList.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'interface name'}, 'enable'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Enable', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable RIP on this interface'}, 'mode'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'active', 'enum'=>[{'value'=>'active', 'help-string'=>'send and receive'}, {'value'=>'passive', 'help-string'=>'receive only'}, {'value'=>'send-only', 'help-string'=>'send only, do not receive RIP updates'}]}, 'split-horizon'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'split-horizon', 'help-string'=>'Split horizon options', 'enum'=>[{'value'=>'split-horizon', 'help-string'=>'split horizon enabled'}, {'value'=>'no-split-horizon', 'help-string'=>'split horizon disabled'}, {'value'=>'no-split-horizon-with-poison-reverse', 'help-string'=>'split horizon with poison reverse'}]}, 'authentication'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes', 'help-string'=>'Authentication options', 'maxlen'=>'63'}} # interface name def name prop_get('@name') end # Enable RIP on this interface def enable prop_get('enable') end # Enable RIP on this interface def enable=(val) prop_set('enable', val) end def mode prop_get('mode') end def mode=(val) prop_set('mode', val) end # Split horizon options def split_horizon prop_get('split-horizon') end # Split horizon options def split_horizon=(val) prop_set('split-horizon', val) end # Authentication options def authentication prop_get('authentication') end # Authentication options def authentication=(val) prop_set('authentication', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def interface maybe_register_subclass('interface', Interface.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'default-information-originate'=>{'node-type'=>'element', 'optional'=>'yes', 'help-string'=>'advertise default route in RIP', 'type'=>'bool', 'default'=>'no'}, 'global-timer'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Global General Timer', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes', 'maxlen'=>'63', 'help-string'=>'timer setting'}, 'auth-profile'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Auth Profile', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes', 'maxlen'=>'63', 'help-string'=>'Authentication profile setting'}, 'redistribution-profile'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Redistribution Profile', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes', 'maxlen'=>'63', 'help-string'=>'Redistribution profile setting'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # advertise default route in RIP def default_information_originate prop_get('default-information-originate') end # advertise default route in RIP def default_information_originate=(val) prop_set('default-information-originate', val) end # timer setting def global_timer prop_get('global-timer') end # timer setting def global_timer=(val) prop_set('global-timer', val) end # Authentication profile setting def auth_profile prop_get('auth-profile') end # Authentication profile setting def auth_profile=(val) prop_set('auth-profile', val) end # Redistribution profile setting def redistribution_profile prop_get('redistribution-profile') end # Redistribution profile setting def redistribution_profile=(val) prop_set('redistribution-profile', val) end end def rip @subclasses['rip'] ||= Rip.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'multiple', 'subtype'=>'object-name', 'help-string'=>'VRF Name', 'regex'=>'^[a-zA-Z0-9._-]+$', 'maxlen'=>'31', 'multi-types'=>{'enum'=>[{'value'=>'default', 'help-string'=>'Default VRF'}]}}} # VRF Name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vrf maybe_register_subclass('vrf', Vrf.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]', 'regex'=>'^[a-zA-Z0-9._-]+$'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def logical_router maybe_register_subclass('logical-router', LogicalRouter.new(parent_instance: self, client: @client, create_children: @create_children)) end class RoutingProfile < ConfigClass def has_multiple_values?; false; end def _section :'routing-profile' end class Bgp < ConfigClass def has_multiple_values?; false; end def _section :bgp end class AuthProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'auth-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'regex'=>'^[a-zA-Z0-9._-]+$'}, 'secret'=>{'node-type'=>'element', 'optional'=>'yes', 'encrypt'=>'yes', 'skip-commit-validation'=>'yes', 'type'=>'string', 'regex'=>'^([a-zA-Z0-9!@#%^_-])+$', 'ui-hint'=>'regexText:"Only alphanumeric and !@#%^_- are allowed to use"', 'maxlen'=>'63', 'help-string'=>'shared secret for the TCP MD5 authentication, [a-zA-Z0-9!@#%^_-]'}} def name prop_get('@name') end # shared secret for the TCP MD5 authentication, [a-zA-Z0-9!@#%^_-] def secret prop_get('secret') end # shared secret for the TCP MD5 authentication, [a-zA-Z0-9!@#%^_-] def secret=(val) prop_set('secret', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def auth_profile maybe_register_subclass('auth-profile', AuthProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class TimerProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'timer-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'help-string'=>'Timer Profile Name', 'regex'=>'^[a-zA-Z0-9._-]+$'}, 'keep-alive-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'30', 'help-string'=>'keep-alive interval Default:30 (in seconds) ', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'1200', 'default'=>'30'}}}, 'hold-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'90', 'help-string'=>'hold time Default:90 (in seconds)', 'multi-types'=>{'rangedint'=>{'min'=>'3', 'max'=>'3600', 'default'=>'90'}}}, 'reconnect-retry-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'15', 'help-string'=>'Wait in the connect state before retrying connection to the peer Default:15 (in seconds)'}, 'open-delay-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'240', 'default'=>'0', 'help-string'=>'Delay time after peer TCP connection up and sending 1st BGP Open Message Default:0 (in seconds)'}, 'min-route-adv-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'600', 'default'=>'30', 'help-string'=>'Minimum Route Advertisement Interval Default:30 (in seconds)'}} # Timer Profile Name def name prop_get('@name') end # keep-alive interval Default:30 (in seconds) def keep_alive_interval prop_get('keep-alive-interval') end # keep-alive interval Default:30 (in seconds) def keep_alive_interval=(val) prop_set('keep-alive-interval', val) end # hold time Default:90 (in seconds) def hold_time prop_get('hold-time') end # hold time Default:90 (in seconds) def hold_time=(val) prop_set('hold-time', val) end # Wait in the connect state before retrying connection to the peer Default:15 (in seconds) def reconnect_retry_interval prop_get('reconnect-retry-interval') end # Wait in the connect state before retrying connection to the peer Default:15 (in seconds) def reconnect_retry_interval=(val) prop_set('reconnect-retry-interval', val) end # Delay time after peer TCP connection up and sending 1st BGP Open Message Default:0 (in seconds) def open_delay_time prop_get('open-delay-time') end # Delay time after peer TCP connection up and sending 1st BGP Open Message Default:0 (in seconds) def open_delay_time=(val) prop_set('open-delay-time', val) end # Minimum Route Advertisement Interval Default:30 (in seconds) def min_route_adv_interval prop_get('min-route-adv-interval') end # Minimum Route Advertisement Interval Default:30 (in seconds) def min_route_adv_interval=(val) prop_set('min-route-adv-interval', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def timer_profile maybe_register_subclass('timer-profile', TimerProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class AddressFamilyProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'address-family-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Ipv4 < ConfigClass def has_multiple_values?; false; end def _section :ipv4 end class Unicast < ConfigClass def has_multiple_values?; false; end def _section :unicast end class AddPath < ConfigClass def has_multiple_values?; false; end def _section :'add-path' end @props = {'tx-all-paths'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Advertise all paths to peer'}, 'tx-bestpath-per-AS'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Advertise the bestpath per each neighboring AS'}} # Advertise all paths to peer def tx_all_paths prop_get('tx-all-paths') end # Advertise all paths to peer def tx_all_paths=(val) prop_set('tx-all-paths', val) end # Advertise the bestpath per each neighboring AS def tx_bestpath_per_AS prop_get('tx-bestpath-per-AS') end # Advertise the bestpath per each neighboring AS def tx_bestpath_per_AS=(val) prop_set('tx-bestpath-per-AS', val) end end def add_path @subclasses['add-path'] ||= AddPath.new(parent_instance: self, client: @client, create_children: @create_children) end class AllowasIn < ConfigClass def has_multiple_values?; false; end def _section :'allowas-in' end class Origin < ConfigClass def has_multiple_values?; false; end def _section :origin end @props = {} end def origin @subclasses['origin'] ||= Origin.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'occurrence'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'10', 'default'=>'1', 'help-string'=>'Number of occurrences of AS number'}} # Number of occurrences of AS number def occurrence prop_get('occurrence') end # Number of occurrences of AS number def occurrence=(val) prop_set('occurrence', val) end end def allowas_in @subclasses['allowas-in'] ||= AllowasIn.new(parent_instance: self, client: @client, create_children: @create_children) end class MaximumPrefix < ConfigClass def has_multiple_values?; false; end def _section :'maximum-prefix' end class Action < ConfigClass def has_multiple_values?; false; end def _section :action end class WarningOnly < ConfigClass def has_multiple_values?; false; end def _section :'warning-only' end @props = {} end def warning_only @subclasses['warning-only'] ||= WarningOnly.new(parent_instance: self, client: @client, create_children: @create_children) end class Restart < ConfigClass def has_multiple_values?; false; end def _section :restart end @props = {'interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'1', 'help-string'=>'Restart interval in minutes'}} # Restart interval in minutes def interval prop_get('interval') end # Restart interval in minutes def interval=(val) prop_set('interval', val) end end def restart @subclasses['restart'] ||= Restart.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def action @subclasses['action'] ||= Action.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'num_prefixes'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'default'=>'1000', 'help-string'=>'Max allowed prefixes from this peer', 'uiHint-fieldLabel'=>'Number Prefixes'}, 'threshold'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'100', 'default'=>'100', 'help-string'=>'Threshold value (%) at which to generate a warning msg', 'uiHint-fieldLabel'=>'Threshold'}} # Max allowed prefixes from this peer def num_prefixes prop_get('num_prefixes') end # Max allowed prefixes from this peer def num_prefixes=(val) prop_set('num_prefixes', val) end # Threshold value (%) at which to generate a warning msg def threshold prop_get('threshold') end # Threshold value (%) at which to generate a warning msg def threshold=(val) prop_set('threshold', val) end end def maximum_prefix @subclasses['maximum-prefix'] ||= MaximumPrefix.new(parent_instance: self, client: @client, create_children: @create_children) end class NextHop < ConfigClass def has_multiple_values?; false; end def _section :'next-hop' end class Self < ConfigClass def has_multiple_values?; false; end def _section :self end @props = {} end def self @subclasses['self'] ||= Self.new(parent_instance: self, client: @client, create_children: @create_children) end class SelfForce < ConfigClass def has_multiple_values?; false; end def _section :'self-force' end @props = {} end def self_force @subclasses['self-force'] ||= SelfForce.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def next_hop @subclasses['next-hop'] ||= NextHop.new(parent_instance: self, client: @client, create_children: @create_children) end class RemovePrivateAS < ConfigClass def has_multiple_values?; false; end def _section :'remove-private-AS' end class All < ConfigClass def has_multiple_values?; false; end def _section :all end @props = {} end def all @subclasses['all'] ||= All.new(parent_instance: self, client: @client, create_children: @create_children) end class ReplaceAS < ConfigClass def has_multiple_values?; false; end def _section :'replace-AS' end @props = {} end def replace_AS @subclasses['replace-AS'] ||= ReplaceAS.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def remove_private_AS @subclasses['remove-private-AS'] ||= RemovePrivateAS.new(parent_instance: self, client: @client, create_children: @create_children) end class SendCommunity < ConfigClass def has_multiple_values?; false; end def _section :'send-community' end class All < ConfigClass def has_multiple_values?; false; end def _section :all end @props = {} end def all @subclasses['all'] ||= All.new(parent_instance: self, client: @client, create_children: @create_children) end class Both < ConfigClass def has_multiple_values?; false; end def _section :both end @props = {} end def both @subclasses['both'] ||= Both.new(parent_instance: self, client: @client, create_children: @create_children) end class Extended < ConfigClass def has_multiple_values?; false; end def _section :extended end @props = {} end def extended @subclasses['extended'] ||= Extended.new(parent_instance: self, client: @client, create_children: @create_children) end class Large < ConfigClass def has_multiple_values?; false; end def _section :large end @props = {} end def large @subclasses['large'] ||= Large.new(parent_instance: self, client: @client, create_children: @create_children) end class Standard < ConfigClass def has_multiple_values?; false; end def _section :standard end @props = {} end def standard @subclasses['standard'] ||= Standard.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def send_community @subclasses['send-community'] ||= SendCommunity.new(parent_instance: self, client: @client, create_children: @create_children) end class Orf < ConfigClass def has_multiple_values?; false; end def _section :orf end @props = {'orf-prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'ORF List', 'type'=>'enum', 'default'=>'none', 'optional'=>'yes', 'help-string'=>'Advertise Prefix-List ORF Capability', 'enum'=>[{'name'=>'None', 'value'=>'none'}, {'name'=>'both', 'value'=>'both', 'help-string'=>'Capability to Send and Receive ORF'}, {'name'=>'receive', 'value'=>'receive', 'help-string'=>'Capability to Receive ORF'}, {'name'=>'send', 'value'=>'send', 'help-string'=>'Capability to Send ORF'}]}} # Advertise Prefix-List ORF Capability def orf_prefix_list prop_get('orf-prefix-list') end # Advertise Prefix-List ORF Capability def orf_prefix_list=(val) prop_set('orf-prefix-list', val) end end def orf @subclasses['orf'] ||= Orf.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Enable'}, 'soft-reconfig-with-stored-info'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Soft reconfiguration of peer with stored routes'}, 'as-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Override ASNs in outbound updates if AS-Path equals Remote-AS'}, 'default-originate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Originate Default Route'}, 'route-reflector-client'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Route Reflector Client'}, 'default-originate-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Default Originate Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Route-Map used in Default Originate Configuration'}} # Enable def enable prop_get('enable') end # Enable def enable=(val) prop_set('enable', val) end # Soft reconfiguration of peer with stored routes def soft_reconfig_with_stored_info prop_get('soft-reconfig-with-stored-info') end # Soft reconfiguration of peer with stored routes def soft_reconfig_with_stored_info=(val) prop_set('soft-reconfig-with-stored-info', val) end # Override ASNs in outbound updates if AS-Path equals Remote-AS def as_override prop_get('as-override') end # Override ASNs in outbound updates if AS-Path equals Remote-AS def as_override=(val) prop_set('as-override', val) end # Originate Default Route def default_originate prop_get('default-originate') end # Originate Default Route def default_originate=(val) prop_set('default-originate', val) end # Route Reflector Client def route_reflector_client prop_get('route-reflector-client') end # Route Reflector Client def route_reflector_client=(val) prop_set('route-reflector-client', val) end # Route-Map used in Default Originate Configuration def default_originate_map prop_get('default-originate-map') end # Route-Map used in Default Originate Configuration def default_originate_map=(val) prop_set('default-originate-map', val) end end def unicast @subclasses['unicast'] ||= Unicast.new(parent_instance: self, client: @client, create_children: @create_children) end class Multicast < ConfigClass def has_multiple_values?; false; end def _section :multicast end class AddPath < ConfigClass def has_multiple_values?; false; end def _section :'add-path' end @props = {'tx-all-paths'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Advertise all paths to peer'}, 'tx-bestpath-per-AS'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Advertise the bestpath per each neighboring AS'}} # Advertise all paths to peer def tx_all_paths prop_get('tx-all-paths') end # Advertise all paths to peer def tx_all_paths=(val) prop_set('tx-all-paths', val) end # Advertise the bestpath per each neighboring AS def tx_bestpath_per_AS prop_get('tx-bestpath-per-AS') end # Advertise the bestpath per each neighboring AS def tx_bestpath_per_AS=(val) prop_set('tx-bestpath-per-AS', val) end end def add_path @subclasses['add-path'] ||= AddPath.new(parent_instance: self, client: @client, create_children: @create_children) end class AllowasIn < ConfigClass def has_multiple_values?; false; end def _section :'allowas-in' end class Origin < ConfigClass def has_multiple_values?; false; end def _section :origin end @props = {} end def origin @subclasses['origin'] ||= Origin.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'occurrence'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'10', 'default'=>'1', 'help-string'=>'Number of occurrences of AS number'}} # Number of occurrences of AS number def occurrence prop_get('occurrence') end # Number of occurrences of AS number def occurrence=(val) prop_set('occurrence', val) end end def allowas_in @subclasses['allowas-in'] ||= AllowasIn.new(parent_instance: self, client: @client, create_children: @create_children) end class MaximumPrefix < ConfigClass def has_multiple_values?; false; end def _section :'maximum-prefix' end class Action < ConfigClass def has_multiple_values?; false; end def _section :action end class WarningOnly < ConfigClass def has_multiple_values?; false; end def _section :'warning-only' end @props = {} end def warning_only @subclasses['warning-only'] ||= WarningOnly.new(parent_instance: self, client: @client, create_children: @create_children) end class Restart < ConfigClass def has_multiple_values?; false; end def _section :restart end @props = {'interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'1', 'help-string'=>'Restart interval in minutes'}} # Restart interval in minutes def interval prop_get('interval') end # Restart interval in minutes def interval=(val) prop_set('interval', val) end end def restart @subclasses['restart'] ||= Restart.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def action @subclasses['action'] ||= Action.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'num_prefixes'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'default'=>'1000', 'help-string'=>'Max allowed prefixes from this peer', 'uiHint-fieldLabel'=>'Number Prefixes'}, 'threshold'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'100', 'default'=>'100', 'help-string'=>'Threshold value (%) at which to generate a warning msg', 'uiHint-fieldLabel'=>'Threshold'}} # Max allowed prefixes from this peer def num_prefixes prop_get('num_prefixes') end # Max allowed prefixes from this peer def num_prefixes=(val) prop_set('num_prefixes', val) end # Threshold value (%) at which to generate a warning msg def threshold prop_get('threshold') end # Threshold value (%) at which to generate a warning msg def threshold=(val) prop_set('threshold', val) end end def maximum_prefix @subclasses['maximum-prefix'] ||= MaximumPrefix.new(parent_instance: self, client: @client, create_children: @create_children) end class NextHop < ConfigClass def has_multiple_values?; false; end def _section :'next-hop' end class Self < ConfigClass def has_multiple_values?; false; end def _section :self end @props = {} end def self @subclasses['self'] ||= Self.new(parent_instance: self, client: @client, create_children: @create_children) end class SelfForce < ConfigClass def has_multiple_values?; false; end def _section :'self-force' end @props = {} end def self_force @subclasses['self-force'] ||= SelfForce.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def next_hop @subclasses['next-hop'] ||= NextHop.new(parent_instance: self, client: @client, create_children: @create_children) end class RemovePrivateAS < ConfigClass def has_multiple_values?; false; end def _section :'remove-private-AS' end class All < ConfigClass def has_multiple_values?; false; end def _section :all end @props = {} end def all @subclasses['all'] ||= All.new(parent_instance: self, client: @client, create_children: @create_children) end class ReplaceAS < ConfigClass def has_multiple_values?; false; end def _section :'replace-AS' end @props = {} end def replace_AS @subclasses['replace-AS'] ||= ReplaceAS.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def remove_private_AS @subclasses['remove-private-AS'] ||= RemovePrivateAS.new(parent_instance: self, client: @client, create_children: @create_children) end class SendCommunity < ConfigClass def has_multiple_values?; false; end def _section :'send-community' end class All < ConfigClass def has_multiple_values?; false; end def _section :all end @props = {} end def all @subclasses['all'] ||= All.new(parent_instance: self, client: @client, create_children: @create_children) end class Both < ConfigClass def has_multiple_values?; false; end def _section :both end @props = {} end def both @subclasses['both'] ||= Both.new(parent_instance: self, client: @client, create_children: @create_children) end class Extended < ConfigClass def has_multiple_values?; false; end def _section :extended end @props = {} end def extended @subclasses['extended'] ||= Extended.new(parent_instance: self, client: @client, create_children: @create_children) end class Large < ConfigClass def has_multiple_values?; false; end def _section :large end @props = {} end def large @subclasses['large'] ||= Large.new(parent_instance: self, client: @client, create_children: @create_children) end class Standard < ConfigClass def has_multiple_values?; false; end def _section :standard end @props = {} end def standard @subclasses['standard'] ||= Standard.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def send_community @subclasses['send-community'] ||= SendCommunity.new(parent_instance: self, client: @client, create_children: @create_children) end class Orf < ConfigClass def has_multiple_values?; false; end def _section :orf end @props = {'orf-prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'ORF List', 'type'=>'enum', 'default'=>'none', 'optional'=>'yes', 'help-string'=>'Advertise Prefix-List ORF Capability', 'enum'=>[{'name'=>'None', 'value'=>'none'}, {'name'=>'both', 'value'=>'both', 'help-string'=>'Capability to Send and Receive ORF'}, {'name'=>'receive', 'value'=>'receive', 'help-string'=>'Capability to Receive ORF'}, {'name'=>'send', 'value'=>'send', 'help-string'=>'Capability to Send ORF'}]}} # Advertise Prefix-List ORF Capability def orf_prefix_list prop_get('orf-prefix-list') end # Advertise Prefix-List ORF Capability def orf_prefix_list=(val) prop_set('orf-prefix-list', val) end end def orf @subclasses['orf'] ||= Orf.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Enable'}, 'soft-reconfig-with-stored-info'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Soft reconfiguration of peer with stored routes'}, 'as-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Override ASNs in outbound updates if AS-Path equals Remote-AS'}, 'default-originate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Originate Default Route'}, 'route-reflector-client'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Route Reflector Client'}, 'default-originate-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Default Originate Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Route-Map used in Default Originate Configuration'}} # Enable def enable prop_get('enable') end # Enable def enable=(val) prop_set('enable', val) end # Soft reconfiguration of peer with stored routes def soft_reconfig_with_stored_info prop_get('soft-reconfig-with-stored-info') end # Soft reconfiguration of peer with stored routes def soft_reconfig_with_stored_info=(val) prop_set('soft-reconfig-with-stored-info', val) end # Override ASNs in outbound updates if AS-Path equals Remote-AS def as_override prop_get('as-override') end # Override ASNs in outbound updates if AS-Path equals Remote-AS def as_override=(val) prop_set('as-override', val) end # Originate Default Route def default_originate prop_get('default-originate') end # Originate Default Route def default_originate=(val) prop_set('default-originate', val) end # Route Reflector Client def route_reflector_client prop_get('route-reflector-client') end # Route Reflector Client def route_reflector_client=(val) prop_set('route-reflector-client', val) end # Route-Map used in Default Originate Configuration def default_originate_map prop_get('default-originate-map') end # Route-Map used in Default Originate Configuration def default_originate_map=(val) prop_set('default-originate-map', val) end end def multicast @subclasses['multicast'] ||= Multicast.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ipv4 @subclasses['ipv4'] ||= Ipv4.new(parent_instance: self, client: @client, create_children: @create_children) end class Ipv6 < ConfigClass def has_multiple_values?; false; end def _section :ipv6 end class Unicast < ConfigClass def has_multiple_values?; false; end def _section :unicast end class AddPath < ConfigClass def has_multiple_values?; false; end def _section :'add-path' end @props = {'tx-all-paths'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Advertise all paths to peer'}, 'tx-bestpath-per-AS'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Advertise the bestpath per each neighboring AS'}} # Advertise all paths to peer def tx_all_paths prop_get('tx-all-paths') end # Advertise all paths to peer def tx_all_paths=(val) prop_set('tx-all-paths', val) end # Advertise the bestpath per each neighboring AS def tx_bestpath_per_AS prop_get('tx-bestpath-per-AS') end # Advertise the bestpath per each neighboring AS def tx_bestpath_per_AS=(val) prop_set('tx-bestpath-per-AS', val) end end def add_path @subclasses['add-path'] ||= AddPath.new(parent_instance: self, client: @client, create_children: @create_children) end class AllowasIn < ConfigClass def has_multiple_values?; false; end def _section :'allowas-in' end class Origin < ConfigClass def has_multiple_values?; false; end def _section :origin end @props = {} end def origin @subclasses['origin'] ||= Origin.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'occurrence'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'10', 'default'=>'1', 'help-string'=>'Number of occurrences of AS number'}} # Number of occurrences of AS number def occurrence prop_get('occurrence') end # Number of occurrences of AS number def occurrence=(val) prop_set('occurrence', val) end end def allowas_in @subclasses['allowas-in'] ||= AllowasIn.new(parent_instance: self, client: @client, create_children: @create_children) end class MaximumPrefix < ConfigClass def has_multiple_values?; false; end def _section :'maximum-prefix' end class Action < ConfigClass def has_multiple_values?; false; end def _section :action end class WarningOnly < ConfigClass def has_multiple_values?; false; end def _section :'warning-only' end @props = {} end def warning_only @subclasses['warning-only'] ||= WarningOnly.new(parent_instance: self, client: @client, create_children: @create_children) end class Restart < ConfigClass def has_multiple_values?; false; end def _section :restart end @props = {'interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'1', 'help-string'=>'Restart interval in minutes'}} # Restart interval in minutes def interval prop_get('interval') end # Restart interval in minutes def interval=(val) prop_set('interval', val) end end def restart @subclasses['restart'] ||= Restart.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def action @subclasses['action'] ||= Action.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'num_prefixes'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'default'=>'1000', 'help-string'=>'Max allowed prefixes from this peer', 'uiHint-fieldLabel'=>'Number Prefixes'}, 'threshold'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'100', 'default'=>'100', 'help-string'=>'Threshold value (%) at which to generate a warning msg', 'uiHint-fieldLabel'=>'Threshold'}} # Max allowed prefixes from this peer def num_prefixes prop_get('num_prefixes') end # Max allowed prefixes from this peer def num_prefixes=(val) prop_set('num_prefixes', val) end # Threshold value (%) at which to generate a warning msg def threshold prop_get('threshold') end # Threshold value (%) at which to generate a warning msg def threshold=(val) prop_set('threshold', val) end end def maximum_prefix @subclasses['maximum-prefix'] ||= MaximumPrefix.new(parent_instance: self, client: @client, create_children: @create_children) end class NextHop < ConfigClass def has_multiple_values?; false; end def _section :'next-hop' end class Self < ConfigClass def has_multiple_values?; false; end def _section :self end @props = {} end def self @subclasses['self'] ||= Self.new(parent_instance: self, client: @client, create_children: @create_children) end class SelfForce < ConfigClass def has_multiple_values?; false; end def _section :'self-force' end @props = {} end def self_force @subclasses['self-force'] ||= SelfForce.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def next_hop @subclasses['next-hop'] ||= NextHop.new(parent_instance: self, client: @client, create_children: @create_children) end class RemovePrivateAS < ConfigClass def has_multiple_values?; false; end def _section :'remove-private-AS' end class All < ConfigClass def has_multiple_values?; false; end def _section :all end @props = {} end def all @subclasses['all'] ||= All.new(parent_instance: self, client: @client, create_children: @create_children) end class ReplaceAS < ConfigClass def has_multiple_values?; false; end def _section :'replace-AS' end @props = {} end def replace_AS @subclasses['replace-AS'] ||= ReplaceAS.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def remove_private_AS @subclasses['remove-private-AS'] ||= RemovePrivateAS.new(parent_instance: self, client: @client, create_children: @create_children) end class SendCommunity < ConfigClass def has_multiple_values?; false; end def _section :'send-community' end class All < ConfigClass def has_multiple_values?; false; end def _section :all end @props = {} end def all @subclasses['all'] ||= All.new(parent_instance: self, client: @client, create_children: @create_children) end class Both < ConfigClass def has_multiple_values?; false; end def _section :both end @props = {} end def both @subclasses['both'] ||= Both.new(parent_instance: self, client: @client, create_children: @create_children) end class Extended < ConfigClass def has_multiple_values?; false; end def _section :extended end @props = {} end def extended @subclasses['extended'] ||= Extended.new(parent_instance: self, client: @client, create_children: @create_children) end class Large < ConfigClass def has_multiple_values?; false; end def _section :large end @props = {} end def large @subclasses['large'] ||= Large.new(parent_instance: self, client: @client, create_children: @create_children) end class Standard < ConfigClass def has_multiple_values?; false; end def _section :standard end @props = {} end def standard @subclasses['standard'] ||= Standard.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def send_community @subclasses['send-community'] ||= SendCommunity.new(parent_instance: self, client: @client, create_children: @create_children) end class Orf < ConfigClass def has_multiple_values?; false; end def _section :orf end @props = {'orf-prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'ORF List', 'type'=>'enum', 'default'=>'none', 'optional'=>'yes', 'help-string'=>'Advertise Prefix-List ORF Capability', 'enum'=>[{'name'=>'None', 'value'=>'none'}, {'name'=>'both', 'value'=>'both', 'help-string'=>'Capability to Send and Receive ORF'}, {'name'=>'receive', 'value'=>'receive', 'help-string'=>'Capability to Receive ORF'}, {'name'=>'send', 'value'=>'send', 'help-string'=>'Capability to Send ORF'}]}} # Advertise Prefix-List ORF Capability def orf_prefix_list prop_get('orf-prefix-list') end # Advertise Prefix-List ORF Capability def orf_prefix_list=(val) prop_set('orf-prefix-list', val) end end def orf @subclasses['orf'] ||= Orf.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Enable'}, 'soft-reconfig-with-stored-info'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Soft reconfiguration of peer with stored routes'}, 'as-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Override ASNs in outbound updates if AS-Path equals Remote-AS'}, 'default-originate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Originate Default Route'}, 'route-reflector-client'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Route Reflector Client'}, 'default-originate-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Default Originate Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Route-Map used in Default Originate Configuration'}} # Enable def enable prop_get('enable') end # Enable def enable=(val) prop_set('enable', val) end # Soft reconfiguration of peer with stored routes def soft_reconfig_with_stored_info prop_get('soft-reconfig-with-stored-info') end # Soft reconfiguration of peer with stored routes def soft_reconfig_with_stored_info=(val) prop_set('soft-reconfig-with-stored-info', val) end # Override ASNs in outbound updates if AS-Path equals Remote-AS def as_override prop_get('as-override') end # Override ASNs in outbound updates if AS-Path equals Remote-AS def as_override=(val) prop_set('as-override', val) end # Originate Default Route def default_originate prop_get('default-originate') end # Originate Default Route def default_originate=(val) prop_set('default-originate', val) end # Route Reflector Client def route_reflector_client prop_get('route-reflector-client') end # Route Reflector Client def route_reflector_client=(val) prop_set('route-reflector-client', val) end # Route-Map used in Default Originate Configuration def default_originate_map prop_get('default-originate-map') end # Route-Map used in Default Originate Configuration def default_originate_map=(val) prop_set('default-originate-map', val) end end def unicast @subclasses['unicast'] ||= Unicast.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ipv6 @subclasses['ipv6'] ||= Ipv6.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'help-string'=>'Address Family Profile Name', 'regex'=>'^[a-zA-Z0-9._-]+$'}} # Address Family Profile Name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def address_family_profile maybe_register_subclass('address-family-profile', AddressFamilyProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class RedistributionProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'redistribution-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Ipv4 < ConfigClass def has_multiple_values?; false; end def _section :ipv4 end class Unicast < ConfigClass def has_multiple_values?; false; end def _section :unicast end class Static < ConfigClass def has_multiple_values?; false; end def _section :static end @props = {'enable'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'uiHint-fieldLabel'=>'Enable'}, 'metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Set Metric (Field ignored if route-map configured).'}, 'route-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Apply Route-Map on Redistributed Routes'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Set Metric (Field ignored if route-map configured). def metric prop_get('metric') end # Set Metric (Field ignored if route-map configured). def metric=(val) prop_set('metric', val) end # Apply Route-Map on Redistributed Routes def route_map prop_get('route-map') end # Apply Route-Map on Redistributed Routes def route_map=(val) prop_set('route-map', val) end end def static @subclasses['static'] ||= Static.new(parent_instance: self, client: @client, create_children: @create_children) end class Connected < ConfigClass def has_multiple_values?; false; end def _section :connected end @props = {'enable'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'uiHint-fieldLabel'=>'Enable'}, 'metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Set Metric (Field ignored if route-map configured).'}, 'route-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Apply Route-Map on Redistributed Routes'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Set Metric (Field ignored if route-map configured). def metric prop_get('metric') end # Set Metric (Field ignored if route-map configured). def metric=(val) prop_set('metric', val) end # Apply Route-Map on Redistributed Routes def route_map prop_get('route-map') end # Apply Route-Map on Redistributed Routes def route_map=(val) prop_set('route-map', val) end end def connected @subclasses['connected'] ||= Connected.new(parent_instance: self, client: @client, create_children: @create_children) end class Ospf < ConfigClass def has_multiple_values?; false; end def _section :ospf end @props = {'enable'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Enable', 'type'=>'bool', 'default'=>'yes'}, 'metric'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'optional'=>'yes', 'help-string'=>'Set Metric (Field ignored if route-map configured).'}, 'route-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Apply Route-Map on Redistributed Routes'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Set Metric (Field ignored if route-map configured). def metric prop_get('metric') end # Set Metric (Field ignored if route-map configured). def metric=(val) prop_set('metric', val) end # Apply Route-Map on Redistributed Routes def route_map prop_get('route-map') end # Apply Route-Map on Redistributed Routes def route_map=(val) prop_set('route-map', val) end end def ospf @subclasses['ospf'] ||= Ospf.new(parent_instance: self, client: @client, create_children: @create_children) end class Rip < ConfigClass def has_multiple_values?; false; end def _section :rip end @props = {'enable'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Enable', 'type'=>'bool', 'default'=>'yes'}, 'metric'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'optional'=>'yes', 'help-string'=>'Set Metric (Field ignored if route-map configured).'}, 'route-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Apply Route-Map on Redistributed Routes'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Set Metric (Field ignored if route-map configured). def metric prop_get('metric') end # Set Metric (Field ignored if route-map configured). def metric=(val) prop_set('metric', val) end # Apply Route-Map on Redistributed Routes def route_map prop_get('route-map') end # Apply Route-Map on Redistributed Routes def route_map=(val) prop_set('route-map', val) end end def rip @subclasses['rip'] ||= Rip.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def unicast @subclasses['unicast'] ||= Unicast.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ipv4 @subclasses['ipv4'] ||= Ipv4.new(parent_instance: self, client: @client, create_children: @create_children) end class Ipv6 < ConfigClass def has_multiple_values?; false; end def _section :ipv6 end class Unicast < ConfigClass def has_multiple_values?; false; end def _section :unicast end class Static < ConfigClass def has_multiple_values?; false; end def _section :static end @props = {'enable'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'uiHint-fieldLabel'=>'Enable'}, 'metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Set Metric (Field ignored if route-map configured).'}, 'route-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Apply Route-Map on Redistributed Routes'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Set Metric (Field ignored if route-map configured). def metric prop_get('metric') end # Set Metric (Field ignored if route-map configured). def metric=(val) prop_set('metric', val) end # Apply Route-Map on Redistributed Routes def route_map prop_get('route-map') end # Apply Route-Map on Redistributed Routes def route_map=(val) prop_set('route-map', val) end end def static @subclasses['static'] ||= Static.new(parent_instance: self, client: @client, create_children: @create_children) end class Connected < ConfigClass def has_multiple_values?; false; end def _section :connected end @props = {'enable'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'uiHint-fieldLabel'=>'Enable'}, 'metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Set Metric (Field ignored if route-map configured).'}, 'route-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Apply Route-Map on Redistributed Routes'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Set Metric (Field ignored if route-map configured). def metric prop_get('metric') end # Set Metric (Field ignored if route-map configured). def metric=(val) prop_set('metric', val) end # Apply Route-Map on Redistributed Routes def route_map prop_get('route-map') end # Apply Route-Map on Redistributed Routes def route_map=(val) prop_set('route-map', val) end end def connected @subclasses['connected'] ||= Connected.new(parent_instance: self, client: @client, create_children: @create_children) end class Ospfv3 < ConfigClass def has_multiple_values?; false; end def _section :ospfv3 end @props = {'enable'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Enable', 'type'=>'bool', 'default'=>'yes'}, 'metric'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'optional'=>'yes', 'help-string'=>'Set Metric (Field ignored if route-map configured).'}, 'route-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Apply Route-Map on Redistributed Routes'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Set Metric (Field ignored if route-map configured). def metric prop_get('metric') end # Set Metric (Field ignored if route-map configured). def metric=(val) prop_set('metric', val) end # Apply Route-Map on Redistributed Routes def route_map prop_get('route-map') end # Apply Route-Map on Redistributed Routes def route_map=(val) prop_set('route-map', val) end end def ospfv3 @subclasses['ospfv3'] ||= Ospfv3.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def unicast @subclasses['unicast'] ||= Unicast.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ipv6 @subclasses['ipv6'] ||= Ipv6.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'help-string'=>'BGP Redistribution Profile Name', 'regex'=>'^[a-zA-Z0-9._-]+$'}} # BGP Redistribution Profile Name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def redistribution_profile maybe_register_subclass('redistribution-profile', RedistributionProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class FilteringProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'filtering-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Ipv4 < ConfigClass def has_multiple_values?; false; end def _section :ipv4 end class Unicast < ConfigClass def has_multiple_values?; false; end def _section :unicast end class FilterList < ConfigClass def has_multiple_values?; false; end def _section :'filter-list' end @props = {'inbound'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Incoming AS-Path Access-List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Incoming AS-Path Access-List'}, 'outbound'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Outgoing AS-Path Access-List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Outgoing AS-Path Access-List'}} # Incoming AS-Path Access-List def inbound prop_get('inbound') end # Incoming AS-Path Access-List def inbound=(val) prop_set('inbound', val) end # Outgoing AS-Path Access-List def outbound prop_get('outbound') end # Outgoing AS-Path Access-List def outbound=(val) prop_set('outbound', val) end end def filter_list @subclasses['filter-list'] ||= FilterList.new(parent_instance: self, client: @client, create_children: @create_children) end class InboundNetworkFilters < XML::ConfigClass def has_multiple_values?; true; end def _section :'inbound-network-filters' end @props = {'distribute-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Incoming Access-List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Incoming Distribute-List (Access-List)'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Incoming Prefix-List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Incoming Prefix-List'}} # Incoming Distribute-List (Access-List) def distribute_list prop_get('distribute-list') end # Incoming Distribute-List (Access-List) def distribute_list=(val) prop_set('distribute-list', val) end # Incoming Prefix-List def prefix_list prop_get('prefix-list') end # Incoming Prefix-List def prefix_list=(val) prop_set('prefix-list', val) end end def inbound_network_filters maybe_register_subclass('inbound-network-filters', InboundNetworkFilters.new(parent_instance: self, client: @client, create_children: @create_children)) end class OutboundNetworkFilters < XML::ConfigClass def has_multiple_values?; true; end def _section :'outbound-network-filters' end @props = {'distribute-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Outgoing Access-List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Outgoing Distribute-List (Access-List)'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Outgoing Prefix-List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Outgoing Prefix-List'}} # Outgoing Distribute-List (Access-List) def distribute_list prop_get('distribute-list') end # Outgoing Distribute-List (Access-List) def distribute_list=(val) prop_set('distribute-list', val) end # Outgoing Prefix-List def prefix_list prop_get('prefix-list') end # Outgoing Prefix-List def prefix_list=(val) prop_set('prefix-list', val) end end def outbound_network_filters maybe_register_subclass('outbound-network-filters', OutboundNetworkFilters.new(parent_instance: self, client: @client, create_children: @create_children)) end class RouteMaps < ConfigClass def has_multiple_values?; false; end def _section :'route-maps' end @props = {'inbound'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Incoming Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Incoming Route-Map'}, 'outbound'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Outgoing Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Outgoing Route-Map'}} # Incoming Route-Map def inbound prop_get('inbound') end # Incoming Route-Map def inbound=(val) prop_set('inbound', val) end # Outgoing Route-Map def outbound prop_get('outbound') end # Outgoing Route-Map def outbound=(val) prop_set('outbound', val) end end def route_maps @subclasses['route-maps'] ||= RouteMaps.new(parent_instance: self, client: @client, create_children: @create_children) end class ConditionalAdvertisement < ConfigClass def has_multiple_values?; false; end def _section :'conditional-advertisement' end class Exist < ConfigClass def has_multiple_values?; false; end def _section :exist end @props = {'advertise-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Advertise Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Specify Route-Map match criteria to advertise routes'}, 'exist-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Exist Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Specify Route-Map to Match existing routes in BGP local-rib'}} # Specify Route-Map match criteria to advertise routes def advertise_map prop_get('advertise-map') end # Specify Route-Map match criteria to advertise routes def advertise_map=(val) prop_set('advertise-map', val) end # Specify Route-Map to Match existing routes in BGP local-rib def exist_map prop_get('exist-map') end # Specify Route-Map to Match existing routes in BGP local-rib def exist_map=(val) prop_set('exist-map', val) end end def exist @subclasses['exist'] ||= Exist.new(parent_instance: self, client: @client, create_children: @create_children) end class NonExist < ConfigClass def has_multiple_values?; false; end def _section :'non-exist' end @props = {'advertise-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Advertise Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Specify Route-Map match criteria to advertise routes'}, 'non-exist-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Non Exist Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Specify Route-Map to match non-existing routes in BGP local-rib'}} # Specify Route-Map match criteria to advertise routes def advertise_map prop_get('advertise-map') end # Specify Route-Map match criteria to advertise routes def advertise_map=(val) prop_set('advertise-map', val) end # Specify Route-Map to match non-existing routes in BGP local-rib def non_exist_map prop_get('non-exist-map') end # Specify Route-Map to match non-existing routes in BGP local-rib def non_exist_map=(val) prop_set('non-exist-map', val) end end def non_exist @subclasses['non-exist'] ||= NonExist.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def conditional_advertisement @subclasses['conditional-advertisement'] ||= ConditionalAdvertisement.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'unsuppress-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Unsuppress Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Route-Map selectively unsuppress suppressed routes'}} # Route-Map selectively unsuppress suppressed routes def unsuppress_map prop_get('unsuppress-map') end # Route-Map selectively unsuppress suppressed routes def unsuppress_map=(val) prop_set('unsuppress-map', val) end end def unicast @subclasses['unicast'] ||= Unicast.new(parent_instance: self, client: @client, create_children: @create_children) end class Multicast < ConfigClass def has_multiple_values?; false; end def _section :multicast end class FilterList < ConfigClass def has_multiple_values?; false; end def _section :'filter-list' end @props = {'inbound'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Incoming AS-Path Access-List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Incoming AS-Path Access-List'}, 'outbound'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Outgoing AS-Path Access-List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Outgoing AS-Path Access-List'}} # Incoming AS-Path Access-List def inbound prop_get('inbound') end # Incoming AS-Path Access-List def inbound=(val) prop_set('inbound', val) end # Outgoing AS-Path Access-List def outbound prop_get('outbound') end # Outgoing AS-Path Access-List def outbound=(val) prop_set('outbound', val) end end def filter_list @subclasses['filter-list'] ||= FilterList.new(parent_instance: self, client: @client, create_children: @create_children) end class InboundNetworkFilters < XML::ConfigClass def has_multiple_values?; true; end def _section :'inbound-network-filters' end @props = {'distribute-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Incoming Access-List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Incoming Distribute-List (Access-List)'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Incoming Prefix-List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Incoming Prefix-List'}} # Incoming Distribute-List (Access-List) def distribute_list prop_get('distribute-list') end # Incoming Distribute-List (Access-List) def distribute_list=(val) prop_set('distribute-list', val) end # Incoming Prefix-List def prefix_list prop_get('prefix-list') end # Incoming Prefix-List def prefix_list=(val) prop_set('prefix-list', val) end end def inbound_network_filters maybe_register_subclass('inbound-network-filters', InboundNetworkFilters.new(parent_instance: self, client: @client, create_children: @create_children)) end class OutboundNetworkFilters < XML::ConfigClass def has_multiple_values?; true; end def _section :'outbound-network-filters' end @props = {'distribute-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Outgoing Access-List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Outgoing Distribute-List (Access-List)'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Outgoing Prefix-List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Outgoing Prefix-List'}} # Outgoing Distribute-List (Access-List) def distribute_list prop_get('distribute-list') end # Outgoing Distribute-List (Access-List) def distribute_list=(val) prop_set('distribute-list', val) end # Outgoing Prefix-List def prefix_list prop_get('prefix-list') end # Outgoing Prefix-List def prefix_list=(val) prop_set('prefix-list', val) end end def outbound_network_filters maybe_register_subclass('outbound-network-filters', OutboundNetworkFilters.new(parent_instance: self, client: @client, create_children: @create_children)) end class RouteMaps < ConfigClass def has_multiple_values?; false; end def _section :'route-maps' end @props = {'inbound'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Incoming Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Incoming Route-Map'}, 'outbound'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Outgoing Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Outgoing Route-Map'}} # Incoming Route-Map def inbound prop_get('inbound') end # Incoming Route-Map def inbound=(val) prop_set('inbound', val) end # Outgoing Route-Map def outbound prop_get('outbound') end # Outgoing Route-Map def outbound=(val) prop_set('outbound', val) end end def route_maps @subclasses['route-maps'] ||= RouteMaps.new(parent_instance: self, client: @client, create_children: @create_children) end class ConditionalAdvertisement < ConfigClass def has_multiple_values?; false; end def _section :'conditional-advertisement' end class Exist < ConfigClass def has_multiple_values?; false; end def _section :exist end @props = {'advertise-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Advertise Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Specify Route-Map match criteria to advertise routes'}, 'exist-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Exist Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Specify Route-Map to Match existing routes in BGP local-rib'}} # Specify Route-Map match criteria to advertise routes def advertise_map prop_get('advertise-map') end # Specify Route-Map match criteria to advertise routes def advertise_map=(val) prop_set('advertise-map', val) end # Specify Route-Map to Match existing routes in BGP local-rib def exist_map prop_get('exist-map') end # Specify Route-Map to Match existing routes in BGP local-rib def exist_map=(val) prop_set('exist-map', val) end end def exist @subclasses['exist'] ||= Exist.new(parent_instance: self, client: @client, create_children: @create_children) end class NonExist < ConfigClass def has_multiple_values?; false; end def _section :'non-exist' end @props = {'advertise-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Advertise Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Specify Route-Map match criteria to advertise routes'}, 'non-exist-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Non Exist Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Specify Route-Map to match non-existing routes in BGP local-rib'}} # Specify Route-Map match criteria to advertise routes def advertise_map prop_get('advertise-map') end # Specify Route-Map match criteria to advertise routes def advertise_map=(val) prop_set('advertise-map', val) end # Specify Route-Map to match non-existing routes in BGP local-rib def non_exist_map prop_get('non-exist-map') end # Specify Route-Map to match non-existing routes in BGP local-rib def non_exist_map=(val) prop_set('non-exist-map', val) end end def non_exist @subclasses['non-exist'] ||= NonExist.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def conditional_advertisement @subclasses['conditional-advertisement'] ||= ConditionalAdvertisement.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'inherit'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'uiHint-fieldLabel'=>'Inherit from Unicast', 'help-string'=>'Either Configure or Inherit Filtering Profile from Unicast'}, 'unsuppress-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Unsuppress Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Route-Map selectively unsuppress suppressed routes'}} # Either Configure or Inherit Filtering Profile from Unicast def inherit prop_get('inherit') end # Either Configure or Inherit Filtering Profile from Unicast def inherit=(val) prop_set('inherit', val) end # Route-Map selectively unsuppress suppressed routes def unsuppress_map prop_get('unsuppress-map') end # Route-Map selectively unsuppress suppressed routes def unsuppress_map=(val) prop_set('unsuppress-map', val) end end def multicast @subclasses['multicast'] ||= Multicast.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ipv4 @subclasses['ipv4'] ||= Ipv4.new(parent_instance: self, client: @client, create_children: @create_children) end class Ipv6 < ConfigClass def has_multiple_values?; false; end def _section :ipv6 end class Unicast < ConfigClass def has_multiple_values?; false; end def _section :unicast end class FilterList < ConfigClass def has_multiple_values?; false; end def _section :'filter-list' end @props = {'inbound'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Incoming AS-Path Access-List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Incoming AS-Path Access-List'}, 'outbound'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Outgoing AS-Path Access-List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Outgoing AS-Path Access-List'}} # Incoming AS-Path Access-List def inbound prop_get('inbound') end # Incoming AS-Path Access-List def inbound=(val) prop_set('inbound', val) end # Outgoing AS-Path Access-List def outbound prop_get('outbound') end # Outgoing AS-Path Access-List def outbound=(val) prop_set('outbound', val) end end def filter_list @subclasses['filter-list'] ||= FilterList.new(parent_instance: self, client: @client, create_children: @create_children) end class InboundNetworkFilters < XML::ConfigClass def has_multiple_values?; true; end def _section :'inbound-network-filters' end @props = {'distribute-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Incoming Access-List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Incoming Distribute-List (Access-List)'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Incoming Prefix-List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Incoming Prefix-List'}} # Incoming Distribute-List (Access-List) def distribute_list prop_get('distribute-list') end # Incoming Distribute-List (Access-List) def distribute_list=(val) prop_set('distribute-list', val) end # Incoming Prefix-List def prefix_list prop_get('prefix-list') end # Incoming Prefix-List def prefix_list=(val) prop_set('prefix-list', val) end end def inbound_network_filters maybe_register_subclass('inbound-network-filters', InboundNetworkFilters.new(parent_instance: self, client: @client, create_children: @create_children)) end class OutboundNetworkFilters < XML::ConfigClass def has_multiple_values?; true; end def _section :'outbound-network-filters' end @props = {'distribute-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Outgoing Access-List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Outgoing Distribute-List (Access-List)'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Outgoing Prefix-List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Outgoing Prefix-List'}} # Outgoing Distribute-List (Access-List) def distribute_list prop_get('distribute-list') end # Outgoing Distribute-List (Access-List) def distribute_list=(val) prop_set('distribute-list', val) end # Outgoing Prefix-List def prefix_list prop_get('prefix-list') end # Outgoing Prefix-List def prefix_list=(val) prop_set('prefix-list', val) end end def outbound_network_filters maybe_register_subclass('outbound-network-filters', OutboundNetworkFilters.new(parent_instance: self, client: @client, create_children: @create_children)) end class RouteMaps < ConfigClass def has_multiple_values?; false; end def _section :'route-maps' end @props = {'inbound'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Incoming Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Incoming Route-Map'}, 'outbound'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Outgoing Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Outgoing Route-Map'}} # Incoming Route-Map def inbound prop_get('inbound') end # Incoming Route-Map def inbound=(val) prop_set('inbound', val) end # Outgoing Route-Map def outbound prop_get('outbound') end # Outgoing Route-Map def outbound=(val) prop_set('outbound', val) end end def route_maps @subclasses['route-maps'] ||= RouteMaps.new(parent_instance: self, client: @client, create_children: @create_children) end class ConditionalAdvertisement < ConfigClass def has_multiple_values?; false; end def _section :'conditional-advertisement' end class Exist < ConfigClass def has_multiple_values?; false; end def _section :exist end @props = {'advertise-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Advertise Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Specify Route-Map match criteria to advertise routes'}, 'exist-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Exist Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Specify Route-Map to Match existing routes in BGP local-rib'}} # Specify Route-Map match criteria to advertise routes def advertise_map prop_get('advertise-map') end # Specify Route-Map match criteria to advertise routes def advertise_map=(val) prop_set('advertise-map', val) end # Specify Route-Map to Match existing routes in BGP local-rib def exist_map prop_get('exist-map') end # Specify Route-Map to Match existing routes in BGP local-rib def exist_map=(val) prop_set('exist-map', val) end end def exist @subclasses['exist'] ||= Exist.new(parent_instance: self, client: @client, create_children: @create_children) end class NonExist < ConfigClass def has_multiple_values?; false; end def _section :'non-exist' end @props = {'advertise-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Advertise Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Specify Route-Map match criteria to advertise routes'}, 'non-exist-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Non Exist Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Specify Route-Map to match non-existing routes in BGP local-rib'}} # Specify Route-Map match criteria to advertise routes def advertise_map prop_get('advertise-map') end # Specify Route-Map match criteria to advertise routes def advertise_map=(val) prop_set('advertise-map', val) end # Specify Route-Map to match non-existing routes in BGP local-rib def non_exist_map prop_get('non-exist-map') end # Specify Route-Map to match non-existing routes in BGP local-rib def non_exist_map=(val) prop_set('non-exist-map', val) end end def non_exist @subclasses['non-exist'] ||= NonExist.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def conditional_advertisement @subclasses['conditional-advertisement'] ||= ConditionalAdvertisement.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'unsuppress-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Unsuppress Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Route-Map selectively unsuppress suppressed routes'}} # Route-Map selectively unsuppress suppressed routes def unsuppress_map prop_get('unsuppress-map') end # Route-Map selectively unsuppress suppressed routes def unsuppress_map=(val) prop_set('unsuppress-map', val) end end def unicast @subclasses['unicast'] ||= Unicast.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ipv6 @subclasses['ipv6'] ||= Ipv6.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'regex'=>'^[a-zA-Z0-9._-]+$', 'help-string'=>'BGP Filtering Profile Name - alphanumeric string [0-9a-zA-Z._-]'}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'optional'=>'yes', 'help-string'=>'Describe BGP Filtering Profile', 'regex'=>'^[ a-zA-Z0-9._-]+$'}} # BGP Filtering Profile Name - alphanumeric string [0-9a-zA-Z._-] def name prop_get('@name') end # Describe BGP Filtering Profile def description prop_get('description') end # Describe BGP Filtering Profile def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def filtering_profile maybe_register_subclass('filtering-profile', FilteringProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class DampeningProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'dampening-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'regex'=>'^[a-zA-Z0-9._-]+$', 'help-string'=>'BGP Dampening Profile Name - alphanumeric string [0-9a-zA-Z._-]'}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'optional'=>'yes', 'help-string'=>'Describe BGP Dampening Profile', 'regex'=>'^[ a-zA-Z0-9._-]+$'}, 'half-life'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'45', 'default'=>'15', 'help-string'=>'Half-life for the penalty Default:15 (in minutes)'}, 'reuse-limit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'20000', 'default'=>'750', 'help-string'=>'Value to start reusing a route. Default:750'}, 'suppress-limit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'20000', 'default'=>'2000', 'help-string'=>'Value to start supressing the route. Default:2000'}, 'max-suppress-limit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'default'=>'60', 'help-string'=>'Maximum duration (in minutes) a route can be suppressed. Default:60'}} # BGP Dampening Profile Name - alphanumeric string [0-9a-zA-Z._-] def name prop_get('@name') end # Describe BGP Dampening Profile def description prop_get('description') end # Describe BGP Dampening Profile def description=(val) prop_set('description', val) end # Half-life for the penalty Default:15 (in minutes) def half_life prop_get('half-life') end # Half-life for the penalty Default:15 (in minutes) def half_life=(val) prop_set('half-life', val) end # Value to start reusing a route. Default:750 def reuse_limit prop_get('reuse-limit') end # Value to start reusing a route. Default:750 def reuse_limit=(val) prop_set('reuse-limit', val) end # Value to start supressing the route. Default:2000 def suppress_limit prop_get('suppress-limit') end # Value to start supressing the route. Default:2000 def suppress_limit=(val) prop_set('suppress-limit', val) end # Maximum duration (in minutes) a route can be suppressed. Default:60 def max_suppress_limit prop_get('max-suppress-limit') end # Maximum duration (in minutes) a route can be suppressed. Default:60 def max_suppress_limit=(val) prop_set('max-suppress-limit', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def dampening_profile maybe_register_subclass('dampening-profile', DampeningProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def bgp @subclasses['bgp'] ||= Bgp.new(parent_instance: self, client: @client, create_children: @create_children) end class Ospf < ConfigClass def has_multiple_values?; false; end def _section :ospf end class AuthProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'auth-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Md5 < XML::ConfigClass def has_multiple_values?; true; end def _section :md5 end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255', 'help-string'=>'Key-ID'}, 'key'=>{'node-type'=>'element', 'encrypt'=>'yes', 'type'=>'string', 'skip-commit-validation'=>'yes', 'maxlen'=>'16', 'help-string'=>'key for the authentication'}, 'preferred'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'use this key when sending packet'}} # Key-ID def name prop_get('@name') end # key for the authentication def key prop_get('key') end # key for the authentication def key=(val) prop_set('key', val) end # use this key when sending packet def preferred prop_get('preferred') end # use this key when sending packet def preferred=(val) prop_set('preferred', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def md5 maybe_register_subclass('md5', Md5.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'uiHint-fieldLabel'=>'Name', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'regex'=>'^[a-zA-Z0-9._-]+$'}, 'password'=>{'node-type'=>'element', 'optional'=>'yes', 'encrypt'=>'yes', 'skip-commit-validation'=>'yes', 'type'=>'string', 'maxlen'=>'8', 'help-string'=>'Simple password authentication'}} def name prop_get('@name') end # Simple password authentication def password prop_get('password') end # Simple password authentication def password=(val) prop_set('password', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def auth_profile maybe_register_subclass('auth-profile', AuthProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class IfTimerProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'if-timer-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'regex'=>'^[a-zA-Z0-9._-]+$'}, 'hello-interval'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Hello Interval', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'10', 'help-string'=>'Interval (in seconds) to send Hello packets'}, 'dead-counts'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Dead Count', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'3', 'max'=>'20', 'default'=>'4', 'help-string'=>'number of lost hello packets to declare router down'}, 'retransmit-interval'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Retransmit Interval', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'1800', 'default'=>'5', 'help-string'=>'Interval (in seconds) to retransmit LSAs'}, 'transit-delay'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Transmit Delay', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'1800', 'default'=>'1', 'help-string'=>'Estimated delay (in seconds) to transmit LSAs'}, 'gr-delay'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Graceful Restart Hello Delay (sec)', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'10', 'default'=>'10', 'help-string'=>'Period (in seconds) used to send grace LSAs before first hello is sent when graceful restart starts'}} def name prop_get('@name') end # Interval (in seconds) to send Hello packets def hello_interval prop_get('hello-interval') end # Interval (in seconds) to send Hello packets def hello_interval=(val) prop_set('hello-interval', val) end # number of lost hello packets to declare router down def dead_counts prop_get('dead-counts') end # number of lost hello packets to declare router down def dead_counts=(val) prop_set('dead-counts', val) end # Interval (in seconds) to retransmit LSAs def retransmit_interval prop_get('retransmit-interval') end # Interval (in seconds) to retransmit LSAs def retransmit_interval=(val) prop_set('retransmit-interval', val) end # Estimated delay (in seconds) to transmit LSAs def transit_delay prop_get('transit-delay') end # Estimated delay (in seconds) to transmit LSAs def transit_delay=(val) prop_set('transit-delay', val) end # Period (in seconds) used to send grace LSAs before first hello is sent when graceful restart starts def gr_delay prop_get('gr-delay') end # Period (in seconds) used to send grace LSAs before first hello is sent when graceful restart starts def gr_delay=(val) prop_set('gr-delay', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def if_timer_profile maybe_register_subclass('if-timer-profile', IfTimerProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class SpfTimerProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'spf-timer-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'regex'=>'^[a-zA-Z0-9._-]+$'}, 'lsa-interval'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'LSA min-arrival', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'10', 'default'=>'5', 'help-string'=>'The minimum time in seconds between distinct originations of any particular LSA'}, 'spf-calculation-delay'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Initial delay', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'600', 'default'=>'5', 'help-string'=>'Delay in seconds before running the SPF algorithm'}, 'initial-hold-time'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Initial hold time', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'600', 'default'=>'5', 'help-string'=>'Initial hold time (second) between consecutive SPF calculations'}, 'max-hold-time'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Maximum hold time', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'600', 'default'=>'5', 'help-string'=>'Maximum hold time (second)'}} def name prop_get('@name') end # The minimum time in seconds between distinct originations of any particular LSA def lsa_interval prop_get('lsa-interval') end # The minimum time in seconds between distinct originations of any particular LSA def lsa_interval=(val) prop_set('lsa-interval', val) end # Delay in seconds before running the SPF algorithm def spf_calculation_delay prop_get('spf-calculation-delay') end # Delay in seconds before running the SPF algorithm def spf_calculation_delay=(val) prop_set('spf-calculation-delay', val) end # Initial hold time (second) between consecutive SPF calculations def initial_hold_time prop_get('initial-hold-time') end # Initial hold time (second) between consecutive SPF calculations def initial_hold_time=(val) prop_set('initial-hold-time', val) end # Maximum hold time (second) def max_hold_time prop_get('max-hold-time') end # Maximum hold time (second) def max_hold_time=(val) prop_set('max-hold-time', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def spf_timer_profile maybe_register_subclass('spf-timer-profile', SpfTimerProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class RedistributionProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'redistribution-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Static < ConfigClass def has_multiple_values?; false; end def _section :static end @props = {'enable'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Enable', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable (default) or Disable'}, 'metric'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Metric', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Set Metric (Field ignored if route-map configured).'}, 'metric-type'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Metric-Type', 'type'=>'enum', 'default'=>'type-2', 'optional'=>'no', 'help-string'=>'Set Metric-Type (Field ignored if route-map configured).', 'enum'=>[{'name'=>'type-1', 'value'=>'type-1', 'help-string'=>'Type-1'}, {'name'=>'type-2', 'value'=>'type-2', 'help-string'=>'Type-2'}]}, 'route-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Redistribute Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Apply Route-Map on Redistributed Routes'}} # Enable (default) or Disable def enable prop_get('enable') end # Enable (default) or Disable def enable=(val) prop_set('enable', val) end # Set Metric (Field ignored if route-map configured). def metric prop_get('metric') end # Set Metric (Field ignored if route-map configured). def metric=(val) prop_set('metric', val) end # Set Metric-Type (Field ignored if route-map configured). def metric_type prop_get('metric-type') end # Set Metric-Type (Field ignored if route-map configured). def metric_type=(val) prop_set('metric-type', val) end # Apply Route-Map on Redistributed Routes def route_map prop_get('route-map') end # Apply Route-Map on Redistributed Routes def route_map=(val) prop_set('route-map', val) end end def static @subclasses['static'] ||= Static.new(parent_instance: self, client: @client, create_children: @create_children) end class Connected < ConfigClass def has_multiple_values?; false; end def _section :connected end @props = {'enable'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Enable', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable (default) or Disable'}, 'metric'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Metric', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Set Metric (Field ignored if route-map configured).'}, 'metric-type'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Metric-Type', 'type'=>'enum', 'default'=>'type-2', 'optional'=>'no', 'help-string'=>'Set Metric-Type (Field ignored if route-map configured).', 'enum'=>[{'name'=>'type-1', 'value'=>'type-1', 'help-string'=>'Type-1'}, {'name'=>'type-2', 'value'=>'type-2', 'help-string'=>'Type-2'}]}, 'route-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Redistribute Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Apply Route-Map on Redistributed Routes'}} # Enable (default) or Disable def enable prop_get('enable') end # Enable (default) or Disable def enable=(val) prop_set('enable', val) end # Set Metric (Field ignored if route-map configured). def metric prop_get('metric') end # Set Metric (Field ignored if route-map configured). def metric=(val) prop_set('metric', val) end # Set Metric-Type (Field ignored if route-map configured). def metric_type prop_get('metric-type') end # Set Metric-Type (Field ignored if route-map configured). def metric_type=(val) prop_set('metric-type', val) end # Apply Route-Map on Redistributed Routes def route_map prop_get('route-map') end # Apply Route-Map on Redistributed Routes def route_map=(val) prop_set('route-map', val) end end def connected @subclasses['connected'] ||= Connected.new(parent_instance: self, client: @client, create_children: @create_children) end class Bgp < ConfigClass def has_multiple_values?; false; end def _section :bgp end @props = {'enable'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Enable', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable (default) or Disable'}, 'metric'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Metric', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Set Metric (Field ignored if route-map configured).'}, 'metric-type'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Metric-Type', 'type'=>'enum', 'default'=>'type-2', 'optional'=>'no', 'help-string'=>'Set Metric-Type (Field ignored if route-map configured).', 'enum'=>[{'name'=>'type-1', 'value'=>'type-1', 'help-string'=>'Type-1'}, {'name'=>'type-2', 'value'=>'type-2', 'help-string'=>'Type-2'}]}, 'route-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Redistribute Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Apply Route-Map on Redistributed Routes'}} # Enable (default) or Disable def enable prop_get('enable') end # Enable (default) or Disable def enable=(val) prop_set('enable', val) end # Set Metric (Field ignored if route-map configured). def metric prop_get('metric') end # Set Metric (Field ignored if route-map configured). def metric=(val) prop_set('metric', val) end # Set Metric-Type (Field ignored if route-map configured). def metric_type prop_get('metric-type') end # Set Metric-Type (Field ignored if route-map configured). def metric_type=(val) prop_set('metric-type', val) end # Apply Route-Map on Redistributed Routes def route_map prop_get('route-map') end # Apply Route-Map on Redistributed Routes def route_map=(val) prop_set('route-map', val) end end def bgp @subclasses['bgp'] ||= Bgp.new(parent_instance: self, client: @client, create_children: @create_children) end class DefaultRoute < ConfigClass def has_multiple_values?; false; end def _section :'default-route' end @props = {'always'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Always', 'optional'=>'no', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Generate default route if it doesn\'t exist'}, 'enable'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Enable', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable (default) or Disable'}, 'metric'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Metric', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Set Metric'}, 'metric-type'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Metric-Type', 'type'=>'enum', 'default'=>'type-2', 'optional'=>'no', 'help-string'=>'Set Metric-Type', 'enum'=>[{'name'=>'type-1', 'value'=>'type-1', 'help-string'=>'Type-1'}, {'name'=>'type-2', 'value'=>'type-2', 'help-string'=>'Type-2'}]}} # Generate default route if it doesn't exist def always prop_get('always') end # Generate default route if it doesn't exist def always=(val) prop_set('always', val) end # Enable (default) or Disable def enable prop_get('enable') end # Enable (default) or Disable def enable=(val) prop_set('enable', val) end # Set Metric def metric prop_get('metric') end # Set Metric def metric=(val) prop_set('metric', val) end # Set Metric-Type def metric_type prop_get('metric-type') end # Set Metric-Type def metric_type=(val) prop_set('metric-type', val) end end def default_route @subclasses['default-route'] ||= DefaultRoute.new(parent_instance: self, client: @client, create_children: @create_children) end class Rip < ConfigClass def has_multiple_values?; false; end def _section :rip end @props = {'enable'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Enable', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable (default) or Disable'}, 'metric'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Metric', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Set Metric (Field ignored if route-map configured).'}, 'metric-type'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Metric-Type', 'type'=>'enum', 'default'=>'type-2', 'optional'=>'no', 'help-string'=>'Set Metric-Type (Field ignored if route-map configured).', 'enum'=>[{'name'=>'type-1', 'value'=>'type-1', 'help-string'=>'Type-1'}, {'name'=>'type-2', 'value'=>'type-2', 'help-string'=>'Type-2'}]}, 'route-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Redistribute Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Apply Route-Map on Redistributed Routes'}} # Enable (default) or Disable def enable prop_get('enable') end # Enable (default) or Disable def enable=(val) prop_set('enable', val) end # Set Metric (Field ignored if route-map configured). def metric prop_get('metric') end # Set Metric (Field ignored if route-map configured). def metric=(val) prop_set('metric', val) end # Set Metric-Type (Field ignored if route-map configured). def metric_type prop_get('metric-type') end # Set Metric-Type (Field ignored if route-map configured). def metric_type=(val) prop_set('metric-type', val) end # Apply Route-Map on Redistributed Routes def route_map prop_get('route-map') end # Apply Route-Map on Redistributed Routes def route_map=(val) prop_set('route-map', val) end end def rip @subclasses['rip'] ||= Rip.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'help-string'=>'Profile Name', 'regex'=>'^[a-zA-Z0-9._-]+$'}} # Profile Name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def redistribution_profile maybe_register_subclass('redistribution-profile', RedistributionProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def ospf @subclasses['ospf'] ||= Ospf.new(parent_instance: self, client: @client, create_children: @create_children) end class Ospfv3 < ConfigClass def has_multiple_values?; false; end def _section :ospfv3 end class AuthProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'auth-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Esp < ConfigClass def has_multiple_values?; false; end def _section :esp end class Authentication < ConfigClass def has_multiple_values?; false; end def _section :authentication end class Md5 < ConfigClass def has_multiple_values?; false; end def _section :md5 end @props = {'key'=>{'node-type'=>'element', 'maxlen'=>'255', 'type'=>'string', 'encrypt'=>'yes', 'skip-commit-validation'=>'yes', 'show-help-tip'=>'yes', 'help-string'=>'hex format xxxxxxxx[-xxxxxxxx]... total 4 sections'}} # hex format xxxxxxxx[-xxxxxxxx]... total 4 sections def key prop_get('key') end # hex format xxxxxxxx[-xxxxxxxx]... total 4 sections def key=(val) prop_set('key', val) end end def md5 @subclasses['md5'] ||= Md5.new(parent_instance: self, client: @client, create_children: @create_children) end class Sha1 < ConfigClass def has_multiple_values?; false; end def _section :sha1 end @props = {'key'=>{'node-type'=>'element', 'maxlen'=>'255', 'type'=>'string', 'encrypt'=>'yes', 'skip-commit-validation'=>'yes', 'show-help-tip'=>'yes', 'help-string'=>'hex format xxxxxxxx[-xxxxxxxx]... total 5 sections'}} # hex format xxxxxxxx[-xxxxxxxx]... total 5 sections def key prop_get('key') end # hex format xxxxxxxx[-xxxxxxxx]... total 5 sections def key=(val) prop_set('key', val) end end def sha1 @subclasses['sha1'] ||= Sha1.new(parent_instance: self, client: @client, create_children: @create_children) end class Sha256 < ConfigClass def has_multiple_values?; false; end def _section :sha256 end @props = {'key'=>{'node-type'=>'element', 'maxlen'=>'255', 'type'=>'string', 'encrypt'=>'yes', 'skip-commit-validation'=>'yes', 'show-help-tip'=>'yes', 'help-string'=>'hex format xxxxxxxx[-xxxxxxxx]... total 8 sections'}} # hex format xxxxxxxx[-xxxxxxxx]... total 8 sections def key prop_get('key') end # hex format xxxxxxxx[-xxxxxxxx]... total 8 sections def key=(val) prop_set('key', val) end end def sha256 @subclasses['sha256'] ||= Sha256.new(parent_instance: self, client: @client, create_children: @create_children) end class Sha384 < ConfigClass def has_multiple_values?; false; end def _section :sha384 end @props = {'key'=>{'node-type'=>'element', 'maxlen'=>'255', 'type'=>'string', 'encrypt'=>'yes', 'skip-commit-validation'=>'yes', 'show-help-tip'=>'yes', 'help-string'=>'hex format xxxxxxxx[-xxxxxxxx]... total 12 sections'}} # hex format xxxxxxxx[-xxxxxxxx]... total 12 sections def key prop_get('key') end # hex format xxxxxxxx[-xxxxxxxx]... total 12 sections def key=(val) prop_set('key', val) end end def sha384 @subclasses['sha384'] ||= Sha384.new(parent_instance: self, client: @client, create_children: @create_children) end class Sha512 < ConfigClass def has_multiple_values?; false; end def _section :sha512 end @props = {'key'=>{'node-type'=>'element', 'maxlen'=>'255', 'type'=>'string', 'encrypt'=>'yes', 'skip-commit-validation'=>'yes', 'show-help-tip'=>'yes', 'help-string'=>'hex format xxxxxxxx[-xxxxxxxx]... total 16 sections'}} # hex format xxxxxxxx[-xxxxxxxx]... total 16 sections def key prop_get('key') end # hex format xxxxxxxx[-xxxxxxxx]... total 16 sections def key=(val) prop_set('key', val) end end def sha512 @subclasses['sha512'] ||= Sha512.new(parent_instance: self, client: @client, create_children: @create_children) end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def authentication @subclasses['authentication'] ||= Authentication.new(parent_instance: self, client: @client, create_children: @create_children) end class Encryption < ConfigClass def has_multiple_values?; false; end def _section :encryption end @props = {'algorithm'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Algorithm', 'type'=>'enum', 'enum'=>[{'value'=>'3des', 'prune-on'=>'cc-only-mode', 'help-string'=>'key is 192 bit'}, {'value'=>'aes-128-cbc', 'help-string'=>'key is 128 bit'}, {'value'=>'aes-192-cbc', 'help-string'=>'key is 192 bit'}, {'value'=>'aes-256-cbc', 'help-string'=>'key is 256 bit'}, {'value'=>'null', 'prune-on'=>'fips-mode'}]}, 'key'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Key', 'optional'=>'yes', 'maxlen'=>'255', 'type'=>'string', 'encrypt'=>'yes', 'skip-commit-validation'=>'yes', 'show-help-tip'=>'yes', 'help-string'=>'hex format xxxxxxxx[-xxxxxxxx]... total number of sections: 3des: 6, aes128: 4, aes192: 6, aes256: 8'}} def algorithm prop_get('algorithm') end def algorithm=(val) prop_set('algorithm', val) end # hex format xxxxxxxx[-xxxxxxxx]... total number of sections: 3des: 6, aes128: 4, aes192: 6, aes256: 8 def key prop_get('key') end # hex format xxxxxxxx[-xxxxxxxx]... total number of sections: 3des: 6, aes128: 4, aes192: 6, aes256: 8 def key=(val) prop_set('key', val) end end def encryption @subclasses['encryption'] ||= Encryption.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def esp @subclasses['esp'] ||= Esp.new(parent_instance: self, client: @client, create_children: @create_children) end class Ah < ConfigClass def has_multiple_values?; false; end def _section :ah end class Md5 < ConfigClass def has_multiple_values?; false; end def _section :md5 end @props = {'key'=>{'node-type'=>'element', 'maxlen'=>'255', 'type'=>'string', 'encrypt'=>'yes', 'skip-commit-validation'=>'yes', 'show-help-tip'=>'yes', 'help-string'=>'hex format xxxxxxxx[-xxxxxxxx]... total 4 sections'}} # hex format xxxxxxxx[-xxxxxxxx]... total 4 sections def key prop_get('key') end # hex format xxxxxxxx[-xxxxxxxx]... total 4 sections def key=(val) prop_set('key', val) end end def md5 @subclasses['md5'] ||= Md5.new(parent_instance: self, client: @client, create_children: @create_children) end class Sha1 < ConfigClass def has_multiple_values?; false; end def _section :sha1 end @props = {'key'=>{'node-type'=>'element', 'maxlen'=>'255', 'type'=>'string', 'encrypt'=>'yes', 'skip-commit-validation'=>'yes', 'show-help-tip'=>'yes', 'help-string'=>'hex format xxxxxxxx[-xxxxxxxx]... total 5 sections'}} # hex format xxxxxxxx[-xxxxxxxx]... total 5 sections def key prop_get('key') end # hex format xxxxxxxx[-xxxxxxxx]... total 5 sections def key=(val) prop_set('key', val) end end def sha1 @subclasses['sha1'] ||= Sha1.new(parent_instance: self, client: @client, create_children: @create_children) end class Sha256 < ConfigClass def has_multiple_values?; false; end def _section :sha256 end @props = {'key'=>{'node-type'=>'element', 'maxlen'=>'255', 'type'=>'string', 'encrypt'=>'yes', 'skip-commit-validation'=>'yes', 'show-help-tip'=>'yes', 'help-string'=>'hex format xxxxxxxx[-xxxxxxxx]... total 8 sections'}} # hex format xxxxxxxx[-xxxxxxxx]... total 8 sections def key prop_get('key') end # hex format xxxxxxxx[-xxxxxxxx]... total 8 sections def key=(val) prop_set('key', val) end end def sha256 @subclasses['sha256'] ||= Sha256.new(parent_instance: self, client: @client, create_children: @create_children) end class Sha384 < ConfigClass def has_multiple_values?; false; end def _section :sha384 end @props = {'key'=>{'node-type'=>'element', 'maxlen'=>'255', 'type'=>'string', 'encrypt'=>'yes', 'skip-commit-validation'=>'yes', 'show-help-tip'=>'yes', 'help-string'=>'hex format xxxxxxxx[-xxxxxxxx]... total 12 sections'}} # hex format xxxxxxxx[-xxxxxxxx]... total 12 sections def key prop_get('key') end # hex format xxxxxxxx[-xxxxxxxx]... total 12 sections def key=(val) prop_set('key', val) end end def sha384 @subclasses['sha384'] ||= Sha384.new(parent_instance: self, client: @client, create_children: @create_children) end class Sha512 < ConfigClass def has_multiple_values?; false; end def _section :sha512 end @props = {'key'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Key', 'maxlen'=>'255', 'type'=>'string', 'encrypt'=>'yes', 'skip-commit-validation'=>'yes', 'show-help-tip'=>'yes', 'help-string'=>'hex format xxxxxxxx[-xxxxxxxx]... total 16 sections'}} # hex format xxxxxxxx[-xxxxxxxx]... total 16 sections def key prop_get('key') end # hex format xxxxxxxx[-xxxxxxxx]... total 16 sections def key=(val) prop_set('key', val) end end def sha512 @subclasses['sha512'] ||= Sha512.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ah @subclasses['ah'] ||= Ah.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'uiHint-fieldLabel'=>'Name', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'regex'=>'^[a-zA-Z0-9._-]+$'}, 'spi'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'SPI', 'help-string'=>'SPI for both inbound and outbound SA, hex format xxxxxxxx.', 'type'=>'string', 'regex'=>'^([0-9a-fA-F]{8})$'}} def name prop_get('@name') end # SPI for both inbound and outbound SA, hex format xxxxxxxx. def spi prop_get('spi') end # SPI for both inbound and outbound SA, hex format xxxxxxxx. def spi=(val) prop_set('spi', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def auth_profile maybe_register_subclass('auth-profile', AuthProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class IfTimerProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'if-timer-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'regex'=>'^[a-zA-Z0-9._-]+$'}, 'hello-interval'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Hello Interval', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'10', 'help-string'=>'Interval (in seconds) to send Hello packets'}, 'dead-counts'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Dead Count', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'3', 'max'=>'20', 'default'=>'4', 'help-string'=>'number of lost hello packets to declare router down'}, 'retransmit-interval'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Retransmit Interval', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'1800', 'default'=>'5', 'help-string'=>'Interval (in seconds) to retransmit LSAs'}, 'transit-delay'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Transmit Delay', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'1800', 'default'=>'1', 'help-string'=>'Estimated delay (in seconds) to transmit LSAs'}, 'gr-delay'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Graceful Restart Hello Delay (sec)', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'10', 'default'=>'10', 'help-string'=>'Period (in seconds) used to send grace LSAs before first hello is sent when graceful restart starts'}} def name prop_get('@name') end # Interval (in seconds) to send Hello packets def hello_interval prop_get('hello-interval') end # Interval (in seconds) to send Hello packets def hello_interval=(val) prop_set('hello-interval', val) end # number of lost hello packets to declare router down def dead_counts prop_get('dead-counts') end # number of lost hello packets to declare router down def dead_counts=(val) prop_set('dead-counts', val) end # Interval (in seconds) to retransmit LSAs def retransmit_interval prop_get('retransmit-interval') end # Interval (in seconds) to retransmit LSAs def retransmit_interval=(val) prop_set('retransmit-interval', val) end # Estimated delay (in seconds) to transmit LSAs def transit_delay prop_get('transit-delay') end # Estimated delay (in seconds) to transmit LSAs def transit_delay=(val) prop_set('transit-delay', val) end # Period (in seconds) used to send grace LSAs before first hello is sent when graceful restart starts def gr_delay prop_get('gr-delay') end # Period (in seconds) used to send grace LSAs before first hello is sent when graceful restart starts def gr_delay=(val) prop_set('gr-delay', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def if_timer_profile maybe_register_subclass('if-timer-profile', IfTimerProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class SpfTimerProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'spf-timer-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'regex'=>'^[a-zA-Z0-9._-]+$'}, 'lsa-interval'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'LSA min-arrival', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'10', 'default'=>'5', 'help-string'=>'The minimum time in seconds between distinct originations of any particular LSA'}, 'spf-calculation-delay'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Initial delay', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'600', 'default'=>'5', 'help-string'=>'Delay in seconds before running the SPF algorithm'}, 'initial-hold-time'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Initial hold time', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'600', 'default'=>'5', 'help-string'=>'Initial hold time (second) between consecutive SPF calculations'}, 'max-hold-time'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Maximum hold time', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'600', 'default'=>'5', 'help-string'=>'Maximum hold time (second)'}} def name prop_get('@name') end # The minimum time in seconds between distinct originations of any particular LSA def lsa_interval prop_get('lsa-interval') end # The minimum time in seconds between distinct originations of any particular LSA def lsa_interval=(val) prop_set('lsa-interval', val) end # Delay in seconds before running the SPF algorithm def spf_calculation_delay prop_get('spf-calculation-delay') end # Delay in seconds before running the SPF algorithm def spf_calculation_delay=(val) prop_set('spf-calculation-delay', val) end # Initial hold time (second) between consecutive SPF calculations def initial_hold_time prop_get('initial-hold-time') end # Initial hold time (second) between consecutive SPF calculations def initial_hold_time=(val) prop_set('initial-hold-time', val) end # Maximum hold time (second) def max_hold_time prop_get('max-hold-time') end # Maximum hold time (second) def max_hold_time=(val) prop_set('max-hold-time', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def spf_timer_profile maybe_register_subclass('spf-timer-profile', SpfTimerProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class RedistributionProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'redistribution-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Static < ConfigClass def has_multiple_values?; false; end def _section :static end @props = {'enable'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Enable', 'type'=>'bool', 'default'=>'yes'}, 'metric'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Metric', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Set Metric (Field ignored if route-map configured).'}, 'metric-type'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Metric-Type', 'type'=>'enum', 'default'=>'type-2', 'optional'=>'no', 'help-string'=>'Set Metric-Type (Field ignored if route-map configured).', 'enum'=>[{'name'=>'type-1', 'value'=>'type-1', 'help-string'=>'Type-1'}, {'name'=>'type-2', 'value'=>'type-2', 'help-string'=>'Type-2'}]}, 'route-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Redistribute Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Apply Route-Map on Redistributed Routes'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Set Metric (Field ignored if route-map configured). def metric prop_get('metric') end # Set Metric (Field ignored if route-map configured). def metric=(val) prop_set('metric', val) end # Set Metric-Type (Field ignored if route-map configured). def metric_type prop_get('metric-type') end # Set Metric-Type (Field ignored if route-map configured). def metric_type=(val) prop_set('metric-type', val) end # Apply Route-Map on Redistributed Routes def route_map prop_get('route-map') end # Apply Route-Map on Redistributed Routes def route_map=(val) prop_set('route-map', val) end end def static @subclasses['static'] ||= Static.new(parent_instance: self, client: @client, create_children: @create_children) end class Connected < ConfigClass def has_multiple_values?; false; end def _section :connected end @props = {'enable'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Enable', 'type'=>'bool', 'default'=>'yes'}, 'metric'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Metric', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Set Metric (Field ignored if route-map configured).'}, 'metric-type'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Metric-Type', 'type'=>'enum', 'default'=>'type-2', 'optional'=>'no', 'help-string'=>'Set Metric-Type (Field ignored if route-map configured).', 'enum'=>[{'name'=>'type-1', 'value'=>'type-1', 'help-string'=>'Type-1'}, {'name'=>'type-2', 'value'=>'type-2', 'help-string'=>'Type-2'}]}, 'route-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Redistribute Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Apply Route-Map on Redistributed Routes'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Set Metric (Field ignored if route-map configured). def metric prop_get('metric') end # Set Metric (Field ignored if route-map configured). def metric=(val) prop_set('metric', val) end # Set Metric-Type (Field ignored if route-map configured). def metric_type prop_get('metric-type') end # Set Metric-Type (Field ignored if route-map configured). def metric_type=(val) prop_set('metric-type', val) end # Apply Route-Map on Redistributed Routes def route_map prop_get('route-map') end # Apply Route-Map on Redistributed Routes def route_map=(val) prop_set('route-map', val) end end def connected @subclasses['connected'] ||= Connected.new(parent_instance: self, client: @client, create_children: @create_children) end class Bgp < ConfigClass def has_multiple_values?; false; end def _section :bgp end @props = {'enable'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Enable', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable (default) or Disable'}, 'metric'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Metric', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Set Metric (Field ignored if route-map configured).'}, 'metric-type'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Metric-Type', 'type'=>'enum', 'default'=>'type-2', 'optional'=>'no', 'help-string'=>'Set Metric-Type (Field ignored if route-map configured).', 'enum'=>[{'name'=>'type-1', 'value'=>'type-1', 'help-string'=>'Type-1'}, {'name'=>'type-2', 'value'=>'type-2', 'help-string'=>'Type-2'}]}, 'route-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Redistribute Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Apply Route-Map on Redistributed Routes'}} # Enable (default) or Disable def enable prop_get('enable') end # Enable (default) or Disable def enable=(val) prop_set('enable', val) end # Set Metric (Field ignored if route-map configured). def metric prop_get('metric') end # Set Metric (Field ignored if route-map configured). def metric=(val) prop_set('metric', val) end # Set Metric-Type (Field ignored if route-map configured). def metric_type prop_get('metric-type') end # Set Metric-Type (Field ignored if route-map configured). def metric_type=(val) prop_set('metric-type', val) end # Apply Route-Map on Redistributed Routes def route_map prop_get('route-map') end # Apply Route-Map on Redistributed Routes def route_map=(val) prop_set('route-map', val) end end def bgp @subclasses['bgp'] ||= Bgp.new(parent_instance: self, client: @client, create_children: @create_children) end class DefaultRoute < ConfigClass def has_multiple_values?; false; end def _section :'default-route' end @props = {'always'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Always', 'optional'=>'no', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Generate default route if it doesn\'t exist'}, 'enable'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Enable', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable (default) or Disable'}, 'metric'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Metric', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Set Metric'}, 'metric-type'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Metric-Type', 'type'=>'enum', 'default'=>'type-2', 'optional'=>'no', 'help-string'=>'Set Metric-Type', 'enum'=>[{'name'=>'type-1', 'value'=>'type-1', 'help-string'=>'Type-1'}, {'name'=>'type-2', 'value'=>'type-2', 'help-string'=>'Type-2'}]}} # Generate default route if it doesn't exist def always prop_get('always') end # Generate default route if it doesn't exist def always=(val) prop_set('always', val) end # Enable (default) or Disable def enable prop_get('enable') end # Enable (default) or Disable def enable=(val) prop_set('enable', val) end # Set Metric def metric prop_get('metric') end # Set Metric def metric=(val) prop_set('metric', val) end # Set Metric-Type def metric_type prop_get('metric-type') end # Set Metric-Type def metric_type=(val) prop_set('metric-type', val) end end def default_route @subclasses['default-route'] ||= DefaultRoute.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'uiHint-fieldLabel'=>'Name', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'help-string'=>'Profile Name', 'regex'=>'^[a-zA-Z0-9._-]+$'}} # Profile Name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def redistribution_profile maybe_register_subclass('redistribution-profile', RedistributionProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def ospfv3 @subclasses['ospfv3'] ||= Ospfv3.new(parent_instance: self, client: @client, create_children: @create_children) end class Filters < ConfigClass def has_multiple_values?; false; end def _section :filters end class AccessList < XML::ConfigClass def has_multiple_values?; true; end def _section :'access-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Ipv4 < ConfigClass def has_multiple_values?; false; end def _section :ipv4 end class Ipv4Entry < XML::ConfigClass def has_multiple_values?; true; end def _section :'ipv4-entry' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SourceAddress < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-address' end class Entry < ConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'address'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'Configure IPv4 Source Address', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'wildcard'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'Configure IPv4 Source Wildcard', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # Configure IPv4 Source Address def address prop_get('address') end # Configure IPv4 Source Address def address=(val) prop_set('address', val) end # Configure IPv4 Source Wildcard def wildcard prop_get('wildcard') end # Configure IPv4 Source Wildcard def wildcard=(val) prop_set('wildcard', val) end end def entry @subclasses['entry'] ||= Entry.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'address'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'any', 'optional'=>'yes', 'help-string'=>'Select pre-defined Source Address', 'enum'=>[{'name'=>'any', 'value'=>'any', 'optional'=>'yes', 'help-string'=>'Any Source Address'}]}} # Select pre-defined Source Address def address prop_get('address') end # Select pre-defined Source Address def address=(val) prop_set('address', val) end end def source_address maybe_register_subclass('source-address', SourceAddress.new(parent_instance: self, client: @client, create_children: @create_children)) end class DestinationAddress < XML::ConfigClass def has_multiple_values?; true; end def _section :'destination-address' end class Entry < ConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'address'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'Configure IPv4 Destination Address', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'wildcard'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'Configure IPv4 Destination Wildcard', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # Configure IPv4 Destination Address def address prop_get('address') end # Configure IPv4 Destination Address def address=(val) prop_set('address', val) end # Configure IPv4 Destination Wildcard def wildcard prop_get('wildcard') end # Configure IPv4 Destination Wildcard def wildcard=(val) prop_set('wildcard', val) end end def entry @subclasses['entry'] ||= Entry.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'address'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'any', 'optional'=>'yes', 'help-string'=>'Select pre-defined Destination Address', 'enum'=>[{'name'=>'any', 'value'=>'any', 'optional'=>'yes', 'help-string'=>'Any Destination Address'}]}} # Select pre-defined Destination Address def address prop_get('address') end # Select pre-defined Destination Address def address=(val) prop_set('address', val) end end def destination_address maybe_register_subclass('destination-address', DestinationAddress.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Unique Sequence Number between <1-65535>'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'deny', 'optional'=>'yes', 'help-string'=>'Permit or Deny (default) this Access-List Entry', 'enum'=>[{'name'=>'deny', 'value'=>'deny', 'help-string'=>'Specify to Deny Access-List Entry'}, {'name'=>'permit', 'value'=>'permit', 'help-string'=>'Specify to Permit Access-List Entry'}]}} # Unique Sequence Number between <1-65535> def name prop_get('@name') end # Permit or Deny (default) this Access-List Entry def action prop_get('action') end # Permit or Deny (default) this Access-List Entry def action=(val) prop_set('action', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ipv4_entry maybe_register_subclass('ipv4-entry', Ipv4Entry.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def ipv4 @subclasses['ipv4'] ||= Ipv4.new(parent_instance: self, client: @client, create_children: @create_children) end class Ipv6 < ConfigClass def has_multiple_values?; false; end def _section :ipv6 end class Ipv6Entry < XML::ConfigClass def has_multiple_values?; true; end def _section :'ipv6-entry' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SourceAddress < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-address' end class Entry < ConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'address'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'Configure IPv6 Access-List Address', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes', 'ipv6-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'exact-match'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Exact Match of this address'}} # Configure IPv6 Access-List Address def address prop_get('address') end # Configure IPv6 Access-List Address def address=(val) prop_set('address', val) end # Exact Match of this address def exact_match prop_get('exact-match') end # Exact Match of this address def exact_match=(val) prop_set('exact-match', val) end end def entry @subclasses['entry'] ||= Entry.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'address'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'any', 'optional'=>'yes', 'help-string'=>'Select pre-defined Source Address', 'enum'=>[{'name'=>'any', 'value'=>'any', 'help-string'=>'Select Any Source Address'}]}} # Select pre-defined Source Address def address prop_get('address') end # Select pre-defined Source Address def address=(val) prop_set('address', val) end end def source_address maybe_register_subclass('source-address', SourceAddress.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Unique Sequence Number between <1-65535>'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'deny', 'optional'=>'yes', 'help-string'=>'Permit or Deny (default) this Access-List Entry', 'enum'=>[{'name'=>'deny', 'value'=>'deny', 'help-string'=>'Specify to Deny Access-List Entry'}, {'name'=>'permit', 'value'=>'permit', 'help-string'=>'Specify to Permit Access-List Entry'}]}} # Unique Sequence Number between <1-65535> def name prop_get('@name') end # Permit or Deny (default) this Access-List Entry def action prop_get('action') end # Permit or Deny (default) this Access-List Entry def action=(val) prop_set('action', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ipv6_entry maybe_register_subclass('ipv6-entry', Ipv6Entry.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def ipv6 @subclasses['ipv6'] ||= Ipv6.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'regex'=>'^[a-zA-Z0-9._-]+$', 'help-string'=>'Access-List Name - alphanumeric string [0-9a-zA-Z._-]'}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'optional'=>'yes', 'help-string'=>'Describe Access-List', 'regex'=>'^[ a-zA-Z0-9._-]+$'}} # Access-List Name - alphanumeric string [0-9a-zA-Z._-] def name prop_get('@name') end # Describe Access-List def description prop_get('description') end # Describe Access-List def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def access_list maybe_register_subclass('access-list', AccessList.new(parent_instance: self, client: @client, create_children: @create_children)) end class PrefixList < XML::ConfigClass def has_multiple_values?; true; end def _section :'prefix-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Ipv4 < ConfigClass def has_multiple_values?; false; end def _section :ipv4 end class Ipv4Entry < XML::ConfigClass def has_multiple_values?; true; end def _section :'ipv4-entry' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Prefix < XML::ConfigClass def has_multiple_values?; true; end def _section :prefix end class Entry < ConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'network'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes', 'ipv4-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'greater-than-or-equal'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'32', 'help-string'=>'Maximum Prefix length to be matched'}, 'less-than-or-equal'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'32', 'help-string'=>'Minimum Prefix length to be matched'}} def network prop_get('network') end def network=(val) prop_set('network', val) end # Maximum Prefix length to be matched def greater_than_or_equal prop_get('greater-than-or-equal') end # Maximum Prefix length to be matched def greater_than_or_equal=(val) prop_set('greater-than-or-equal', val) end # Minimum Prefix length to be matched def less_than_or_equal prop_get('less-than-or-equal') end # Minimum Prefix length to be matched def less_than_or_equal=(val) prop_set('less-than-or-equal', val) end end def entry @subclasses['entry'] ||= Entry.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'network'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'any', 'optional'=>'yes', 'help-string'=>'Select pre-defined Prefix', 'enum'=>[{'name'=>'any', 'value'=>'any', 'help-string'=>'Select Any Prefix'}]}} # Select pre-defined Prefix def network prop_get('network') end # Select pre-defined Prefix def network=(val) prop_set('network', val) end end def prefix maybe_register_subclass('prefix', Prefix.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Unique Sequence Number between <1-65535>'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'deny', 'optional'=>'yes', 'help-string'=>'Permit or Deny (default) this Prefix-List Entry', 'enum'=>[{'name'=>'deny', 'value'=>'deny', 'help-string'=>'Specify to Deny Prefix-List Entry'}, {'name'=>'permit', 'value'=>'permit', 'help-string'=>'Specify to Permit Prefix-List Entry'}]}} # Unique Sequence Number between <1-65535> def name prop_get('@name') end # Permit or Deny (default) this Prefix-List Entry def action prop_get('action') end # Permit or Deny (default) this Prefix-List Entry def action=(val) prop_set('action', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ipv4_entry maybe_register_subclass('ipv4-entry', Ipv4Entry.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def ipv4 @subclasses['ipv4'] ||= Ipv4.new(parent_instance: self, client: @client, create_children: @create_children) end class Ipv6 < ConfigClass def has_multiple_values?; false; end def _section :ipv6 end class Ipv6Entry < XML::ConfigClass def has_multiple_values?; true; end def _section :'ipv6-entry' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Prefix < XML::ConfigClass def has_multiple_values?; true; end def _section :prefix end class Entry < ConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'network'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes', 'ipv6-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'greater-than-or-equal'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'128', 'help-string'=>'Maximum Prefix length to be matched'}, 'less-than-or-equal'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'128', 'help-string'=>'Minimum Prefix length to be matched'}} def network prop_get('network') end def network=(val) prop_set('network', val) end # Maximum Prefix length to be matched def greater_than_or_equal prop_get('greater-than-or-equal') end # Maximum Prefix length to be matched def greater_than_or_equal=(val) prop_set('greater-than-or-equal', val) end # Minimum Prefix length to be matched def less_than_or_equal prop_get('less-than-or-equal') end # Minimum Prefix length to be matched def less_than_or_equal=(val) prop_set('less-than-or-equal', val) end end def entry @subclasses['entry'] ||= Entry.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'network'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'any', 'optional'=>'yes', 'help-string'=>'Select pre-defined Prefix', 'enum'=>[{'name'=>'any', 'value'=>'any', 'help-string'=>' Select Any Prefix'}]}} # Select pre-defined Prefix def network prop_get('network') end # Select pre-defined Prefix def network=(val) prop_set('network', val) end end def prefix maybe_register_subclass('prefix', Prefix.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Unique Sequence Number between <1-65535>'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'deny', 'optional'=>'yes', 'help-string'=>'Permit or Deny (default) this Prefix-List Entry', 'enum'=>[{'name'=>'deny', 'value'=>'deny', 'help-string'=>'Specify to Deny Prefix-List Entry'}, {'name'=>'permit', 'value'=>'permit', 'help-string'=>'Specify to Permit Prefix-List Entry'}]}} # Unique Sequence Number between <1-65535> def name prop_get('@name') end # Permit or Deny (default) this Prefix-List Entry def action prop_get('action') end # Permit or Deny (default) this Prefix-List Entry def action=(val) prop_set('action', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ipv6_entry maybe_register_subclass('ipv6-entry', Ipv6Entry.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def ipv6 @subclasses['ipv6'] ||= Ipv6.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'regex'=>'^[a-zA-Z0-9._-]+$', 'help-string'=>'Prefix-List Name - alphanumeric string [0-9a-zA-Z._-]'}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'optional'=>'yes', 'help-string'=>'Describe Prefix-List', 'regex'=>'^[ a-zA-Z0-9._-]+$'}} # Prefix-List Name - alphanumeric string [0-9a-zA-Z._-] def name prop_get('@name') end # Describe Prefix-List def description prop_get('description') end # Describe Prefix-List def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def prefix_list maybe_register_subclass('prefix-list', PrefixList.new(parent_instance: self, client: @client, create_children: @create_children)) end class AsPathAccessList < XML::ConfigClass def has_multiple_values?; true; end def _section :'as-path-access-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class AspathEntry < XML::ConfigClass def has_multiple_values?; true; end def _section :'aspath-entry' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Unique Sequence Number between <1-65535>'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'deny', 'optional'=>'yes', 'help-string'=>'Permit or Deny (default) this BGP AS-Path Access-List Entry', 'enum'=>[{'name'=>'deny', 'value'=>'deny', 'help-string'=>'Specify to Deny AS-Path Access-List Entry'}, {'name'=>'permit', 'value'=>'permit', 'help-string'=>'Specify to Permit AS-Path Access-List'}]}, 'aspath-regex'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'512', 'help-string'=>'Set regular-expression (1234567890_^|[,{}()]$*+.?-\) to match the BGP AS path'}} # Unique Sequence Number between <1-65535> def name prop_get('@name') end # Permit or Deny (default) this BGP AS-Path Access-List Entry def action prop_get('action') end # Permit or Deny (default) this BGP AS-Path Access-List Entry def action=(val) prop_set('action', val) end # Set regular-expression (1234567890_^|[,{}()]$*+.?-\) to match the BGP AS path def aspath_regex prop_get('aspath-regex') end # Set regular-expression (1234567890_^|[,{}()]$*+.?-\) to match the BGP AS path def aspath_regex=(val) prop_set('aspath-regex', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def aspath_entry maybe_register_subclass('aspath-entry', AspathEntry.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'regex'=>'^[a-zA-Z0-9._-]+$', 'help-string'=>' BGP AS-Path Access-List Name - alphanumeric string [ 0-9a-zA-Z._-]'}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1024', 'optional'=>'yes', 'regex'=>'^[ a-zA-Z0-9._-]+$', 'help-string'=>'Describe BGP AS-Path Access-List'}} # BGP AS-Path Access-List Name - alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # Describe BGP AS-Path Access-List def description prop_get('description') end # Describe BGP AS-Path Access-List def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def as_path_access_list maybe_register_subclass('as-path-access-list', AsPathAccessList.new(parent_instance: self, client: @client, create_children: @create_children)) end class CommunityList < XML::ConfigClass def has_multiple_values?; true; end def _section :'community-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Regular < ConfigClass def has_multiple_values?; false; end def _section :regular end class RegularEntry < XML::ConfigClass def has_multiple_values?; true; end def _section :'regular-entry' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Community < XML::ConfigClass def has_multiple_values?; true; end def _section :community end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'max-count'=>'16', 'multi-types'=>{'string'=>{'maxlen'=>'256', 'help-string'=>'Set using regex characters (1234567890_^|[,{}()]$*+.?-\) or Number in AA:NN format (where AA and NN are between (0-65535)'}, 'enum'=>[{'name'=>'blackhole', 'value'=>'blackhole', 'uiHint-fieldLabel'=>'Blackhole', 'help-string'=>'Represents well-known community value BLACKHOLE (0xFFFF029A)'}, {'name'=>'no-peer', 'value'=>'no-peer', 'uiHint-fieldLabel'=>'No Peer', 'help-string'=>'Represents well-known community value NOPEER (0xFFFFFF04)'}, {'name'=>'graceful-shutdown', 'value'=>'graceful-shutdown', 'uiHint-fieldLabel'=>'Graceful Shutdown', 'help-string'=>'Represents well-known community value GRACEFUL_SHUTDOWN (0xFFFF0000)'}, {'name'=>'accept-own', 'value'=>'accept-own', 'uiHint-fieldLabel'=>'Accept Own', 'help-string'=>'Represents well-known community value ACCEPT_OWN (0xFFFF0001)'}, {'name'=>'local-as', 'value'=>'local-as', 'uiHint-fieldLabel'=>'Local AS', 'help-string'=>'Represents well-known community value NO_EXPORT_SUBCONFED (0xFFFFFF03)'}, {'name'=>'route-filter-v4', 'value'=>'route-filter-v4', 'uiHint-fieldLabel'=>'Route Filter-v4', 'help-string'=>'Represents well-known community value ROUTE_FILTER_v4 (0xFFFF0003)'}, {'name'=>'route-filter-v6', 'value'=>'route-filter-v6', 'uiHint-fieldLabel'=>'Route Filter-v6', 'help-string'=>'Represents well-known community value ROUTE_FILTER_v6 (0xFFFF0005)'}, {'name'=>'no-advertise', 'value'=>'no-advertise', 'uiHint-fieldLabel'=>'No Advertise', 'help-string'=>'Represents well-known community value NO_ADVERTISE (0xFFFFFF02)'}, {'name'=>'no-export', 'value'=>'no-export', 'uiHint-fieldLabel'=>'No Export', 'help-string'=>'Represents well-known community value NO_EXPORT (0xFFFFFF01)'}, {'name'=>'internet', 'value'=>'internet', 'uiHint-fieldLabel'=>'Internet', 'help-string'=>'Represents well-known community value 0 (0x00)'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def community maybe_register_subclass('community', Community.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Unique Sequence Number between <1-65535>'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'deny', 'optional'=>'yes', 'help-string'=>'Permit or Deny (default) this Regular Community-List Entry', 'enum'=>[{'name'=>'deny', 'value'=>'deny', 'help-string'=>'Specify to Deny Community-List Entry'}, {'name'=>'permit', 'value'=>'permit', 'help-string'=>'Specify to Permit Community-List Entry'}]}} # Unique Sequence Number between <1-65535> def name prop_get('@name') end # Permit or Deny (default) this Regular Community-List Entry def action prop_get('action') end # Permit or Deny (default) this Regular Community-List Entry def action=(val) prop_set('action', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def regular_entry maybe_register_subclass('regular-entry', RegularEntry.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def regular @subclasses['regular'] ||= Regular.new(parent_instance: self, client: @client, create_children: @create_children) end class Large < ConfigClass def has_multiple_values?; false; end def _section :large end class LargeEntry < XML::ConfigClass def has_multiple_values?; true; end def _section :'large-entry' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class LcRegex < XML::ConfigClass def has_multiple_values?; true; end def _section :'lc-regex' end @props = {'member'=>{'node-type'=>'element', 'max-count'=>'8', 'type'=>'string', 'maxlen'=>'512', 'help-string'=>'Set regex using characters (1234567890_^|[,{}()]$*+.?-\) separated by \':\' in format {regex1:regex2:regex3}'}} # Set regex using characters (1234567890_^|[,{}()]$*+.?-\) separated by ':' in format {regex1:regex2:regex3} def member prop_get('member') end # Set regex using characters (1234567890_^|[,{}()]$*+.?-\) separated by ':' in format {regex1:regex2:regex3} def member=(val) prop_set('member', val) end end def lc_regex maybe_register_subclass('lc-regex', LcRegex.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Unique Sequence Number between <1-65535>'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'deny', 'optional'=>'yes', 'help-string'=>'Permit or Deny (default) this Large Community-List Entry', 'enum'=>[{'name'=>'deny', 'value'=>'deny', 'help-string'=>'Specify to Deny Community-List Entry'}, {'name'=>'permit', 'value'=>'permit', 'help-string'=>'Specify to Permit Community-List Entry'}]}} # Unique Sequence Number between <1-65535> def name prop_get('@name') end # Permit or Deny (default) this Large Community-List Entry def action prop_get('action') end # Permit or Deny (default) this Large Community-List Entry def action=(val) prop_set('action', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def large_entry maybe_register_subclass('large-entry', LargeEntry.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def large @subclasses['large'] ||= Large.new(parent_instance: self, client: @client, create_children: @create_children) end class Extended < ConfigClass def has_multiple_values?; false; end def _section :extended end class ExtendedEntry < XML::ConfigClass def has_multiple_values?; true; end def _section :'extended-entry' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class EcRegex < XML::ConfigClass def has_multiple_values?; true; end def _section :'ec-regex' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'max-count'=>'8', 'maxlen'=>'512', 'help-string'=>'Set regex using characters (1234567890_^|[,{}()]$*+.?-\) separated by \':\' in format {regex1:regex2}'}} # Set regex using characters (1234567890_^|[,{}()]$*+.?-\) separated by ':' in format {regex1:regex2} def member prop_get('member') end # Set regex using characters (1234567890_^|[,{}()]$*+.?-\) separated by ':' in format {regex1:regex2} def member=(val) prop_set('member', val) end end def ec_regex maybe_register_subclass('ec-regex', EcRegex.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Unique Sequence Number between <1-65535>'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'deny', 'optional'=>'yes', 'help-string'=>'Permit or Deny (default) this Extended Community-List Entry', 'enum'=>[{'name'=>'deny', 'value'=>'deny', 'help-string'=>'Specify to Deny Community-List Entry'}, {'name'=>'permit', 'value'=>'permit', 'help-string'=>'Specify to Permit Community-List Entry'}]}} # Unique Sequence Number between <1-65535> def name prop_get('@name') end # Permit or Deny (default) this Extended Community-List Entry def action prop_get('action') end # Permit or Deny (default) this Extended Community-List Entry def action=(val) prop_set('action', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def extended_entry maybe_register_subclass('extended-entry', ExtendedEntry.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def extended @subclasses['extended'] ||= Extended.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'regex'=>'^[a-zA-Z0-9._-]+$', 'help-string'=>'Community List Name - alphanumeric string [0-9a-zA-Z._-]'}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1024', 'optional'=>'yes', 'regex'=>'^[ a-zA-Z0-9._-]+$', 'help-string'=>'Describe BGP Community-List'}} # Community List Name - alphanumeric string [0-9a-zA-Z._-] def name prop_get('@name') end # Describe BGP Community-List def description prop_get('description') end # Describe BGP Community-List def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def community_list maybe_register_subclass('community-list', CommunityList.new(parent_instance: self, client: @client, create_children: @create_children)) end class RouteMaps < ConfigClass def has_multiple_values?; false; end def _section :'route-maps' end class Bgp < ConfigClass def has_multiple_values?; false; end def _section :bgp end class BgpEntry < XML::ConfigClass def has_multiple_values?; true; end def _section :'bgp-entry' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class RouteMap < XML::ConfigClass def has_multiple_values?; true; end def _section :'route-map' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Match < ConfigClass def has_multiple_values?; false; end def _section :match end class Ipv4 < ConfigClass def has_multiple_values?; false; end def _section :ipv4 end class Address < ConfigClass def has_multiple_values?; false; end def _section :address end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def address @subclasses['address'] ||= Address.new(parent_instance: self, client: @client, create_children: @create_children) end class NextHop < ConfigClass def has_multiple_values?; false; end def _section :'next-hop' end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def next_hop @subclasses['next-hop'] ||= NextHop.new(parent_instance: self, client: @client, create_children: @create_children) end class RouteSource < ConfigClass def has_multiple_values?; false; end def _section :'route-source' end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def route_source @subclasses['route-source'] ||= RouteSource.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ipv4 @subclasses['ipv4'] ||= Ipv4.new(parent_instance: self, client: @client, create_children: @create_children) end class Ipv6 < ConfigClass def has_multiple_values?; false; end def _section :ipv6 end class Address < ConfigClass def has_multiple_values?; false; end def _section :address end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def address @subclasses['address'] ||= Address.new(parent_instance: self, client: @client, create_children: @create_children) end class NextHop < ConfigClass def has_multiple_values?; false; end def _section :'next-hop' end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def next_hop @subclasses['next-hop'] ||= NextHop.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ipv6 @subclasses['ipv6'] ||= Ipv6.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'as-path-access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'AS Path Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'AS Path Access List Name'}, 'regular-community'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Regular Community', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Regular Community Name'}, 'large-community'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Large Community', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Large Community Name'}, 'extended-community'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Extended Community', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Extended Community Name'}, 'interface'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Interface', 'type'=>'string', 'maxlen'=>'64', 'optional'=>'yes', 'help-string'=>'Match Interface of the route'}, 'origin'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'help-string'=>'Match origin', 'enum'=>[{'name'=>'none', 'value'=>'none'}, {'name'=>'egp', 'value'=>'egp', 'help-string'=>'route originated from EGP'}, {'name'=>'igp', 'value'=>'igp', 'help-string'=>'route originated from IGP'}, {'name'=>'incomplete', 'value'=>'incomplete'}]}, 'metric'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Match Metric (BGP MED) of route'}, 'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Match Tag of route'}, 'local-preference'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Match Local Preference of route'}, 'peer'=>{'node-type'=>'element', 'type'=>'multiple', 'uiHint-fieldLabel'=>'Peer', 'optional'=>'yes', 'help-string'=>'Match Peer Address', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'name'=>'none', 'value'=>'none'}, {'name'=>'local', 'value'=>'local', 'help-string'=>'Static or Redistributed routes'}]}}} # AS Path Access List Name def as_path_access_list prop_get('as-path-access-list') end # AS Path Access List Name def as_path_access_list=(val) prop_set('as-path-access-list', val) end # Regular Community Name def regular_community prop_get('regular-community') end # Regular Community Name def regular_community=(val) prop_set('regular-community', val) end # Large Community Name def large_community prop_get('large-community') end # Large Community Name def large_community=(val) prop_set('large-community', val) end # Extended Community Name def extended_community prop_get('extended-community') end # Extended Community Name def extended_community=(val) prop_set('extended-community', val) end # Match Interface of the route def interface prop_get('interface') end # Match Interface of the route def interface=(val) prop_set('interface', val) end # Match origin def origin prop_get('origin') end # Match origin def origin=(val) prop_set('origin', val) end # Match Metric (BGP MED) of route def metric prop_get('metric') end # Match Metric (BGP MED) of route def metric=(val) prop_set('metric', val) end # Match Tag of route def tag prop_get('tag') end # Match Tag of route def tag=(val) prop_set('tag', val) end # Match Local Preference of route def local_preference prop_get('local-preference') end # Match Local Preference of route def local_preference=(val) prop_set('local-preference', val) end # Match Peer Address def peer prop_get('peer') end # Match Peer Address def peer=(val) prop_set('peer', val) end end def match @subclasses['match'] ||= Match.new(parent_instance: self, client: @client, create_children: @create_children) end class Set < ConfigClass def has_multiple_values?; false; end def _section :set end class Aggregator < ConfigClass def has_multiple_values?; false; end def _section :aggregator end @props = {'as'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Aggregator AS', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'help-string'=>'Set BGP Aggregator AS <1-4294967295>'}, 'router-id'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Router ID', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'Set BGP Aggregator Router ID', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # Set BGP Aggregator AS <1-4294967295> def as prop_get('as') end # Set BGP Aggregator AS <1-4294967295> def as=(val) prop_set('as', val) end # Set BGP Aggregator Router ID def router_id prop_get('router-id') end # Set BGP Aggregator Router ID def router_id=(val) prop_set('router-id', val) end end def aggregator @subclasses['aggregator'] ||= Aggregator.new(parent_instance: self, client: @client, create_children: @create_children) end class Metric < ConfigClass def has_multiple_values?; false; end def _section :metric end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'uiHint-fieldLabel'=>'Metric Value', 'help-string'=>'Set Metric value (BGP MED) of route'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'uiHint-fieldLabel'=>'Metric Action', 'help-string'=>'Set Metric action (BGP MED) of route', 'enum'=>[{'name'=>'set', 'value'=>'set', 'help-string'=>'Set(=) metric to this value'}, {'name'=>'add', 'value'=>'add', 'help-string'=>'Increase(+) current metric'}, {'name'=>'subtract', 'value'=>'subtract', 'help-string'=>'Decrease(-) current metric'}]}} # Set Metric value (BGP MED) of route def value prop_get('value') end # Set Metric value (BGP MED) of route def value=(val) prop_set('value', val) end # Set Metric action (BGP MED) of route def action prop_get('action') end # Set Metric action (BGP MED) of route def action=(val) prop_set('action', val) end end def metric @subclasses['metric'] ||= Metric.new(parent_instance: self, client: @client, create_children: @create_children) end class AspathPrepend < XML::ConfigClass def has_multiple_values?; true; end def _section :'aspath-prepend' end @props = {'member'=>{'node-type'=>'element', 'type'=>'rangedint', 'max-count'=>'16', 'min'=>'1', 'max'=>'4294967295', 'help-string'=>'Specify AS-Path'}} # Specify AS-Path def member prop_get('member') end # Specify AS-Path def member=(val) prop_set('member', val) end end def aspath_prepend maybe_register_subclass('aspath-prepend', AspathPrepend.new(parent_instance: self, client: @client, create_children: @create_children)) end class RegularCommunity < XML::ConfigClass def has_multiple_values?; true; end def _section :'regular-community' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Set Regular Community', 'max-count'=>'16', 'multi-types'=>{'string'=>{'regex'=>'^[0-9]+:[0-9]+$', 'minlen'=>'3', 'maxlen'=>'11', 'uiHint-fieldLabel'=>'Regex', 'help-string'=>'Community Number in AA:NN format (where AA and NN are between (0-65535))'}, 'enum'=>[{'name'=>'none', 'value'=>'none', 'uiHint-fieldLabel'=>'None'}, {'name'=>'blackhole', 'value'=>'blackhole', 'uiHint-fieldLabel'=>'Blackhole', 'help-string'=>'Represents well-known community value BLACKHOLE (0xFFFF029A)'}, {'name'=>'no-peer', 'value'=>'no-peer', 'uiHint-fieldLabel'=>'No Peer', 'help-string'=>'Represents well-known community value NOPEER (0xFFFFFF04)'}, {'name'=>'graceful-shutdown', 'value'=>'graceful-shutdown', 'uiHint-fieldLabel'=>'Graceful Shutdown', 'help-string'=>'Represents well-known community value GRACEFUL_SHUTDOWN (0xFFFF0000)'}, {'name'=>'accept-own', 'value'=>'accept-own', 'uiHint-fieldLabel'=>'Accept Own', 'help-string'=>'Represents well-known community value ACCEPT_OWN (0xFFFF0001)'}, {'name'=>'local-as', 'value'=>'local-as', 'uiHint-fieldLabel'=>'Local AS', 'help-string'=>'Represents well-known community value NO_EXPORT_SUBCONFED (0xFFFFFF03)'}, {'name'=>'route-filter-v4', 'value'=>'route-filter-v4', 'uiHint-fieldLabel'=>'Route Filter-v4', 'help-string'=>'Represents well-known community value ROUTE_FILTER_v4 (0xFFFF0003)'}, {'name'=>'route-filter-v6', 'value'=>'route-filter-v6', 'uiHint-fieldLabel'=>'Route Filter-v6', 'help-string'=>'Represents well-known community value ROUTE_FILTER_v6 (0xFFFF0005)'}, {'name'=>'no-advertise', 'value'=>'no-advertise', 'uiHint-fieldLabel'=>'No Advertise', 'help-string'=>'Represents well-known community value NO_ADVERTISE (0xFFFFFF02)'}, {'name'=>'no-export', 'value'=>'no-export', 'uiHint-fieldLabel'=>'No Export', 'help-string'=>'Represents well-known community value NO_EXPORT (0xFFFFFF01)'}, {'name'=>'internet', 'value'=>'internet', 'uiHint-fieldLabel'=>'Internet', 'help-string'=>'Represents well-known community value 0 (0x00)'}]}}} # Set Regular Community def member prop_get('member') end # Set Regular Community def member=(val) prop_set('member', val) end end def regular_community maybe_register_subclass('regular-community', RegularCommunity.new(parent_instance: self, client: @client, create_children: @create_children)) end class LargeCommunity < XML::ConfigClass def has_multiple_values?; true; end def _section :'large-community' end @props = {'member'=>{'node-type'=>'element', 'max-count'=>'8', 'type'=>'string', 'regex'=>'^[0-9]{1,10}:[0-9]{1,10}:[0-9]{1,10}$', 'minlen'=>'5', 'maxlen'=>'35', 'help-string'=>'Large Community in AA:BB:CC format (where AA, BB and CC are between (0-4294967295))'}} # Large Community in AA:BB:CC format (where AA, BB and CC are between (0-4294967295)) def member prop_get('member') end # Large Community in AA:BB:CC format (where AA, BB and CC are between (0-4294967295)) def member=(val) prop_set('member', val) end end def large_community maybe_register_subclass('large-community', LargeCommunity.new(parent_instance: self, client: @client, create_children: @create_children)) end class ExtendedCommunity < XML::ConfigClass def has_multiple_values?; true; end def _section :'extended-community' end @props = {'member'=>{'node-type'=>'element', 'max-count'=>'8', 'type'=>'string', 'regex'=>'^(target|origin):[0-9]{1,10}:[0-9]{1,10}$', 'minlen'=>'5', 'maxlen'=>'35', 'help-string'=>'Extended Community in TYPE:IP_ADDR:NN OR TYPE:AA:NN format (where AA and NN are between (0-65535) and TYPE is target or origin)'}} # Extended Community in TYPE:IP_ADDR:NN OR TYPE:AA:NN format (where AA and NN are between (0-65535) and TYPE is target or origin) def member prop_get('member') end # Extended Community in TYPE:IP_ADDR:NN OR TYPE:AA:NN format (where AA and NN are between (0-65535) and TYPE is target or origin) def member=(val) prop_set('member', val) end end def extended_community maybe_register_subclass('extended-community', ExtendedCommunity.new(parent_instance: self, client: @client, create_children: @create_children)) end class Ipv4 < ConfigClass def has_multiple_values?; false; end def _section :ipv4 end @props = {'source-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'128', 'help-string'=>'Set Source IPv4 Address'}, 'next-hop'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'uiHint-fieldLabel'=>'IPv4 Next-Hop', 'help-string'=>'Set IPv4 Next-Hop Address', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes'}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'name'=>'none', 'value'=>'none'}, {'name'=>'unchanged', 'value'=>'unchanged'}, {'name'=>'peer-address', 'value'=>'peer-address', 'help-string'=>'Use Peer Address'}]}}} # Set Source IPv4 Address def source_address prop_get('source-address') end # Set Source IPv4 Address def source_address=(val) prop_set('source-address', val) end # Set IPv4 Next-Hop Address def next_hop prop_get('next-hop') end # Set IPv4 Next-Hop Address def next_hop=(val) prop_set('next-hop', val) end end def ipv4 @subclasses['ipv4'] ||= Ipv4.new(parent_instance: self, client: @client, create_children: @create_children) end class Ipv6 < ConfigClass def has_multiple_values?; false; end def _section :ipv6 end @props = {'source-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'128', 'help-string'=>'Set Source IPv6 Address'}, 'next-hop'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'uiHint-fieldLabel'=>'IPv6 Next-Hop', 'help-string'=>'Set IPv6 Next-Hop Address', 'multi-types'=>{'ipspec'=>{'ipv6-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes'}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'name'=>'none', 'value'=>'none'}, {'name'=>'peer-address', 'value'=>'peer-address', 'help-string'=>'Use Peer Address'}]}}} # Set Source IPv6 Address def source_address prop_get('source-address') end # Set Source IPv6 Address def source_address=(val) prop_set('source-address', val) end # Set IPv6 Next-Hop Address def next_hop prop_get('next-hop') end # Set IPv6 Next-Hop Address def next_hop=(val) prop_set('next-hop', val) end end def ipv6 @subclasses['ipv6'] ||= Ipv6.new(parent_instance: self, client: @client, create_children: @create_children) end class AspathExclude < XML::ConfigClass def has_multiple_values?; true; end def _section :'aspath-exclude' end @props = {'member'=>{'node-type'=>'element', 'type'=>'rangedint', 'max-count'=>'16', 'min'=>'1', 'max'=>'4294967295', 'help-string'=>'Specify AS-Path'}} # Specify AS-Path def member prop_get('member') end # Specify AS-Path def member=(val) prop_set('member', val) end end def aspath_exclude maybe_register_subclass('aspath-exclude', AspathExclude.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Set Tag of route'}, 'local-preference'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Set Local Preference of route'}, 'weight'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Set BGP weight of the route'}, 'origin'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'help-string'=>'Set BGP origin', 'enum'=>[{'name'=>'none', 'value'=>'none'}, {'name'=>'egp', 'value'=>'egp', 'help-string'=>'route originated from EGP'}, {'name'=>'igp', 'value'=>'igp', 'help-string'=>'route originated from IGP'}, {'name'=>'incomplete', 'value'=>'incomplete'}]}, 'atomic-aggregate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Enable BGP atomic aggregate'}, 'originator-id'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'Set BGP Originator Id', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'ipv6-nexthop-prefer-global'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'IPv6 Nexthop Prefer Global Address', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'If enabled, IPv6 prefixes will prefer global address over link-local address'}, 'overwrite-regular-community'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Overwrite Regular Community', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'If enabled, set community will overwite existing communities, instead of appending'}, 'overwrite-large-community'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Overwrite Large Community', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'If enabled, set community will overwite existing large communities, instead of appending'}, 'remove-regular-community'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Delete Regular Community', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Remove Regular Community Name'}, 'remove-large-community'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Delete Large Community', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Remove Large Community Name'}} # Set Tag of route def tag prop_get('tag') end # Set Tag of route def tag=(val) prop_set('tag', val) end # Set Local Preference of route def local_preference prop_get('local-preference') end # Set Local Preference of route def local_preference=(val) prop_set('local-preference', val) end # Set BGP weight of the route def weight prop_get('weight') end # Set BGP weight of the route def weight=(val) prop_set('weight', val) end # Set BGP origin def origin prop_get('origin') end # Set BGP origin def origin=(val) prop_set('origin', val) end # Enable BGP atomic aggregate def atomic_aggregate prop_get('atomic-aggregate') end # Enable BGP atomic aggregate def atomic_aggregate=(val) prop_set('atomic-aggregate', val) end # Set BGP Originator Id def originator_id prop_get('originator-id') end # Set BGP Originator Id def originator_id=(val) prop_set('originator-id', val) end # If enabled, IPv6 prefixes will prefer global address over link-local address def ipv6_nexthop_prefer_global prop_get('ipv6-nexthop-prefer-global') end # If enabled, IPv6 prefixes will prefer global address over link-local address def ipv6_nexthop_prefer_global=(val) prop_set('ipv6-nexthop-prefer-global', val) end # If enabled, set community will overwite existing communities, instead of appending def overwrite_regular_community prop_get('overwrite-regular-community') end # If enabled, set community will overwite existing communities, instead of appending def overwrite_regular_community=(val) prop_set('overwrite-regular-community', val) end # If enabled, set community will overwite existing large communities, instead of appending def overwrite_large_community prop_get('overwrite-large-community') end # If enabled, set community will overwite existing large communities, instead of appending def overwrite_large_community=(val) prop_set('overwrite-large-community', val) end # Remove Regular Community Name def remove_regular_community prop_get('remove-regular-community') end # Remove Regular Community Name def remove_regular_community=(val) prop_set('remove-regular-community', val) end # Remove Large Community Name def remove_large_community prop_get('remove-large-community') end # Remove Large Community Name def remove_large_community=(val) prop_set('remove-large-community', val) end end def set @subclasses['set'] ||= Set.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Unique Sequence Number between <1-65535>'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'deny', 'optional'=>'yes', 'help-string'=>'Permit or Deny (default) Route Map', 'enum'=>[{'name'=>'deny', 'value'=>'deny', 'help-string'=>'Specify to Deny Route-Map'}, {'name'=>'permit', 'value'=>'permit', 'help-string'=>'Specify to Permit Route-Map'}]}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'optional'=>'yes', 'help-string'=>'Describe Route Map', 'regex'=>'^[ a-zA-Z0-9._-]+$'}} # Unique Sequence Number between <1-65535> def name prop_get('@name') end # Permit or Deny (default) Route Map def action prop_get('action') end # Permit or Deny (default) Route Map def action=(val) prop_set('action', val) end # Describe Route Map def description prop_get('description') end # Describe Route Map def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def route_map maybe_register_subclass('route-map', RouteMap.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'regex'=>'^[a-zA-Z0-9._-]+$', 'help-string'=>'BGP Route-Map Name - alphanumeric string [0-9a-zA-Z._-]'}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'optional'=>'yes', 'help-string'=>'Describe BGP Route Map', 'regex'=>'^[ a-zA-Z0-9._-]+$'}} # BGP Route-Map Name - alphanumeric string [0-9a-zA-Z._-] def name prop_get('@name') end # Describe BGP Route Map def description prop_get('description') end # Describe BGP Route Map def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def bgp_entry maybe_register_subclass('bgp-entry', BgpEntry.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def bgp @subclasses['bgp'] ||= Bgp.new(parent_instance: self, client: @client, create_children: @create_children) end class Redistribution < ConfigClass def has_multiple_values?; false; end def _section :redistribution end class RedistEntry < XML::ConfigClass def has_multiple_values?; true; end def _section :'redist-entry' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Bgp < ConfigClass def has_multiple_values?; false; end def _section :bgp end class Ospf < ConfigClass def has_multiple_values?; false; end def _section :ospf end class RouteMap < XML::ConfigClass def has_multiple_values?; true; end def _section :'route-map' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Match < ConfigClass def has_multiple_values?; false; end def _section :match end class Ipv4 < ConfigClass def has_multiple_values?; false; end def _section :ipv4 end class Address < ConfigClass def has_multiple_values?; false; end def _section :address end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def address @subclasses['address'] ||= Address.new(parent_instance: self, client: @client, create_children: @create_children) end class NextHop < ConfigClass def has_multiple_values?; false; end def _section :'next-hop' end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def next_hop @subclasses['next-hop'] ||= NextHop.new(parent_instance: self, client: @client, create_children: @create_children) end class RouteSource < ConfigClass def has_multiple_values?; false; end def _section :'route-source' end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def route_source @subclasses['route-source'] ||= RouteSource.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ipv4 @subclasses['ipv4'] ||= Ipv4.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'as-path-access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'AS Path Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'AS Path Access List Name'}, 'regular-community'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Regular Community', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Regular Community Name'}, 'large-community'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Large Community', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Large Community Name'}, 'extended-community'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Extended Community', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Extended Community Name'}, 'interface'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Interface', 'type'=>'string', 'maxlen'=>'64', 'optional'=>'yes', 'help-string'=>'Match Interface of the route'}, 'origin'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'help-string'=>'Match origin', 'enum'=>[{'name'=>'none', 'value'=>'none'}, {'name'=>'egp', 'value'=>'egp', 'help-string'=>'route originated from EGP'}, {'name'=>'igp', 'value'=>'igp', 'help-string'=>'route originated from IGP'}, {'name'=>'incomplete', 'value'=>'incomplete'}]}, 'metric'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Match Metric (BGP MED) of route'}, 'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Match Tag of route'}, 'local-preference'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Match Local Preference of route'}, 'peer'=>{'node-type'=>'element', 'type'=>'multiple', 'uiHint-fieldLabel'=>'Peer', 'optional'=>'yes', 'help-string'=>'Match Peer Address', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'name'=>'none', 'value'=>'none'}, {'name'=>'local', 'value'=>'local', 'help-string'=>'Static or Redistributed routes'}]}}} # AS Path Access List Name def as_path_access_list prop_get('as-path-access-list') end # AS Path Access List Name def as_path_access_list=(val) prop_set('as-path-access-list', val) end # Regular Community Name def regular_community prop_get('regular-community') end # Regular Community Name def regular_community=(val) prop_set('regular-community', val) end # Large Community Name def large_community prop_get('large-community') end # Large Community Name def large_community=(val) prop_set('large-community', val) end # Extended Community Name def extended_community prop_get('extended-community') end # Extended Community Name def extended_community=(val) prop_set('extended-community', val) end # Match Interface of the route def interface prop_get('interface') end # Match Interface of the route def interface=(val) prop_set('interface', val) end # Match origin def origin prop_get('origin') end # Match origin def origin=(val) prop_set('origin', val) end # Match Metric (BGP MED) of route def metric prop_get('metric') end # Match Metric (BGP MED) of route def metric=(val) prop_set('metric', val) end # Match Tag of route def tag prop_get('tag') end # Match Tag of route def tag=(val) prop_set('tag', val) end # Match Local Preference of route def local_preference prop_get('local-preference') end # Match Local Preference of route def local_preference=(val) prop_set('local-preference', val) end # Match Peer Address def peer prop_get('peer') end # Match Peer Address def peer=(val) prop_set('peer', val) end end def match @subclasses['match'] ||= Match.new(parent_instance: self, client: @client, create_children: @create_children) end class Set < ConfigClass def has_multiple_values?; false; end def _section :set end class Metric < ConfigClass def has_multiple_values?; false; end def _section :metric end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'uiHint-fieldLabel'=>'Metric Value', 'help-string'=>'Set Metric value of route'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'uiHint-fieldLabel'=>'Metric Action', 'help-string'=>'Set Metric action of route', 'enum'=>[{'name'=>'set', 'value'=>'set', 'help-string'=>'Set(=) metric to this value'}, {'name'=>'add', 'value'=>'add', 'help-string'=>'Increase(+) current metric'}, {'name'=>'subtract', 'value'=>'subtract', 'help-string'=>'Decrease(-) current metric'}]}} # Set Metric value of route def value prop_get('value') end # Set Metric value of route def value=(val) prop_set('value', val) end # Set Metric action of route def action prop_get('action') end # Set Metric action of route def action=(val) prop_set('action', val) end end def metric @subclasses['metric'] ||= Metric.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'metric-type'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'type-2', 'optional'=>'no', 'help-string'=>'Set Metric-Type of route', 'enum'=>[{'name'=>'type-1', 'value'=>'type-1', 'help-string'=>'External Type Metric Type-1'}, {'name'=>'type-2', 'value'=>'type-2', 'help-string'=>'External Type Metric Type-2'}]}, 'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Set Tag of route'}} # Set Metric-Type of route def metric_type prop_get('metric-type') end # Set Metric-Type of route def metric_type=(val) prop_set('metric-type', val) end # Set Tag of route def tag prop_get('tag') end # Set Tag of route def tag=(val) prop_set('tag', val) end end def set @subclasses['set'] ||= Set.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Unique Sequence Number between <1-65535>'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'deny', 'optional'=>'yes', 'help-string'=>'Permit or Deny (default) Route Map', 'enum'=>[{'name'=>'deny', 'value'=>'deny', 'help-string'=>'Specify to Deny Route-Map'}, {'name'=>'permit', 'value'=>'permit', 'help-string'=>'Specify to Permit Route-Map'}]}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'optional'=>'yes', 'help-string'=>'Describe Route Map', 'regex'=>'^[ a-zA-Z0-9._-]+$'}} # Unique Sequence Number between <1-65535> def name prop_get('@name') end # Permit or Deny (default) Route Map def action prop_get('action') end # Permit or Deny (default) Route Map def action=(val) prop_set('action', val) end # Describe Route Map def description prop_get('description') end # Describe Route Map def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def route_map maybe_register_subclass('route-map', RouteMap.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def ospf @subclasses['ospf'] ||= Ospf.new(parent_instance: self, client: @client, create_children: @create_children) end class Ospfv3 < ConfigClass def has_multiple_values?; false; end def _section :ospfv3 end class RouteMap < XML::ConfigClass def has_multiple_values?; true; end def _section :'route-map' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Match < ConfigClass def has_multiple_values?; false; end def _section :match end class Ipv6 < ConfigClass def has_multiple_values?; false; end def _section :ipv6 end class Address < ConfigClass def has_multiple_values?; false; end def _section :address end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def address @subclasses['address'] ||= Address.new(parent_instance: self, client: @client, create_children: @create_children) end class NextHop < ConfigClass def has_multiple_values?; false; end def _section :'next-hop' end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def next_hop @subclasses['next-hop'] ||= NextHop.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ipv6 @subclasses['ipv6'] ||= Ipv6.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'as-path-access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'AS Path Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'AS Path Access List Name'}, 'regular-community'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Regular Community', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Regular Community Name'}, 'large-community'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Large Community', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Large Community Name'}, 'extended-community'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Extended Community', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Extended Community Name'}, 'interface'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Interface', 'type'=>'string', 'maxlen'=>'64', 'optional'=>'yes', 'help-string'=>'Match Interface of the route'}, 'origin'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'help-string'=>'Match origin', 'enum'=>[{'name'=>'none', 'value'=>'none'}, {'name'=>'egp', 'value'=>'egp', 'help-string'=>'route originated from EGP'}, {'name'=>'igp', 'value'=>'igp', 'help-string'=>'route originated from IGP'}, {'name'=>'incomplete', 'value'=>'incomplete'}]}, 'metric'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Match Metric (BGP MED) of route'}, 'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Match Tag of route'}, 'local-preference'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Match Local Preference of route'}, 'peer'=>{'node-type'=>'element', 'type'=>'multiple', 'uiHint-fieldLabel'=>'Peer', 'optional'=>'yes', 'help-string'=>'Match Peer Address', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'name'=>'none', 'value'=>'none'}, {'name'=>'local', 'value'=>'local', 'help-string'=>'Static or Redistributed routes'}]}}} # AS Path Access List Name def as_path_access_list prop_get('as-path-access-list') end # AS Path Access List Name def as_path_access_list=(val) prop_set('as-path-access-list', val) end # Regular Community Name def regular_community prop_get('regular-community') end # Regular Community Name def regular_community=(val) prop_set('regular-community', val) end # Large Community Name def large_community prop_get('large-community') end # Large Community Name def large_community=(val) prop_set('large-community', val) end # Extended Community Name def extended_community prop_get('extended-community') end # Extended Community Name def extended_community=(val) prop_set('extended-community', val) end # Match Interface of the route def interface prop_get('interface') end # Match Interface of the route def interface=(val) prop_set('interface', val) end # Match origin def origin prop_get('origin') end # Match origin def origin=(val) prop_set('origin', val) end # Match Metric (BGP MED) of route def metric prop_get('metric') end # Match Metric (BGP MED) of route def metric=(val) prop_set('metric', val) end # Match Tag of route def tag prop_get('tag') end # Match Tag of route def tag=(val) prop_set('tag', val) end # Match Local Preference of route def local_preference prop_get('local-preference') end # Match Local Preference of route def local_preference=(val) prop_set('local-preference', val) end # Match Peer Address def peer prop_get('peer') end # Match Peer Address def peer=(val) prop_set('peer', val) end end def match @subclasses['match'] ||= Match.new(parent_instance: self, client: @client, create_children: @create_children) end class Set < ConfigClass def has_multiple_values?; false; end def _section :set end class Metric < ConfigClass def has_multiple_values?; false; end def _section :metric end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'uiHint-fieldLabel'=>'Metric Value', 'help-string'=>'Set Metric value of route'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'uiHint-fieldLabel'=>'Metric Action', 'help-string'=>'Set Metric action of route', 'enum'=>[{'name'=>'set', 'value'=>'set', 'help-string'=>'Set(=) metric to this value'}, {'name'=>'add', 'value'=>'add', 'help-string'=>'Increase(+) current metric'}, {'name'=>'subtract', 'value'=>'subtract', 'help-string'=>'Decrease(-) current metric'}]}} # Set Metric value of route def value prop_get('value') end # Set Metric value of route def value=(val) prop_set('value', val) end # Set Metric action of route def action prop_get('action') end # Set Metric action of route def action=(val) prop_set('action', val) end end def metric @subclasses['metric'] ||= Metric.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'metric-type'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'type-2', 'optional'=>'no', 'help-string'=>'Set Metric-Type of route', 'enum'=>[{'name'=>'type-1', 'value'=>'type-1', 'help-string'=>'External Type Metric Type-1'}, {'name'=>'type-2', 'value'=>'type-2', 'help-string'=>'External Type Metric Type-2'}]}, 'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Set Tag of route'}} # Set Metric-Type of route def metric_type prop_get('metric-type') end # Set Metric-Type of route def metric_type=(val) prop_set('metric-type', val) end # Set Tag of route def tag prop_get('tag') end # Set Tag of route def tag=(val) prop_set('tag', val) end end def set @subclasses['set'] ||= Set.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Unique Sequence Number between <1-65535>'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'deny', 'optional'=>'yes', 'help-string'=>'Permit or Deny (default) Route Map', 'enum'=>[{'name'=>'deny', 'value'=>'deny', 'help-string'=>'Specify to Deny Route-Map'}, {'name'=>'permit', 'value'=>'permit', 'help-string'=>'Specify to Permit Route-Map'}]}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'optional'=>'yes', 'help-string'=>'Describe Route Map', 'regex'=>'^[ a-zA-Z0-9._-]+$'}} # Unique Sequence Number between <1-65535> def name prop_get('@name') end # Permit or Deny (default) Route Map def action prop_get('action') end # Permit or Deny (default) Route Map def action=(val) prop_set('action', val) end # Describe Route Map def description prop_get('description') end # Describe Route Map def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def route_map maybe_register_subclass('route-map', RouteMap.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def ospfv3 @subclasses['ospfv3'] ||= Ospfv3.new(parent_instance: self, client: @client, create_children: @create_children) end class Rip < ConfigClass def has_multiple_values?; false; end def _section :rip end class RouteMap < XML::ConfigClass def has_multiple_values?; true; end def _section :'route-map' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Match < ConfigClass def has_multiple_values?; false; end def _section :match end class Ipv4 < ConfigClass def has_multiple_values?; false; end def _section :ipv4 end class Address < ConfigClass def has_multiple_values?; false; end def _section :address end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def address @subclasses['address'] ||= Address.new(parent_instance: self, client: @client, create_children: @create_children) end class NextHop < ConfigClass def has_multiple_values?; false; end def _section :'next-hop' end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def next_hop @subclasses['next-hop'] ||= NextHop.new(parent_instance: self, client: @client, create_children: @create_children) end class RouteSource < ConfigClass def has_multiple_values?; false; end def _section :'route-source' end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def route_source @subclasses['route-source'] ||= RouteSource.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ipv4 @subclasses['ipv4'] ||= Ipv4.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'as-path-access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'AS Path Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'AS Path Access List Name'}, 'regular-community'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Regular Community', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Regular Community Name'}, 'large-community'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Large Community', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Large Community Name'}, 'extended-community'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Extended Community', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Extended Community Name'}, 'interface'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Interface', 'type'=>'string', 'maxlen'=>'64', 'optional'=>'yes', 'help-string'=>'Match Interface of the route'}, 'origin'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'help-string'=>'Match origin', 'enum'=>[{'name'=>'none', 'value'=>'none'}, {'name'=>'egp', 'value'=>'egp', 'help-string'=>'route originated from EGP'}, {'name'=>'igp', 'value'=>'igp', 'help-string'=>'route originated from IGP'}, {'name'=>'incomplete', 'value'=>'incomplete'}]}, 'metric'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Match Metric (BGP MED) of route'}, 'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Match Tag of route'}, 'local-preference'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Match Local Preference of route'}, 'peer'=>{'node-type'=>'element', 'type'=>'multiple', 'uiHint-fieldLabel'=>'Peer', 'optional'=>'yes', 'help-string'=>'Match Peer Address', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'name'=>'none', 'value'=>'none'}, {'name'=>'local', 'value'=>'local', 'help-string'=>'Static or Redistributed routes'}]}}} # AS Path Access List Name def as_path_access_list prop_get('as-path-access-list') end # AS Path Access List Name def as_path_access_list=(val) prop_set('as-path-access-list', val) end # Regular Community Name def regular_community prop_get('regular-community') end # Regular Community Name def regular_community=(val) prop_set('regular-community', val) end # Large Community Name def large_community prop_get('large-community') end # Large Community Name def large_community=(val) prop_set('large-community', val) end # Extended Community Name def extended_community prop_get('extended-community') end # Extended Community Name def extended_community=(val) prop_set('extended-community', val) end # Match Interface of the route def interface prop_get('interface') end # Match Interface of the route def interface=(val) prop_set('interface', val) end # Match origin def origin prop_get('origin') end # Match origin def origin=(val) prop_set('origin', val) end # Match Metric (BGP MED) of route def metric prop_get('metric') end # Match Metric (BGP MED) of route def metric=(val) prop_set('metric', val) end # Match Tag of route def tag prop_get('tag') end # Match Tag of route def tag=(val) prop_set('tag', val) end # Match Local Preference of route def local_preference prop_get('local-preference') end # Match Local Preference of route def local_preference=(val) prop_set('local-preference', val) end # Match Peer Address def peer prop_get('peer') end # Match Peer Address def peer=(val) prop_set('peer', val) end end def match @subclasses['match'] ||= Match.new(parent_instance: self, client: @client, create_children: @create_children) end class Set < ConfigClass def has_multiple_values?; false; end def _section :set end class Metric < ConfigClass def has_multiple_values?; false; end def _section :metric end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'16', 'optional'=>'yes', 'uiHint-fieldLabel'=>'Metric Value', 'help-string'=>'Set Metric value of route'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'uiHint-fieldLabel'=>'Metric Action', 'help-string'=>'Set Metric action of route', 'enum'=>[{'name'=>'set', 'value'=>'set', 'help-string'=>'Set(=) metric to this value'}, {'name'=>'add', 'value'=>'add', 'help-string'=>'Increase(+) current metric'}, {'name'=>'subtract', 'value'=>'subtract', 'help-string'=>'Decrease(-) current metric'}]}} # Set Metric value of route def value prop_get('value') end # Set Metric value of route def value=(val) prop_set('value', val) end # Set Metric action of route def action prop_get('action') end # Set Metric action of route def action=(val) prop_set('action', val) end end def metric @subclasses['metric'] ||= Metric.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'next-hop'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'uiHint-fieldLabel'=>'IPv4 Next-Hop', 'help-string'=>'Set IPv4 Next-Hop Address', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes'}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'name'=>'none', 'value'=>'none'}, {'name'=>'unchanged', 'value'=>'unchanged'}]}}, 'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Set Tag of route'}} # Set IPv4 Next-Hop Address def next_hop prop_get('next-hop') end # Set IPv4 Next-Hop Address def next_hop=(val) prop_set('next-hop', val) end # Set Tag of route def tag prop_get('tag') end # Set Tag of route def tag=(val) prop_set('tag', val) end end def set @subclasses['set'] ||= Set.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Unique Sequence Number between <1-65535>'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'deny', 'optional'=>'yes', 'help-string'=>'Permit or Deny (default) Route Map', 'enum'=>[{'name'=>'deny', 'value'=>'deny', 'help-string'=>'Specify to Deny Route-Map'}, {'name'=>'permit', 'value'=>'permit', 'help-string'=>'Specify to Permit Route-Map'}]}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'optional'=>'yes', 'help-string'=>'Describe Route Map', 'regex'=>'^[ a-zA-Z0-9._-]+$'}} # Unique Sequence Number between <1-65535> def name prop_get('@name') end # Permit or Deny (default) Route Map def action prop_get('action') end # Permit or Deny (default) Route Map def action=(val) prop_set('action', val) end # Describe Route Map def description prop_get('description') end # Describe Route Map def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def route_map maybe_register_subclass('route-map', RouteMap.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def rip @subclasses['rip'] ||= Rip.new(parent_instance: self, client: @client, create_children: @create_children) end class Rib < ConfigClass def has_multiple_values?; false; end def _section :rib end class RouteMap < XML::ConfigClass def has_multiple_values?; true; end def _section :'route-map' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Match < ConfigClass def has_multiple_values?; false; end def _section :match end class Ipv4 < ConfigClass def has_multiple_values?; false; end def _section :ipv4 end class Address < ConfigClass def has_multiple_values?; false; end def _section :address end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def address @subclasses['address'] ||= Address.new(parent_instance: self, client: @client, create_children: @create_children) end class NextHop < ConfigClass def has_multiple_values?; false; end def _section :'next-hop' end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def next_hop @subclasses['next-hop'] ||= NextHop.new(parent_instance: self, client: @client, create_children: @create_children) end class RouteSource < ConfigClass def has_multiple_values?; false; end def _section :'route-source' end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def route_source @subclasses['route-source'] ||= RouteSource.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ipv4 @subclasses['ipv4'] ||= Ipv4.new(parent_instance: self, client: @client, create_children: @create_children) end class Ipv6 < ConfigClass def has_multiple_values?; false; end def _section :ipv6 end class Address < ConfigClass def has_multiple_values?; false; end def _section :address end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def address @subclasses['address'] ||= Address.new(parent_instance: self, client: @client, create_children: @create_children) end class NextHop < ConfigClass def has_multiple_values?; false; end def _section :'next-hop' end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def next_hop @subclasses['next-hop'] ||= NextHop.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ipv6 @subclasses['ipv6'] ||= Ipv6.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'as-path-access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'AS Path Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'AS Path Access List Name'}, 'regular-community'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Regular Community', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Regular Community Name'}, 'large-community'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Large Community', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Large Community Name'}, 'extended-community'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Extended Community', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Extended Community Name'}, 'interface'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Interface', 'type'=>'string', 'maxlen'=>'64', 'optional'=>'yes', 'help-string'=>'Match Interface of the route'}, 'origin'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'help-string'=>'Match origin', 'enum'=>[{'name'=>'none', 'value'=>'none'}, {'name'=>'egp', 'value'=>'egp', 'help-string'=>'route originated from EGP'}, {'name'=>'igp', 'value'=>'igp', 'help-string'=>'route originated from IGP'}, {'name'=>'incomplete', 'value'=>'incomplete'}]}, 'metric'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Match Metric (BGP MED) of route'}, 'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Match Tag of route'}, 'local-preference'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Match Local Preference of route'}, 'peer'=>{'node-type'=>'element', 'type'=>'multiple', 'uiHint-fieldLabel'=>'Peer', 'optional'=>'yes', 'help-string'=>'Match Peer Address', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'name'=>'none', 'value'=>'none'}, {'name'=>'local', 'value'=>'local', 'help-string'=>'Static or Redistributed routes'}]}}} # AS Path Access List Name def as_path_access_list prop_get('as-path-access-list') end # AS Path Access List Name def as_path_access_list=(val) prop_set('as-path-access-list', val) end # Regular Community Name def regular_community prop_get('regular-community') end # Regular Community Name def regular_community=(val) prop_set('regular-community', val) end # Large Community Name def large_community prop_get('large-community') end # Large Community Name def large_community=(val) prop_set('large-community', val) end # Extended Community Name def extended_community prop_get('extended-community') end # Extended Community Name def extended_community=(val) prop_set('extended-community', val) end # Match Interface of the route def interface prop_get('interface') end # Match Interface of the route def interface=(val) prop_set('interface', val) end # Match origin def origin prop_get('origin') end # Match origin def origin=(val) prop_set('origin', val) end # Match Metric (BGP MED) of route def metric prop_get('metric') end # Match Metric (BGP MED) of route def metric=(val) prop_set('metric', val) end # Match Tag of route def tag prop_get('tag') end # Match Tag of route def tag=(val) prop_set('tag', val) end # Match Local Preference of route def local_preference prop_get('local-preference') end # Match Local Preference of route def local_preference=(val) prop_set('local-preference', val) end # Match Peer Address def peer prop_get('peer') end # Match Peer Address def peer=(val) prop_set('peer', val) end end def match @subclasses['match'] ||= Match.new(parent_instance: self, client: @client, create_children: @create_children) end class Set < ConfigClass def has_multiple_values?; false; end def _section :set end @props = {'source-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'128', 'help-string'=>'Set Source IPv4 or IPv6 address'}} # Set Source IPv4 or IPv6 address def source_address prop_get('source-address') end # Set Source IPv4 or IPv6 address def source_address=(val) prop_set('source-address', val) end end def set @subclasses['set'] ||= Set.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Unique Sequence Number between <1-65535>'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'deny', 'optional'=>'yes', 'help-string'=>'Permit or Deny (default) Route Map', 'enum'=>[{'name'=>'deny', 'value'=>'deny', 'help-string'=>'Specify to Deny Route-Map'}, {'name'=>'permit', 'value'=>'permit', 'help-string'=>'Specify to Permit Route-Map'}]}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'optional'=>'yes', 'help-string'=>'Describe Route Map', 'regex'=>'^[ a-zA-Z0-9._-]+$'}} # Unique Sequence Number between <1-65535> def name prop_get('@name') end # Permit or Deny (default) Route Map def action prop_get('action') end # Permit or Deny (default) Route Map def action=(val) prop_set('action', val) end # Describe Route Map def description prop_get('description') end # Describe Route Map def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def route_map maybe_register_subclass('route-map', RouteMap.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def rib @subclasses['rib'] ||= Rib.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def bgp @subclasses['bgp'] ||= Bgp.new(parent_instance: self, client: @client, create_children: @create_children) end class Ospf < ConfigClass def has_multiple_values?; false; end def _section :ospf end class Bgp < ConfigClass def has_multiple_values?; false; end def _section :bgp end class RouteMap < XML::ConfigClass def has_multiple_values?; true; end def _section :'route-map' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Match < ConfigClass def has_multiple_values?; false; end def _section :match end class Address < ConfigClass def has_multiple_values?; false; end def _section :address end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def address @subclasses['address'] ||= Address.new(parent_instance: self, client: @client, create_children: @create_children) end class NextHop < ConfigClass def has_multiple_values?; false; end def _section :'next-hop' end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def next_hop @subclasses['next-hop'] ||= NextHop.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'interface'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Interface', 'type'=>'string', 'maxlen'=>'64', 'optional'=>'yes', 'help-string'=>'Match Interface of the route'}, 'metric'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Match Metric of route'}, 'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Match Tag of route'}} # Match Interface of the route def interface prop_get('interface') end # Match Interface of the route def interface=(val) prop_set('interface', val) end # Match Metric of route def metric prop_get('metric') end # Match Metric of route def metric=(val) prop_set('metric', val) end # Match Tag of route def tag prop_get('tag') end # Match Tag of route def tag=(val) prop_set('tag', val) end end def match @subclasses['match'] ||= Match.new(parent_instance: self, client: @client, create_children: @create_children) end class Set < ConfigClass def has_multiple_values?; false; end def _section :set end class Aggregator < ConfigClass def has_multiple_values?; false; end def _section :aggregator end @props = {'as'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Aggregator AS', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'help-string'=>'Set BGP Aggregator AS <1-4294967295>'}, 'router-id'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Router ID', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'Set BGP Aggregator Router ID', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # Set BGP Aggregator AS <1-4294967295> def as prop_get('as') end # Set BGP Aggregator AS <1-4294967295> def as=(val) prop_set('as', val) end # Set BGP Aggregator Router ID def router_id prop_get('router-id') end # Set BGP Aggregator Router ID def router_id=(val) prop_set('router-id', val) end end def aggregator @subclasses['aggregator'] ||= Aggregator.new(parent_instance: self, client: @client, create_children: @create_children) end class Metric < ConfigClass def has_multiple_values?; false; end def _section :metric end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'uiHint-fieldLabel'=>'Metric Value', 'help-string'=>'Set Metric value (BGP MED) of route'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'uiHint-fieldLabel'=>'Metric Action', 'help-string'=>'Set Metric action (BGP MED) of route', 'enum'=>[{'name'=>'set', 'value'=>'set', 'help-string'=>'Set(=) metric to this value'}, {'name'=>'add', 'value'=>'add', 'help-string'=>'Increase(+) current metric'}, {'name'=>'subtract', 'value'=>'subtract', 'help-string'=>'Decrease(-) current metric'}]}} # Set Metric value (BGP MED) of route def value prop_get('value') end # Set Metric value (BGP MED) of route def value=(val) prop_set('value', val) end # Set Metric action (BGP MED) of route def action prop_get('action') end # Set Metric action (BGP MED) of route def action=(val) prop_set('action', val) end end def metric @subclasses['metric'] ||= Metric.new(parent_instance: self, client: @client, create_children: @create_children) end class AspathPrepend < XML::ConfigClass def has_multiple_values?; true; end def _section :'aspath-prepend' end @props = {'member'=>{'node-type'=>'element', 'type'=>'rangedint', 'max-count'=>'16', 'min'=>'1', 'max'=>'4294967295', 'help-string'=>'Specify AS-Path'}} # Specify AS-Path def member prop_get('member') end # Specify AS-Path def member=(val) prop_set('member', val) end end def aspath_prepend maybe_register_subclass('aspath-prepend', AspathPrepend.new(parent_instance: self, client: @client, create_children: @create_children)) end class RegularCommunity < XML::ConfigClass def has_multiple_values?; true; end def _section :'regular-community' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Set Regular Community', 'max-count'=>'16', 'multi-types'=>{'string'=>{'regex'=>'^[0-9]+:[0-9]+$', 'minlen'=>'3', 'maxlen'=>'11', 'uiHint-fieldLabel'=>'Regex', 'help-string'=>'Community Number in AA:NN format (where AA and NN are between (0-65535))'}, 'enum'=>[{'name'=>'none', 'value'=>'none', 'uiHint-fieldLabel'=>'None'}, {'name'=>'blackhole', 'value'=>'blackhole', 'uiHint-fieldLabel'=>'Blackhole', 'help-string'=>'Represents well-known community value BLACKHOLE (0xFFFF029A)'}, {'name'=>'no-peer', 'value'=>'no-peer', 'uiHint-fieldLabel'=>'No Peer', 'help-string'=>'Represents well-known community value NOPEER (0xFFFFFF04)'}, {'name'=>'graceful-shutdown', 'value'=>'graceful-shutdown', 'uiHint-fieldLabel'=>'Graceful Shutdown', 'help-string'=>'Represents well-known community value GRACEFUL_SHUTDOWN (0xFFFF0000)'}, {'name'=>'accept-own', 'value'=>'accept-own', 'uiHint-fieldLabel'=>'Accept Own', 'help-string'=>'Represents well-known community value ACCEPT_OWN (0xFFFF0001)'}, {'name'=>'local-as', 'value'=>'local-as', 'uiHint-fieldLabel'=>'Local AS', 'help-string'=>'Represents well-known community value NO_EXPORT_SUBCONFED (0xFFFFFF03)'}, {'name'=>'route-filter-v4', 'value'=>'route-filter-v4', 'uiHint-fieldLabel'=>'Route Filter-v4', 'help-string'=>'Represents well-known community value ROUTE_FILTER_v4 (0xFFFF0003)'}, {'name'=>'route-filter-v6', 'value'=>'route-filter-v6', 'uiHint-fieldLabel'=>'Route Filter-v6', 'help-string'=>'Represents well-known community value ROUTE_FILTER_v6 (0xFFFF0005)'}, {'name'=>'no-advertise', 'value'=>'no-advertise', 'uiHint-fieldLabel'=>'No Advertise', 'help-string'=>'Represents well-known community value NO_ADVERTISE (0xFFFFFF02)'}, {'name'=>'no-export', 'value'=>'no-export', 'uiHint-fieldLabel'=>'No Export', 'help-string'=>'Represents well-known community value NO_EXPORT (0xFFFFFF01)'}, {'name'=>'internet', 'value'=>'internet', 'uiHint-fieldLabel'=>'Internet', 'help-string'=>'Represents well-known community value 0 (0x00)'}]}}} # Set Regular Community def member prop_get('member') end # Set Regular Community def member=(val) prop_set('member', val) end end def regular_community maybe_register_subclass('regular-community', RegularCommunity.new(parent_instance: self, client: @client, create_children: @create_children)) end class LargeCommunity < XML::ConfigClass def has_multiple_values?; true; end def _section :'large-community' end @props = {'member'=>{'node-type'=>'element', 'max-count'=>'8', 'type'=>'string', 'regex'=>'^[0-9]{1,10}:[0-9]{1,10}:[0-9]{1,10}$', 'minlen'=>'5', 'maxlen'=>'35', 'help-string'=>'Large Community in AA:BB:CC format (where AA, BB and CC are between (0-4294967295))'}} # Large Community in AA:BB:CC format (where AA, BB and CC are between (0-4294967295)) def member prop_get('member') end # Large Community in AA:BB:CC format (where AA, BB and CC are between (0-4294967295)) def member=(val) prop_set('member', val) end end def large_community maybe_register_subclass('large-community', LargeCommunity.new(parent_instance: self, client: @client, create_children: @create_children)) end class ExtendedCommunity < XML::ConfigClass def has_multiple_values?; true; end def _section :'extended-community' end @props = {'member'=>{'node-type'=>'element', 'max-count'=>'8', 'type'=>'string', 'regex'=>'^(target|origin):[0-9]{1,10}:[0-9]{1,10}$', 'minlen'=>'5', 'maxlen'=>'35', 'help-string'=>'Extended Community in TYPE:IP_ADDR:NN OR TYPE:AA:NN format (where AA and NN are between (0-65535) and TYPE is target or origin)'}} # Extended Community in TYPE:IP_ADDR:NN OR TYPE:AA:NN format (where AA and NN are between (0-65535) and TYPE is target or origin) def member prop_get('member') end # Extended Community in TYPE:IP_ADDR:NN OR TYPE:AA:NN format (where AA and NN are between (0-65535) and TYPE is target or origin) def member=(val) prop_set('member', val) end end def extended_community maybe_register_subclass('extended-community', ExtendedCommunity.new(parent_instance: self, client: @client, create_children: @create_children)) end class Ipv4 < ConfigClass def has_multiple_values?; false; end def _section :ipv4 end @props = {'source-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'128', 'help-string'=>'Set Source IPv4 Address'}, 'next-hop'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'uiHint-fieldLabel'=>'IPv4 Next-Hop', 'help-string'=>'Set IPv4 Next-Hop Address', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes'}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'name'=>'none', 'value'=>'none'}, {'name'=>'unchanged', 'value'=>'unchanged'}, {'name'=>'peer-address', 'value'=>'peer-address', 'help-string'=>'Use Peer Address'}]}}} # Set Source IPv4 Address def source_address prop_get('source-address') end # Set Source IPv4 Address def source_address=(val) prop_set('source-address', val) end # Set IPv4 Next-Hop Address def next_hop prop_get('next-hop') end # Set IPv4 Next-Hop Address def next_hop=(val) prop_set('next-hop', val) end end def ipv4 @subclasses['ipv4'] ||= Ipv4.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Set Tag of route'}, 'local-preference'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Set Local Preference of route'}, 'weight'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Set BGP weight of the route'}, 'origin'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'help-string'=>'Set BGP origin', 'enum'=>[{'name'=>'none', 'value'=>'none'}, {'name'=>'egp', 'value'=>'egp', 'help-string'=>'route originated from EGP'}, {'name'=>'igp', 'value'=>'igp', 'help-string'=>'route originated from IGP'}, {'name'=>'incomplete', 'value'=>'incomplete'}]}, 'atomic-aggregate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Enable BGP atomic aggregate'}, 'originator-id'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'Set BGP Originator Id', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # Set Tag of route def tag prop_get('tag') end # Set Tag of route def tag=(val) prop_set('tag', val) end # Set Local Preference of route def local_preference prop_get('local-preference') end # Set Local Preference of route def local_preference=(val) prop_set('local-preference', val) end # Set BGP weight of the route def weight prop_get('weight') end # Set BGP weight of the route def weight=(val) prop_set('weight', val) end # Set BGP origin def origin prop_get('origin') end # Set BGP origin def origin=(val) prop_set('origin', val) end # Enable BGP atomic aggregate def atomic_aggregate prop_get('atomic-aggregate') end # Enable BGP atomic aggregate def atomic_aggregate=(val) prop_set('atomic-aggregate', val) end # Set BGP Originator Id def originator_id prop_get('originator-id') end # Set BGP Originator Id def originator_id=(val) prop_set('originator-id', val) end end def set @subclasses['set'] ||= Set.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Unique Sequence Number between <1-65535>'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'deny', 'optional'=>'yes', 'help-string'=>'Permit or Deny (default) Route Map', 'enum'=>[{'name'=>'deny', 'value'=>'deny', 'help-string'=>'Specify to Deny Route-Map'}, {'name'=>'permit', 'value'=>'permit', 'help-string'=>'Specify to Permit Route-Map'}]}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'optional'=>'yes', 'help-string'=>'Describe Route Map', 'regex'=>'^[ a-zA-Z0-9._-]+$'}} # Unique Sequence Number between <1-65535> def name prop_get('@name') end # Permit or Deny (default) Route Map def action prop_get('action') end # Permit or Deny (default) Route Map def action=(val) prop_set('action', val) end # Describe Route Map def description prop_get('description') end # Describe Route Map def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def route_map maybe_register_subclass('route-map', RouteMap.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def bgp @subclasses['bgp'] ||= Bgp.new(parent_instance: self, client: @client, create_children: @create_children) end class Rip < ConfigClass def has_multiple_values?; false; end def _section :rip end class RouteMap < XML::ConfigClass def has_multiple_values?; true; end def _section :'route-map' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Match < ConfigClass def has_multiple_values?; false; end def _section :match end class Address < ConfigClass def has_multiple_values?; false; end def _section :address end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def address @subclasses['address'] ||= Address.new(parent_instance: self, client: @client, create_children: @create_children) end class NextHop < ConfigClass def has_multiple_values?; false; end def _section :'next-hop' end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def next_hop @subclasses['next-hop'] ||= NextHop.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'interface'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Interface', 'type'=>'string', 'maxlen'=>'64', 'optional'=>'yes', 'help-string'=>'Match Interface of the route'}, 'metric'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Match Metric of route'}, 'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Match Tag of route'}} # Match Interface of the route def interface prop_get('interface') end # Match Interface of the route def interface=(val) prop_set('interface', val) end # Match Metric of route def metric prop_get('metric') end # Match Metric of route def metric=(val) prop_set('metric', val) end # Match Tag of route def tag prop_get('tag') end # Match Tag of route def tag=(val) prop_set('tag', val) end end def match @subclasses['match'] ||= Match.new(parent_instance: self, client: @client, create_children: @create_children) end class Set < ConfigClass def has_multiple_values?; false; end def _section :set end class Metric < ConfigClass def has_multiple_values?; false; end def _section :metric end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'16', 'optional'=>'yes', 'uiHint-fieldLabel'=>'Metric Value', 'help-string'=>'Set Metric value of route'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'uiHint-fieldLabel'=>'Metric Action', 'help-string'=>'Set Metric action of route', 'enum'=>[{'name'=>'set', 'value'=>'set', 'help-string'=>'Set(=) metric to this value'}, {'name'=>'add', 'value'=>'add', 'help-string'=>'Increase(+) current metric'}, {'name'=>'subtract', 'value'=>'subtract', 'help-string'=>'Decrease(-) current metric'}]}} # Set Metric value of route def value prop_get('value') end # Set Metric value of route def value=(val) prop_set('value', val) end # Set Metric action of route def action prop_get('action') end # Set Metric action of route def action=(val) prop_set('action', val) end end def metric @subclasses['metric'] ||= Metric.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'next-hop'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'uiHint-fieldLabel'=>'IPv4 Next-Hop', 'help-string'=>'Set IPv4 Next-Hop Address', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes'}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'name'=>'none', 'value'=>'none'}, {'name'=>'unchanged', 'value'=>'unchanged'}]}}, 'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Set Tag of route'}} # Set IPv4 Next-Hop Address def next_hop prop_get('next-hop') end # Set IPv4 Next-Hop Address def next_hop=(val) prop_set('next-hop', val) end # Set Tag of route def tag prop_get('tag') end # Set Tag of route def tag=(val) prop_set('tag', val) end end def set @subclasses['set'] ||= Set.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Unique Sequence Number between <1-65535>'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'deny', 'optional'=>'yes', 'help-string'=>'Permit or Deny (default) Route Map', 'enum'=>[{'name'=>'deny', 'value'=>'deny', 'help-string'=>'Specify to Deny Route-Map'}, {'name'=>'permit', 'value'=>'permit', 'help-string'=>'Specify to Permit Route-Map'}]}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'optional'=>'yes', 'help-string'=>'Describe Route Map', 'regex'=>'^[ a-zA-Z0-9._-]+$'}} # Unique Sequence Number between <1-65535> def name prop_get('@name') end # Permit or Deny (default) Route Map def action prop_get('action') end # Permit or Deny (default) Route Map def action=(val) prop_set('action', val) end # Describe Route Map def description prop_get('description') end # Describe Route Map def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def route_map maybe_register_subclass('route-map', RouteMap.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def rip @subclasses['rip'] ||= Rip.new(parent_instance: self, client: @client, create_children: @create_children) end class Rib < ConfigClass def has_multiple_values?; false; end def _section :rib end class RouteMap < XML::ConfigClass def has_multiple_values?; true; end def _section :'route-map' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Match < ConfigClass def has_multiple_values?; false; end def _section :match end class Address < ConfigClass def has_multiple_values?; false; end def _section :address end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def address @subclasses['address'] ||= Address.new(parent_instance: self, client: @client, create_children: @create_children) end class NextHop < ConfigClass def has_multiple_values?; false; end def _section :'next-hop' end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def next_hop @subclasses['next-hop'] ||= NextHop.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'interface'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Interface', 'type'=>'string', 'maxlen'=>'64', 'optional'=>'yes', 'help-string'=>'Match Interface of the route'}, 'metric'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Match Metric of route'}, 'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Match Tag of route'}} # Match Interface of the route def interface prop_get('interface') end # Match Interface of the route def interface=(val) prop_set('interface', val) end # Match Metric of route def metric prop_get('metric') end # Match Metric of route def metric=(val) prop_set('metric', val) end # Match Tag of route def tag prop_get('tag') end # Match Tag of route def tag=(val) prop_set('tag', val) end end def match @subclasses['match'] ||= Match.new(parent_instance: self, client: @client, create_children: @create_children) end class Set < ConfigClass def has_multiple_values?; false; end def _section :set end @props = {'source-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'128', 'help-string'=>'Set Source IPv4 or IPv6 address'}} # Set Source IPv4 or IPv6 address def source_address prop_get('source-address') end # Set Source IPv4 or IPv6 address def source_address=(val) prop_set('source-address', val) end end def set @subclasses['set'] ||= Set.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Unique Sequence Number between <1-65535>'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'deny', 'optional'=>'yes', 'help-string'=>'Permit or Deny (default) Route Map', 'enum'=>[{'name'=>'deny', 'value'=>'deny', 'help-string'=>'Specify to Deny Route-Map'}, {'name'=>'permit', 'value'=>'permit', 'help-string'=>'Specify to Permit Route-Map'}]}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'optional'=>'yes', 'help-string'=>'Describe Route Map', 'regex'=>'^[ a-zA-Z0-9._-]+$'}} # Unique Sequence Number between <1-65535> def name prop_get('@name') end # Permit or Deny (default) Route Map def action prop_get('action') end # Permit or Deny (default) Route Map def action=(val) prop_set('action', val) end # Describe Route Map def description prop_get('description') end # Describe Route Map def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def route_map maybe_register_subclass('route-map', RouteMap.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def rib @subclasses['rib'] ||= Rib.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ospf @subclasses['ospf'] ||= Ospf.new(parent_instance: self, client: @client, create_children: @create_children) end class Ospfv3 < ConfigClass def has_multiple_values?; false; end def _section :ospfv3 end class Bgp < ConfigClass def has_multiple_values?; false; end def _section :bgp end class RouteMap < XML::ConfigClass def has_multiple_values?; true; end def _section :'route-map' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Match < ConfigClass def has_multiple_values?; false; end def _section :match end class Address < ConfigClass def has_multiple_values?; false; end def _section :address end @props = {'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}, 'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}} # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end end def address @subclasses['address'] ||= Address.new(parent_instance: self, client: @client, create_children: @create_children) end class NextHop < ConfigClass def has_multiple_values?; false; end def _section :'next-hop' end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def next_hop @subclasses['next-hop'] ||= NextHop.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'interface'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Interface', 'type'=>'string', 'maxlen'=>'64', 'optional'=>'yes', 'help-string'=>'Match Interface of the route'}, 'metric'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Match Metric of route'}, 'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Match Tag of route'}} # Match Interface of the route def interface prop_get('interface') end # Match Interface of the route def interface=(val) prop_set('interface', val) end # Match Metric of route def metric prop_get('metric') end # Match Metric of route def metric=(val) prop_set('metric', val) end # Match Tag of route def tag prop_get('tag') end # Match Tag of route def tag=(val) prop_set('tag', val) end end def match @subclasses['match'] ||= Match.new(parent_instance: self, client: @client, create_children: @create_children) end class Set < ConfigClass def has_multiple_values?; false; end def _section :set end class Aggregator < ConfigClass def has_multiple_values?; false; end def _section :aggregator end @props = {'as'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Aggregator AS', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'help-string'=>'Set BGP Aggregator AS <1-4294967295>'}, 'router-id'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Router ID', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'Set BGP Aggregator Router ID', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # Set BGP Aggregator AS <1-4294967295> def as prop_get('as') end # Set BGP Aggregator AS <1-4294967295> def as=(val) prop_set('as', val) end # Set BGP Aggregator Router ID def router_id prop_get('router-id') end # Set BGP Aggregator Router ID def router_id=(val) prop_set('router-id', val) end end def aggregator @subclasses['aggregator'] ||= Aggregator.new(parent_instance: self, client: @client, create_children: @create_children) end class Metric < ConfigClass def has_multiple_values?; false; end def _section :metric end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'uiHint-fieldLabel'=>'Metric Value', 'help-string'=>'Set Metric value (BGP MED) of route'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'uiHint-fieldLabel'=>'Metric Action', 'help-string'=>'Set Metric action (BGP MED) of route', 'enum'=>[{'name'=>'set', 'value'=>'set', 'help-string'=>'Set(=) metric to this value'}, {'name'=>'add', 'value'=>'add', 'help-string'=>'Increase(+) current metric'}, {'name'=>'subtract', 'value'=>'subtract', 'help-string'=>'Decrease(-) current metric'}]}} # Set Metric value (BGP MED) of route def value prop_get('value') end # Set Metric value (BGP MED) of route def value=(val) prop_set('value', val) end # Set Metric action (BGP MED) of route def action prop_get('action') end # Set Metric action (BGP MED) of route def action=(val) prop_set('action', val) end end def metric @subclasses['metric'] ||= Metric.new(parent_instance: self, client: @client, create_children: @create_children) end class AspathPrepend < XML::ConfigClass def has_multiple_values?; true; end def _section :'aspath-prepend' end @props = {'member'=>{'node-type'=>'element', 'type'=>'rangedint', 'max-count'=>'16', 'min'=>'1', 'max'=>'4294967295', 'help-string'=>'Specify AS-Path'}} # Specify AS-Path def member prop_get('member') end # Specify AS-Path def member=(val) prop_set('member', val) end end def aspath_prepend maybe_register_subclass('aspath-prepend', AspathPrepend.new(parent_instance: self, client: @client, create_children: @create_children)) end class RegularCommunity < XML::ConfigClass def has_multiple_values?; true; end def _section :'regular-community' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Set Regular Community', 'max-count'=>'16', 'multi-types'=>{'string'=>{'regex'=>'^[0-9]+:[0-9]+$', 'minlen'=>'3', 'maxlen'=>'11', 'uiHint-fieldLabel'=>'Regex', 'help-string'=>'Community Number in AA:NN format (where AA and NN are between (0-65535))'}, 'enum'=>[{'name'=>'none', 'value'=>'none', 'uiHint-fieldLabel'=>'None'}, {'name'=>'blackhole', 'value'=>'blackhole', 'uiHint-fieldLabel'=>'Blackhole', 'help-string'=>'Represents well-known community value BLACKHOLE (0xFFFF029A)'}, {'name'=>'no-peer', 'value'=>'no-peer', 'uiHint-fieldLabel'=>'No Peer', 'help-string'=>'Represents well-known community value NOPEER (0xFFFFFF04)'}, {'name'=>'graceful-shutdown', 'value'=>'graceful-shutdown', 'uiHint-fieldLabel'=>'Graceful Shutdown', 'help-string'=>'Represents well-known community value GRACEFUL_SHUTDOWN (0xFFFF0000)'}, {'name'=>'accept-own', 'value'=>'accept-own', 'uiHint-fieldLabel'=>'Accept Own', 'help-string'=>'Represents well-known community value ACCEPT_OWN (0xFFFF0001)'}, {'name'=>'local-as', 'value'=>'local-as', 'uiHint-fieldLabel'=>'Local AS', 'help-string'=>'Represents well-known community value NO_EXPORT_SUBCONFED (0xFFFFFF03)'}, {'name'=>'route-filter-v4', 'value'=>'route-filter-v4', 'uiHint-fieldLabel'=>'Route Filter-v4', 'help-string'=>'Represents well-known community value ROUTE_FILTER_v4 (0xFFFF0003)'}, {'name'=>'route-filter-v6', 'value'=>'route-filter-v6', 'uiHint-fieldLabel'=>'Route Filter-v6', 'help-string'=>'Represents well-known community value ROUTE_FILTER_v6 (0xFFFF0005)'}, {'name'=>'no-advertise', 'value'=>'no-advertise', 'uiHint-fieldLabel'=>'No Advertise', 'help-string'=>'Represents well-known community value NO_ADVERTISE (0xFFFFFF02)'}, {'name'=>'no-export', 'value'=>'no-export', 'uiHint-fieldLabel'=>'No Export', 'help-string'=>'Represents well-known community value NO_EXPORT (0xFFFFFF01)'}, {'name'=>'internet', 'value'=>'internet', 'uiHint-fieldLabel'=>'Internet', 'help-string'=>'Represents well-known community value 0 (0x00)'}]}}} # Set Regular Community def member prop_get('member') end # Set Regular Community def member=(val) prop_set('member', val) end end def regular_community maybe_register_subclass('regular-community', RegularCommunity.new(parent_instance: self, client: @client, create_children: @create_children)) end class LargeCommunity < XML::ConfigClass def has_multiple_values?; true; end def _section :'large-community' end @props = {'member'=>{'node-type'=>'element', 'max-count'=>'8', 'type'=>'string', 'regex'=>'^[0-9]{1,10}:[0-9]{1,10}:[0-9]{1,10}$', 'minlen'=>'5', 'maxlen'=>'35', 'help-string'=>'Large Community in AA:BB:CC format (where AA, BB and CC are between (0-4294967295))'}} # Large Community in AA:BB:CC format (where AA, BB and CC are between (0-4294967295)) def member prop_get('member') end # Large Community in AA:BB:CC format (where AA, BB and CC are between (0-4294967295)) def member=(val) prop_set('member', val) end end def large_community maybe_register_subclass('large-community', LargeCommunity.new(parent_instance: self, client: @client, create_children: @create_children)) end class ExtendedCommunity < XML::ConfigClass def has_multiple_values?; true; end def _section :'extended-community' end @props = {'member'=>{'node-type'=>'element', 'max-count'=>'8', 'type'=>'string', 'regex'=>'^(target|origin):[0-9]{1,10}:[0-9]{1,10}$', 'minlen'=>'5', 'maxlen'=>'35', 'help-string'=>'Extended Community in TYPE:IP_ADDR:NN OR TYPE:AA:NN format (where AA and NN are between (0-65535) and TYPE is target or origin)'}} # Extended Community in TYPE:IP_ADDR:NN OR TYPE:AA:NN format (where AA and NN are between (0-65535) and TYPE is target or origin) def member prop_get('member') end # Extended Community in TYPE:IP_ADDR:NN OR TYPE:AA:NN format (where AA and NN are between (0-65535) and TYPE is target or origin) def member=(val) prop_set('member', val) end end def extended_community maybe_register_subclass('extended-community', ExtendedCommunity.new(parent_instance: self, client: @client, create_children: @create_children)) end class Ipv6 < ConfigClass def has_multiple_values?; false; end def _section :ipv6 end @props = {'source-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'128', 'help-string'=>'Set Source IPv6 Address'}, 'next-hop'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'uiHint-fieldLabel'=>'IPv6 Next-Hop', 'help-string'=>'Set IPv6 Next-Hop Address', 'multi-types'=>{'ipspec'=>{'ipv6-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes'}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'name'=>'none', 'value'=>'none'}, {'name'=>'peer-address', 'value'=>'peer-address', 'help-string'=>'Use Peer Address'}]}}} # Set Source IPv6 Address def source_address prop_get('source-address') end # Set Source IPv6 Address def source_address=(val) prop_set('source-address', val) end # Set IPv6 Next-Hop Address def next_hop prop_get('next-hop') end # Set IPv6 Next-Hop Address def next_hop=(val) prop_set('next-hop', val) end end def ipv6 @subclasses['ipv6'] ||= Ipv6.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Set Tag of route'}, 'local-preference'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Set Local Preference of route'}, 'weight'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Set BGP weight of the route'}, 'origin'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'help-string'=>'Set BGP origin', 'enum'=>[{'name'=>'none', 'value'=>'none'}, {'name'=>'egp', 'value'=>'egp', 'help-string'=>'route originated from EGP'}, {'name'=>'igp', 'value'=>'igp', 'help-string'=>'route originated from IGP'}, {'name'=>'incomplete', 'value'=>'incomplete'}]}, 'atomic-aggregate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Enable BGP atomic aggregate'}, 'originator-id'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'Set BGP Originator Id', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # Set Tag of route def tag prop_get('tag') end # Set Tag of route def tag=(val) prop_set('tag', val) end # Set Local Preference of route def local_preference prop_get('local-preference') end # Set Local Preference of route def local_preference=(val) prop_set('local-preference', val) end # Set BGP weight of the route def weight prop_get('weight') end # Set BGP weight of the route def weight=(val) prop_set('weight', val) end # Set BGP origin def origin prop_get('origin') end # Set BGP origin def origin=(val) prop_set('origin', val) end # Enable BGP atomic aggregate def atomic_aggregate prop_get('atomic-aggregate') end # Enable BGP atomic aggregate def atomic_aggregate=(val) prop_set('atomic-aggregate', val) end # Set BGP Originator Id def originator_id prop_get('originator-id') end # Set BGP Originator Id def originator_id=(val) prop_set('originator-id', val) end end def set @subclasses['set'] ||= Set.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Unique Sequence Number between <1-65535>'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'deny', 'optional'=>'yes', 'help-string'=>'Permit or Deny (default) Route Map', 'enum'=>[{'name'=>'deny', 'value'=>'deny', 'help-string'=>'Specify to Deny Route-Map'}, {'name'=>'permit', 'value'=>'permit', 'help-string'=>'Specify to Permit Route-Map'}]}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'optional'=>'yes', 'help-string'=>'Describe Route Map', 'regex'=>'^[ a-zA-Z0-9._-]+$'}} # Unique Sequence Number between <1-65535> def name prop_get('@name') end # Permit or Deny (default) Route Map def action prop_get('action') end # Permit or Deny (default) Route Map def action=(val) prop_set('action', val) end # Describe Route Map def description prop_get('description') end # Describe Route Map def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def route_map maybe_register_subclass('route-map', RouteMap.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def bgp @subclasses['bgp'] ||= Bgp.new(parent_instance: self, client: @client, create_children: @create_children) end class Rib < ConfigClass def has_multiple_values?; false; end def _section :rib end class RouteMap < XML::ConfigClass def has_multiple_values?; true; end def _section :'route-map' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Match < ConfigClass def has_multiple_values?; false; end def _section :match end class Address < ConfigClass def has_multiple_values?; false; end def _section :address end @props = {'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}, 'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}} # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end end def address @subclasses['address'] ||= Address.new(parent_instance: self, client: @client, create_children: @create_children) end class NextHop < ConfigClass def has_multiple_values?; false; end def _section :'next-hop' end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def next_hop @subclasses['next-hop'] ||= NextHop.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'interface'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Interface', 'type'=>'string', 'maxlen'=>'64', 'optional'=>'yes', 'help-string'=>'Match Interface of the route'}, 'metric'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Match Metric of route'}, 'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Match Tag of route'}} # Match Interface of the route def interface prop_get('interface') end # Match Interface of the route def interface=(val) prop_set('interface', val) end # Match Metric of route def metric prop_get('metric') end # Match Metric of route def metric=(val) prop_set('metric', val) end # Match Tag of route def tag prop_get('tag') end # Match Tag of route def tag=(val) prop_set('tag', val) end end def match @subclasses['match'] ||= Match.new(parent_instance: self, client: @client, create_children: @create_children) end class Set < ConfigClass def has_multiple_values?; false; end def _section :set end @props = {'source-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'128', 'help-string'=>'Set Source IPv4 or IPv6 address'}} # Set Source IPv4 or IPv6 address def source_address prop_get('source-address') end # Set Source IPv4 or IPv6 address def source_address=(val) prop_set('source-address', val) end end def set @subclasses['set'] ||= Set.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Unique Sequence Number between <1-65535>'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'deny', 'optional'=>'yes', 'help-string'=>'Permit or Deny (default) Route Map', 'enum'=>[{'name'=>'deny', 'value'=>'deny', 'help-string'=>'Specify to Deny Route-Map'}, {'name'=>'permit', 'value'=>'permit', 'help-string'=>'Specify to Permit Route-Map'}]}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'optional'=>'yes', 'help-string'=>'Describe Route Map', 'regex'=>'^[ a-zA-Z0-9._-]+$'}} # Unique Sequence Number between <1-65535> def name prop_get('@name') end # Permit or Deny (default) Route Map def action prop_get('action') end # Permit or Deny (default) Route Map def action=(val) prop_set('action', val) end # Describe Route Map def description prop_get('description') end # Describe Route Map def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def route_map maybe_register_subclass('route-map', RouteMap.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def rib @subclasses['rib'] ||= Rib.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ospfv3 @subclasses['ospfv3'] ||= Ospfv3.new(parent_instance: self, client: @client, create_children: @create_children) end class Rip < ConfigClass def has_multiple_values?; false; end def _section :rip end class Bgp < ConfigClass def has_multiple_values?; false; end def _section :bgp end class RouteMap < XML::ConfigClass def has_multiple_values?; true; end def _section :'route-map' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Match < ConfigClass def has_multiple_values?; false; end def _section :match end class Address < ConfigClass def has_multiple_values?; false; end def _section :address end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def address @subclasses['address'] ||= Address.new(parent_instance: self, client: @client, create_children: @create_children) end class NextHop < ConfigClass def has_multiple_values?; false; end def _section :'next-hop' end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def next_hop @subclasses['next-hop'] ||= NextHop.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'interface'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Interface', 'type'=>'string', 'maxlen'=>'64', 'optional'=>'yes', 'help-string'=>'Match Interface of the route'}, 'metric'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'16', 'optional'=>'yes', 'help-string'=>'Match Metric of route'}, 'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Match Tag of route'}} # Match Interface of the route def interface prop_get('interface') end # Match Interface of the route def interface=(val) prop_set('interface', val) end # Match Metric of route def metric prop_get('metric') end # Match Metric of route def metric=(val) prop_set('metric', val) end # Match Tag of route def tag prop_get('tag') end # Match Tag of route def tag=(val) prop_set('tag', val) end end def match @subclasses['match'] ||= Match.new(parent_instance: self, client: @client, create_children: @create_children) end class Set < ConfigClass def has_multiple_values?; false; end def _section :set end class Aggregator < ConfigClass def has_multiple_values?; false; end def _section :aggregator end @props = {'as'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Aggregator AS', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'help-string'=>'Set BGP Aggregator AS <1-4294967295>'}, 'router-id'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Router ID', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'Set BGP Aggregator Router ID', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # Set BGP Aggregator AS <1-4294967295> def as prop_get('as') end # Set BGP Aggregator AS <1-4294967295> def as=(val) prop_set('as', val) end # Set BGP Aggregator Router ID def router_id prop_get('router-id') end # Set BGP Aggregator Router ID def router_id=(val) prop_set('router-id', val) end end def aggregator @subclasses['aggregator'] ||= Aggregator.new(parent_instance: self, client: @client, create_children: @create_children) end class Metric < ConfigClass def has_multiple_values?; false; end def _section :metric end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'uiHint-fieldLabel'=>'Metric Value', 'help-string'=>'Set Metric value (BGP MED) of route'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'uiHint-fieldLabel'=>'Metric Action', 'help-string'=>'Set Metric action (BGP MED) of route', 'enum'=>[{'name'=>'set', 'value'=>'set', 'help-string'=>'Set(=) metric to this value'}, {'name'=>'add', 'value'=>'add', 'help-string'=>'Increase(+) current metric'}, {'name'=>'subtract', 'value'=>'subtract', 'help-string'=>'Decrease(-) current metric'}]}} # Set Metric value (BGP MED) of route def value prop_get('value') end # Set Metric value (BGP MED) of route def value=(val) prop_set('value', val) end # Set Metric action (BGP MED) of route def action prop_get('action') end # Set Metric action (BGP MED) of route def action=(val) prop_set('action', val) end end def metric @subclasses['metric'] ||= Metric.new(parent_instance: self, client: @client, create_children: @create_children) end class AspathPrepend < XML::ConfigClass def has_multiple_values?; true; end def _section :'aspath-prepend' end @props = {'member'=>{'node-type'=>'element', 'type'=>'rangedint', 'max-count'=>'16', 'min'=>'1', 'max'=>'4294967295', 'help-string'=>'Specify AS-Path'}} # Specify AS-Path def member prop_get('member') end # Specify AS-Path def member=(val) prop_set('member', val) end end def aspath_prepend maybe_register_subclass('aspath-prepend', AspathPrepend.new(parent_instance: self, client: @client, create_children: @create_children)) end class RegularCommunity < XML::ConfigClass def has_multiple_values?; true; end def _section :'regular-community' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Set Regular Community', 'max-count'=>'16', 'multi-types'=>{'string'=>{'regex'=>'^[0-9]+:[0-9]+$', 'minlen'=>'3', 'maxlen'=>'11', 'uiHint-fieldLabel'=>'Regex', 'help-string'=>'Community Number in AA:NN format (where AA and NN are between (0-65535))'}, 'enum'=>[{'name'=>'none', 'value'=>'none', 'uiHint-fieldLabel'=>'None'}, {'name'=>'blackhole', 'value'=>'blackhole', 'uiHint-fieldLabel'=>'Blackhole', 'help-string'=>'Represents well-known community value BLACKHOLE (0xFFFF029A)'}, {'name'=>'no-peer', 'value'=>'no-peer', 'uiHint-fieldLabel'=>'No Peer', 'help-string'=>'Represents well-known community value NOPEER (0xFFFFFF04)'}, {'name'=>'graceful-shutdown', 'value'=>'graceful-shutdown', 'uiHint-fieldLabel'=>'Graceful Shutdown', 'help-string'=>'Represents well-known community value GRACEFUL_SHUTDOWN (0xFFFF0000)'}, {'name'=>'accept-own', 'value'=>'accept-own', 'uiHint-fieldLabel'=>'Accept Own', 'help-string'=>'Represents well-known community value ACCEPT_OWN (0xFFFF0001)'}, {'name'=>'local-as', 'value'=>'local-as', 'uiHint-fieldLabel'=>'Local AS', 'help-string'=>'Represents well-known community value NO_EXPORT_SUBCONFED (0xFFFFFF03)'}, {'name'=>'route-filter-v4', 'value'=>'route-filter-v4', 'uiHint-fieldLabel'=>'Route Filter-v4', 'help-string'=>'Represents well-known community value ROUTE_FILTER_v4 (0xFFFF0003)'}, {'name'=>'route-filter-v6', 'value'=>'route-filter-v6', 'uiHint-fieldLabel'=>'Route Filter-v6', 'help-string'=>'Represents well-known community value ROUTE_FILTER_v6 (0xFFFF0005)'}, {'name'=>'no-advertise', 'value'=>'no-advertise', 'uiHint-fieldLabel'=>'No Advertise', 'help-string'=>'Represents well-known community value NO_ADVERTISE (0xFFFFFF02)'}, {'name'=>'no-export', 'value'=>'no-export', 'uiHint-fieldLabel'=>'No Export', 'help-string'=>'Represents well-known community value NO_EXPORT (0xFFFFFF01)'}, {'name'=>'internet', 'value'=>'internet', 'uiHint-fieldLabel'=>'Internet', 'help-string'=>'Represents well-known community value 0 (0x00)'}]}}} # Set Regular Community def member prop_get('member') end # Set Regular Community def member=(val) prop_set('member', val) end end def regular_community maybe_register_subclass('regular-community', RegularCommunity.new(parent_instance: self, client: @client, create_children: @create_children)) end class LargeCommunity < XML::ConfigClass def has_multiple_values?; true; end def _section :'large-community' end @props = {'member'=>{'node-type'=>'element', 'max-count'=>'8', 'type'=>'string', 'regex'=>'^[0-9]{1,10}:[0-9]{1,10}:[0-9]{1,10}$', 'minlen'=>'5', 'maxlen'=>'35', 'help-string'=>'Large Community in AA:BB:CC format (where AA, BB and CC are between (0-4294967295))'}} # Large Community in AA:BB:CC format (where AA, BB and CC are between (0-4294967295)) def member prop_get('member') end # Large Community in AA:BB:CC format (where AA, BB and CC are between (0-4294967295)) def member=(val) prop_set('member', val) end end def large_community maybe_register_subclass('large-community', LargeCommunity.new(parent_instance: self, client: @client, create_children: @create_children)) end class ExtendedCommunity < XML::ConfigClass def has_multiple_values?; true; end def _section :'extended-community' end @props = {'member'=>{'node-type'=>'element', 'max-count'=>'8', 'type'=>'string', 'regex'=>'^(target|origin):[0-9]{1,10}:[0-9]{1,10}$', 'minlen'=>'5', 'maxlen'=>'35', 'help-string'=>'Extended Community in TYPE:IP_ADDR:NN OR TYPE:AA:NN format (where AA and NN are between (0-65535) and TYPE is target or origin)'}} # Extended Community in TYPE:IP_ADDR:NN OR TYPE:AA:NN format (where AA and NN are between (0-65535) and TYPE is target or origin) def member prop_get('member') end # Extended Community in TYPE:IP_ADDR:NN OR TYPE:AA:NN format (where AA and NN are between (0-65535) and TYPE is target or origin) def member=(val) prop_set('member', val) end end def extended_community maybe_register_subclass('extended-community', ExtendedCommunity.new(parent_instance: self, client: @client, create_children: @create_children)) end class Ipv4 < ConfigClass def has_multiple_values?; false; end def _section :ipv4 end @props = {'source-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'128', 'help-string'=>'Set Source IPv4 Address'}, 'next-hop'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'uiHint-fieldLabel'=>'IPv4 Next-Hop', 'help-string'=>'Set IPv4 Next-Hop Address', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes'}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'name'=>'none', 'value'=>'none'}, {'name'=>'unchanged', 'value'=>'unchanged'}, {'name'=>'peer-address', 'value'=>'peer-address', 'help-string'=>'Use Peer Address'}]}}} # Set Source IPv4 Address def source_address prop_get('source-address') end # Set Source IPv4 Address def source_address=(val) prop_set('source-address', val) end # Set IPv4 Next-Hop Address def next_hop prop_get('next-hop') end # Set IPv4 Next-Hop Address def next_hop=(val) prop_set('next-hop', val) end end def ipv4 @subclasses['ipv4'] ||= Ipv4.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Set Tag of route'}, 'local-preference'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Set Local Preference of route'}, 'weight'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Set BGP weight of the route'}, 'origin'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'help-string'=>'Set BGP origin', 'enum'=>[{'name'=>'none', 'value'=>'none'}, {'name'=>'egp', 'value'=>'egp', 'help-string'=>'route originated from EGP'}, {'name'=>'igp', 'value'=>'igp', 'help-string'=>'route originated from IGP'}, {'name'=>'incomplete', 'value'=>'incomplete'}]}, 'atomic-aggregate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Enable BGP atomic aggregate'}, 'originator-id'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'Set BGP Originator Id', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # Set Tag of route def tag prop_get('tag') end # Set Tag of route def tag=(val) prop_set('tag', val) end # Set Local Preference of route def local_preference prop_get('local-preference') end # Set Local Preference of route def local_preference=(val) prop_set('local-preference', val) end # Set BGP weight of the route def weight prop_get('weight') end # Set BGP weight of the route def weight=(val) prop_set('weight', val) end # Set BGP origin def origin prop_get('origin') end # Set BGP origin def origin=(val) prop_set('origin', val) end # Enable BGP atomic aggregate def atomic_aggregate prop_get('atomic-aggregate') end # Enable BGP atomic aggregate def atomic_aggregate=(val) prop_set('atomic-aggregate', val) end # Set BGP Originator Id def originator_id prop_get('originator-id') end # Set BGP Originator Id def originator_id=(val) prop_set('originator-id', val) end end def set @subclasses['set'] ||= Set.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Unique Sequence Number between <1-65535>'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'deny', 'optional'=>'yes', 'help-string'=>'Permit or Deny (default) Route Map', 'enum'=>[{'name'=>'deny', 'value'=>'deny', 'help-string'=>'Specify to Deny Route-Map'}, {'name'=>'permit', 'value'=>'permit', 'help-string'=>'Specify to Permit Route-Map'}]}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'optional'=>'yes', 'help-string'=>'Describe Route Map', 'regex'=>'^[ a-zA-Z0-9._-]+$'}} # Unique Sequence Number between <1-65535> def name prop_get('@name') end # Permit or Deny (default) Route Map def action prop_get('action') end # Permit or Deny (default) Route Map def action=(val) prop_set('action', val) end # Describe Route Map def description prop_get('description') end # Describe Route Map def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def route_map maybe_register_subclass('route-map', RouteMap.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def bgp @subclasses['bgp'] ||= Bgp.new(parent_instance: self, client: @client, create_children: @create_children) end class Ospf < ConfigClass def has_multiple_values?; false; end def _section :ospf end class RouteMap < XML::ConfigClass def has_multiple_values?; true; end def _section :'route-map' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Match < ConfigClass def has_multiple_values?; false; end def _section :match end class Address < ConfigClass def has_multiple_values?; false; end def _section :address end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def address @subclasses['address'] ||= Address.new(parent_instance: self, client: @client, create_children: @create_children) end class NextHop < ConfigClass def has_multiple_values?; false; end def _section :'next-hop' end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def next_hop @subclasses['next-hop'] ||= NextHop.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'interface'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Interface', 'type'=>'string', 'maxlen'=>'64', 'optional'=>'yes', 'help-string'=>'Match Interface of the route'}, 'metric'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'16', 'optional'=>'yes', 'help-string'=>'Match Metric of route'}, 'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Match Tag of route'}} # Match Interface of the route def interface prop_get('interface') end # Match Interface of the route def interface=(val) prop_set('interface', val) end # Match Metric of route def metric prop_get('metric') end # Match Metric of route def metric=(val) prop_set('metric', val) end # Match Tag of route def tag prop_get('tag') end # Match Tag of route def tag=(val) prop_set('tag', val) end end def match @subclasses['match'] ||= Match.new(parent_instance: self, client: @client, create_children: @create_children) end class Set < ConfigClass def has_multiple_values?; false; end def _section :set end class Metric < ConfigClass def has_multiple_values?; false; end def _section :metric end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'uiHint-fieldLabel'=>'Metric Value', 'help-string'=>'Set Metric value of route'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'uiHint-fieldLabel'=>'Metric Action', 'help-string'=>'Set Metric action of route', 'enum'=>[{'name'=>'set', 'value'=>'set', 'help-string'=>'Set(=) metric to this value'}, {'name'=>'add', 'value'=>'add', 'help-string'=>'Increase(+) current metric'}, {'name'=>'subtract', 'value'=>'subtract', 'help-string'=>'Decrease(-) current metric'}]}} # Set Metric value of route def value prop_get('value') end # Set Metric value of route def value=(val) prop_set('value', val) end # Set Metric action of route def action prop_get('action') end # Set Metric action of route def action=(val) prop_set('action', val) end end def metric @subclasses['metric'] ||= Metric.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'metric-type'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'type-2', 'optional'=>'no', 'help-string'=>'Set Metric-Type of route', 'enum'=>[{'name'=>'type-1', 'value'=>'type-1', 'help-string'=>'External Type Metric Type-1'}, {'name'=>'type-2', 'value'=>'type-2', 'help-string'=>'External Type Metric Type-2'}]}, 'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Set Tag of route'}} # Set Metric-Type of route def metric_type prop_get('metric-type') end # Set Metric-Type of route def metric_type=(val) prop_set('metric-type', val) end # Set Tag of route def tag prop_get('tag') end # Set Tag of route def tag=(val) prop_set('tag', val) end end def set @subclasses['set'] ||= Set.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Unique Sequence Number between <1-65535>'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'deny', 'optional'=>'yes', 'help-string'=>'Permit or Deny (default) Route Map', 'enum'=>[{'name'=>'deny', 'value'=>'deny', 'help-string'=>'Specify to Deny Route-Map'}, {'name'=>'permit', 'value'=>'permit', 'help-string'=>'Specify to Permit Route-Map'}]}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'optional'=>'yes', 'help-string'=>'Describe Route Map', 'regex'=>'^[ a-zA-Z0-9._-]+$'}} # Unique Sequence Number between <1-65535> def name prop_get('@name') end # Permit or Deny (default) Route Map def action prop_get('action') end # Permit or Deny (default) Route Map def action=(val) prop_set('action', val) end # Describe Route Map def description prop_get('description') end # Describe Route Map def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def route_map maybe_register_subclass('route-map', RouteMap.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def ospf @subclasses['ospf'] ||= Ospf.new(parent_instance: self, client: @client, create_children: @create_children) end class Rib < ConfigClass def has_multiple_values?; false; end def _section :rib end class RouteMap < XML::ConfigClass def has_multiple_values?; true; end def _section :'route-map' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Match < ConfigClass def has_multiple_values?; false; end def _section :match end class Address < ConfigClass def has_multiple_values?; false; end def _section :address end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def address @subclasses['address'] ||= Address.new(parent_instance: self, client: @client, create_children: @create_children) end class NextHop < ConfigClass def has_multiple_values?; false; end def _section :'next-hop' end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def next_hop @subclasses['next-hop'] ||= NextHop.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'interface'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Interface', 'type'=>'string', 'maxlen'=>'64', 'optional'=>'yes', 'help-string'=>'Match Interface of the route'}, 'metric'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'16', 'optional'=>'yes', 'help-string'=>'Match Metric of route'}, 'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Match Tag of route'}} # Match Interface of the route def interface prop_get('interface') end # Match Interface of the route def interface=(val) prop_set('interface', val) end # Match Metric of route def metric prop_get('metric') end # Match Metric of route def metric=(val) prop_set('metric', val) end # Match Tag of route def tag prop_get('tag') end # Match Tag of route def tag=(val) prop_set('tag', val) end end def match @subclasses['match'] ||= Match.new(parent_instance: self, client: @client, create_children: @create_children) end class Set < ConfigClass def has_multiple_values?; false; end def _section :set end @props = {'source-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'128', 'help-string'=>'Set Source IPv4 or IPv6 address'}} # Set Source IPv4 or IPv6 address def source_address prop_get('source-address') end # Set Source IPv4 or IPv6 address def source_address=(val) prop_set('source-address', val) end end def set @subclasses['set'] ||= Set.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Unique Sequence Number between <1-65535>'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'deny', 'optional'=>'yes', 'help-string'=>'Permit or Deny (default) Route Map', 'enum'=>[{'name'=>'deny', 'value'=>'deny', 'help-string'=>'Specify to Deny Route-Map'}, {'name'=>'permit', 'value'=>'permit', 'help-string'=>'Specify to Permit Route-Map'}]}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'optional'=>'yes', 'help-string'=>'Describe Route Map', 'regex'=>'^[ a-zA-Z0-9._-]+$'}} # Unique Sequence Number between <1-65535> def name prop_get('@name') end # Permit or Deny (default) Route Map def action prop_get('action') end # Permit or Deny (default) Route Map def action=(val) prop_set('action', val) end # Describe Route Map def description prop_get('description') end # Describe Route Map def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def route_map maybe_register_subclass('route-map', RouteMap.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def rib @subclasses['rib'] ||= Rib.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def rip @subclasses['rip'] ||= Rip.new(parent_instance: self, client: @client, create_children: @create_children) end class ConnectedStatic < ConfigClass def has_multiple_values?; false; end def _section :'connected-static' end class Bgp < ConfigClass def has_multiple_values?; false; end def _section :bgp end class RouteMap < XML::ConfigClass def has_multiple_values?; true; end def _section :'route-map' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Match < ConfigClass def has_multiple_values?; false; end def _section :match end class Ipv4 < ConfigClass def has_multiple_values?; false; end def _section :ipv4 end class Address < ConfigClass def has_multiple_values?; false; end def _section :address end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def address @subclasses['address'] ||= Address.new(parent_instance: self, client: @client, create_children: @create_children) end class NextHop < ConfigClass def has_multiple_values?; false; end def _section :'next-hop' end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def next_hop @subclasses['next-hop'] ||= NextHop.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ipv4 @subclasses['ipv4'] ||= Ipv4.new(parent_instance: self, client: @client, create_children: @create_children) end class Ipv6 < ConfigClass def has_multiple_values?; false; end def _section :ipv6 end class Address < ConfigClass def has_multiple_values?; false; end def _section :address end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def address @subclasses['address'] ||= Address.new(parent_instance: self, client: @client, create_children: @create_children) end class NextHop < ConfigClass def has_multiple_values?; false; end def _section :'next-hop' end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def next_hop @subclasses['next-hop'] ||= NextHop.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ipv6 @subclasses['ipv6'] ||= Ipv6.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'interface'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Interface', 'type'=>'string', 'maxlen'=>'64', 'optional'=>'yes', 'help-string'=>'Match Interface of the route'}, 'metric'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Match Metric of route'}} # Match Interface of the route def interface prop_get('interface') end # Match Interface of the route def interface=(val) prop_set('interface', val) end # Match Metric of route def metric prop_get('metric') end # Match Metric of route def metric=(val) prop_set('metric', val) end end def match @subclasses['match'] ||= Match.new(parent_instance: self, client: @client, create_children: @create_children) end class Set < ConfigClass def has_multiple_values?; false; end def _section :set end class Aggregator < ConfigClass def has_multiple_values?; false; end def _section :aggregator end @props = {'as'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Aggregator AS', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'help-string'=>'Set BGP Aggregator AS <1-4294967295>'}, 'router-id'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Router ID', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'Set BGP Aggregator Router ID', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # Set BGP Aggregator AS <1-4294967295> def as prop_get('as') end # Set BGP Aggregator AS <1-4294967295> def as=(val) prop_set('as', val) end # Set BGP Aggregator Router ID def router_id prop_get('router-id') end # Set BGP Aggregator Router ID def router_id=(val) prop_set('router-id', val) end end def aggregator @subclasses['aggregator'] ||= Aggregator.new(parent_instance: self, client: @client, create_children: @create_children) end class Metric < ConfigClass def has_multiple_values?; false; end def _section :metric end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'uiHint-fieldLabel'=>'Metric Value', 'help-string'=>'Set Metric value (BGP MED) of route'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'uiHint-fieldLabel'=>'Metric Action', 'help-string'=>'Set Metric action (BGP MED) of route', 'enum'=>[{'name'=>'set', 'value'=>'set', 'help-string'=>'Set(=) metric to this value'}, {'name'=>'add', 'value'=>'add', 'help-string'=>'Increase(+) current metric'}, {'name'=>'subtract', 'value'=>'subtract', 'help-string'=>'Decrease(-) current metric'}]}} # Set Metric value (BGP MED) of route def value prop_get('value') end # Set Metric value (BGP MED) of route def value=(val) prop_set('value', val) end # Set Metric action (BGP MED) of route def action prop_get('action') end # Set Metric action (BGP MED) of route def action=(val) prop_set('action', val) end end def metric @subclasses['metric'] ||= Metric.new(parent_instance: self, client: @client, create_children: @create_children) end class AspathPrepend < XML::ConfigClass def has_multiple_values?; true; end def _section :'aspath-prepend' end @props = {'member'=>{'node-type'=>'element', 'type'=>'rangedint', 'max-count'=>'16', 'min'=>'1', 'max'=>'4294967295', 'help-string'=>'Specify AS-Path'}} # Specify AS-Path def member prop_get('member') end # Specify AS-Path def member=(val) prop_set('member', val) end end def aspath_prepend maybe_register_subclass('aspath-prepend', AspathPrepend.new(parent_instance: self, client: @client, create_children: @create_children)) end class RegularCommunity < XML::ConfigClass def has_multiple_values?; true; end def _section :'regular-community' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Set Regular Community', 'max-count'=>'16', 'multi-types'=>{'string'=>{'regex'=>'^[0-9]+:[0-9]+$', 'minlen'=>'3', 'maxlen'=>'11', 'uiHint-fieldLabel'=>'Regex', 'help-string'=>'Community Number in AA:NN format (where AA and NN are between (0-65535))'}, 'enum'=>[{'name'=>'none', 'value'=>'none', 'uiHint-fieldLabel'=>'None'}, {'name'=>'blackhole', 'value'=>'blackhole', 'uiHint-fieldLabel'=>'Blackhole', 'help-string'=>'Represents well-known community value BLACKHOLE (0xFFFF029A)'}, {'name'=>'no-peer', 'value'=>'no-peer', 'uiHint-fieldLabel'=>'No Peer', 'help-string'=>'Represents well-known community value NOPEER (0xFFFFFF04)'}, {'name'=>'graceful-shutdown', 'value'=>'graceful-shutdown', 'uiHint-fieldLabel'=>'Graceful Shutdown', 'help-string'=>'Represents well-known community value GRACEFUL_SHUTDOWN (0xFFFF0000)'}, {'name'=>'accept-own', 'value'=>'accept-own', 'uiHint-fieldLabel'=>'Accept Own', 'help-string'=>'Represents well-known community value ACCEPT_OWN (0xFFFF0001)'}, {'name'=>'local-as', 'value'=>'local-as', 'uiHint-fieldLabel'=>'Local AS', 'help-string'=>'Represents well-known community value NO_EXPORT_SUBCONFED (0xFFFFFF03)'}, {'name'=>'route-filter-v4', 'value'=>'route-filter-v4', 'uiHint-fieldLabel'=>'Route Filter-v4', 'help-string'=>'Represents well-known community value ROUTE_FILTER_v4 (0xFFFF0003)'}, {'name'=>'route-filter-v6', 'value'=>'route-filter-v6', 'uiHint-fieldLabel'=>'Route Filter-v6', 'help-string'=>'Represents well-known community value ROUTE_FILTER_v6 (0xFFFF0005)'}, {'name'=>'no-advertise', 'value'=>'no-advertise', 'uiHint-fieldLabel'=>'No Advertise', 'help-string'=>'Represents well-known community value NO_ADVERTISE (0xFFFFFF02)'}, {'name'=>'no-export', 'value'=>'no-export', 'uiHint-fieldLabel'=>'No Export', 'help-string'=>'Represents well-known community value NO_EXPORT (0xFFFFFF01)'}, {'name'=>'internet', 'value'=>'internet', 'uiHint-fieldLabel'=>'Internet', 'help-string'=>'Represents well-known community value 0 (0x00)'}]}}} # Set Regular Community def member prop_get('member') end # Set Regular Community def member=(val) prop_set('member', val) end end def regular_community maybe_register_subclass('regular-community', RegularCommunity.new(parent_instance: self, client: @client, create_children: @create_children)) end class LargeCommunity < XML::ConfigClass def has_multiple_values?; true; end def _section :'large-community' end @props = {'member'=>{'node-type'=>'element', 'max-count'=>'8', 'type'=>'string', 'regex'=>'^[0-9]{1,10}:[0-9]{1,10}:[0-9]{1,10}$', 'minlen'=>'5', 'maxlen'=>'35', 'help-string'=>'Large Community in AA:BB:CC format (where AA, BB and CC are between (0-4294967295))'}} # Large Community in AA:BB:CC format (where AA, BB and CC are between (0-4294967295)) def member prop_get('member') end # Large Community in AA:BB:CC format (where AA, BB and CC are between (0-4294967295)) def member=(val) prop_set('member', val) end end def large_community maybe_register_subclass('large-community', LargeCommunity.new(parent_instance: self, client: @client, create_children: @create_children)) end class ExtendedCommunity < XML::ConfigClass def has_multiple_values?; true; end def _section :'extended-community' end @props = {'member'=>{'node-type'=>'element', 'max-count'=>'8', 'type'=>'string', 'regex'=>'^(target|origin):[0-9]{1,10}:[0-9]{1,10}$', 'minlen'=>'5', 'maxlen'=>'35', 'help-string'=>'Extended Community in TYPE:IP_ADDR:NN OR TYPE:AA:NN format (where AA and NN are between (0-65535) and TYPE is target or origin)'}} # Extended Community in TYPE:IP_ADDR:NN OR TYPE:AA:NN format (where AA and NN are between (0-65535) and TYPE is target or origin) def member prop_get('member') end # Extended Community in TYPE:IP_ADDR:NN OR TYPE:AA:NN format (where AA and NN are between (0-65535) and TYPE is target or origin) def member=(val) prop_set('member', val) end end def extended_community maybe_register_subclass('extended-community', ExtendedCommunity.new(parent_instance: self, client: @client, create_children: @create_children)) end class Ipv4 < ConfigClass def has_multiple_values?; false; end def _section :ipv4 end @props = {'source-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'128', 'help-string'=>'Set Source IPv4 Address'}, 'next-hop'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'uiHint-fieldLabel'=>'IPv4 Next-Hop', 'help-string'=>'Set IPv4 Next-Hop Address', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes'}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'name'=>'none', 'value'=>'none'}, {'name'=>'unchanged', 'value'=>'unchanged'}, {'name'=>'peer-address', 'value'=>'peer-address', 'help-string'=>'Use Peer Address'}]}}} # Set Source IPv4 Address def source_address prop_get('source-address') end # Set Source IPv4 Address def source_address=(val) prop_set('source-address', val) end # Set IPv4 Next-Hop Address def next_hop prop_get('next-hop') end # Set IPv4 Next-Hop Address def next_hop=(val) prop_set('next-hop', val) end end def ipv4 @subclasses['ipv4'] ||= Ipv4.new(parent_instance: self, client: @client, create_children: @create_children) end class Ipv6 < ConfigClass def has_multiple_values?; false; end def _section :ipv6 end @props = {'source-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'128', 'help-string'=>'Set Source IPv6 Address'}, 'next-hop'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'uiHint-fieldLabel'=>'IPv6 Next-Hop', 'help-string'=>'Set IPv6 Next-Hop Address', 'multi-types'=>{'ipspec'=>{'ipv6-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes'}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'name'=>'none', 'value'=>'none'}, {'name'=>'peer-address', 'value'=>'peer-address', 'help-string'=>'Use Peer Address'}]}}} # Set Source IPv6 Address def source_address prop_get('source-address') end # Set Source IPv6 Address def source_address=(val) prop_set('source-address', val) end # Set IPv6 Next-Hop Address def next_hop prop_get('next-hop') end # Set IPv6 Next-Hop Address def next_hop=(val) prop_set('next-hop', val) end end def ipv6 @subclasses['ipv6'] ||= Ipv6.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Set Tag of route'}, 'local-preference'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Set Local Preference of route'}, 'weight'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Set BGP weight of the route'}, 'origin'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'help-string'=>'Set BGP origin', 'enum'=>[{'name'=>'none', 'value'=>'none'}, {'name'=>'egp', 'value'=>'egp', 'help-string'=>'route originated from EGP'}, {'name'=>'igp', 'value'=>'igp', 'help-string'=>'route originated from IGP'}, {'name'=>'incomplete', 'value'=>'incomplete'}]}, 'atomic-aggregate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Enable BGP atomic aggregate'}, 'originator-id'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'Set BGP Originator Id', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # Set Tag of route def tag prop_get('tag') end # Set Tag of route def tag=(val) prop_set('tag', val) end # Set Local Preference of route def local_preference prop_get('local-preference') end # Set Local Preference of route def local_preference=(val) prop_set('local-preference', val) end # Set BGP weight of the route def weight prop_get('weight') end # Set BGP weight of the route def weight=(val) prop_set('weight', val) end # Set BGP origin def origin prop_get('origin') end # Set BGP origin def origin=(val) prop_set('origin', val) end # Enable BGP atomic aggregate def atomic_aggregate prop_get('atomic-aggregate') end # Enable BGP atomic aggregate def atomic_aggregate=(val) prop_set('atomic-aggregate', val) end # Set BGP Originator Id def originator_id prop_get('originator-id') end # Set BGP Originator Id def originator_id=(val) prop_set('originator-id', val) end end def set @subclasses['set'] ||= Set.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Unique Sequence Number between <1-65535>'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'deny', 'optional'=>'yes', 'help-string'=>'Permit or Deny (default) Route Map', 'enum'=>[{'name'=>'deny', 'value'=>'deny', 'help-string'=>'Specify to Deny Route-Map'}, {'name'=>'permit', 'value'=>'permit', 'help-string'=>'Specify to Permit Route-Map'}]}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'optional'=>'yes', 'help-string'=>'Describe Route Map', 'regex'=>'^[ a-zA-Z0-9._-]+$'}} # Unique Sequence Number between <1-65535> def name prop_get('@name') end # Permit or Deny (default) Route Map def action prop_get('action') end # Permit or Deny (default) Route Map def action=(val) prop_set('action', val) end # Describe Route Map def description prop_get('description') end # Describe Route Map def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def route_map maybe_register_subclass('route-map', RouteMap.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def bgp @subclasses['bgp'] ||= Bgp.new(parent_instance: self, client: @client, create_children: @create_children) end class Ospf < ConfigClass def has_multiple_values?; false; end def _section :ospf end class RouteMap < XML::ConfigClass def has_multiple_values?; true; end def _section :'route-map' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Match < ConfigClass def has_multiple_values?; false; end def _section :match end class Ipv4 < ConfigClass def has_multiple_values?; false; end def _section :ipv4 end class Address < ConfigClass def has_multiple_values?; false; end def _section :address end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def address @subclasses['address'] ||= Address.new(parent_instance: self, client: @client, create_children: @create_children) end class NextHop < ConfigClass def has_multiple_values?; false; end def _section :'next-hop' end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def next_hop @subclasses['next-hop'] ||= NextHop.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ipv4 @subclasses['ipv4'] ||= Ipv4.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'interface'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Interface', 'type'=>'string', 'maxlen'=>'64', 'optional'=>'yes', 'help-string'=>'Match Interface of the route'}, 'metric'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Match Metric of route'}} # Match Interface of the route def interface prop_get('interface') end # Match Interface of the route def interface=(val) prop_set('interface', val) end # Match Metric of route def metric prop_get('metric') end # Match Metric of route def metric=(val) prop_set('metric', val) end end def match @subclasses['match'] ||= Match.new(parent_instance: self, client: @client, create_children: @create_children) end class Set < ConfigClass def has_multiple_values?; false; end def _section :set end class Metric < ConfigClass def has_multiple_values?; false; end def _section :metric end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'uiHint-fieldLabel'=>'Metric Value', 'help-string'=>'Set Metric value of route'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'uiHint-fieldLabel'=>'Metric Action', 'help-string'=>'Set Metric action of route', 'enum'=>[{'name'=>'set', 'value'=>'set', 'help-string'=>'Set(=) metric to this value'}, {'name'=>'add', 'value'=>'add', 'help-string'=>'Increase(+) current metric'}, {'name'=>'subtract', 'value'=>'subtract', 'help-string'=>'Decrease(-) current metric'}]}} # Set Metric value of route def value prop_get('value') end # Set Metric value of route def value=(val) prop_set('value', val) end # Set Metric action of route def action prop_get('action') end # Set Metric action of route def action=(val) prop_set('action', val) end end def metric @subclasses['metric'] ||= Metric.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'metric-type'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'type-2', 'optional'=>'no', 'help-string'=>'Set Metric-Type of route', 'enum'=>[{'name'=>'type-1', 'value'=>'type-1', 'help-string'=>'External Type Metric Type-1'}, {'name'=>'type-2', 'value'=>'type-2', 'help-string'=>'External Type Metric Type-2'}]}, 'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Set Tag of route'}} # Set Metric-Type of route def metric_type prop_get('metric-type') end # Set Metric-Type of route def metric_type=(val) prop_set('metric-type', val) end # Set Tag of route def tag prop_get('tag') end # Set Tag of route def tag=(val) prop_set('tag', val) end end def set @subclasses['set'] ||= Set.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Unique Sequence Number between <1-65535>'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'deny', 'optional'=>'yes', 'help-string'=>'Permit or Deny (default) Route Map', 'enum'=>[{'name'=>'deny', 'value'=>'deny', 'help-string'=>'Specify to Deny Route-Map'}, {'name'=>'permit', 'value'=>'permit', 'help-string'=>'Specify to Permit Route-Map'}]}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'optional'=>'yes', 'help-string'=>'Describe Route Map', 'regex'=>'^[ a-zA-Z0-9._-]+$'}} # Unique Sequence Number between <1-65535> def name prop_get('@name') end # Permit or Deny (default) Route Map def action prop_get('action') end # Permit or Deny (default) Route Map def action=(val) prop_set('action', val) end # Describe Route Map def description prop_get('description') end # Describe Route Map def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def route_map maybe_register_subclass('route-map', RouteMap.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def ospf @subclasses['ospf'] ||= Ospf.new(parent_instance: self, client: @client, create_children: @create_children) end class Ospfv3 < ConfigClass def has_multiple_values?; false; end def _section :ospfv3 end class RouteMap < XML::ConfigClass def has_multiple_values?; true; end def _section :'route-map' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Match < ConfigClass def has_multiple_values?; false; end def _section :match end class Ipv6 < ConfigClass def has_multiple_values?; false; end def _section :ipv6 end class Address < ConfigClass def has_multiple_values?; false; end def _section :address end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def address @subclasses['address'] ||= Address.new(parent_instance: self, client: @client, create_children: @create_children) end class NextHop < ConfigClass def has_multiple_values?; false; end def _section :'next-hop' end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def next_hop @subclasses['next-hop'] ||= NextHop.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ipv6 @subclasses['ipv6'] ||= Ipv6.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'interface'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Interface', 'type'=>'string', 'maxlen'=>'64', 'optional'=>'yes', 'help-string'=>'Match Interface of the route'}, 'metric'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Match Metric of route'}} # Match Interface of the route def interface prop_get('interface') end # Match Interface of the route def interface=(val) prop_set('interface', val) end # Match Metric of route def metric prop_get('metric') end # Match Metric of route def metric=(val) prop_set('metric', val) end end def match @subclasses['match'] ||= Match.new(parent_instance: self, client: @client, create_children: @create_children) end class Set < ConfigClass def has_multiple_values?; false; end def _section :set end class Metric < ConfigClass def has_multiple_values?; false; end def _section :metric end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'uiHint-fieldLabel'=>'Metric Value', 'help-string'=>'Set Metric value of route'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'uiHint-fieldLabel'=>'Metric Action', 'help-string'=>'Set Metric action of route', 'enum'=>[{'name'=>'set', 'value'=>'set', 'help-string'=>'Set(=) metric to this value'}, {'name'=>'add', 'value'=>'add', 'help-string'=>'Increase(+) current metric'}, {'name'=>'subtract', 'value'=>'subtract', 'help-string'=>'Decrease(-) current metric'}]}} # Set Metric value of route def value prop_get('value') end # Set Metric value of route def value=(val) prop_set('value', val) end # Set Metric action of route def action prop_get('action') end # Set Metric action of route def action=(val) prop_set('action', val) end end def metric @subclasses['metric'] ||= Metric.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'metric-type'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'type-2', 'optional'=>'no', 'help-string'=>'Set Metric-Type of route', 'enum'=>[{'name'=>'type-1', 'value'=>'type-1', 'help-string'=>'External Type Metric Type-1'}, {'name'=>'type-2', 'value'=>'type-2', 'help-string'=>'External Type Metric Type-2'}]}, 'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Set Tag of route'}} # Set Metric-Type of route def metric_type prop_get('metric-type') end # Set Metric-Type of route def metric_type=(val) prop_set('metric-type', val) end # Set Tag of route def tag prop_get('tag') end # Set Tag of route def tag=(val) prop_set('tag', val) end end def set @subclasses['set'] ||= Set.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Unique Sequence Number between <1-65535>'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'deny', 'optional'=>'yes', 'help-string'=>'Permit or Deny (default) Route Map', 'enum'=>[{'name'=>'deny', 'value'=>'deny', 'help-string'=>'Specify to Deny Route-Map'}, {'name'=>'permit', 'value'=>'permit', 'help-string'=>'Specify to Permit Route-Map'}]}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'optional'=>'yes', 'help-string'=>'Describe Route Map', 'regex'=>'^[ a-zA-Z0-9._-]+$'}} # Unique Sequence Number between <1-65535> def name prop_get('@name') end # Permit or Deny (default) Route Map def action prop_get('action') end # Permit or Deny (default) Route Map def action=(val) prop_set('action', val) end # Describe Route Map def description prop_get('description') end # Describe Route Map def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def route_map maybe_register_subclass('route-map', RouteMap.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def ospfv3 @subclasses['ospfv3'] ||= Ospfv3.new(parent_instance: self, client: @client, create_children: @create_children) end class Rip < ConfigClass def has_multiple_values?; false; end def _section :rip end class RouteMap < XML::ConfigClass def has_multiple_values?; true; end def _section :'route-map' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Match < ConfigClass def has_multiple_values?; false; end def _section :match end class Ipv4 < ConfigClass def has_multiple_values?; false; end def _section :ipv4 end class Address < ConfigClass def has_multiple_values?; false; end def _section :address end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def address @subclasses['address'] ||= Address.new(parent_instance: self, client: @client, create_children: @create_children) end class NextHop < ConfigClass def has_multiple_values?; false; end def _section :'next-hop' end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def next_hop @subclasses['next-hop'] ||= NextHop.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ipv4 @subclasses['ipv4'] ||= Ipv4.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'interface'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Interface', 'type'=>'string', 'maxlen'=>'64', 'optional'=>'yes', 'help-string'=>'Match Interface of the route'}, 'metric'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Match Metric of route'}} # Match Interface of the route def interface prop_get('interface') end # Match Interface of the route def interface=(val) prop_set('interface', val) end # Match Metric of route def metric prop_get('metric') end # Match Metric of route def metric=(val) prop_set('metric', val) end end def match @subclasses['match'] ||= Match.new(parent_instance: self, client: @client, create_children: @create_children) end class Set < ConfigClass def has_multiple_values?; false; end def _section :set end class Metric < ConfigClass def has_multiple_values?; false; end def _section :metric end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'16', 'optional'=>'yes', 'uiHint-fieldLabel'=>'Metric Value', 'help-string'=>'Set Metric value of route'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'uiHint-fieldLabel'=>'Metric Action', 'help-string'=>'Set Metric action of route', 'enum'=>[{'name'=>'set', 'value'=>'set', 'help-string'=>'Set(=) metric to this value'}, {'name'=>'add', 'value'=>'add', 'help-string'=>'Increase(+) current metric'}, {'name'=>'subtract', 'value'=>'subtract', 'help-string'=>'Decrease(-) current metric'}]}} # Set Metric value of route def value prop_get('value') end # Set Metric value of route def value=(val) prop_set('value', val) end # Set Metric action of route def action prop_get('action') end # Set Metric action of route def action=(val) prop_set('action', val) end end def metric @subclasses['metric'] ||= Metric.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'next-hop'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'uiHint-fieldLabel'=>'IPv4 Next-Hop', 'help-string'=>'Set IPv4 Next-Hop Address', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes'}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'name'=>'none', 'value'=>'none'}, {'name'=>'unchanged', 'value'=>'unchanged'}]}}, 'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Set Tag of route'}} # Set IPv4 Next-Hop Address def next_hop prop_get('next-hop') end # Set IPv4 Next-Hop Address def next_hop=(val) prop_set('next-hop', val) end # Set Tag of route def tag prop_get('tag') end # Set Tag of route def tag=(val) prop_set('tag', val) end end def set @subclasses['set'] ||= Set.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Unique Sequence Number between <1-65535>'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'deny', 'optional'=>'yes', 'help-string'=>'Permit or Deny (default) Route Map', 'enum'=>[{'name'=>'deny', 'value'=>'deny', 'help-string'=>'Specify to Deny Route-Map'}, {'name'=>'permit', 'value'=>'permit', 'help-string'=>'Specify to Permit Route-Map'}]}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'optional'=>'yes', 'help-string'=>'Describe Route Map', 'regex'=>'^[ a-zA-Z0-9._-]+$'}} # Unique Sequence Number between <1-65535> def name prop_get('@name') end # Permit or Deny (default) Route Map def action prop_get('action') end # Permit or Deny (default) Route Map def action=(val) prop_set('action', val) end # Describe Route Map def description prop_get('description') end # Describe Route Map def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def route_map maybe_register_subclass('route-map', RouteMap.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def rip @subclasses['rip'] ||= Rip.new(parent_instance: self, client: @client, create_children: @create_children) end class Rib < ConfigClass def has_multiple_values?; false; end def _section :rib end class RouteMap < XML::ConfigClass def has_multiple_values?; true; end def _section :'route-map' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Match < ConfigClass def has_multiple_values?; false; end def _section :match end class Ipv4 < ConfigClass def has_multiple_values?; false; end def _section :ipv4 end class Address < ConfigClass def has_multiple_values?; false; end def _section :address end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def address @subclasses['address'] ||= Address.new(parent_instance: self, client: @client, create_children: @create_children) end class NextHop < ConfigClass def has_multiple_values?; false; end def _section :'next-hop' end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def next_hop @subclasses['next-hop'] ||= NextHop.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ipv4 @subclasses['ipv4'] ||= Ipv4.new(parent_instance: self, client: @client, create_children: @create_children) end class Ipv6 < ConfigClass def has_multiple_values?; false; end def _section :ipv6 end class Address < ConfigClass def has_multiple_values?; false; end def _section :address end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def address @subclasses['address'] ||= Address.new(parent_instance: self, client: @client, create_children: @create_children) end class NextHop < ConfigClass def has_multiple_values?; false; end def _section :'next-hop' end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def next_hop @subclasses['next-hop'] ||= NextHop.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ipv6 @subclasses['ipv6'] ||= Ipv6.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'interface'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Interface', 'type'=>'string', 'maxlen'=>'64', 'optional'=>'yes', 'help-string'=>'Match Interface of the route'}, 'metric'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Match Metric of route'}} # Match Interface of the route def interface prop_get('interface') end # Match Interface of the route def interface=(val) prop_set('interface', val) end # Match Metric of route def metric prop_get('metric') end # Match Metric of route def metric=(val) prop_set('metric', val) end end def match @subclasses['match'] ||= Match.new(parent_instance: self, client: @client, create_children: @create_children) end class Set < ConfigClass def has_multiple_values?; false; end def _section :set end @props = {'source-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'128', 'help-string'=>'Set Source IPv4 or IPv6 address'}} # Set Source IPv4 or IPv6 address def source_address prop_get('source-address') end # Set Source IPv4 or IPv6 address def source_address=(val) prop_set('source-address', val) end end def set @subclasses['set'] ||= Set.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Unique Sequence Number between <1-65535>'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'deny', 'optional'=>'yes', 'help-string'=>'Permit or Deny (default) Route Map', 'enum'=>[{'name'=>'deny', 'value'=>'deny', 'help-string'=>'Specify to Deny Route-Map'}, {'name'=>'permit', 'value'=>'permit', 'help-string'=>'Specify to Permit Route-Map'}]}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'optional'=>'yes', 'help-string'=>'Describe Route Map', 'regex'=>'^[ a-zA-Z0-9._-]+$'}} # Unique Sequence Number between <1-65535> def name prop_get('@name') end # Permit or Deny (default) Route Map def action prop_get('action') end # Permit or Deny (default) Route Map def action=(val) prop_set('action', val) end # Describe Route Map def description prop_get('description') end # Describe Route Map def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def route_map maybe_register_subclass('route-map', RouteMap.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def rib @subclasses['rib'] ||= Rib.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def connected_static @subclasses['connected-static'] ||= ConnectedStatic.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'regex'=>'^[a-zA-Z0-9._-]+$', 'help-string'=>'Redistribution Route-Map Name - alphanumeric string [0-9a-zA-Z._-]'}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'optional'=>'yes', 'help-string'=>'Describe Redistribution Route Map', 'regex'=>'^[ a-zA-Z0-9._-]+$'}} # Redistribution Route-Map Name - alphanumeric string [0-9a-zA-Z._-] def name prop_get('@name') end # Describe Redistribution Route Map def description prop_get('description') end # Describe Redistribution Route Map def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def redist_entry maybe_register_subclass('redist-entry', RedistEntry.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def redistribution @subclasses['redistribution'] ||= Redistribution.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def route_maps @subclasses['route-maps'] ||= RouteMaps.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def filters @subclasses['filters'] ||= Filters.new(parent_instance: self, client: @client, create_children: @create_children) end class Bfd < XML::ConfigClass def has_multiple_values?; true; end def _section :bfd end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Multihop < ConfigClass def has_multiple_values?; false; end def _section :multihop end @props = {'min-received-ttl'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'254', 'help-string'=>'minimum accepted ttl on received BFD packet', 'uiHint-fieldLabel'=>'Minimum Rx TTL'}} # minimum accepted ttl on received BFD packet def min_received_ttl prop_get('min-received-ttl') end # minimum accepted ttl on received BFD packet def min_received_ttl=(val) prop_set('min-received-ttl', val) end end def multihop @subclasses['multihop'] ||= Multihop.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]', 'regex'=>'^[a-zA-Z0-9._-]+$'}, 'mode'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'active', 'help-string'=>'BFD operation mode', 'enum'=>[{'value'=>'active', 'help-string'=>'actively sends control packets to neighbor'}, {'value'=>'passive', 'help-string'=>'wait for neighbor to send control packets, will respond as required'}]}, 'min-tx-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'50', 'max'=>'10000', 'default'=>'1000', 'help-string'=>'desired minimum tx interval in ms', 'uiHint-fieldLabel'=>'Desired Minimum Tx Interval (ms)'}, 'min-rx-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'50', 'max'=>'10000', 'default'=>'1000', 'help-string'=>'required minimum rx interval in ms', 'uiHint-fieldLabel'=>'Required Minimum Rx Interval (ms)'}, 'detection-multiplier'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'2', 'max'=>'255', 'default'=>'3', 'help-string'=>'multiplier sent to remote system', 'uiHint-fieldLabel'=>'Detection Time Multiplier'}, 'hold-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'120000', 'default'=>'0', 'help-string'=>'delay transmission and reception of control packets in ms', 'uiHint-fieldLabel'=>'Hold Time (ms)'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # BFD operation mode def mode prop_get('mode') end # BFD operation mode def mode=(val) prop_set('mode', val) end # desired minimum tx interval in ms def min_tx_interval prop_get('min-tx-interval') end # desired minimum tx interval in ms def min_tx_interval=(val) prop_set('min-tx-interval', val) end # required minimum rx interval in ms def min_rx_interval prop_get('min-rx-interval') end # required minimum rx interval in ms def min_rx_interval=(val) prop_set('min-rx-interval', val) end # multiplier sent to remote system def detection_multiplier prop_get('detection-multiplier') end # multiplier sent to remote system def detection_multiplier=(val) prop_set('detection-multiplier', val) end # delay transmission and reception of control packets in ms def hold_time prop_get('hold-time') end # delay transmission and reception of control packets in ms def hold_time=(val) prop_set('hold-time', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def bfd maybe_register_subclass('bfd', Bfd.new(parent_instance: self, client: @client, create_children: @create_children)) end class Multicast < ConfigClass def has_multiple_values?; false; end def _section :multicast end class PimInterfaceTimerProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'pim-interface-timer-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'regex'=>'^[a-zA-Z0-9._-]+$'}, 'assert-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65534', 'default'=>'177', 'help-string'=>'interval between PIM Assert messages, in seconds'}, 'hello-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'180', 'default'=>'30', 'help-string'=>'interval between PIM Hello messages, in seconds'}, 'join-prune-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'60', 'max'=>'600', 'default'=>'60', 'help-string'=>'interval between PIM Join/Prune messages, in seconds'}} def name prop_get('@name') end # interval between PIM Assert messages, in seconds def assert_interval prop_get('assert-interval') end # interval between PIM Assert messages, in seconds def assert_interval=(val) prop_set('assert-interval', val) end # interval between PIM Hello messages, in seconds def hello_interval prop_get('hello-interval') end # interval between PIM Hello messages, in seconds def hello_interval=(val) prop_set('hello-interval', val) end # interval between PIM Join/Prune messages, in seconds def join_prune_interval prop_get('join-prune-interval') end # interval between PIM Join/Prune messages, in seconds def join_prune_interval=(val) prop_set('join-prune-interval', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def pim_interface_timer_profile maybe_register_subclass('pim-interface-timer-profile', PimInterfaceTimerProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class IgmpInterfaceQueryProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'igmp-interface-query-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'regex'=>'^[a-zA-Z0-9._-]+$'}, 'max-query-response-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'10', 'min'=>'1', 'max'=>'25', 'help-string'=>'maximum query response time for general group membership queries in seconds'}, 'query-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'125', 'min'=>'1', 'max'=>'1800', 'help-string'=>'interval between group/source specific query messages'}, 'last-member-query-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'1', 'min'=>'1', 'max'=>'25', 'help-string'=>'interval between group/source specific query messages (including those sent in response of leave group messages)'}, 'immediate-leave'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'leave group immediately when a leave message is received'}} def name prop_get('@name') end # maximum query response time for general group membership queries in seconds def max_query_response_time prop_get('max-query-response-time') end # maximum query response time for general group membership queries in seconds def max_query_response_time=(val) prop_set('max-query-response-time', val) end # interval between group/source specific query messages def query_interval prop_get('query-interval') end # interval between group/source specific query messages def query_interval=(val) prop_set('query-interval', val) end # interval between group/source specific query messages (including those sent in response of leave group messages) def last_member_query_interval prop_get('last-member-query-interval') end # interval between group/source specific query messages (including those sent in response of leave group messages) def last_member_query_interval=(val) prop_set('last-member-query-interval', val) end # leave group immediately when a leave message is received def immediate_leave prop_get('immediate-leave') end # leave group immediately when a leave message is received def immediate_leave=(val) prop_set('immediate-leave', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def igmp_interface_query_profile maybe_register_subclass('igmp-interface-query-profile', IgmpInterfaceQueryProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class MsdpAuthProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'msdp-auth-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'regex'=>'^[a-zA-Z0-9._-]+$'}, 'secret'=>{'node-type'=>'element', 'optional'=>'yes', 'encrypt'=>'yes', 'skip-commit-validation'=>'yes', 'type'=>'string', 'regex'=>'^([a-zA-Z0-9!@#%^_-])+$', 'ui-hint'=>'regexText:"Only alphanumeric and !@#%^_- are allowed to use"', 'maxlen'=>'63', 'help-string'=>'shared secret for the TCP MD5 authentication, [a-zA-Z0-9!@#%^_-]'}} def name prop_get('@name') end # shared secret for the TCP MD5 authentication, [a-zA-Z0-9!@#%^_-] def secret prop_get('secret') end # shared secret for the TCP MD5 authentication, [a-zA-Z0-9!@#%^_-] def secret=(val) prop_set('secret', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def msdp_auth_profile maybe_register_subclass('msdp-auth-profile', MsdpAuthProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class MsdpTimerProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'msdp-timer-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'regex'=>'^[a-zA-Z0-9._-]+$'}, 'keep-alive-interval'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Keep Alive Interval', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'60', 'default'=>'60', 'help-string'=>'Interval (in seconds) to send keep alive packets'}, 'message-timeout'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Message Timeout', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'75', 'default'=>'75', 'help-string'=>'number of lost hello packets to declare router down'}, 'connection-retry-interval'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Connection Retry Interval', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'60', 'default'=>'30', 'help-string'=>'Max retry count'}} def name prop_get('@name') end # Interval (in seconds) to send keep alive packets def keep_alive_interval prop_get('keep-alive-interval') end # Interval (in seconds) to send keep alive packets def keep_alive_interval=(val) prop_set('keep-alive-interval', val) end # number of lost hello packets to declare router down def message_timeout prop_get('message-timeout') end # number of lost hello packets to declare router down def message_timeout=(val) prop_set('message-timeout', val) end # Max retry count def connection_retry_interval prop_get('connection-retry-interval') end # Max retry count def connection_retry_interval=(val) prop_set('connection-retry-interval', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def msdp_timer_profile maybe_register_subclass('msdp-timer-profile', MsdpTimerProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def multicast @subclasses['multicast'] ||= Multicast.new(parent_instance: self, client: @client, create_children: @create_children) end class Rip < ConfigClass def has_multiple_values?; false; end def _section :rip end class AuthProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'auth-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Md5 < XML::ConfigClass def has_multiple_values?; true; end def _section :md5 end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255', 'help-string'=>'Key-ID'}, 'key'=>{'node-type'=>'element', 'encrypt'=>'yes', 'type'=>'string', 'skip-commit-validation'=>'yes', 'maxlen'=>'16', 'help-string'=>'key for the authentication'}, 'preferred'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'use this key when sending packet'}} # Key-ID def name prop_get('@name') end # key for the authentication def key prop_get('key') end # key for the authentication def key=(val) prop_set('key', val) end # use this key when sending packet def preferred prop_get('preferred') end # use this key when sending packet def preferred=(val) prop_set('preferred', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def md5 maybe_register_subclass('md5', Md5.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'regex'=>'^[a-zA-Z0-9._-]+$'}, 'password'=>{'node-type'=>'element', 'optional'=>'yes', 'encrypt'=>'yes', 'skip-commit-validation'=>'yes', 'type'=>'string', 'maxlen'=>'16', 'help-string'=>'Simple password authentication'}} def name prop_get('@name') end # Simple password authentication def password prop_get('password') end # Simple password authentication def password=(val) prop_set('password', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def auth_profile maybe_register_subclass('auth-profile', AuthProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class GlobalTimerProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'global-timer-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'regex'=>'^[a-zA-Z0-9._-]+$'}, 'update-intervals'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'5', 'max'=>'2147483647', 'default'=>'30', 'help-string'=>'number of intervals take between route advertisement (RIP response packet)'}, 'expire-intervals'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'5', 'max'=>'2147483647', 'default'=>'180', 'help-string'=>'number of intervals take between route last updated to its expiration'}, 'delete-intervals'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'5', 'max'=>'2147483647', 'default'=>'120', 'help-string'=>'number of intervals take between route expiration to its deletion'}} def name prop_get('@name') end # number of intervals take between route advertisement (RIP response packet) def update_intervals prop_get('update-intervals') end # number of intervals take between route advertisement (RIP response packet) def update_intervals=(val) prop_set('update-intervals', val) end # number of intervals take between route last updated to its expiration def expire_intervals prop_get('expire-intervals') end # number of intervals take between route last updated to its expiration def expire_intervals=(val) prop_set('expire-intervals', val) end # number of intervals take between route expiration to its deletion def delete_intervals prop_get('delete-intervals') end # number of intervals take between route expiration to its deletion def delete_intervals=(val) prop_set('delete-intervals', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def global_timer_profile maybe_register_subclass('global-timer-profile', GlobalTimerProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class RedistributionProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'redistribution-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Static < ConfigClass def has_multiple_values?; false; end def _section :static end @props = {'enable'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable (default) or Disable'}, 'metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'16', 'help-string'=>'Set Metric of routes (Field ignored if route-map configured).'}, 'route-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Redistribute Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Apply Route-Map on Redistributed Routes'}} # Enable (default) or Disable def enable prop_get('enable') end # Enable (default) or Disable def enable=(val) prop_set('enable', val) end # Set Metric of routes (Field ignored if route-map configured). def metric prop_get('metric') end # Set Metric of routes (Field ignored if route-map configured). def metric=(val) prop_set('metric', val) end # Apply Route-Map on Redistributed Routes def route_map prop_get('route-map') end # Apply Route-Map on Redistributed Routes def route_map=(val) prop_set('route-map', val) end end def static @subclasses['static'] ||= Static.new(parent_instance: self, client: @client, create_children: @create_children) end class Connected < ConfigClass def has_multiple_values?; false; end def _section :connected end @props = {'enable'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable (default) or Disable'}, 'metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'16', 'help-string'=>'Set Metric of routes (Field ignored if route-map configured).'}, 'route-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Redistribute Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Apply Route-Map on Redistributed Routes'}} # Enable (default) or Disable def enable prop_get('enable') end # Enable (default) or Disable def enable=(val) prop_set('enable', val) end # Set Metric of routes (Field ignored if route-map configured). def metric prop_get('metric') end # Set Metric of routes (Field ignored if route-map configured). def metric=(val) prop_set('metric', val) end # Apply Route-Map on Redistributed Routes def route_map prop_get('route-map') end # Apply Route-Map on Redistributed Routes def route_map=(val) prop_set('route-map', val) end end def connected @subclasses['connected'] ||= Connected.new(parent_instance: self, client: @client, create_children: @create_children) end class Bgp < ConfigClass def has_multiple_values?; false; end def _section :bgp end @props = {'enable'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable (default) or Disable'}, 'metric'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'16', 'optional'=>'yes', 'help-string'=>'Set Metric of routes (Field ignored if route-map configured).'}, 'route-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Redistribute Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Apply Route-Map on Redistributed Routes'}} # Enable (default) or Disable def enable prop_get('enable') end # Enable (default) or Disable def enable=(val) prop_set('enable', val) end # Set Metric of routes (Field ignored if route-map configured). def metric prop_get('metric') end # Set Metric of routes (Field ignored if route-map configured). def metric=(val) prop_set('metric', val) end # Apply Route-Map on Redistributed Routes def route_map prop_get('route-map') end # Apply Route-Map on Redistributed Routes def route_map=(val) prop_set('route-map', val) end end def bgp @subclasses['bgp'] ||= Bgp.new(parent_instance: self, client: @client, create_children: @create_children) end class Ospf < ConfigClass def has_multiple_values?; false; end def _section :ospf end @props = {'enable'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable (default) or Disable'}, 'metric'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'16', 'optional'=>'yes', 'help-string'=>'Set Metric of routes (Field ignored if route-map configured).'}, 'route-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Redistribute Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Apply Route-Map on Redistributed Routes'}} # Enable (default) or Disable def enable prop_get('enable') end # Enable (default) or Disable def enable=(val) prop_set('enable', val) end # Set Metric of routes (Field ignored if route-map configured). def metric prop_get('metric') end # Set Metric of routes (Field ignored if route-map configured). def metric=(val) prop_set('metric', val) end # Apply Route-Map on Redistributed Routes def route_map prop_get('route-map') end # Apply Route-Map on Redistributed Routes def route_map=(val) prop_set('route-map', val) end end def ospf @subclasses['ospf'] ||= Ospf.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'help-string'=>'Profile Name', 'regex'=>'^[a-zA-Z0-9._-]+$'}} # Profile Name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def redistribution_profile maybe_register_subclass('redistribution-profile', RedistributionProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def rip @subclasses['rip'] ||= Rip.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def routing_profile @subclasses['routing-profile'] ||= RoutingProfile.new(parent_instance: self, client: @client, create_children: @create_children) end class DnsProxy < XML::ConfigClass def has_multiple_values?; true; end def _section :'dns-proxy' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Interface < XML::ConfigClass def has_multiple_values?; true; end def _section :interface end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Interface name'}} # Interface name def member prop_get('member') end # Interface name def member=(val) prop_set('member', val) end end def interface maybe_register_subclass('interface', Interface.new(parent_instance: self, client: @client, create_children: @create_children)) end class Default < ConfigClass def has_multiple_values?; false; end def _section :default end class Inheritance < ConfigClass def has_multiple_values?; false; end def _section :inheritance end @props = {'source'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Dynamic interface'}} # Dynamic interface def source prop_get('source') end # Dynamic interface def source=(val) prop_set('source', val) end end def inheritance @subclasses['inheritance'] ||= Inheritance.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'primary'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Primary DNS Name server IP address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'help-string'=>'DNS primary server ip'}, 'enum'=>[{'value'=>'inherited'}]}}, 'secondary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Secondary DNS Name server IP address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'help-string'=>'DNS primary server ip'}, 'enum'=>[{'value'=>'inherited'}]}}} # Primary DNS Name server IP address def primary prop_get('primary') end # Primary DNS Name server IP address def primary=(val) prop_set('primary', val) end # Secondary DNS Name server IP address def secondary prop_get('secondary') end # Secondary DNS Name server IP address def secondary=(val) prop_set('secondary', val) end end def default @subclasses['default'] ||= Default.new(parent_instance: self, client: @client, create_children: @create_children) end class DomainServers < XML::ConfigClass def has_multiple_values?; true; end def _section :'domain-servers' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class DomainName < XML::ConfigClass def has_multiple_values?; true; end def _section :'domain-name' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^[a-zA-Z0-9_\.\*\-]+$', 'maxlen'=>'128', 'help-string'=>'Dotted domain name with optional wildcards'}} # Dotted domain name with optional wildcards def member prop_get('member') end # Dotted domain name with optional wildcards def member=(val) prop_set('member', val) end end def domain_name maybe_register_subclass('domain-name', DomainName.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'optional'=>'no', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'cacheable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Turn on caching of domains resolved by this mapping'}, 'primary'=>{'node-type'=>'element', 'type'=>'ipspec', 'unicast-only'=>'yes', 'help-string'=>'Primary DNS Name server IP address'}, 'secondary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-only'=>'yes', 'help-string'=>'Secondary DNS Name server IP address'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # Turn on caching of domains resolved by this mapping def cacheable prop_get('cacheable') end # Turn on caching of domains resolved by this mapping def cacheable=(val) prop_set('cacheable', val) end # Primary DNS Name server IP address def primary prop_get('primary') end # Primary DNS Name server IP address def primary=(val) prop_set('primary', val) end # Secondary DNS Name server IP address def secondary prop_get('secondary') end # Secondary DNS Name server IP address def secondary=(val) prop_set('secondary', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def domain_servers maybe_register_subclass('domain-servers', DomainServers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Cache < ConfigClass def has_multiple_values?; false; end def _section :cache end class MaxTtl < ConfigClass def has_multiple_values?; false; end def _section :'max-ttl' end @props = {'enabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable max ttl for this DNS object'}, 'time-to-live'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'60', 'max'=>'86400', 'help-string'=>'Time in seconds after which entry is cleared'}} # Enable max ttl for this DNS object def enabled prop_get('enabled') end # Enable max ttl for this DNS object def enabled=(val) prop_set('enabled', val) end # Time in seconds after which entry is cleared def time_to_live prop_get('time-to-live') end # Time in seconds after which entry is cleared def time_to_live=(val) prop_set('time-to-live', val) end end def max_ttl @subclasses['max-ttl'] ||= MaxTtl.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Turn on caching for this DNS object'}, 'cache-edns'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Cache EDNS UDP response'}} # Turn on caching for this DNS object def enabled prop_get('enabled') end # Turn on caching for this DNS object def enabled=(val) prop_set('enabled', val) end # Cache EDNS UDP response def cache_edns prop_get('cache-edns') end # Cache EDNS UDP response def cache_edns=(val) prop_set('cache-edns', val) end end def cache @subclasses['cache'] ||= Cache.new(parent_instance: self, client: @client, create_children: @create_children) end class StaticEntries < XML::ConfigClass def has_multiple_values?; true; end def _section :'static-entries' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Address < XML::ConfigClass def has_multiple_values?; true; end def _section :address end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Resolved IP address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # Resolved IP address def member prop_get('member') end # Resolved IP address def member=(val) prop_set('member', val) end end def address maybe_register_subclass('address', Address.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'optional'=>'no', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'domain'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'help-string'=>'Fully qualified domain name for specified IP address'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # Fully qualified domain name for specified IP address def domain prop_get('domain') end # Fully qualified domain name for specified IP address def domain=(val) prop_set('domain', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def static_entries maybe_register_subclass('static-entries', StaticEntries.new(parent_instance: self, client: @client, create_children: @create_children)) end class TcpQueries < ConfigClass def has_multiple_values?; false; end def _section :'tcp-queries' end @props = {'enabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Turn on forwarding of TCP DNS queries'}, 'max-pending-requests'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'64', 'max'=>'256', 'default'=>'64', 'help-string'=>'Upper limit on number of concurrent TCP DNS requests'}} # Turn on forwarding of TCP DNS queries def enabled prop_get('enabled') end # Turn on forwarding of TCP DNS queries def enabled=(val) prop_set('enabled', val) end # Upper limit on number of concurrent TCP DNS requests def max_pending_requests prop_get('max-pending-requests') end # Upper limit on number of concurrent TCP DNS requests def max_pending_requests=(val) prop_set('max-pending-requests', val) end end def tcp_queries @subclasses['tcp-queries'] ||= TcpQueries.new(parent_instance: self, client: @client, create_children: @create_children) end class UdpQueries < ConfigClass def has_multiple_values?; false; end def _section :'udp-queries' end class Retries < ConfigClass def has_multiple_values?; false; end def _section :retries end @props = {'interval'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'1', 'max'=>'30', 'default'=>'2', 'help-string'=>'Time in seconds for another request to be sent'}, 'attempts'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'1', 'max'=>'30', 'default'=>'5', 'help-string'=>'Maximum number of retries before trying next name server'}} # Time in seconds for another request to be sent def interval prop_get('interval') end # Time in seconds for another request to be sent def interval=(val) prop_set('interval', val) end # Maximum number of retries before trying next name server def attempts prop_get('attempts') end # Maximum number of retries before trying next name server def attempts=(val) prop_set('attempts', val) end end def retries @subclasses['retries'] ||= Retries.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def udp_queries @subclasses['udp-queries'] ||= UdpQueries.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'optional'=>'no', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable or disable processing of DNS requests on interface(s) on this object'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # Enable or disable processing of DNS requests on interface(s) on this object def enabled prop_get('enabled') end # Enable or disable processing of DNS requests on interface(s) on this object def enabled=(val) prop_set('enabled', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def dns_proxy maybe_register_subclass('dns-proxy', DnsProxy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Dhcp < ConfigClass def has_multiple_values?; false; end def _section :dhcp end class Interface < XML::ConfigClass def has_multiple_values?; true; end def _section :interface end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Server < ConfigClass def has_multiple_values?; false; end def _section :server end class Option < ConfigClass def has_multiple_values?; false; end def _section :option end class Lease < XML::ConfigClass def has_multiple_values?; true; end def _section :lease end class Unlimited < ConfigClass def has_multiple_values?; false; end def _section :unlimited end @props = {} end def unlimited @subclasses['unlimited'] ||= Unlimited.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'1000000', 'default'=>'1440', 'help-string'=>'lease(minute)'}} # lease(minute) def timeout prop_get('timeout') end # lease(minute) def timeout=(val) prop_set('timeout', val) end end def lease maybe_register_subclass('lease', Lease.new(parent_instance: self, client: @client, create_children: @create_children)) end class Inheritance < ConfigClass def has_multiple_values?; false; end def _section :inheritance end @props = {'source'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Dynamic interface'}} # Dynamic interface def source prop_get('source') end # Dynamic interface def source=(val) prop_set('source', val) end end def inheritance @subclasses['inheritance'] ||= Inheritance.new(parent_instance: self, client: @client, create_children: @create_children) end class Dns < ConfigClass def has_multiple_values?; false; end def _section :dns end @props = {'primary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'DNS primary server ip address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'ipv4-only'=>'yes', 'help-string'=>'DNS server ip'}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'inherited'}]}}, 'secondary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'DNS secondary server ip address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'ipv4-only'=>'yes', 'help-string'=>'DNS server ip'}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'inherited'}]}}} # DNS primary server ip address def primary prop_get('primary') end # DNS primary server ip address def primary=(val) prop_set('primary', val) end # DNS secondary server ip address def secondary prop_get('secondary') end # DNS secondary server ip address def secondary=(val) prop_set('secondary', val) end end def dns @subclasses['dns'] ||= Dns.new(parent_instance: self, client: @client, create_children: @create_children) end class Wins < ConfigClass def has_multiple_values?; false; end def _section :wins end @props = {'primary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'WINS primary server ip address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'ipv4-only'=>'yes', 'help-string'=>'WINS server ip'}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'inherited'}]}}, 'secondary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'WINS secondary server ip address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'ipv4-only'=>'yes', 'help-string'=>'WINS server ip'}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'inherited'}]}}} # WINS primary server ip address def primary prop_get('primary') end # WINS primary server ip address def primary=(val) prop_set('primary', val) end # WINS secondary server ip address def secondary prop_get('secondary') end # WINS secondary server ip address def secondary=(val) prop_set('secondary', val) end end def wins @subclasses['wins'] ||= Wins.new(parent_instance: self, client: @client, create_children: @create_children) end class Nis < ConfigClass def has_multiple_values?; false; end def _section :nis end @props = {'primary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'NIS primary server ip address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'ipv4-only'=>'yes', 'help-string'=>'NIS server ip'}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'inherited'}]}}, 'secondary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'NIS secondary server ip address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'ipv4-only'=>'yes', 'help-string'=>'NIS server ip'}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'inherited'}]}}} # NIS primary server ip address def primary prop_get('primary') end # NIS primary server ip address def primary=(val) prop_set('primary', val) end # NIS secondary server ip address def secondary prop_get('secondary') end # NIS secondary server ip address def secondary=(val) prop_set('secondary', val) end end def nis @subclasses['nis'] ||= Nis.new(parent_instance: self, client: @client, create_children: @create_children) end class Ntp < ConfigClass def has_multiple_values?; false; end def _section :ntp end @props = {'primary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'NTP primary server ip address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'ipv4-only'=>'yes', 'help-string'=>'NTP server ip'}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'inherited'}]}}, 'secondary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'NTP secondary server ip address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'ipv4-only'=>'yes', 'help-string'=>'NTP server ip'}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'inherited'}]}}} # NTP primary server ip address def primary prop_get('primary') end # NTP primary server ip address def primary=(val) prop_set('primary', val) end # NTP secondary server ip address def secondary prop_get('secondary') end # NTP secondary server ip address def secondary=(val) prop_set('secondary', val) end end def ntp @subclasses['ntp'] ||= Ntp.new(parent_instance: self, client: @client, create_children: @create_children) end class UserDefined < XML::ConfigClass def has_multiple_values?; true; end def _section :'user-defined' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Ip < XML::ConfigClass def has_multiple_values?; true; end def _section :ip end @props = {'member'=>{'node-type'=>'element', 'type'=>'ipspec', 'ipv4-only'=>'yes'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def ip maybe_register_subclass('ip', Ip.new(parent_instance: self, client: @client, create_children: @create_children)) end class Ascii < XML::ConfigClass def has_multiple_values?; true; end def _section :ascii end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'255'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def ascii maybe_register_subclass('ascii', Ascii.new(parent_instance: self, client: @client, create_children: @create_children)) end class Hex < XML::ConfigClass def has_multiple_values?; true; end def _section :hex end @props = {'member'=>{'node-type'=>'element', 'minlen'=>'1', 'maxlen'=>'510', 'type'=>'string', 'regex'=>'^[0-9a-fA-F]+$'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def hex maybe_register_subclass('hex', Hex.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'optional'=>'no', 'type'=>'string', 'regex'=>'^([ a-zA-Z0-9_.-])+$', 'help-string'=>'option name'}, 'code'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'254', 'help-string'=>'option code'}, 'vendor-class-identifier'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'255', 'regex'=>'^([ a-zA-Z0-9./_=:;?@-])+$'}, 'inherited'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Inherited from DHCP server inheritance source'}} # option name def name prop_get('@name') end # option code def code prop_get('code') end # option code def code=(val) prop_set('code', val) end def vendor_class_identifier prop_get('vendor-class-identifier') end def vendor_class_identifier=(val) prop_set('vendor-class-identifier', val) end # Inherited from DHCP server inheritance source def inherited prop_get('inherited') end # Inherited from DHCP server inheritance source def inherited=(val) prop_set('inherited', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def user_defined maybe_register_subclass('user-defined', UserDefined.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'gateway'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'default gateway', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'ipv4-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'subnet-mask'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'var-ip-address', 'unicast-only'=>'yes', 'optional'=>'yes', 'help-string'=>'ip pool subnet mask'}, 'pop3-server'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'POP3 server', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'ipv4-only'=>'yes', 'help-string'=>'POP3 server ip address'}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'inherited'}]}}, 'smtp-server'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'SMTP server', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'ipv4-only'=>'yes', 'help-string'=>'SMTP server ip address'}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'inherited'}]}}, 'dns-suffix'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'domain name', 'multi-types'=>{'string'=>{'maxlen'=>'63', 'help-string'=>'SMTP server ip address'}, 'enum'=>[{'value'=>'inherited'}]}}} # default gateway def gateway prop_get('gateway') end # default gateway def gateway=(val) prop_set('gateway', val) end # ip pool subnet mask def subnet_mask prop_get('subnet-mask') end # ip pool subnet mask def subnet_mask=(val) prop_set('subnet-mask', val) end # POP3 server def pop3_server prop_get('pop3-server') end # POP3 server def pop3_server=(val) prop_set('pop3-server', val) end # SMTP server def smtp_server prop_get('smtp-server') end # SMTP server def smtp_server=(val) prop_set('smtp-server', val) end # domain name def dns_suffix prop_get('dns-suffix') end # domain name def dns_suffix=(val) prop_set('dns-suffix', val) end end def option @subclasses['option'] ||= Option.new(parent_instance: self, client: @client, create_children: @create_children) end class IpPool < XML::ConfigClass def has_multiple_values?; true; end def _section :'ip-pool' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes'}, 'iprangespec'=>{}, 'string'=>{'maxlen'=>'63'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def ip_pool maybe_register_subclass('ip-pool', IpPool.new(parent_instance: self, client: @client, create_children: @create_children)) end class Reserved < XML::ConfigClass def has_multiple_values?; true; end def _section :reserved end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'optional'=>'no', 'type'=>'ipspec', 'ipv4-only'=>'yes', 'unicast-only'=>'yes', 'help-string'=>'ip'}, 'mac'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'subtype'=>'mac-address', 'help-string'=>'MAC address (format xx:xx:xx:xx:xx:xx)'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Description of reserved entry, e.g. host name', 'maxlen'=>'255'}} # ip def name prop_get('@name') end # MAC address (format xx:xx:xx:xx:xx:xx) def mac prop_get('mac') end # MAC address (format xx:xx:xx:xx:xx:xx) def mac=(val) prop_set('mac', val) end # Description of reserved entry, e.g. host name def description prop_get('description') end # Description of reserved entry, e.g. host name def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def reserved maybe_register_subclass('reserved', Reserved.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'mode'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'enabled', 'help-string'=>'Enable dhcp server'}, {'value'=>'disabled', 'help-string'=>'Disable dhcp server'}, {'value'=>'auto', 'help-string'=>'Auto probe to avoid conflict with existing DHCP server'}]}, 'probe-ip'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Ping IP when allocating a new IP'}} def mode prop_get('mode') end def mode=(val) prop_set('mode', val) end # Ping IP when allocating a new IP def probe_ip prop_get('probe-ip') end # Ping IP when allocating a new IP def probe_ip=(val) prop_set('probe-ip', val) end end def server @subclasses['server'] ||= Server.new(parent_instance: self, client: @client, create_children: @create_children) end class Relay < ConfigClass def has_multiple_values?; false; end def _section :relay end class Ip < ConfigClass def has_multiple_values?; false; end def _section :ip end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'relay server ip', 'max-count'=>'8', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes', 'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # relay server ip def member prop_get('member') end # relay server ip def member=(val) prop_set('member', val) end end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} def enabled prop_get('enabled') end def enabled=(val) prop_set('enabled', val) end end def ip @subclasses['ip'] ||= Ip.new(parent_instance: self, client: @client, create_children: @create_children) end class Ipv6 < ConfigClass def has_multiple_values?; false; end def _section :ipv6 end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'optional'=>'no', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'help-string'=>'relay server address'}, 'interface'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Specify outgoing interface when using an IPv6 multicast address for your DHCPv6 server'}} # relay server address def name prop_get('@name') end # Specify outgoing interface when using an IPv6 multicast address for your DHCPv6 server def interface prop_get('interface') end # Specify outgoing interface when using an IPv6 multicast address for your DHCPv6 server def interface=(val) prop_set('interface', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} def enabled prop_get('enabled') end def enabled=(val) prop_set('enabled', val) end end def ipv6 @subclasses['ipv6'] ||= Ipv6.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def relay @subclasses['relay'] ||= Relay.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'optional'=>'no', 'type'=>'string', 'regex'=>'^([ 0-9a-zA-Z./_-])+$', 'help-string'=>'interface for dhcp, Client Interface is not allowed to be DHCP Server or Relay'}} # interface for dhcp, Client Interface is not allowed to be DHCP Server or Relay def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def interface maybe_register_subclass('interface', Interface.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def dhcp @subclasses['dhcp'] ||= Dhcp.new(parent_instance: self, client: @client, create_children: @create_children) end class SharedGateway < XML::ConfigClass def has_multiple_values?; true; end def _section :'shared-gateway' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Import < ConfigClass def has_multiple_values?; false; end def _section :import end class Network < ConfigClass def has_multiple_values?; false; end def _section :network end class Interface < XML::ConfigClass def has_multiple_values?; true; end def _section :interface end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'affects'=>'../../../../../zone'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def interface maybe_register_subclass('interface', Interface.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def network @subclasses['network'] ||= Network.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'dns-proxy'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Dns proxy object to use for resolving fqdns'}} # Dns proxy object to use for resolving fqdns def dns_proxy prop_get('dns-proxy') end # Dns proxy object to use for resolving fqdns def dns_proxy=(val) prop_set('dns-proxy', val) end end def import @subclasses['import'] ||= Import.new(parent_instance: self, client: @client, create_children: @create_children) end class Zone < XML::ConfigClass def has_multiple_values?; true; end def _section :zone end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Network < ConfigClass def has_multiple_values?; false; end def _section :network end class Layer3 < XML::ConfigClass def has_multiple_values?; true; end def _section :layer3 end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def layer3 maybe_register_subclass('layer3', Layer3.new(parent_instance: self, client: @client, create_children: @create_children)) end class External < XML::ConfigClass def has_multiple_values?; true; end def _section :external end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'vsys name'}} # vsys name def member prop_get('member') end # vsys name def member=(val) prop_set('member', val) end end def external maybe_register_subclass('external', External.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'zone-protection-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Zone protection profile'}, 'enable-packet-buffer-protection'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'log-setting'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'Log setting for forwarding scan logs'}} # Zone protection profile def zone_protection_profile prop_get('zone-protection-profile') end # Zone protection profile def zone_protection_profile=(val) prop_set('zone-protection-profile', val) end def enable_packet_buffer_protection prop_get('enable-packet-buffer-protection') end def enable_packet_buffer_protection=(val) prop_set('enable-packet-buffer-protection', val) end # Log setting for forwarding scan logs def log_setting prop_get('log-setting') end # Log setting for forwarding scan logs def log_setting=(val) prop_set('log-setting', val) end end def network @subclasses['network'] ||= Network.new(parent_instance: self, client: @client, create_children: @create_children) end class UserAcl < ConfigClass def has_multiple_values?; false; end def _section :'user-acl' end class IncludeList < XML::ConfigClass def has_multiple_values?; true; end def _section :'include-list' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'ipspec'=>{}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def include_list maybe_register_subclass('include-list', IncludeList.new(parent_instance: self, client: @client, create_children: @create_children)) end class ExcludeList < XML::ConfigClass def has_multiple_values?; true; end def _section :'exclude-list' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'ipspec'=>{}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def exclude_list maybe_register_subclass('exclude-list', ExcludeList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def user_acl @subclasses['user-acl'] ||= UserAcl.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'15', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'dos-profile'=>{'node-type'=>'element', 'disabled'=>'yes', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Denial-of-Service profile'}, 'dos-log-setting'=>{'node-type'=>'element', 'disabled'=>'yes', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'Log setting for forwarding DoS logs'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # Denial-of-Service profile def dos_profile prop_get('dos-profile') end # Denial-of-Service profile def dos_profile=(val) prop_set('dos-profile', val) end # Log setting for forwarding DoS logs def dos_log_setting prop_get('dos-log-setting') end # Log setting for forwarding DoS logs def dos_log_setting=(val) prop_set('dos-log-setting', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def zone maybe_register_subclass('zone', Zone.new(parent_instance: self, client: @client, create_children: @create_children)) end class Address < XML::ConfigClass def has_multiple_values?; true; end def _section :address end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'no'}]}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'ip-netmask'=>{'node-type'=>'element', 'type'=>'ipspec'}, 'ip-range'=>{'node-type'=>'element', 'type'=>'iprangespec'}, 'ip-wildcard'=>{'node-type'=>'element', 'type'=>'ipdiscontmask'}, 'fqdn'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'255', 'regex'=>'^[a-zA-Z0-9_]([a-zA-Z0-9._-])+[a-zA-Z0-9]$'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end def ip_netmask prop_get('ip-netmask') end def ip_netmask=(val) prop_set('ip-netmask', val) end def ip_range prop_get('ip-range') end def ip_range=(val) prop_set('ip-range', val) end def ip_wildcard prop_get('ip-wildcard') end def ip_wildcard=(val) prop_set('ip-wildcard', val) end def fqdn prop_get('fqdn') end def fqdn=(val) prop_set('fqdn', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def address maybe_register_subclass('address', Address.new(parent_instance: self, client: @client, create_children: @create_children)) end class AddressGroup < XML::ConfigClass def has_multiple_values?; true; end def _section :'address-group' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Static < XML::ConfigClass def has_multiple_values?; true; end def _section :static end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def static maybe_register_subclass('static', Static.new(parent_instance: self, client: @client, create_children: @create_children)) end class Dynamic < ConfigClass def has_multiple_values?; false; end def _section :dynamic end @props = {'filter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2047', 'help-string'=>'tag-based filter'}} # tag-based filter def filter prop_get('filter') end # tag-based filter def filter=(val) prop_set('filter', val) end end def dynamic @subclasses['dynamic'] ||= Dynamic.new(parent_instance: self, client: @client, create_children: @create_children) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'no'}]}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def address_group maybe_register_subclass('address-group', AddressGroup.new(parent_instance: self, client: @client, create_children: @create_children)) end class Service < XML::ConfigClass def has_multiple_values?; true; end def _section :service end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Protocol < XML::ConfigClass def has_multiple_values?; true; end def _section :protocol end class Tcp < ConfigClass def has_multiple_values?; false; end def _section :tcp end class Override < XML::ConfigClass def has_multiple_values?; true; end def _section :override end class No < ConfigClass def has_multiple_values?; false; end def _section :no end @props = {} end def no @subclasses['no'] ||= No.new(parent_instance: self, client: @client, create_children: @create_children) end class Yes < ConfigClass def has_multiple_values?; false; end def _section :yes end @props = {'timeout'=>{'node-type'=>'element', 'help-string'=>'tcp session timeout value (in second)', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'604800'}, 'halfclose-timeout'=>{'node-type'=>'element', 'help-string'=>'tcp session half-close timeout value (in second)', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'604800'}, 'timewait-timeout'=>{'node-type'=>'element', 'help-string'=>'tcp session time-wait timeout value (in second)', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'600'}} # tcp session timeout value (in second) def timeout prop_get('timeout') end # tcp session timeout value (in second) def timeout=(val) prop_set('timeout', val) end # tcp session half-close timeout value (in second) def halfclose_timeout prop_get('halfclose-timeout') end # tcp session half-close timeout value (in second) def halfclose_timeout=(val) prop_set('halfclose-timeout', val) end # tcp session time-wait timeout value (in second) def timewait_timeout prop_get('timewait-timeout') end # tcp session time-wait timeout value (in second) def timewait_timeout=(val) prop_set('timewait-timeout', val) end end def yes @subclasses['yes'] ||= Yes.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def override maybe_register_subclass('override', Override.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'port'=>{'node-type'=>'element', 'type'=>'rangelistspec', 'min'=>'0', 'maxlen'=>'1023'}, 'source-port'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangelistspec', 'min'=>'0', 'maxlen'=>'1023'}} def port prop_get('port') end def port=(val) prop_set('port', val) end def source_port prop_get('source-port') end def source_port=(val) prop_set('source-port', val) end end def tcp @subclasses['tcp'] ||= Tcp.new(parent_instance: self, client: @client, create_children: @create_children) end class Udp < ConfigClass def has_multiple_values?; false; end def _section :udp end class Override < XML::ConfigClass def has_multiple_values?; true; end def _section :override end class No < ConfigClass def has_multiple_values?; false; end def _section :no end @props = {} end def no @subclasses['no'] ||= No.new(parent_instance: self, client: @client, create_children: @create_children) end class Yes < ConfigClass def has_multiple_values?; false; end def _section :yes end @props = {'timeout'=>{'node-type'=>'element', 'help-string'=>'udp session timeout value (in second)', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'604800', 'default'=>'30'}} # udp session timeout value (in second) def timeout prop_get('timeout') end # udp session timeout value (in second) def timeout=(val) prop_set('timeout', val) end end def yes @subclasses['yes'] ||= Yes.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def override maybe_register_subclass('override', Override.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'port'=>{'node-type'=>'element', 'type'=>'rangelistspec', 'min'=>'0', 'maxlen'=>'1023'}, 'source-port'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangelistspec', 'min'=>'0', 'maxlen'=>'1023'}} def port prop_get('port') end def port=(val) prop_set('port', val) end def source_port prop_get('source-port') end def source_port=(val) prop_set('source-port', val) end end def udp @subclasses['udp'] ||= Udp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def protocol maybe_register_subclass('protocol', Protocol.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'no'}]}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def service maybe_register_subclass('service', Service.new(parent_instance: self, client: @client, create_children: @create_children)) end class ServiceGroup < XML::ConfigClass def has_multiple_values?; true; end def _section :'service-group' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Members < XML::ConfigClass def has_multiple_values?; true; end def _section :members end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def members maybe_register_subclass('members', Members.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'no'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def service_group maybe_register_subclass('service-group', ServiceGroup.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'127', 'regex'=>'^[^\]\'\[]*$'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'no'}]}, 'color'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'color1'}, {'value'=>'color2'}, {'value'=>'color3'}, {'value'=>'color4'}, {'value'=>'color5'}, {'value'=>'color6'}, {'value'=>'color7'}, {'value'=>'color8'}, {'value'=>'color9'}, {'value'=>'color10'}, {'value'=>'color11'}, {'value'=>'color12'}, {'value'=>'color13'}, {'value'=>'color14'}, {'value'=>'color15'}, {'value'=>'color16'}, {'value'=>'color17'}, {'value'=>'color19'}, {'value'=>'color20'}, {'value'=>'color21'}, {'value'=>'color22'}, {'value'=>'color23'}, {'value'=>'color24'}, {'value'=>'color25'}, {'value'=>'color26'}, {'value'=>'color27'}, {'value'=>'color28'}, {'value'=>'color29'}, {'value'=>'color30'}, {'value'=>'color31'}, {'value'=>'color32'}, {'value'=>'color33'}, {'value'=>'color34'}, {'value'=>'color35'}, {'value'=>'color36'}, {'value'=>'color37'}, {'value'=>'color38'}, {'value'=>'color39'}, {'value'=>'color40'}, {'value'=>'color41'}, {'value'=>'color42'}]}, 'comments'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}} def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end def color prop_get('color') end def color=(val) prop_set('color', val) end def comments prop_get('comments') end def comments=(val) prop_set('comments', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end class LogSettings < ConfigClass def has_multiple_values?; false; end def _section :'log-settings' end class Correlation < ConfigClass def has_multiple_values?; false; end def _section :correlation end class MatchList < XML::ConfigClass def has_multiple_values?; true; end def _section :'match-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SendSnmptrap < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-snmptrap' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_snmptrap maybe_register_subclass('send-snmptrap', SendSnmptrap.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendEmail < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-email' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_email maybe_register_subclass('send-email', SendEmail.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendSyslog < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-syslog' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_syslog maybe_register_subclass('send-syslog', SendSyslog.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendHttp < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-http' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_http maybe_register_subclass('send-http', SendHttp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Actions < XML::ConfigClass def has_multiple_values?; true; end def _section :actions end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Integration < ConfigClass def has_multiple_values?; false; end def _section :integration end @props = {'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'Azure-Security-Center-Integration', 'enum'=>[{'value'=>'Azure-Security-Center-Integration', 'help-string'=>'Azure Security Center Integration'}]}} def action prop_get('action') end def action=(val) prop_set('action', val) end end def integration @subclasses['integration'] ||= Integration.new(parent_instance: self, client: @client, create_children: @create_children) end class Tagging < ConfigClass def has_multiple_values?; false; end def _section :tagging end class Registration < XML::ConfigClass def has_multiple_values?; true; end def _section :registration end class Localhost < ConfigClass def has_multiple_values?; false; end def _section :localhost end @props = {} end def localhost @subclasses['localhost'] ||= Localhost.new(parent_instance: self, client: @client, create_children: @create_children) end class Panorama < ConfigClass def has_multiple_values?; false; end def _section :panorama end @props = {} end def panorama @subclasses['panorama'] ||= Panorama.new(parent_instance: self, client: @client, create_children: @create_children) end class Remote < ConfigClass def has_multiple_values?; false; end def _section :remote end @props = {'http-profile'=>{'node-type'=>'element', 'type'=>'string'}} def http_profile prop_get('http-profile') end def http_profile=(val) prop_set('http-profile', val) end end def remote @subclasses['remote'] ||= Remote.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def registration maybe_register_subclass('registration', Registration.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'127', 'regex'=>'^[^\]\'\[]*$'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'target'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'source-address', 'enum'=>[{'value'=>'source-address', 'help-string'=>'Source Address'}, {'value'=>'destination-address', 'help-string'=>'Destination Address'}, {'value'=>'xff-address', 'help-string'=>'X-Forwarded-For Address'}, {'value'=>'user', 'help-string'=>'User'}]}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'add-tag', 'enum'=>[{'value'=>'add-tag', 'help-string'=>'Add Tag'}, {'value'=>'remove-tag', 'help-string'=>'Remove Tag'}]}, 'timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'43200', 'optional'=>'yes', 'default'=>'0', 'help-string'=>'timeout in minutes'}} def target prop_get('target') end def target=(val) prop_set('target', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # timeout in minutes def timeout prop_get('timeout') end # timeout in minutes def timeout=(val) prop_set('timeout', val) end end def tagging @subclasses['tagging'] ||= Tagging.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def actions maybe_register_subclass('actions', Actions.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'filter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1023'}, 'quarantine'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}} def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def filter prop_get('filter') end def filter=(val) prop_set('filter', val) end def quarantine prop_get('quarantine') end def quarantine=(val) prop_set('quarantine', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def match_list maybe_register_subclass('match-list', MatchList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def correlation @subclasses['correlation'] ||= Correlation.new(parent_instance: self, client: @client, create_children: @create_children) end class Snmptrap < XML::ConfigClass def has_multiple_values?; true; end def _section :snmptrap end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Version < XML::ConfigClass def has_multiple_values?; true; end def _section :version end class V2c < ConfigClass def has_multiple_values?; false; end def _section :v2c end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'manager'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'IP address or FQDN of SNMP manager to use', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63', 'loose-membership'=>'yes'}}}, 'community'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # IP address or FQDN of SNMP manager to use def manager prop_get('manager') end # IP address or FQDN of SNMP manager to use def manager=(val) prop_set('manager', val) end def community prop_get('community') end def community=(val) prop_set('community', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def v2c @subclasses['v2c'] ||= V2c.new(parent_instance: self, client: @client, create_children: @create_children) end class V3 < ConfigClass def has_multiple_values?; false; end def _section :v3 end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'manager'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'IP address or FQDN of SNMP manager to use', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63', 'loose-membership'=>'yes'}}}, 'user'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31'}, 'engineid'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'255', 'regex'=>'^[0][xX][0-9A-Fa-f]{10,128}$', 'help-string'=>'A hex number (min 5 - max 64 bytes) '}, 'authpwd'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Authentication Protocol Password', 'minlen'=>'8', 'maxlen'=>'256', 'encrypt'=>'yes'}, 'privpwd'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Privacy Protocol Password', 'minlen'=>'8', 'maxlen'=>'256', 'encrypt'=>'yes'}, 'authproto'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'SHA', 'help-string'=>'Authentication Protocol', 'enum'=>[{'value'=>'SHA'}, {'value'=>'SHA-224'}, {'value'=>'SHA-256'}, {'value'=>'SHA-384'}, {'value'=>'SHA-512'}]}, 'privproto'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'AES', 'help-string'=>'Privacy Protocol', 'enum'=>[{'value'=>'AES'}, {'value'=>'AES-192'}, {'value'=>'AES-256'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # IP address or FQDN of SNMP manager to use def manager prop_get('manager') end # IP address or FQDN of SNMP manager to use def manager=(val) prop_set('manager', val) end def user prop_get('user') end def user=(val) prop_set('user', val) end # A hex number (min 5 - max 64 bytes) def engineid prop_get('engineid') end # A hex number (min 5 - max 64 bytes) def engineid=(val) prop_set('engineid', val) end # Authentication Protocol Password def authpwd prop_get('authpwd') end # Authentication Protocol Password def authpwd=(val) prop_set('authpwd', val) end # Privacy Protocol Password def privpwd prop_get('privpwd') end # Privacy Protocol Password def privpwd=(val) prop_set('privpwd', val) end # Authentication Protocol def authproto prop_get('authproto') end # Authentication Protocol def authproto=(val) prop_set('authproto', val) end # Privacy Protocol def privproto prop_get('privproto') end # Privacy Protocol def privproto=(val) prop_set('privproto', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def v3 @subclasses['v3'] ||= V3.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def version maybe_register_subclass('version', Version.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def snmptrap maybe_register_subclass('snmptrap', Snmptrap.new(parent_instance: self, client: @client, create_children: @create_children)) end class Email < XML::ConfigClass def has_multiple_values?; true; end def _section :email end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'display-name'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes'}, 'from'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([a-zA-Z0-9_?~^\'`.\+/=|#$!*%{}\&-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$', 'maxlen'=>'128', 'help-string'=>'email address (e.g. admin@mycompany.com)'}, 'to'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([a-zA-Z0-9_?~^\'`.\+/=|#$!*%{}\&-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$', 'maxlen'=>'128', 'help-string'=>'email address (e.g. admin@mycompany.com)'}, 'and-also-to'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^([a-zA-Z0-9_?~^\'`.\+/=|#$!*%{}\&-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$', 'maxlen'=>'128', 'help-string'=>'email address (e.g. admin@mycompany.com)'}, 'gateway'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'IP address or FQDN of SMTP gateway to use'}, 'protocol'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'SMTP', 'enum'=>[{'value'=>'SMTP'}, {'value'=>'TLS'}]}, 'port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'optional'=>'yes', 'default'=>'25', 'help-string'=>'Port number (Standard EMAIL ports SMTP:25, TLS:587)'}, 'tls-version'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'1.2', 'help-string'=>'TLS handshake protocol version', 'enum'=>[{'value'=>'1.2'}, {'value'=>'1.1'}]}, 'auth'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'Auto'}, {'value'=>'Login'}, {'value'=>'Plain'}]}, 'certificate-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'default'=>'None', 'help-string'=>'Certificate Profile for validating server certificate'}, 'username'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'username for authentication', 'minlen'=>'0', 'maxlen'=>'255', 'regex'=>'[^\']*'}, 'password'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'regex'=>'[^\']*', 'encrypt'=>'yes'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def display_name prop_get('display-name') end def display_name=(val) prop_set('display-name', val) end # email address (e.g. admin@mycompany.com) def from prop_get('from') end # email address (e.g. admin@mycompany.com) def from=(val) prop_set('from', val) end # email address (e.g. admin@mycompany.com) def to prop_get('to') end # email address (e.g. admin@mycompany.com) def to=(val) prop_set('to', val) end # email address (e.g. admin@mycompany.com) def and_also_to prop_get('and-also-to') end # email address (e.g. admin@mycompany.com) def and_also_to=(val) prop_set('and-also-to', val) end # IP address or FQDN of SMTP gateway to use def gateway prop_get('gateway') end # IP address or FQDN of SMTP gateway to use def gateway=(val) prop_set('gateway', val) end def protocol prop_get('protocol') end def protocol=(val) prop_set('protocol', val) end # Port number (Standard EMAIL ports SMTP:25, TLS:587) def port prop_get('port') end # Port number (Standard EMAIL ports SMTP:25, TLS:587) def port=(val) prop_set('port', val) end # TLS handshake protocol version def tls_version prop_get('tls-version') end # TLS handshake protocol version def tls_version=(val) prop_set('tls-version', val) end def auth prop_get('auth') end def auth=(val) prop_set('auth', val) end # Certificate Profile for validating server certificate def certificate_profile prop_get('certificate-profile') end # Certificate Profile for validating server certificate def certificate_profile=(val) prop_set('certificate-profile', val) end # username for authentication def username prop_get('username') end # username for authentication def username=(val) prop_set('username', val) end def password prop_get('password') end def password=(val) prop_set('password', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end class Format < ConfigClass def has_multiple_values?; false; end def _section :format end class Escaping < ConfigClass def has_multiple_values?; false; end def _section :escaping end @props = {'escaped-characters'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'help-string'=>'List of characters to be escaped'}, 'escape-character'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'1', 'help-string'=>'Escape character'}} # List of characters to be escaped def escaped_characters prop_get('escaped-characters') end # List of characters to be escaped def escaped_characters=(val) prop_set('escaped-characters', val) end # Escape character def escape_character prop_get('escape-character') end # Escape character def escape_character=(val) prop_set('escape-character', val) end end def escaping @subclasses['escaping'] ||= Escaping.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'traffic'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'threat'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'wildfire'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'url'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'data'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'gtp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420,cfg.platform.model=PA-1410,cfg.platform.model=PA-1420'}, 'sctp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420,cfg.platform.model=PA-1410,cfg.platform.model=PA-1420'}, 'tunnel'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'auth'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'userid'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'iptag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'decryption'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'config'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'system'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'globalprotect'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'hip-match'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'correlation'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}} def traffic prop_get('traffic') end def traffic=(val) prop_set('traffic', val) end def threat prop_get('threat') end def threat=(val) prop_set('threat', val) end def wildfire prop_get('wildfire') end def wildfire=(val) prop_set('wildfire', val) end def url prop_get('url') end def url=(val) prop_set('url', val) end def data prop_get('data') end def data=(val) prop_set('data', val) end def gtp prop_get('gtp') end def gtp=(val) prop_set('gtp', val) end def sctp prop_get('sctp') end def sctp=(val) prop_set('sctp', val) end def tunnel prop_get('tunnel') end def tunnel=(val) prop_set('tunnel', val) end def auth prop_get('auth') end def auth=(val) prop_set('auth', val) end def userid prop_get('userid') end def userid=(val) prop_set('userid', val) end def iptag prop_get('iptag') end def iptag=(val) prop_set('iptag', val) end def decryption prop_get('decryption') end def decryption=(val) prop_set('decryption', val) end def config prop_get('config') end def config=(val) prop_set('config', val) end def system prop_get('system') end def system=(val) prop_set('system', val) end def globalprotect prop_get('globalprotect') end def globalprotect=(val) prop_set('globalprotect', val) end def hip_match prop_get('hip-match') end def hip_match=(val) prop_set('hip-match', val) end def correlation prop_get('correlation') end def correlation=(val) prop_set('correlation', val) end end def format @subclasses['format'] ||= Format.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def email maybe_register_subclass('email', Email.new(parent_instance: self, client: @client, create_children: @create_children)) end class Syslog < XML::ConfigClass def has_multiple_values?; true; end def _section :syslog end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'server'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'regex'=>'^([a-zA-Z0-9:\.\_-])+([a-zA-Z0-9:\_-])$|^\$([a-zA-Z0-9._-])+$', 'help-string'=>'IP address or FQDN of SYSLOG server to use'}, 'transport'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'UDP', 'enum'=>[{'value'=>'UDP'}, {'value'=>'TCP'}, {'value'=>'SSL'}]}, 'port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'optional'=>'yes', 'help-string'=>'Port number (Standard Syslog ports UDP:514, SSL:6514)'}, 'format'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'BSD', 'help-string'=>'Format of the Syslog message', 'enum'=>[{'value'=>'BSD'}, {'value'=>'IETF'}]}, 'facility'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'LOG_USER', 'enum'=>[{'value'=>'LOG_USER'}, {'value'=>'LOG_LOCAL0'}, {'value'=>'LOG_LOCAL1'}, {'value'=>'LOG_LOCAL2'}, {'value'=>'LOG_LOCAL3'}, {'value'=>'LOG_LOCAL4'}, {'value'=>'LOG_LOCAL5'}, {'value'=>'LOG_LOCAL6'}, {'value'=>'LOG_LOCAL7'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # IP address or FQDN of SYSLOG server to use def server prop_get('server') end # IP address or FQDN of SYSLOG server to use def server=(val) prop_set('server', val) end def transport prop_get('transport') end def transport=(val) prop_set('transport', val) end # Port number (Standard Syslog ports UDP:514, SSL:6514) def port prop_get('port') end # Port number (Standard Syslog ports UDP:514, SSL:6514) def port=(val) prop_set('port', val) end # Format of the Syslog message def format prop_get('format') end # Format of the Syslog message def format=(val) prop_set('format', val) end def facility prop_get('facility') end def facility=(val) prop_set('facility', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end class Format < ConfigClass def has_multiple_values?; false; end def _section :format end class Escaping < ConfigClass def has_multiple_values?; false; end def _section :escaping end @props = {'escaped-characters'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'help-string'=>'List of characters to be escaped'}, 'escape-character'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'1', 'help-string'=>'Escape character'}} # List of characters to be escaped def escaped_characters prop_get('escaped-characters') end # List of characters to be escaped def escaped_characters=(val) prop_set('escaped-characters', val) end # Escape character def escape_character prop_get('escape-character') end # Escape character def escape_character=(val) prop_set('escape-character', val) end end def escaping @subclasses['escaping'] ||= Escaping.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'traffic'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'threat'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'wildfire'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'url'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'data'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'gtp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420,cfg.platform.model=PA-1410,cfg.platform.model=PA-1420'}, 'sctp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420,cfg.platform.model=PA-1410,cfg.platform.model=PA-1420'}, 'tunnel'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'auth'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'userid'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'iptag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'decryption'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'config'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'system'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'globalprotect'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'hip-match'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'correlation'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}} def traffic prop_get('traffic') end def traffic=(val) prop_set('traffic', val) end def threat prop_get('threat') end def threat=(val) prop_set('threat', val) end def wildfire prop_get('wildfire') end def wildfire=(val) prop_set('wildfire', val) end def url prop_get('url') end def url=(val) prop_set('url', val) end def data prop_get('data') end def data=(val) prop_set('data', val) end def gtp prop_get('gtp') end def gtp=(val) prop_set('gtp', val) end def sctp prop_get('sctp') end def sctp=(val) prop_set('sctp', val) end def tunnel prop_get('tunnel') end def tunnel=(val) prop_set('tunnel', val) end def auth prop_get('auth') end def auth=(val) prop_set('auth', val) end def userid prop_get('userid') end def userid=(val) prop_set('userid', val) end def iptag prop_get('iptag') end def iptag=(val) prop_set('iptag', val) end def decryption prop_get('decryption') end def decryption=(val) prop_set('decryption', val) end def config prop_get('config') end def config=(val) prop_set('config', val) end def system prop_get('system') end def system=(val) prop_set('system', val) end def globalprotect prop_get('globalprotect') end def globalprotect=(val) prop_set('globalprotect', val) end def hip_match prop_get('hip-match') end def hip_match=(val) prop_set('hip-match', val) end def correlation prop_get('correlation') end def correlation=(val) prop_set('correlation', val) end end def format @subclasses['format'] ||= Format.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def syslog maybe_register_subclass('syslog', Syslog.new(parent_instance: self, client: @client, create_children: @create_children)) end class Http < XML::ConfigClass def has_multiple_values?; true; end def _section :http end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'address'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'help-string'=>'IP address or FQDN of HTTP server to use', 'error-string'=>'Must be IP address or FQDN'}, 'protocol'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'HTTPS', 'enum'=>[{'value'=>'HTTP'}, {'value'=>'HTTPS'}]}, 'port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'optional'=>'yes', 'default'=>'443', 'help-string'=>'Port number (Standard HTTP ports HTTP:80, HTTPS:443)'}, 'tls-version'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'1.2', 'help-string'=>'TLS handshake protocol version', 'enum'=>[{'value'=>'1.2'}, {'value'=>'1.1'}, {'value'=>'1.0'}]}, 'auth'=>{'node-type'=>'element', 'type'=>'enum', 'internal'=>'yes', 'optional'=>'yes', 'enum'=>[{'value'=>'OAUTH2'}]}, 'certificate-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'default'=>'None', 'help-string'=>'Certificate Profile for validating server certificate'}, 'http-method'=>{'node-type'=>'element', 'type'=>'string', 'default'=>'POST', 'complete-handler'=>'http-method-completer'}, 'username'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'username for HTTP basic authentication', 'minlen'=>'1', 'maxlen'=>'255', 'regex'=>'[^\']*'}, 'password'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'regex'=>'[^\']*', 'encrypt'=>'yes'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # IP address or FQDN of HTTP server to use def address prop_get('address') end # IP address or FQDN of HTTP server to use def address=(val) prop_set('address', val) end def protocol prop_get('protocol') end def protocol=(val) prop_set('protocol', val) end # Port number (Standard HTTP ports HTTP:80, HTTPS:443) def port prop_get('port') end # Port number (Standard HTTP ports HTTP:80, HTTPS:443) def port=(val) prop_set('port', val) end # TLS handshake protocol version def tls_version prop_get('tls-version') end # TLS handshake protocol version def tls_version=(val) prop_set('tls-version', val) end def auth prop_get('auth') end def auth=(val) prop_set('auth', val) end # Certificate Profile for validating server certificate def certificate_profile prop_get('certificate-profile') end # Certificate Profile for validating server certificate def certificate_profile=(val) prop_set('certificate-profile', val) end def http_method prop_get('http-method') end def http_method=(val) prop_set('http-method', val) end # username for HTTP basic authentication def username prop_get('username') end # username for HTTP basic authentication def username=(val) prop_set('username', val) end def password prop_get('password') end def password=(val) prop_set('password', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end class Format < ConfigClass def has_multiple_values?; false; end def _section :format end class Config < ConfigClass def has_multiple_values?; false; end def _section :config end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def config @subclasses['config'] ||= Config.new(parent_instance: self, client: @client, create_children: @create_children) end class System < ConfigClass def has_multiple_values?; false; end def _section :system end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def system @subclasses['system'] ||= System.new(parent_instance: self, client: @client, create_children: @create_children) end class Traffic < ConfigClass def has_multiple_values?; false; end def _section :traffic end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def traffic @subclasses['traffic'] ||= Traffic.new(parent_instance: self, client: @client, create_children: @create_children) end class Threat < ConfigClass def has_multiple_values?; false; end def _section :threat end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def threat @subclasses['threat'] ||= Threat.new(parent_instance: self, client: @client, create_children: @create_children) end class Wildfire < ConfigClass def has_multiple_values?; false; end def _section :wildfire end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def wildfire @subclasses['wildfire'] ||= Wildfire.new(parent_instance: self, client: @client, create_children: @create_children) end class Url < ConfigClass def has_multiple_values?; false; end def _section :url end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def url @subclasses['url'] ||= Url.new(parent_instance: self, client: @client, create_children: @create_children) end class Data < ConfigClass def has_multiple_values?; false; end def _section :data end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def data @subclasses['data'] ||= Data.new(parent_instance: self, client: @client, create_children: @create_children) end class Gtp < ConfigClass def has_multiple_values?; false; end def _section :gtp end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def gtp @subclasses['gtp'] ||= Gtp.new(parent_instance: self, client: @client, create_children: @create_children) end class Sctp < ConfigClass def has_multiple_values?; false; end def _section :sctp end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def sctp @subclasses['sctp'] ||= Sctp.new(parent_instance: self, client: @client, create_children: @create_children) end class Tunnel < ConfigClass def has_multiple_values?; false; end def _section :tunnel end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def tunnel @subclasses['tunnel'] ||= Tunnel.new(parent_instance: self, client: @client, create_children: @create_children) end class Auth < ConfigClass def has_multiple_values?; false; end def _section :auth end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def auth @subclasses['auth'] ||= Auth.new(parent_instance: self, client: @client, create_children: @create_children) end class Userid < ConfigClass def has_multiple_values?; false; end def _section :userid end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def userid @subclasses['userid'] ||= Userid.new(parent_instance: self, client: @client, create_children: @create_children) end class Iptag < ConfigClass def has_multiple_values?; false; end def _section :iptag end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def iptag @subclasses['iptag'] ||= Iptag.new(parent_instance: self, client: @client, create_children: @create_children) end class Decryption < ConfigClass def has_multiple_values?; false; end def _section :decryption end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def decryption @subclasses['decryption'] ||= Decryption.new(parent_instance: self, client: @client, create_children: @create_children) end class Globalprotect < ConfigClass def has_multiple_values?; false; end def _section :globalprotect end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def globalprotect @subclasses['globalprotect'] ||= Globalprotect.new(parent_instance: self, client: @client, create_children: @create_children) end class HipMatch < ConfigClass def has_multiple_values?; false; end def _section :'hip-match' end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def hip_match @subclasses['hip-match'] ||= HipMatch.new(parent_instance: self, client: @client, create_children: @create_children) end class Correlation < ConfigClass def has_multiple_values?; false; end def _section :correlation end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def correlation @subclasses['correlation'] ||= Correlation.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def format @subclasses['format'] ||= Format.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'tag-registration'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'The server(s) should have User-ID agent running in order for tag registration to work'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # The server(s) should have User-ID agent running in order for tag registration to work def tag_registration prop_get('tag-registration') end # The server(s) should have User-ID agent running in order for tag registration to work def tag_registration=(val) prop_set('tag-registration', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def http maybe_register_subclass('http', Http.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def log_settings @subclasses['log-settings'] ||= LogSettings.new(parent_instance: self, client: @client, create_children: @create_children) end class Rulebase < ConfigClass def has_multiple_values?; false; end def _section :rulebase end class Nat < ConfigClass def has_multiple_values?; false; end def _section :nat end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Target < ConfigClass def has_multiple_values?; false; end def _section :target end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Vsys < XML::ConfigClass def has_multiple_values?; true; end def _section :vsys end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vsys maybe_register_subclass('vsys', Vsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'complete-handler'=>'dg-device-tags-completer'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'negate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Target to all but these specified devices and tags'}} # Target to all but these specified devices and tags def negate prop_get('negate') end # Target to all but these specified devices and tags def negate=(val) prop_set('negate', val) end end def target @subclasses['target'] ||= Target.new(parent_instance: self, client: @client, create_children: @create_children) end class From < XML::ConfigClass def has_multiple_values?; true; end def _section :from end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def from maybe_register_subclass('from', From.new(parent_instance: self, client: @client, create_children: @create_children)) end class To < XML::ConfigClass def has_multiple_values?; true; end def _section :to end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'max-count'=>'1', 'multi-types'=>{'string'=>{'maxlen'=>'31', 'disallow-keyword-any'=>'yes'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def to maybe_register_subclass('to', To.new(parent_instance: self, client: @client, create_children: @create_children)) end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end class Destination < XML::ConfigClass def has_multiple_values?; true; end def _section :destination end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../source/member', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination maybe_register_subclass('destination', Destination.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceTranslation < ConfigClass def has_multiple_values?; false; end def _section :'source-translation' end class DynamicIpAndPort < ConfigClass def has_multiple_values?; false; end def _section :'dynamic-ip-and-port' end class TranslatedAddress < XML::ConfigClass def has_multiple_values?; true; end def _section :'translated-address' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'no-default'=>'yes', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'ipspec'=>{}, 'iprangespec'=>{}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def translated_address maybe_register_subclass('translated-address', TranslatedAddress.new(parent_instance: self, client: @client, create_children: @create_children)) end class InterfaceAddress < ConfigClass def has_multiple_values?; false; end def _section :'interface-address' end @props = {'interface'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'Interface name'}, 'ip'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'specify exact IP address if interface has multiple addresses'}, 'floating-ip'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.nat.rules.interface-address.floating-ip-disable=True', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Floating IP address in HA Active-Active configuration'}} # Interface name def interface prop_get('interface') end # Interface name def interface=(val) prop_set('interface', val) end # specify exact IP address if interface has multiple addresses def ip prop_get('ip') end # specify exact IP address if interface has multiple addresses def ip=(val) prop_set('ip', val) end # Floating IP address in HA Active-Active configuration def floating_ip prop_get('floating-ip') end # Floating IP address in HA Active-Active configuration def floating_ip=(val) prop_set('floating-ip', val) end end def interface_address @subclasses['interface-address'] ||= InterfaceAddress.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def dynamic_ip_and_port @subclasses['dynamic-ip-and-port'] ||= DynamicIpAndPort.new(parent_instance: self, client: @client, create_children: @create_children) end class DynamicIp < ConfigClass def has_multiple_values?; false; end def _section :'dynamic-ip' end class TranslatedAddress < XML::ConfigClass def has_multiple_values?; true; end def _section :'translated-address' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'no-default'=>'yes', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'ipspec'=>{}, 'iprangespec'=>{}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def translated_address maybe_register_subclass('translated-address', TranslatedAddress.new(parent_instance: self, client: @client, create_children: @create_children)) end class Fallback < ConfigClass def has_multiple_values?; false; end def _section :fallback end class TranslatedAddress < XML::ConfigClass def has_multiple_values?; true; end def _section :'translated-address' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'no-default'=>'yes', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'ipspec'=>{}, 'iprangespec'=>{}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def translated_address maybe_register_subclass('translated-address', TranslatedAddress.new(parent_instance: self, client: @client, create_children: @create_children)) end class InterfaceAddress < ConfigClass def has_multiple_values?; false; end def _section :'interface-address' end @props = {'interface'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'Interface name'}, 'ip'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'specify exact IP address if interface has multiple addresses'}, 'floating-ip'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Floating IP address in HA Active-Active configuration'}} # Interface name def interface prop_get('interface') end # Interface name def interface=(val) prop_set('interface', val) end # specify exact IP address if interface has multiple addresses def ip prop_get('ip') end # specify exact IP address if interface has multiple addresses def ip=(val) prop_set('ip', val) end # Floating IP address in HA Active-Active configuration def floating_ip prop_get('floating-ip') end # Floating IP address in HA Active-Active configuration def floating_ip=(val) prop_set('floating-ip', val) end end def interface_address @subclasses['interface-address'] ||= InterfaceAddress.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def fallback @subclasses['fallback'] ||= Fallback.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def dynamic_ip @subclasses['dynamic-ip'] ||= DynamicIp.new(parent_instance: self, client: @client, create_children: @create_children) end class StaticIp < ConfigClass def has_multiple_values?; false; end def _section :'static-ip' end @props = {'translated-address'=>{'node-type'=>'element', 'type'=>'multiple', 'no-default'=>'yes', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'ipspec'=>{}, 'iprangespec'=>{}}}, 'bi-directional'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'allow reverse translation from translated address to original address', 'enum'=>[{'value'=>'yes', 'help-string'=>'Bi-directional rule'}, {'value'=>'no', 'help-string'=>'Uni-directional rule'}]}} def translated_address prop_get('translated-address') end def translated_address=(val) prop_set('translated-address', val) end # allow reverse translation from translated address to original address def bi_directional prop_get('bi-directional') end # allow reverse translation from translated address to original address def bi_directional=(val) prop_set('bi-directional', val) end end def static_ip @subclasses['static-ip'] ||= StaticIp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def source_translation @subclasses['source-translation'] ||= SourceTranslation.new(parent_instance: self, client: @client, create_children: @create_children) end class DestinationTranslation < ConfigClass def has_multiple_values?; false; end def _section :'destination-translation' end class DnsRewrite < ConfigClass def has_multiple_values?; false; end def _section :'dns-rewrite' end @props = {'direction'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'reverse', 'help-string'=>'Select direction to apply DNS rewrite', 'enum'=>[{'value'=>'reverse', 'help-string'=>'Reverse translation'}, {'value'=>'forward', 'help-string'=>'Forward translation'}]}} # Select direction to apply DNS rewrite def direction prop_get('direction') end # Select direction to apply DNS rewrite def direction=(val) prop_set('direction', val) end end def dns_rewrite @subclasses['dns-rewrite'] ||= DnsRewrite.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'translated-address'=>{'node-type'=>'element', 'type'=>'multiple', 'no-default'=>'yes', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'ipspec'=>{}, 'iprangespec'=>{}}}, 'translated-port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'no-default'=>'yes', 'optional'=>'yes'}} def translated_address prop_get('translated-address') end def translated_address=(val) prop_set('translated-address', val) end def translated_port prop_get('translated-port') end def translated_port=(val) prop_set('translated-port', val) end end def destination_translation @subclasses['destination-translation'] ||= DestinationTranslation.new(parent_instance: self, client: @client, create_children: @create_children) end class DynamicDestinationTranslation < ConfigClass def has_multiple_values?; false; end def _section :'dynamic-destination-translation' end @props = {'translated-address'=>{'node-type'=>'element', 'type'=>'multiple', 'no-default'=>'yes', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'ipspec'=>{}, 'iprangespec'=>{}}}, 'translated-port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'no-default'=>'yes', 'optional'=>'yes'}, 'distribution'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'round-robin', 'help-string'=>'Distribution algorithm for destination address pool', 'enum'=>[{'value'=>'round-robin', 'help-string'=>'Round Robin'}, {'value'=>'source-ip-hash', 'help-string'=>'Source IP Hash'}, {'value'=>'ip-modulo', 'help-string'=>'IP Modulo'}, {'value'=>'ip-hash', 'help-string'=>'IP Hash'}, {'value'=>'least-sessions', 'help-string'=>'Least Sessions'}]}} def translated_address prop_get('translated-address') end def translated_address=(val) prop_set('translated-address', val) end def translated_port prop_get('translated-port') end def translated_port=(val) prop_set('translated-port', val) end # Distribution algorithm for destination address pool def distribution prop_get('distribution') end # Distribution algorithm for destination address pool def distribution=(val) prop_set('distribution', val) end end def dynamic_destination_translation @subclasses['dynamic-destination-translation'] ||= DynamicDestinationTranslation.new(parent_instance: self, client: @client, create_children: @create_children) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'service'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'default'=>'any'}, 'nat-type'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'ipv4', 'help-string'=>'type of nat', 'enum'=>[{'value'=>'ipv4', 'help-string'=>'ipv4 nat'}, {'value'=>'nat64', 'help-string'=>'translator between ipv6 and ipv4'}, {'value'=>'nptv6', 'help-string'=>'network prefix translator for ipv6'}]}, 'to-interface'=>{'node-type'=>'element', 'optional'=>'yes', 'default'=>'any', 'type'=>'multiple', 'help-string'=>'Egress interface from route lookup', 'multi-types'=>{'string'=>{'maxlen'=>'63', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any interface'}]}}, 'active-active-device-binding'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-string'=>'Device binding configuration in HA Active-Active mode', 'enum'=>[{'value'=>'primary', 'help-string'=>'Rule is bound to Active-Primary device'}, {'value'=>'both', 'help-string'=>'Rule is bound to both devices'}, {'value'=>'0', 'help-string'=>'Rule is bound to device 0'}, {'value'=>'1', 'help-string'=>'Rule is bound to device 1'}]}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable the rule'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'no-default'=>'yes'}, 'group-tag'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'127'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def service prop_get('service') end def service=(val) prop_set('service', val) end # type of nat def nat_type prop_get('nat-type') end # type of nat def nat_type=(val) prop_set('nat-type', val) end # Egress interface from route lookup def to_interface prop_get('to-interface') end # Egress interface from route lookup def to_interface=(val) prop_set('to-interface', val) end # Device binding configuration in HA Active-Active mode def active_active_device_binding prop_get('active-active-device-binding') end # Device binding configuration in HA Active-Active mode def active_active_device_binding=(val) prop_set('active-active-device-binding', val) end # Disable the rule def disabled prop_get('disabled') end # Disable the rule def disabled=(val) prop_set('disabled', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end def group_tag prop_get('group-tag') end def group_tag=(val) prop_set('group-tag', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def nat @subclasses['nat'] ||= Nat.new(parent_instance: self, client: @client, create_children: @create_children) end class Pbf < ConfigClass def has_multiple_values?; false; end def _section :pbf end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Target < ConfigClass def has_multiple_values?; false; end def _section :target end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Vsys < XML::ConfigClass def has_multiple_values?; true; end def _section :vsys end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vsys maybe_register_subclass('vsys', Vsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'complete-handler'=>'dg-device-tags-completer'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'negate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Target to all but these specified devices and tags'}} # Target to all but these specified devices and tags def negate prop_get('negate') end # Target to all but these specified devices and tags def negate=(val) prop_set('negate', val) end end def target @subclasses['target'] ||= Target.new(parent_instance: self, client: @client, create_children: @create_children) end class From < ConfigClass def has_multiple_values?; false; end def _section :from end class Zone < XML::ConfigClass def has_multiple_values?; true; end def _section :zone end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'maxlen'=>'31'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def zone maybe_register_subclass('zone', Zone.new(parent_instance: self, client: @client, create_children: @create_children)) end class Interface < XML::ConfigClass def has_multiple_values?; true; end def _section :interface end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def interface maybe_register_subclass('interface', Interface.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def from @subclasses['from'] ||= From.new(parent_instance: self, client: @client, create_children: @create_children) end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceUser < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-user' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'1023', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any user'}, {'value'=>'pre-logon', 'help-string'=>'prelogon client machine'}, {'value'=>'known-user', 'help-string'=>'any known user'}, {'value'=>'unknown', 'help-string'=>'unknown user'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_user maybe_register_subclass('source-user', SourceUser.new(parent_instance: self, client: @client, create_children: @create_children)) end class Destination < XML::ConfigClass def has_multiple_values?; true; end def _section :destination end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../source/member', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination maybe_register_subclass('destination', Destination.new(parent_instance: self, client: @client, create_children: @create_children)) end class Service < XML::ConfigClass def has_multiple_values?; true; end def _section :service end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'application-default', 'help-string'=>'default service for selected application'}, {'value'=>'any', 'help-string'=>'any service'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def service maybe_register_subclass('service', Service.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end class Application < XML::ConfigClass def has_multiple_values?; true; end def _section :application end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any application'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def application maybe_register_subclass('application', Application.new(parent_instance: self, client: @client, create_children: @create_children)) end class Action < ConfigClass def has_multiple_values?; false; end def _section :action end class Forward < ConfigClass def has_multiple_values?; false; end def _section :forward end class Nexthop < ConfigClass def has_multiple_values?; false; end def _section :nexthop end @props = {'ip-address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Next hop IP address', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'ipspec'=>{'unicast-only'=>'yes'}}}, 'fqdn'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'regex'=>'^([a-zA-Z0-9._-])+$', 'help-string'=>'nexthop address FQDN name configuration'}} # Next hop IP address def ip_address prop_get('ip-address') end # Next hop IP address def ip_address=(val) prop_set('ip-address', val) end # nexthop address FQDN name configuration def fqdn prop_get('fqdn') end # nexthop address FQDN name configuration def fqdn=(val) prop_set('fqdn', val) end end def nexthop @subclasses['nexthop'] ||= Nexthop.new(parent_instance: self, client: @client, create_children: @create_children) end class Monitor < ConfigClass def has_multiple_values?; false; end def _section :monitor end @props = {'profile'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Monitoring profile associated with this rule'}, 'disable-if-unreachable'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable this rule if nexthop/monitor ip is unreachable'}, 'ip-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-only'=>'yes', 'help-string'=>'Monitor IP address'}} # Monitoring profile associated with this rule def profile prop_get('profile') end # Monitoring profile associated with this rule def profile=(val) prop_set('profile', val) end # Disable this rule if nexthop/monitor ip is unreachable def disable_if_unreachable prop_get('disable-if-unreachable') end # Disable this rule if nexthop/monitor ip is unreachable def disable_if_unreachable=(val) prop_set('disable-if-unreachable', val) end # Monitor IP address def ip_address prop_get('ip-address') end # Monitor IP address def ip_address=(val) prop_set('ip-address', val) end end def monitor @subclasses['monitor'] ||= Monitor.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'egress-interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Interface to route packet to'}} # Interface to route packet to def egress_interface prop_get('egress-interface') end # Interface to route packet to def egress_interface=(val) prop_set('egress-interface', val) end end def forward @subclasses['forward'] ||= Forward.new(parent_instance: self, client: @client, create_children: @create_children) end class Discard < ConfigClass def has_multiple_values?; false; end def _section :discard end @props = {} end def discard @subclasses['discard'] ||= Discard.new(parent_instance: self, client: @client, create_children: @create_children) end class NoPbf < ConfigClass def has_multiple_values?; false; end def _section :'no-pbf' end @props = {} end def no_pbf @subclasses['no-pbf'] ||= NoPbf.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'forward-to-vsys'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Virtual system/Shared gateway to route packet to'}} # Virtual system/Shared gateway to route packet to def forward_to_vsys prop_get('forward-to-vsys') end # Virtual system/Shared gateway to route packet to def forward_to_vsys=(val) prop_set('forward-to-vsys', val) end end def action @subclasses['action'] ||= Action.new(parent_instance: self, client: @client, create_children: @create_children) end class EnforceSymmetricReturn < ConfigClass def has_multiple_values?; false; end def _section :'enforce-symmetric-return' end class NexthopAddressList < XML::ConfigClass def has_multiple_values?; true; end def _section :'nexthop-address-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'unicast-only'=>'yes', 'help-string'=>'IP address'}} # IP address def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def nexthop_address_list maybe_register_subclass('nexthop-address-list', NexthopAddressList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable symmetric return'}} # Enable symmetric return def enabled prop_get('enabled') end # Enable symmetric return def enabled=(val) prop_set('enabled', val) end end def enforce_symmetric_return @subclasses['enforce-symmetric-return'] ||= EnforceSymmetricReturn.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'schedule'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'optional'=>'yes'}, 'negate-source'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'negate-destination'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable the rule'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'no-default'=>'yes'}, 'group-tag'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'127'}, 'active-active-device-binding'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.pbf.rules.active-active-device-binding-disable=True', 'optional'=>'yes', 'type'=>'enum', 'help-string'=>'Device binding configuration in HA Active-Active mode', 'enum'=>[{'value'=>'both', 'help-string'=>'Rule is bound to both devices'}, {'value'=>'0', 'help-string'=>'Rule is bound to device 0'}, {'value'=>'1', 'help-string'=>'Rule is bound to device 1'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def schedule prop_get('schedule') end def schedule=(val) prop_set('schedule', val) end def negate_source prop_get('negate-source') end def negate_source=(val) prop_set('negate-source', val) end def negate_destination prop_get('negate-destination') end def negate_destination=(val) prop_set('negate-destination', val) end # Disable the rule def disabled prop_get('disabled') end # Disable the rule def disabled=(val) prop_set('disabled', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end def group_tag prop_get('group-tag') end def group_tag=(val) prop_set('group-tag', val) end # Device binding configuration in HA Active-Active mode def active_active_device_binding prop_get('active-active-device-binding') end # Device binding configuration in HA Active-Active mode def active_active_device_binding=(val) prop_set('active-active-device-binding', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def pbf @subclasses['pbf'] ||= Pbf.new(parent_instance: self, client: @client, create_children: @create_children) end class Sdwan < ConfigClass def has_multiple_values?; false; end def _section :sdwan end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Target < ConfigClass def has_multiple_values?; false; end def _section :target end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Vsys < XML::ConfigClass def has_multiple_values?; true; end def _section :vsys end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vsys maybe_register_subclass('vsys', Vsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'complete-handler'=>'dg-device-tags-completer'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'negate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Target to all but these specified devices and tags'}} # Target to all but these specified devices and tags def negate prop_get('negate') end # Target to all but these specified devices and tags def negate=(val) prop_set('negate', val) end end def target @subclasses['target'] ||= Target.new(parent_instance: self, client: @client, create_children: @create_children) end class From < XML::ConfigClass def has_multiple_values?; true; end def _section :from end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def from maybe_register_subclass('from', From.new(parent_instance: self, client: @client, create_children: @create_children)) end class To < XML::ConfigClass def has_multiple_values?; true; end def _section :to end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../from/member', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def to maybe_register_subclass('to', To.new(parent_instance: self, client: @client, create_children: @create_children)) end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceUser < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-user' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'1023', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any user'}, {'value'=>'pre-logon', 'help-string'=>'prelogon client machine'}, {'value'=>'known-user', 'help-string'=>'any known user'}, {'value'=>'unknown', 'help-string'=>'unknown user'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_user maybe_register_subclass('source-user', SourceUser.new(parent_instance: self, client: @client, create_children: @create_children)) end class Destination < XML::ConfigClass def has_multiple_values?; true; end def _section :destination end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../source/member', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination maybe_register_subclass('destination', Destination.new(parent_instance: self, client: @client, create_children: @create_children)) end class Application < XML::ConfigClass def has_multiple_values?; true; end def _section :application end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any application'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def application maybe_register_subclass('application', Application.new(parent_instance: self, client: @client, create_children: @create_children)) end class Service < XML::ConfigClass def has_multiple_values?; true; end def _section :service end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'application-default', 'help-string'=>'default service for selected application'}, {'value'=>'any', 'help-string'=>'any service'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def service maybe_register_subclass('service', Service.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end class Action < ConfigClass def has_multiple_values?; false; end def _section :action end @props = {'traffic-distribution-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'attach sdwan traffic distribution associated with this rule'}, 'app-failover-for-nat-sessions'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'keep-existing-link', 'help-string'=>'For NAT sessions, specify whether to move to a better path', 'enum'=>[{'value'=>'keep-existing-link', 'help-string'=>'Keep session on existing link'}, {'value'=>'failover-to-better-path', 'help-string'=>'Allow session failover to better path'}]}} # attach sdwan traffic distribution associated with this rule def traffic_distribution_profile prop_get('traffic-distribution-profile') end # attach sdwan traffic distribution associated with this rule def traffic_distribution_profile=(val) prop_set('traffic-distribution-profile', val) end # For NAT sessions, specify whether to move to a better path def app_failover_for_nat_sessions prop_get('app-failover-for-nat-sessions') end # For NAT sessions, specify whether to move to a better path def app_failover_for_nat_sessions=(val) prop_set('app-failover-for-nat-sessions', val) end end def action @subclasses['action'] ||= Action.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'negate-source'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'negate-destination'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable the rule'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'no-default'=>'yes'}, 'group-tag'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'127'}, 'path-quality-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'attach sdwan path quality profile associated with this rule'}, 'saas-quality-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'optional'=>'yes', 'help-string'=>'attach sdwan saas quality profile associated with this rule'}, 'error-correction-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'optional'=>'yes', 'help-string'=>'attach sdwan error correction profile associated with this rule'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def negate_source prop_get('negate-source') end def negate_source=(val) prop_set('negate-source', val) end def negate_destination prop_get('negate-destination') end def negate_destination=(val) prop_set('negate-destination', val) end # Disable the rule def disabled prop_get('disabled') end # Disable the rule def disabled=(val) prop_set('disabled', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end def group_tag prop_get('group-tag') end def group_tag=(val) prop_set('group-tag', val) end # attach sdwan path quality profile associated with this rule def path_quality_profile prop_get('path-quality-profile') end # attach sdwan path quality profile associated with this rule def path_quality_profile=(val) prop_set('path-quality-profile', val) end # attach sdwan saas quality profile associated with this rule def saas_quality_profile prop_get('saas-quality-profile') end # attach sdwan saas quality profile associated with this rule def saas_quality_profile=(val) prop_set('saas-quality-profile', val) end # attach sdwan error correction profile associated with this rule def error_correction_profile prop_get('error-correction-profile') end # attach sdwan error correction profile associated with this rule def error_correction_profile=(val) prop_set('error-correction-profile', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def sdwan @subclasses['sdwan'] ||= Sdwan.new(parent_instance: self, client: @client, create_children: @create_children) end class NetworkPacketBroker < ConfigClass def has_multiple_values?; false; end def _section :'network-packet-broker' end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Target < ConfigClass def has_multiple_values?; false; end def _section :target end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Vsys < XML::ConfigClass def has_multiple_values?; true; end def _section :vsys end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vsys maybe_register_subclass('vsys', Vsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'complete-handler'=>'dg-device-tags-completer'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'negate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Target to all but these specified devices and tags'}} # Target to all but these specified devices and tags def negate prop_get('negate') end # Target to all but these specified devices and tags def negate=(val) prop_set('negate', val) end end def target @subclasses['target'] ||= Target.new(parent_instance: self, client: @client, create_children: @create_children) end class From < XML::ConfigClass def has_multiple_values?; true; end def _section :from end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def from maybe_register_subclass('from', From.new(parent_instance: self, client: @client, create_children: @create_children)) end class To < XML::ConfigClass def has_multiple_values?; true; end def _section :to end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../from/member', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def to maybe_register_subclass('to', To.new(parent_instance: self, client: @client, create_children: @create_children)) end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceUser < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-user' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'1023', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any user'}, {'value'=>'pre-logon', 'help-string'=>'prelogon client machine'}, {'value'=>'known-user', 'help-string'=>'any known user'}, {'value'=>'unknown', 'help-string'=>'unknown user'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_user maybe_register_subclass('source-user', SourceUser.new(parent_instance: self, client: @client, create_children: @create_children)) end class Destination < XML::ConfigClass def has_multiple_values?; true; end def _section :destination end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../source/member', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination maybe_register_subclass('destination', Destination.new(parent_instance: self, client: @client, create_children: @create_children)) end class Application < XML::ConfigClass def has_multiple_values?; true; end def _section :application end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any application'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def application maybe_register_subclass('application', Application.new(parent_instance: self, client: @client, create_children: @create_children)) end class Service < XML::ConfigClass def has_multiple_values?; true; end def _section :service end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'application-default', 'help-string'=>'default service for selected application'}, {'value'=>'any', 'help-string'=>'any service'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def service maybe_register_subclass('service', Service.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceHip < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-hip' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any hip-profile'}, {'value'=>'no-hip', 'help-string'=>'no hip-profile'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_hip maybe_register_subclass('source-hip', SourceHip.new(parent_instance: self, client: @client, create_children: @create_children)) end class DestinationHip < XML::ConfigClass def has_multiple_values?; true; end def _section :'destination-hip' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any device'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination_hip maybe_register_subclass('destination-hip', DestinationHip.new(parent_instance: self, client: @client, create_children: @create_children)) end class TrafficType < ConfigClass def has_multiple_values?; false; end def _section :'traffic-type' end @props = {'tls-decrypted'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'TLS decrypted traffic'}, 'tls-encrypted'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'help-string'=>'TLS encrypted traffic'}, 'non-tls'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'help-string'=>'non TLS traffic'}} # TLS decrypted traffic def tls_decrypted prop_get('tls-decrypted') end # TLS decrypted traffic def tls_decrypted=(val) prop_set('tls-decrypted', val) end # TLS encrypted traffic def tls_encrypted prop_get('tls-encrypted') end # TLS encrypted traffic def tls_encrypted=(val) prop_set('tls-encrypted', val) end # non TLS traffic def non_tls prop_get('non-tls') end # non TLS traffic def non_tls=(val) prop_set('non-tls', val) end end def traffic_type @subclasses['traffic-type'] ||= TrafficType.new(parent_instance: self, client: @client, create_children: @create_children) end class Action < ConfigClass def has_multiple_values?; false; end def _section :action end @props = {'packet-broker-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'attach packet-broker profile with this rule'}} # attach packet-broker profile with this rule def packet_broker_profile prop_get('packet-broker-profile') end # attach packet-broker profile with this rule def packet_broker_profile=(val) prop_set('packet-broker-profile', val) end end def action @subclasses['action'] ||= Action.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'negate-source'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'negate-destination'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable the rule'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'no-default'=>'yes'}, 'group-tag'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'127'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def negate_source prop_get('negate-source') end def negate_source=(val) prop_set('negate-source', val) end def negate_destination prop_get('negate-destination') end def negate_destination=(val) prop_set('negate-destination', val) end # Disable the rule def disabled prop_get('disabled') end # Disable the rule def disabled=(val) prop_set('disabled', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end def group_tag prop_get('group-tag') end def group_tag=(val) prop_set('group-tag', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def network_packet_broker @subclasses['network-packet-broker'] ||= NetworkPacketBroker.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def rulebase @subclasses['rulebase'] ||= Rulebase.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'sub-type'=>'object-name', 'help-string'=>'shared-gateway name'}, 'display-name'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # shared-gateway name def name prop_get('@name') end # alphanumeric string [ 0-9a-zA-Z._-] def display_name prop_get('display-name') end # alphanumeric string [ 0-9a-zA-Z._-] def display_name=(val) prop_set('display-name', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def shared_gateway maybe_register_subclass('shared-gateway', SharedGateway.new(parent_instance: self, client: @client, create_children: @create_children)) end class Lldp < ConfigClass def has_multiple_values?; false; end def _section :lldp end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'transmit-interval'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'optional'=>'yes', 'default'=>'30'}, 'transmit-delay'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'600', 'optional'=>'yes', 'default'=>'2'}, 'hold-time-multiple'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'100', 'optional'=>'yes', 'default'=>'4'}, 'notification-interval'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'optional'=>'yes', 'default'=>'5'}, 'tx-credit-max'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'10', 'optional'=>'yes', 'default'=>'5'}, 'tx-fast-init'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'8', 'optional'=>'yes', 'default'=>'4'}, 'reinit-delay'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'10', 'optional'=>'yes', 'default'=>'2'}, 'msg-fast-tx'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'optional'=>'yes', 'default'=>'1'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end def transmit_interval prop_get('transmit-interval') end def transmit_interval=(val) prop_set('transmit-interval', val) end def transmit_delay prop_get('transmit-delay') end def transmit_delay=(val) prop_set('transmit-delay', val) end def hold_time_multiple prop_get('hold-time-multiple') end def hold_time_multiple=(val) prop_set('hold-time-multiple', val) end def notification_interval prop_get('notification-interval') end def notification_interval=(val) prop_set('notification-interval', val) end def tx_credit_max prop_get('tx-credit-max') end def tx_credit_max=(val) prop_set('tx-credit-max', val) end def tx_fast_init prop_get('tx-fast-init') end def tx_fast_init=(val) prop_set('tx-fast-init', val) end def reinit_delay prop_get('reinit-delay') end def reinit_delay=(val) prop_set('reinit-delay', val) end def msg_fast_tx prop_get('msg-fast-tx') end def msg_fast_tx=(val) prop_set('msg-fast-tx', val) end end def lldp @subclasses['lldp'] ||= Lldp.new(parent_instance: self, client: @client, create_children: @create_children) end class UnderlayNet < ConfigClass def has_multiple_values?; false; end def _section :'underlay-net' end class IpMapping < XML::ConfigClass def has_multiple_values?; true; end def _section :'ip-mapping' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'overlay-ip'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'IP address or address object'}, 'underlay-ip'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'IP address or address object'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # IP address or address object def overlay_ip prop_get('overlay-ip') end # IP address or address object def overlay_ip=(val) prop_set('overlay-ip', val) end # IP address or address object def underlay_ip prop_get('underlay-ip') end # IP address or address object def underlay_ip=(val) prop_set('underlay-ip', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ip_mapping maybe_register_subclass('ip-mapping', IpMapping.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def underlay_net @subclasses['underlay-net'] ||= UnderlayNet.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def network @subclasses['network'] ||= Network.new(parent_instance: self, client: @client, create_children: @create_children) end class Vsys < XML::ConfigClass def has_multiple_values?; true; end def _section :vsys end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Setting < ConfigClass def has_multiple_values?; false; end def _section :setting end class Nat < ConfigClass def has_multiple_values?; false; end def _section :nat end @props = {'reserve-ip'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'reserve translated IP for specified time'}, 'reserve-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'604800', 'help-string'=>'reserve time value in seconds'}} # reserve translated IP for specified time def reserve_ip prop_get('reserve-ip') end # reserve translated IP for specified time def reserve_ip=(val) prop_set('reserve-ip', val) end # reserve time value in seconds def reserve_time prop_get('reserve-time') end # reserve time value in seconds def reserve_time=(val) prop_set('reserve-time', val) end end def nat @subclasses['nat'] ||= Nat.new(parent_instance: self, client: @client, create_children: @create_children) end class SslDecrypt < ConfigClass def has_multiple_values?; false; end def _section :'ssl-decrypt' end @props = {'allow-forward-decrypted-content'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Allow forwarding of decrypted content'}, 'url-wait'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'prune-on'=>'single-vsys-mode', 'help-string'=>'set if wait for url category if not in cache'}, 'url-proxy'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'prune-on'=>'single-vsys-mode', 'help-string'=>'set if proxy for ssl sessions if ip\'s url category is blocked'}, 'notify-user'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'prune-on'=>'single-vsys-mode', 'help-string'=>'set if user notification should be enabled'}, 'answer-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'86400', 'prune-on'=>'single-vsys-mode', 'help-string'=>'set user reply timeout value in seconds'}, 'crl'=>{'node-type'=>'element', 'internal'=>'yes', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'prune-on'=>'single-vsys-mode', 'help-string'=>'set whether to use CRL to check certificate status'}, 'ocsp'=>{'node-type'=>'element', 'internal'=>'yes', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'prune-on'=>'single-vsys-mode', 'help-string'=>'set whether to use OCSP to check certificate status'}, 'block-unknown-cert'=>{'node-type'=>'element', 'internal'=>'yes', 'optional'=>'yes', 'type'=>'bool', 'prune-on'=>'single-vsys-mode', 'default'=>'no', 'help-string'=>'whether to block a session if cert. status is unknown'}, 'block-timeout-cert'=>{'node-type'=>'element', 'internal'=>'yes', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'prune-on'=>'single-vsys-mode', 'help-string'=>'whether to block a session if cert. status can\'t be retrieved within timeout'}, 'cert-status-timeout'=>{'node-type'=>'element', 'internal'=>'yes', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'60', 'prune-on'=>'single-vsys-mode', 'help-string'=>'set cert status query timeout value in seconds'}} # Allow forwarding of decrypted content def allow_forward_decrypted_content prop_get('allow-forward-decrypted-content') end # Allow forwarding of decrypted content def allow_forward_decrypted_content=(val) prop_set('allow-forward-decrypted-content', val) end # set if wait for url category if not in cache def url_wait prop_get('url-wait') end # set if wait for url category if not in cache def url_wait=(val) prop_set('url-wait', val) end # set if proxy for ssl sessions if ip's url category is blocked def url_proxy prop_get('url-proxy') end # set if proxy for ssl sessions if ip's url category is blocked def url_proxy=(val) prop_set('url-proxy', val) end # set if user notification should be enabled def notify_user prop_get('notify-user') end # set if user notification should be enabled def notify_user=(val) prop_set('notify-user', val) end # set user reply timeout value in seconds def answer_timeout prop_get('answer-timeout') end # set user reply timeout value in seconds def answer_timeout=(val) prop_set('answer-timeout', val) end # set whether to use CRL to check certificate status def crl prop_get('crl') end # set whether to use CRL to check certificate status def crl=(val) prop_set('crl', val) end # set whether to use OCSP to check certificate status def ocsp prop_get('ocsp') end # set whether to use OCSP to check certificate status def ocsp=(val) prop_set('ocsp', val) end # whether to block a session if cert. status is unknown def block_unknown_cert prop_get('block-unknown-cert') end # whether to block a session if cert. status is unknown def block_unknown_cert=(val) prop_set('block-unknown-cert', val) end # whether to block a session if cert. status can't be retrieved within timeout def block_timeout_cert prop_get('block-timeout-cert') end # whether to block a session if cert. status can't be retrieved within timeout def block_timeout_cert=(val) prop_set('block-timeout-cert', val) end # set cert status query timeout value in seconds def cert_status_timeout prop_get('cert-status-timeout') end # set cert status query timeout value in seconds def cert_status_timeout=(val) prop_set('cert-status-timeout', val) end end def ssl_decrypt @subclasses['ssl-decrypt'] ||= SslDecrypt.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def setting @subclasses['setting'] ||= Setting.new(parent_instance: self, client: @client, create_children: @create_children) end class Import < ConfigClass def has_multiple_values?; false; end def _section :import end class Network < ConfigClass def has_multiple_values?; false; end def _section :network end class Interface < XML::ConfigClass def has_multiple_values?; true; end def _section :interface end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'affects'=>'../../../../../zone'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def interface maybe_register_subclass('interface', Interface.new(parent_instance: self, client: @client, create_children: @create_children)) end class VirtualWire < XML::ConfigClass def has_multiple_values?; true; end def _section :'virtual-wire' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def virtual_wire maybe_register_subclass('virtual-wire', VirtualWire.new(parent_instance: self, client: @client, create_children: @create_children)) end class Vlan < XML::ConfigClass def has_multiple_values?; true; end def _section :vlan end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def vlan maybe_register_subclass('vlan', Vlan.new(parent_instance: self, client: @client, create_children: @create_children)) end class VirtualRouter < XML::ConfigClass def has_multiple_values?; true; end def _section :'virtual-router' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def virtual_router maybe_register_subclass('virtual-router', VirtualRouter.new(parent_instance: self, client: @client, create_children: @create_children)) end class LogicalRouter < XML::ConfigClass def has_multiple_values?; true; end def _section :'logical-router' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def logical_router maybe_register_subclass('logical-router', LogicalRouter.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def network @subclasses['network'] ||= Network.new(parent_instance: self, client: @client, create_children: @create_children) end class Resource < ConfigClass def has_multiple_values?; false; end def _section :resource end @props = {'max-sessions'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'80000040', 'help-string'=>'Maximum number of sessions allowed for this vsys'}, 'max-site-to-site-vpn-tunnels'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'10000', 'platform-max'=>'cfg.general.max-ssl-tunnel', 'help-string'=>'Maximum number of site to site vpn tunnels allowed for this vsys'}, 'max-concurrent-ssl-vpn-tunnels'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'platform-max'=>'cfg.general.max-ssl-tunnel', 'help-string'=>'Maximum number of concurrent ssl vpn tunnels allowed for this vsys'}, 'max-security-rules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65000', 'platform-max'=>'cfg.general.max-policy-rule', 'help-string'=>'Maximum number of security rules allowed for this vsys'}, 'max-nat-rules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'16000', 'platform-max'=>'cfg.general.max-nat-policy-rule', 'help-string'=>'Maximum number of NAT rules allowed for this vsys'}, 'max-ssl-decryption-rules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'5000', 'platform-max'=>'cfg.general.max-ssl-policy-rule', 'help-string'=>'Maximum number of ssl decryption rules allowed for this vsys'}, 'max-qos-rules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'8000', 'platform-max'=>'cfg.general.max-qos-policy-rule', 'help-string'=>'Maximum number of QoS rules allowed for this vsys'}, 'max-application-override-rules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4000', 'platform-max'=>'cfg.general.max-oride-policy-rule', 'help-string'=>'Maximum number of application override rules allowed for this vsys'}, 'max-pbf-rules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'2000', 'platform-max'=>'cfg.general.max-pbf-policy-rule', 'help-string'=>'Maximum number of policy based forwarding rules allowed for this vsys'}, 'max-auth-rules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'8000', 'platform-max'=>'cfg.general.max-auth-policy-rule', 'help-string'=>'Maximum number of authentication rules allowed for this vsys'}, 'max-dos-rules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'2000', 'platform-max'=>'cfg.general.max-dos-policy-rule', 'help-string'=>'Maximum number of DoS rules allowed for this vsys'}, 'max-sdwan-rules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'2000', 'platform-max'=>'cfg.general.max-sdwan-policy-rule', 'help-string'=>'Maximum number of sdwan rules allowed for this vsys'}} # Maximum number of sessions allowed for this vsys def max_sessions prop_get('max-sessions') end # Maximum number of sessions allowed for this vsys def max_sessions=(val) prop_set('max-sessions', val) end # Maximum number of site to site vpn tunnels allowed for this vsys def max_site_to_site_vpn_tunnels prop_get('max-site-to-site-vpn-tunnels') end # Maximum number of site to site vpn tunnels allowed for this vsys def max_site_to_site_vpn_tunnels=(val) prop_set('max-site-to-site-vpn-tunnels', val) end # Maximum number of concurrent ssl vpn tunnels allowed for this vsys def max_concurrent_ssl_vpn_tunnels prop_get('max-concurrent-ssl-vpn-tunnels') end # Maximum number of concurrent ssl vpn tunnels allowed for this vsys def max_concurrent_ssl_vpn_tunnels=(val) prop_set('max-concurrent-ssl-vpn-tunnels', val) end # Maximum number of security rules allowed for this vsys def max_security_rules prop_get('max-security-rules') end # Maximum number of security rules allowed for this vsys def max_security_rules=(val) prop_set('max-security-rules', val) end # Maximum number of NAT rules allowed for this vsys def max_nat_rules prop_get('max-nat-rules') end # Maximum number of NAT rules allowed for this vsys def max_nat_rules=(val) prop_set('max-nat-rules', val) end # Maximum number of ssl decryption rules allowed for this vsys def max_ssl_decryption_rules prop_get('max-ssl-decryption-rules') end # Maximum number of ssl decryption rules allowed for this vsys def max_ssl_decryption_rules=(val) prop_set('max-ssl-decryption-rules', val) end # Maximum number of QoS rules allowed for this vsys def max_qos_rules prop_get('max-qos-rules') end # Maximum number of QoS rules allowed for this vsys def max_qos_rules=(val) prop_set('max-qos-rules', val) end # Maximum number of application override rules allowed for this vsys def max_application_override_rules prop_get('max-application-override-rules') end # Maximum number of application override rules allowed for this vsys def max_application_override_rules=(val) prop_set('max-application-override-rules', val) end # Maximum number of policy based forwarding rules allowed for this vsys def max_pbf_rules prop_get('max-pbf-rules') end # Maximum number of policy based forwarding rules allowed for this vsys def max_pbf_rules=(val) prop_set('max-pbf-rules', val) end # Maximum number of authentication rules allowed for this vsys def max_auth_rules prop_get('max-auth-rules') end # Maximum number of authentication rules allowed for this vsys def max_auth_rules=(val) prop_set('max-auth-rules', val) end # Maximum number of DoS rules allowed for this vsys def max_dos_rules prop_get('max-dos-rules') end # Maximum number of DoS rules allowed for this vsys def max_dos_rules=(val) prop_set('max-dos-rules', val) end # Maximum number of sdwan rules allowed for this vsys def max_sdwan_rules prop_get('max-sdwan-rules') end # Maximum number of sdwan rules allowed for this vsys def max_sdwan_rules=(val) prop_set('max-sdwan-rules', val) end end def resource @subclasses['resource'] ||= Resource.new(parent_instance: self, client: @client, create_children: @create_children) end class VisibleVsys < XML::ConfigClass def has_multiple_values?; true; end def _section :'visible-vsys' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def visible_vsys maybe_register_subclass('visible-vsys', VisibleVsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'dns-proxy'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Dns proxy object to use for resolving fqdns'}} # Dns proxy object to use for resolving fqdns def dns_proxy prop_get('dns-proxy') end # Dns proxy object to use for resolving fqdns def dns_proxy=(val) prop_set('dns-proxy', val) end end def import @subclasses['import'] ||= Import.new(parent_instance: self, client: @client, create_children: @create_children) end class Route < ConfigClass def has_multiple_values?; false; end def _section :route end class Service < XML::ConfigClass def has_multiple_values?; true; end def _section :service end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Source < ConfigClass def has_multiple_values?; false; end def _section :source end @props = {'interface'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Source interface to use to reach destination'}, 'address'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Source IP address to use to reach destination', 'complete-handler'=>'pan-vsys-ip-completer'}} # Source interface to use to reach destination def interface prop_get('interface') end # Source interface to use to reach destination def interface=(val) prop_set('interface', val) end # Source IP address to use to reach destination def address prop_get('address') end # Source IP address to use to reach destination def address=(val) prop_set('address', val) end end def source @subclasses['source'] ||= Source.new(parent_instance: self, client: @client, create_children: @create_children) end class SourceV6 < ConfigClass def has_multiple_values?; false; end def _section :'source-v6' end @props = {'interface'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Source interface to use to reach destination'}, 'address'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'96', 'help-string'=>'Source IP address to use to reach destination', 'complete-handler'=>'pan-vsys-ip-completer'}} # Source interface to use to reach destination def interface prop_get('interface') end # Source interface to use to reach destination def interface=(val) prop_set('interface', val) end # Source IP address to use to reach destination def address prop_get('address') end # Source IP address to use to reach destination def address=(val) prop_set('address', val) end end def source_v6 @subclasses['source-v6'] ||= SourceV6.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'Service name'}} # Service name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def service maybe_register_subclass('service', Service.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def route @subclasses['route'] ||= Route.new(parent_instance: self, client: @client, create_children: @create_children) end class AuthenticationProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'authentication-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SingleSignOn < ConfigClass def has_multiple_values?; false; end def _section :'single-sign-on' end @props = {'realm'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'127', 'subtype'=>'object-name', 'help-string'=>'Kerberos realm to be used for authentication'}, 'service-principal'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'255', 'regex'=>'^([:/a-zA-Z0-9._-])+$', 'help-string'=>'Kerberos service principal'}, 'kerberos-keytab'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'131072', 'encrypt'=>'yes', 'help-string'=>'Kerberos keytab'}} # Kerberos realm to be used for authentication def realm prop_get('realm') end # Kerberos realm to be used for authentication def realm=(val) prop_set('realm', val) end # Kerberos service principal def service_principal prop_get('service-principal') end # Kerberos service principal def service_principal=(val) prop_set('service-principal', val) end # Kerberos keytab def kerberos_keytab prop_get('kerberos-keytab') end # Kerberos keytab def kerberos_keytab=(val) prop_set('kerberos-keytab', val) end end def single_sign_on @subclasses['single-sign-on'] ||= SingleSignOn.new(parent_instance: self, client: @client, create_children: @create_children) end class Lockout < ConfigClass def has_multiple_values?; false; end def _section :lockout end @props = {'failed-attempts'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'10', 'help-string'=>'Number of failed login attempts to trigger lock-out'}, 'lockout-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'60', 'default'=>'0', 'help-string'=>'Number of minutes to lock-out'}} # Number of failed login attempts to trigger lock-out def failed_attempts prop_get('failed-attempts') end # Number of failed login attempts to trigger lock-out def failed_attempts=(val) prop_set('failed-attempts', val) end # Number of minutes to lock-out def lockout_time prop_get('lockout-time') end # Number of minutes to lock-out def lockout_time=(val) prop_set('lockout-time', val) end end def lockout @subclasses['lockout'] ||= Lockout.new(parent_instance: self, client: @client, create_children: @create_children) end class AllowList < XML::ConfigClass def has_multiple_values?; true; end def _section :'allow-list' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'loose-membership'=>'yes', 'maxlen'=>'1023'}, 'enum'=>[{'value'=>'all', 'help-string'=>'all user and user groups'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def allow_list maybe_register_subclass('allow-list', AllowList.new(parent_instance: self, client: @client, create_children: @create_children)) end class Method < XML::ConfigClass def has_multiple_values?; true; end def _section :method end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end class Cloud < ConfigClass def has_multiple_values?; false; end def _section :cloud end class Region < ConfigClass def has_multiple_values?; false; end def _section :region end class Tenant < ConfigClass def has_multiple_values?; false; end def _section :tenant end class Profile < ConfigClass def has_multiple_values?; false; end def _section :profile end class Mfa < ConfigClass def has_multiple_values?; false; end def _section :mfa end @props = {'force-mfa'=>{'node-type'=>'element', 'type'=>'string', 'default'=>'no', 'complete-handler'=>'cas-force-mfa-completer', 'help-string'=>'force multi-factor authentication in cloud'}} # force multi-factor authentication in cloud def force_mfa prop_get('force-mfa') end # force multi-factor authentication in cloud def force_mfa=(val) prop_set('force-mfa', val) end end def mfa @subclasses['mfa'] ||= Mfa.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'profile_id'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'64', 'complete-handler'=>'cas-profile-completer', 'help-string'=>'CAS Profile id'}} # CAS Profile id def profile_id prop_get('profile_id') end # CAS Profile id def profile_id=(val) prop_set('profile_id', val) end end def profile @subclasses['profile'] ||= Profile.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'tenant_id'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'64', 'complete-handler'=>'cas-tenant-completer', 'help-string'=>'Tenant id'}} # Tenant id def tenant_id prop_get('tenant_id') end # Tenant id def tenant_id=(val) prop_set('tenant_id', val) end end def tenant @subclasses['tenant'] ||= Tenant.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'region_id'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'128', 'help-string'=>'Region Id', 'complete-handler'=>'cas-region-completer'}} # Region Id def region_id prop_get('region_id') end # Region Id def region_id=(val) prop_set('region_id', val) end end def region @subclasses['region'] ||= Region.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'clock-skew'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'900', 'default'=>'60', 'help-string'=>'clock skew between CAS service and device'}} # clock skew between CAS service and device def clock_skew prop_get('clock-skew') end # clock skew between CAS service and device def clock_skew=(val) prop_set('clock-skew', val) end end def cloud @subclasses['cloud'] ||= Cloud.new(parent_instance: self, client: @client, create_children: @create_children) end class LocalDatabase < ConfigClass def has_multiple_values?; false; end def _section :'local-database' end @props = {} end def local_database @subclasses['local-database'] ||= LocalDatabase.new(parent_instance: self, client: @client, create_children: @create_children) end class Radius < ConfigClass def has_multiple_values?; false; end def _section :radius end @props = {'server-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'RADIUS server profile object'}, 'checkgroup'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Retrieve user group from RADIUS'}} # RADIUS server profile object def server_profile prop_get('server-profile') end # RADIUS server profile object def server_profile=(val) prop_set('server-profile', val) end # Retrieve user group from RADIUS def checkgroup prop_get('checkgroup') end # Retrieve user group from RADIUS def checkgroup=(val) prop_set('checkgroup', val) end end def radius @subclasses['radius'] ||= Radius.new(parent_instance: self, client: @client, create_children: @create_children) end class Ldap < ConfigClass def has_multiple_values?; false; end def _section :ldap end @props = {'server-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'LDAP server profile object'}, 'login-attribute'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'Default is samAccountName for Active Directory, uid for other directory servers'}, 'passwd-exp-days'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255', 'optional'=>'yes', 'help-string'=>'Avail for Active Directory, eDir', 'default'=>'7'}} # LDAP server profile object def server_profile prop_get('server-profile') end # LDAP server profile object def server_profile=(val) prop_set('server-profile', val) end # Default is samAccountName for Active Directory, uid for other directory servers def login_attribute prop_get('login-attribute') end # Default is samAccountName for Active Directory, uid for other directory servers def login_attribute=(val) prop_set('login-attribute', val) end # Avail for Active Directory, eDir def passwd_exp_days prop_get('passwd-exp-days') end # Avail for Active Directory, eDir def passwd_exp_days=(val) prop_set('passwd-exp-days', val) end end def ldap @subclasses['ldap'] ||= Ldap.new(parent_instance: self, client: @client, create_children: @create_children) end class Kerberos < ConfigClass def has_multiple_values?; false; end def _section :kerberos end @props = {'server-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'Kerberos server profile object'}, 'realm'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127', 'subtype'=>'object-name', 'help-string'=>'Realm name to be used for authentication'}} # Kerberos server profile object def server_profile prop_get('server-profile') end # Kerberos server profile object def server_profile=(val) prop_set('server-profile', val) end # Realm name to be used for authentication def realm prop_get('realm') end # Realm name to be used for authentication def realm=(val) prop_set('realm', val) end end def kerberos @subclasses['kerberos'] ||= Kerberos.new(parent_instance: self, client: @client, create_children: @create_children) end class Tacplus < ConfigClass def has_multiple_values?; false; end def _section :tacplus end @props = {'server-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'TACACS+ server profile object'}, 'checkgroup'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Retrieve user group from TACACS+'}} # TACACS+ server profile object def server_profile prop_get('server-profile') end # TACACS+ server profile object def server_profile=(val) prop_set('server-profile', val) end # Retrieve user group from TACACS+ def checkgroup prop_get('checkgroup') end # Retrieve user group from TACACS+ def checkgroup=(val) prop_set('checkgroup', val) end end def tacplus @subclasses['tacplus'] ||= Tacplus.new(parent_instance: self, client: @client, create_children: @create_children) end class SamlIdp < ConfigClass def has_multiple_values?; false; end def _section :'saml-idp' end @props = {'server-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'IdP server profile object'}, 'enable-single-logout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable single logout'}, 'request-signing-certificate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'64', 'complete-handler'=>'check-cert-fields-completer', 'help-string'=>'Signing certificate for SAML requests'}, 'certificate-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'Certificate profile for IDP and SP'}, 'attribute-name-username'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'63', 'default'=>'username', 'help-string'=>'Attribute name for username to be extracted from SAML response', 'uiHint-fieldLabel'=>'Username Attribute'}, 'attribute-name-usergroup'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'usergroup', 'uiHint-fieldLabel'=>'User Group Attribute'}, 'attribute-name-admin-role'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'admin-role', 'uiHint-fieldLabel'=>'Admin Role Attribute'}, 'attribute-name-access-domain'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'access-domain', 'uiHint-fieldLabel'=>'Access Domain Attribute'}} # IdP server profile object def server_profile prop_get('server-profile') end # IdP server profile object def server_profile=(val) prop_set('server-profile', val) end # Enable single logout def enable_single_logout prop_get('enable-single-logout') end # Enable single logout def enable_single_logout=(val) prop_set('enable-single-logout', val) end # Signing certificate for SAML requests def request_signing_certificate prop_get('request-signing-certificate') end # Signing certificate for SAML requests def request_signing_certificate=(val) prop_set('request-signing-certificate', val) end # Certificate profile for IDP and SP def certificate_profile prop_get('certificate-profile') end # Certificate profile for IDP and SP def certificate_profile=(val) prop_set('certificate-profile', val) end # Attribute name for username to be extracted from SAML response def attribute_name_username prop_get('attribute-name-username') end # Attribute name for username to be extracted from SAML response def attribute_name_username=(val) prop_set('attribute-name-username', val) end # usergroup def attribute_name_usergroup prop_get('attribute-name-usergroup') end # usergroup def attribute_name_usergroup=(val) prop_set('attribute-name-usergroup', val) end # admin-role def attribute_name_admin_role prop_get('attribute-name-admin-role') end # admin-role def attribute_name_admin_role=(val) prop_set('attribute-name-admin-role', val) end # access-domain def attribute_name_access_domain prop_get('attribute-name-access-domain') end # access-domain def attribute_name_access_domain=(val) prop_set('attribute-name-access-domain', val) end end def saml_idp @subclasses['saml-idp'] ||= SamlIdp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def method maybe_register_subclass('method', Method.new(parent_instance: self, client: @client, create_children: @create_children)) end class MultiFactorAuth < ConfigClass def has_multiple_values?; false; end def _section :'multi-factor-auth' end class Factors < XML::ConfigClass def has_multiple_values?; true; end def _section :factors end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'max-count'=>'3'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def factors maybe_register_subclass('factors', Factors.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'mfa-enable'=>{'node-type'=>'element', 'type'=>'bool', 'help-string'=>'Enable Additional Authentication Factors'}} # Enable Additional Authentication Factors def mfa_enable prop_get('mfa-enable') end # Enable Additional Authentication Factors def mfa_enable=(val) prop_set('mfa-enable', val) end end def multi_factor_auth @subclasses['multi-factor-auth'] ||= MultiFactorAuth.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'regex'=>'^[a-zA-Z0-9\ ._-]+$', 'help-string'=>'Group name'}, 'username-modifier'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'%USERINPUT%', 'help-string'=>'Username modifier(Not for SAML) to handle user domain', 'multi-types'=>{'string'=>{'loose-membership'=>'yes', 'maxlen'=>'127'}, 'enum'=>[{'value'=>'%USERINPUT%'}, {'value'=>'%USERINPUT%@%USERDOMAIN%'}, {'value'=>'%USERDOMAIN%\%USERINPUT%'}]}}, 'user-domain'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'regex'=>'^[^\\\/\:\*\?\"\<\>\|\.]{1}[^\\\/\:\*\?\"\<\>\|]{0,62}$', 'help-string'=>'Domain name(Not for SAML) to be used for authentication'}} # Group name def name prop_get('@name') end # Username modifier(Not for SAML) to handle user domain def username_modifier prop_get('username-modifier') end # Username modifier(Not for SAML) to handle user domain def username_modifier=(val) prop_set('username-modifier', val) end # Domain name(Not for SAML) to be used for authentication def user_domain prop_get('user-domain') end # Domain name(Not for SAML) to be used for authentication def user_domain=(val) prop_set('user-domain', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def authentication_profile maybe_register_subclass('authentication-profile', AuthenticationProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class AuthenticationSequence < XML::ConfigClass def has_multiple_values?; true; end def _section :'authentication-sequence' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class AuthenticationProfiles < XML::ConfigClass def has_multiple_values?; true; end def _section :'authentication-profiles' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def authentication_profiles maybe_register_subclass('authentication-profiles', AuthenticationProfiles.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'regex'=>'^[a-zA-Z0-9\ ._-]+$', 'help-string'=>'Authentication sequence name'}, 'use-domain-find-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Attempt to use domain to determine authentication profile'}, 'exit-sequence-on-failure'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'exit the sequence if the domain matched profile fails'}, 'use-userid-domain'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'use the domain retrieved from userid'}} # Authentication sequence name def name prop_get('@name') end # Attempt to use domain to determine authentication profile def use_domain_find_profile prop_get('use-domain-find-profile') end # Attempt to use domain to determine authentication profile def use_domain_find_profile=(val) prop_set('use-domain-find-profile', val) end # exit the sequence if the domain matched profile fails def exit_sequence_on_failure prop_get('exit-sequence-on-failure') end # exit the sequence if the domain matched profile fails def exit_sequence_on_failure=(val) prop_set('exit-sequence-on-failure', val) end # use the domain retrieved from userid def use_userid_domain prop_get('use-userid-domain') end # use the domain retrieved from userid def use_userid_domain=(val) prop_set('use-userid-domain', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def authentication_sequence maybe_register_subclass('authentication-sequence', AuthenticationSequence.new(parent_instance: self, client: @client, create_children: @create_children)) end class CertificateProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'certificate-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class UsernameField < XML::ConfigClass def has_multiple_values?; true; end def _section :'username-field' end @props = {'subject'=>{'node-type'=>'element', 'type'=>'enum', 'help-string'=>'get user name from subject', 'enum'=>[{'value'=>'common-name'}]}, 'subject-alt'=>{'node-type'=>'element', 'type'=>'enum', 'help-string'=>'get user name from subject alternative name', 'enum'=>[{'value'=>'email'}, {'value'=>'principal-name'}]}} # get user name from subject def subject prop_get('subject') end # get user name from subject def subject=(val) prop_set('subject', val) end # get user name from subject alternative name def subject_alt prop_get('subject-alt') end # get user name from subject alternative name def subject_alt=(val) prop_set('subject-alt', val) end end def username_field maybe_register_subclass('username-field', UsernameField.new(parent_instance: self, client: @client, create_children: @create_children)) end class CA < XML::ConfigClass def has_multiple_values?; true; end def _section :CA end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'help-string'=>'CA file for client certificate'}, 'default-ocsp-url'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'1', 'maxlen'=>'255', 'regex'=>'^http(s)?://.+$', 'help-string'=>'default URL for ocsp verification'}, 'ocsp-verify-cert'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'63', 'help-string'=>'Certificate to verify signature in OCSP response'}, 'template-name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'1', 'maxlen'=>'255', 'help-string'=>'Certificate Template Name / OID for the certificate'}} # CA file for client certificate def name prop_get('@name') end # default URL for ocsp verification def default_ocsp_url prop_get('default-ocsp-url') end # default URL for ocsp verification def default_ocsp_url=(val) prop_set('default-ocsp-url', val) end # Certificate to verify signature in OCSP response def ocsp_verify_cert prop_get('ocsp-verify-cert') end # Certificate to verify signature in OCSP response def ocsp_verify_cert=(val) prop_set('ocsp-verify-cert', val) end # Certificate Template Name / OID for the certificate def template_name prop_get('template-name') end # Certificate Template Name / OID for the certificate def template_name=(val) prop_set('template-name', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def CA maybe_register_subclass('CA', CA.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'regex'=>'^[a-zA-Z0-9_-]+$', 'help-string'=>'Profile name'}, 'domain'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]', 'uiHint-fieldLabel'=>'User Domain'}, 'use-crl'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}, 'use-ocsp'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}, 'crl-receive-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'60', 'default'=>'5', 'help-string'=>'set CRL receive timeout value in seconds'}, 'ocsp-receive-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'60', 'default'=>'5', 'help-string'=>'set OCSP receive timeout value in seconds'}, 'ocsp-exclude-nonce'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'whether to exclude nonce extension for OCSP requests'}, 'cert-status-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'60', 'default'=>'5', 'help-string'=>'set cert status query timeout value in seconds'}, 'block-unknown-cert'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'whether to block a session if cert. status is unknown'}, 'block-timeout-cert'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'whether to block a session if cert. status can\'t be retrieved within timeout'}, 'block-unauthenticated-cert'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'whether to block session if the certificate was not issued to the authenticating device'}, 'block-expired-cert'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'whether to block a session if cert. status is expired'}} # Profile name def name prop_get('@name') end # alphanumeric string [ 0-9a-zA-Z._-] def domain prop_get('domain') end # alphanumeric string [ 0-9a-zA-Z._-] def domain=(val) prop_set('domain', val) end def use_crl prop_get('use-crl') end def use_crl=(val) prop_set('use-crl', val) end def use_ocsp prop_get('use-ocsp') end def use_ocsp=(val) prop_set('use-ocsp', val) end # set CRL receive timeout value in seconds def crl_receive_timeout prop_get('crl-receive-timeout') end # set CRL receive timeout value in seconds def crl_receive_timeout=(val) prop_set('crl-receive-timeout', val) end # set OCSP receive timeout value in seconds def ocsp_receive_timeout prop_get('ocsp-receive-timeout') end # set OCSP receive timeout value in seconds def ocsp_receive_timeout=(val) prop_set('ocsp-receive-timeout', val) end # whether to exclude nonce extension for OCSP requests def ocsp_exclude_nonce prop_get('ocsp-exclude-nonce') end # whether to exclude nonce extension for OCSP requests def ocsp_exclude_nonce=(val) prop_set('ocsp-exclude-nonce', val) end # set cert status query timeout value in seconds def cert_status_timeout prop_get('cert-status-timeout') end # set cert status query timeout value in seconds def cert_status_timeout=(val) prop_set('cert-status-timeout', val) end # whether to block a session if cert. status is unknown def block_unknown_cert prop_get('block-unknown-cert') end # whether to block a session if cert. status is unknown def block_unknown_cert=(val) prop_set('block-unknown-cert', val) end # whether to block a session if cert. status can't be retrieved within timeout def block_timeout_cert prop_get('block-timeout-cert') end # whether to block a session if cert. status can't be retrieved within timeout def block_timeout_cert=(val) prop_set('block-timeout-cert', val) end # whether to block session if the certificate was not issued to the authenticating device def block_unauthenticated_cert prop_get('block-unauthenticated-cert') end # whether to block session if the certificate was not issued to the authenticating device def block_unauthenticated_cert=(val) prop_set('block-unauthenticated-cert', val) end # whether to block a session if cert. status is expired def block_expired_cert prop_get('block-expired-cert') end # whether to block a session if cert. status is expired def block_expired_cert=(val) prop_set('block-expired-cert', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def certificate_profile maybe_register_subclass('certificate-profile', CertificateProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class ServerProfile < ConfigClass def has_multiple_values?; false; end def _section :'server-profile' end class Ldap < XML::ConfigClass def has_multiple_values?; true; end def _section :ldap end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'ldap server ip or host name.', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'minlen'=>'1', 'loose-membership'=>'yes', 'maxlen'=>'63', 'help-string'=>'Host name.'}}}, 'port'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'389', 'help-string'=>'default 389 for LDAP, 636 for LDAPS'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # ldap server ip or host name. def address prop_get('address') end # ldap server ip or host name. def address=(val) prop_set('address', val) end # default 389 for LDAP, 636 for LDAPS def port prop_get('port') end # default 389 for LDAP, 636 for LDAPS def port=(val) prop_set('port', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'ldap-type'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'other', 'enum'=>[{'value'=>'active-directory'}, {'value'=>'e-directory'}, {'value'=>'sun'}, {'value'=>'other'}]}, 'ssl'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes'}, 'verify-server-certificate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Verify server certificate for SSL sessions'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}, 'base'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'255', 'regex'=>'^[^[:cntrl:]]+$', 'help-string'=>'Default base distinguished name (DN) to use for searches'}, 'bind-dn'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'255', 'regex'=>'^[^[:cntrl:]]+$', 'help-string'=>'bind distinguished name'}, 'bind-password'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'121', 'encrypt'=>'yes', 'help-string'=>'bind password'}, 'timelimit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'30', 'default'=>'30', 'help-string'=>'number of seconds to wait for performing searches'}, 'bind-timelimit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'60', 'default'=>'30', 'help-string'=>'number of seconds to use for connecting to servers'}, 'retry-interval'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'60', 'max'=>'3600', 'help-string'=>'Interval (seconds) for reconnecting LDAP server', 'default'=>'60'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def ldap_type prop_get('ldap-type') end def ldap_type=(val) prop_set('ldap-type', val) end def ssl prop_get('ssl') end def ssl=(val) prop_set('ssl', val) end # Verify server certificate for SSL sessions def verify_server_certificate prop_get('verify-server-certificate') end # Verify server certificate for SSL sessions def verify_server_certificate=(val) prop_set('verify-server-certificate', val) end def disabled prop_get('disabled') end def disabled=(val) prop_set('disabled', val) end # Default base distinguished name (DN) to use for searches def base prop_get('base') end # Default base distinguished name (DN) to use for searches def base=(val) prop_set('base', val) end # bind distinguished name def bind_dn prop_get('bind-dn') end # bind distinguished name def bind_dn=(val) prop_set('bind-dn', val) end # bind password def bind_password prop_get('bind-password') end # bind password def bind_password=(val) prop_set('bind-password', val) end # number of seconds to wait for performing searches def timelimit prop_get('timelimit') end # number of seconds to wait for performing searches def timelimit=(val) prop_set('timelimit', val) end # number of seconds to use for connecting to servers def bind_timelimit prop_get('bind-timelimit') end # number of seconds to use for connecting to servers def bind_timelimit=(val) prop_set('bind-timelimit', val) end # Interval (seconds) for reconnecting LDAP server def retry_interval prop_get('retry-interval') end # Interval (seconds) for reconnecting LDAP server def retry_interval=(val) prop_set('retry-interval', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ldap maybe_register_subclass('ldap', Ldap.new(parent_instance: self, client: @client, create_children: @create_children)) end class Radius < XML::ConfigClass def has_multiple_values?; true; end def _section :radius end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Protocol < XML::ConfigClass def has_multiple_values?; true; end def _section :protocol end class CHAP < ConfigClass def has_multiple_values?; false; end def _section :CHAP end @props = {} end def CHAP @subclasses['CHAP'] ||= CHAP.new(parent_instance: self, client: @client, create_children: @create_children) end class PAP < ConfigClass def has_multiple_values?; false; end def _section :PAP end @props = {} end def PAP @subclasses['PAP'] ||= PAP.new(parent_instance: self, client: @client, create_children: @create_children) end class PEAPMSCHAPv2 < ConfigClass def has_multiple_values?; false; end def _section :'PEAP-MSCHAPv2' end @props = {'anon-outer-id'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Make Outer Identity Anonymous'}, 'allow-pwd-change'=>{'node-type'=>'element', 'type'=>'bool', 'help-string'=>'Allow users to change passwords after expiry'}, 'radius-cert-profile'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Certificate profile for verifying the RADIUS server'}} # Make Outer Identity Anonymous def anon_outer_id prop_get('anon-outer-id') end # Make Outer Identity Anonymous def anon_outer_id=(val) prop_set('anon-outer-id', val) end # Allow users to change passwords after expiry def allow_pwd_change prop_get('allow-pwd-change') end # Allow users to change passwords after expiry def allow_pwd_change=(val) prop_set('allow-pwd-change', val) end # Certificate profile for verifying the RADIUS server def radius_cert_profile prop_get('radius-cert-profile') end # Certificate profile for verifying the RADIUS server def radius_cert_profile=(val) prop_set('radius-cert-profile', val) end end def PEAP_MSCHAPv2 @subclasses['PEAP-MSCHAPv2'] ||= PEAPMSCHAPv2.new(parent_instance: self, client: @client, create_children: @create_children) end class PEAPWithGTC < ConfigClass def has_multiple_values?; false; end def _section :'PEAP-with-GTC' end @props = {'anon-outer-id'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Make Outer Identity Anonymous'}, 'radius-cert-profile'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Certificate profile for verifying the RADIUS server'}} # Make Outer Identity Anonymous def anon_outer_id prop_get('anon-outer-id') end # Make Outer Identity Anonymous def anon_outer_id=(val) prop_set('anon-outer-id', val) end # Certificate profile for verifying the RADIUS server def radius_cert_profile prop_get('radius-cert-profile') end # Certificate profile for verifying the RADIUS server def radius_cert_profile=(val) prop_set('radius-cert-profile', val) end end def PEAP_with_GTC @subclasses['PEAP-with-GTC'] ||= PEAPWithGTC.new(parent_instance: self, client: @client, create_children: @create_children) end class EAPTTLSWithPAP < ConfigClass def has_multiple_values?; false; end def _section :'EAP-TTLS-with-PAP' end @props = {'anon-outer-id'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Make Outer Identity Anonymous'}, 'radius-cert-profile'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Certificate profile for verifying the RADIUS server'}} # Make Outer Identity Anonymous def anon_outer_id prop_get('anon-outer-id') end # Make Outer Identity Anonymous def anon_outer_id=(val) prop_set('anon-outer-id', val) end # Certificate profile for verifying the RADIUS server def radius_cert_profile prop_get('radius-cert-profile') end # Certificate profile for verifying the RADIUS server def radius_cert_profile=(val) prop_set('radius-cert-profile', val) end end def EAP_TTLS_with_PAP @subclasses['EAP-TTLS-with-PAP'] ||= EAPTTLSWithPAP.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def protocol maybe_register_subclass('protocol', Protocol.new(parent_instance: self, client: @client, create_children: @create_children)) end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'ip-address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'RADIUS server IP or host name', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'minlen'=>'1', 'loose-membership'=>'yes', 'maxlen'=>'63', 'help-string'=>'Host name.'}}}, 'secret'=>{'node-type'=>'element', 'type'=>'string', 'encrypt'=>'yes', 'maxlen'=>'64', 'help-string'=>'Shared secret for RADIUS communication'}, 'port'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'1812', 'help-string'=>'RADIUS server port'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # RADIUS server IP or host name def ip_address prop_get('ip-address') end # RADIUS server IP or host name def ip_address=(val) prop_set('ip-address', val) end # Shared secret for RADIUS communication def secret prop_get('secret') end # Shared secret for RADIUS communication def secret=(val) prop_set('secret', val) end # RADIUS server port def port prop_get('port') end # RADIUS server port def port=(val) prop_set('port', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'120', 'default'=>'3', 'help-string'=>'number of seconds to wait for when performing authentication'}, 'retries'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'5', 'default'=>'3', 'help-string'=>'number of attempts before giving up authentication'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # number of seconds to wait for when performing authentication def timeout prop_get('timeout') end # number of seconds to wait for when performing authentication def timeout=(val) prop_set('timeout', val) end # number of attempts before giving up authentication def retries prop_get('retries') end # number of attempts before giving up authentication def retries=(val) prop_set('retries', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def radius maybe_register_subclass('radius', Radius.new(parent_instance: self, client: @client, create_children: @create_children)) end class Scp < XML::ConfigClass def has_multiple_values?; true; end def _section :scp end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string'}, 'server'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'SCP hostname'}, 'port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'22', 'help-string'=>'SCP port'}, 'username'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'128', 'regex'=>'[^\']*', 'help-string'=>'SCP username'}, 'password'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'64', 'regex'=>'[^\']*', 'help-string'=>'SCP Password', 'encrypt'=>'yes'}, 'path'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'256', 'help-string'=>'SCP image base path'}, 'fingerprint'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'256', 'regex'=>'[^\']*', 'help-string'=>'SCP host fingerprint'}} # alphanumeric string def name prop_get('@name') end # SCP hostname def server prop_get('server') end # SCP hostname def server=(val) prop_set('server', val) end # SCP port def port prop_get('port') end # SCP port def port=(val) prop_set('port', val) end # SCP username def username prop_get('username') end # SCP username def username=(val) prop_set('username', val) end # SCP Password def password prop_get('password') end # SCP Password def password=(val) prop_set('password', val) end # SCP image base path def path prop_get('path') end # SCP image base path def path=(val) prop_set('path', val) end # SCP host fingerprint def fingerprint prop_get('fingerprint') end # SCP host fingerprint def fingerprint=(val) prop_set('fingerprint', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def scp maybe_register_subclass('scp', Scp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Kerberos < XML::ConfigClass def has_multiple_values?; true; end def _section :kerberos end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'host'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Kerberos server ip or host name.', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'minlen'=>'1', 'loose-membership'=>'yes', 'maxlen'=>'63', 'help-string'=>'Host name.'}}}, 'port'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'88', 'help-string'=>'Kerberos Domain Controller '}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # Kerberos server ip or host name. def host prop_get('host') end # Kerberos server ip or host name. def host=(val) prop_set('host', val) end # Kerberos Domain Controller def port prop_get('port') end # Kerberos Domain Controller def port=(val) prop_set('port', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def kerberos maybe_register_subclass('kerberos', Kerberos.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tacplus < XML::ConfigClass def has_multiple_values?; true; end def _section :tacplus end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'TACACS+ server ip or host name.', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'minlen'=>'1', 'loose-membership'=>'yes', 'maxlen'=>'63', 'help-string'=>'Host name.'}}}, 'secret'=>{'node-type'=>'element', 'type'=>'string', 'encrypt'=>'yes', 'maxlen'=>'64', 'help-string'=>'Shared secret for TACACS+ communication'}, 'port'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'49', 'help-string'=>'TACACS+ server port'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # TACACS+ server ip or host name. def address prop_get('address') end # TACACS+ server ip or host name. def address=(val) prop_set('address', val) end # Shared secret for TACACS+ communication def secret prop_get('secret') end # Shared secret for TACACS+ communication def secret=(val) prop_set('secret', val) end # TACACS+ server port def port prop_get('port') end # TACACS+ server port def port=(val) prop_set('port', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'30', 'default'=>'3', 'help-string'=>'number of seconds to wait for when performing authentication'}, 'use-single-connection'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Use single connection for all authentication'}, 'protocol'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'CHAP', 'help-string'=>'Select authentication protocol', 'enum'=>[{'value'=>'CHAP'}, {'value'=>'PAP'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # number of seconds to wait for when performing authentication def timeout prop_get('timeout') end # number of seconds to wait for when performing authentication def timeout=(val) prop_set('timeout', val) end # Use single connection for all authentication def use_single_connection prop_get('use-single-connection') end # Use single connection for all authentication def use_single_connection=(val) prop_set('use-single-connection', val) end # Select authentication protocol def protocol prop_get('protocol') end # Select authentication protocol def protocol=(val) prop_set('protocol', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def tacplus maybe_register_subclass('tacplus', Tacplus.new(parent_instance: self, client: @client, create_children: @create_children)) end class SamlIdp < XML::ConfigClass def has_multiple_values?; true; end def _section :'saml-idp' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'entity-id'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'1024', 'help-string'=>'Unique identifier for SAML IdP'}, 'certificate'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'complete-handler'=>'check-idp-cert-fields-completer', 'help-string'=>'Object name of IdP signing certificate'}, 'sso-url'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'255', 'help-string'=>'The Single Sign On Service URL for the IdP server'}, 'sso-bindings'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'post', 'enum'=>[{'value'=>'post'}, {'value'=>'redirect'}]}, 'slo-url'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'255', 'help-string'=>'The Single Logout Service URL for the IdP server'}, 'slo-bindings'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'post', 'enum'=>[{'value'=>'post'}, {'value'=>'redirect'}]}, 'validate-idp-certificate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Certificate revocation check for IdP certificate when checking assertion signature'}, 'want-auth-requests-signed'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Client auth request signed by cert'}, 'max-clock-skew'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'900', 'default'=>'60', 'help-string'=>'maximum allowed clock skew in second between SAML entities\' system time'}, 'attribute-name-username-import'=>{'node-type'=>'element', 'internal'=>'yes', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'63', 'default'=>'username', 'help-string'=>'Attribute name for username to be extracted from SAML response'}, 'attribute-name-usergroup-import'=>{'node-type'=>'element', 'internal'=>'yes', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'usergroup'}, 'attribute-name-admin-role-import'=>{'node-type'=>'element', 'internal'=>'yes', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'admin-role'}, 'attribute-name-access-domain-import'=>{'node-type'=>'element', 'internal'=>'yes', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'access-domain'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # Unique identifier for SAML IdP def entity_id prop_get('entity-id') end # Unique identifier for SAML IdP def entity_id=(val) prop_set('entity-id', val) end # Object name of IdP signing certificate def certificate prop_get('certificate') end # Object name of IdP signing certificate def certificate=(val) prop_set('certificate', val) end # The Single Sign On Service URL for the IdP server def sso_url prop_get('sso-url') end # The Single Sign On Service URL for the IdP server def sso_url=(val) prop_set('sso-url', val) end def sso_bindings prop_get('sso-bindings') end def sso_bindings=(val) prop_set('sso-bindings', val) end # The Single Logout Service URL for the IdP server def slo_url prop_get('slo-url') end # The Single Logout Service URL for the IdP server def slo_url=(val) prop_set('slo-url', val) end def slo_bindings prop_get('slo-bindings') end def slo_bindings=(val) prop_set('slo-bindings', val) end # Certificate revocation check for IdP certificate when checking assertion signature def validate_idp_certificate prop_get('validate-idp-certificate') end # Certificate revocation check for IdP certificate when checking assertion signature def validate_idp_certificate=(val) prop_set('validate-idp-certificate', val) end # Client auth request signed by cert def want_auth_requests_signed prop_get('want-auth-requests-signed') end # Client auth request signed by cert def want_auth_requests_signed=(val) prop_set('want-auth-requests-signed', val) end # maximum allowed clock skew in second between SAML entities' system time def max_clock_skew prop_get('max-clock-skew') end # maximum allowed clock skew in second between SAML entities' system time def max_clock_skew=(val) prop_set('max-clock-skew', val) end # Attribute name for username to be extracted from SAML response def attribute_name_username_import prop_get('attribute-name-username-import') end # Attribute name for username to be extracted from SAML response def attribute_name_username_import=(val) prop_set('attribute-name-username-import', val) end # usergroup def attribute_name_usergroup_import prop_get('attribute-name-usergroup-import') end # usergroup def attribute_name_usergroup_import=(val) prop_set('attribute-name-usergroup-import', val) end # admin-role def attribute_name_admin_role_import prop_get('attribute-name-admin-role-import') end # admin-role def attribute_name_admin_role_import=(val) prop_set('attribute-name-admin-role-import', val) end # access-domain def attribute_name_access_domain_import prop_get('attribute-name-access-domain-import') end # access-domain def attribute_name_access_domain_import=(val) prop_set('attribute-name-access-domain-import', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def saml_idp maybe_register_subclass('saml-idp', SamlIdp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Netflow < XML::ConfigClass def has_multiple_values?; true; end def _section :netflow end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class TemplateRefreshRate < ConfigClass def has_multiple_values?; false; end def _section :'template-refresh-rate' end @props = {'minutes'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'30'}, 'packets'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'600', 'default'=>'20'}} def minutes prop_get('minutes') end def minutes=(val) prop_set('minutes', val) end def packets prop_get('packets') end def packets=(val) prop_set('packets', val) end end def template_refresh_rate @subclasses['template-refresh-rate'] ||= TemplateRefreshRate.new(parent_instance: self, client: @client, create_children: @create_children) end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'host'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Netflow server ip or host name.', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'loose-membership'=>'yes', 'maxlen'=>'63'}}}, 'port'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'2055', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Netflow server port'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # Netflow server ip or host name. def host prop_get('host') end # Netflow server ip or host name. def host=(val) prop_set('host', val) end # Netflow server port def port prop_get('port') end # Netflow server port def port=(val) prop_set('port', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'active-timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'60', 'default'=>'5', 'help-string'=>'Active timeout in minutes'}, 'export-enterprise-fields'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Export PAN-OS Specific Field Types'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # Active timeout in minutes def active_timeout prop_get('active-timeout') end # Active timeout in minutes def active_timeout=(val) prop_set('active-timeout', val) end # Export PAN-OS Specific Field Types def export_enterprise_fields prop_get('export-enterprise-fields') end # Export PAN-OS Specific Field Types def export_enterprise_fields=(val) prop_set('export-enterprise-fields', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def netflow maybe_register_subclass('netflow', Netflow.new(parent_instance: self, client: @client, create_children: @create_children)) end class Dns < XML::ConfigClass def has_multiple_values?; true; end def _section :dns end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Inheritance < ConfigClass def has_multiple_values?; false; end def _section :inheritance end @props = {'source'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Dynamic interface'}} # Dynamic interface def source prop_get('source') end # Dynamic interface def source=(val) prop_set('source', val) end end def inheritance @subclasses['inheritance'] ||= Inheritance.new(parent_instance: self, client: @client, create_children: @create_children) end class Source < ConfigClass def has_multiple_values?; false; end def _section :source end @props = {'interface'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Source interface to use to reach destination'}, 'address'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Source IP address to use to reach destination'}} # Source interface to use to reach destination def interface prop_get('interface') end # Source interface to use to reach destination def interface=(val) prop_set('interface', val) end # Source IP address to use to reach destination def address prop_get('address') end # Source IP address to use to reach destination def address=(val) prop_set('address', val) end end def source @subclasses['source'] ||= Source.new(parent_instance: self, client: @client, create_children: @create_children) end class SourceV6 < ConfigClass def has_multiple_values?; false; end def _section :'source-v6' end @props = {'interface'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Source interface to use to reach destination'}, 'address'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'96', 'help-string'=>'Source IP address to use to reach destination'}} # Source interface to use to reach destination def interface prop_get('interface') end # Source interface to use to reach destination def interface=(val) prop_set('interface', val) end # Source IP address to use to reach destination def address prop_get('address') end # Source IP address to use to reach destination def address=(val) prop_set('address', val) end end def source_v6 @subclasses['source-v6'] ||= SourceV6.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'primary'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Primary DNS Name server IP address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'help-string'=>'DNS primary server ip'}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'inherited'}]}}, 'secondary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Secondary DNS Name server IP address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'help-string'=>'DNS primary server ip'}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'inherited'}]}}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # Primary DNS Name server IP address def primary prop_get('primary') end # Primary DNS Name server IP address def primary=(val) prop_set('primary', val) end # Secondary DNS Name server IP address def secondary prop_get('secondary') end # Secondary DNS Name server IP address def secondary=(val) prop_set('secondary', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def dns maybe_register_subclass('dns', Dns.new(parent_instance: self, client: @client, create_children: @create_children)) end class MfaServerProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'mfa-server-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class MfaConfig < XML::ConfigClass def has_multiple_values?; true; end def _section :'mfa-config' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def mfa_config maybe_register_subclass('mfa-config', MfaConfig.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'regex'=>'^[a-zA-Z0-9\ ._-]+$', 'help-string'=>'MFA Server Profile Name'}, 'mfa-vendor-type'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'128', 'help-string'=>'Vendor and product type'}, 'mfa-cert-profile'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Certificate profile for verifying the MFA Vendor'}} # MFA Server Profile Name def name prop_get('@name') end # Vendor and product type def mfa_vendor_type prop_get('mfa-vendor-type') end # Vendor and product type def mfa_vendor_type=(val) prop_set('mfa-vendor-type', val) end # Certificate profile for verifying the MFA Vendor def mfa_cert_profile prop_get('mfa-cert-profile') end # Certificate profile for verifying the MFA Vendor def mfa_cert_profile=(val) prop_set('mfa-cert-profile', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def mfa_server_profile maybe_register_subclass('mfa-server-profile', MfaServerProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def server_profile @subclasses['server-profile'] ||= ServerProfile.new(parent_instance: self, client: @client, create_children: @create_children) end class DnsProxy < XML::ConfigClass def has_multiple_values?; true; end def _section :'dns-proxy' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Interface < XML::ConfigClass def has_multiple_values?; true; end def _section :interface end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Interface name'}} # Interface name def member prop_get('member') end # Interface name def member=(val) prop_set('member', val) end end def interface maybe_register_subclass('interface', Interface.new(parent_instance: self, client: @client, create_children: @create_children)) end class DomainServers < XML::ConfigClass def has_multiple_values?; true; end def _section :'domain-servers' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class DomainName < XML::ConfigClass def has_multiple_values?; true; end def _section :'domain-name' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^[a-zA-Z0-9_\.\*\-]+$', 'maxlen'=>'128', 'help-string'=>'Dotted domain name with optional wildcards'}} # Dotted domain name with optional wildcards def member prop_get('member') end # Dotted domain name with optional wildcards def member=(val) prop_set('member', val) end end def domain_name maybe_register_subclass('domain-name', DomainName.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'optional'=>'no', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'cacheable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Turn on caching of domains resolved by this mapping'}, 'server-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'DNS server object'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # Turn on caching of domains resolved by this mapping def cacheable prop_get('cacheable') end # Turn on caching of domains resolved by this mapping def cacheable=(val) prop_set('cacheable', val) end # DNS server object def server_profile prop_get('server-profile') end # DNS server object def server_profile=(val) prop_set('server-profile', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def domain_servers maybe_register_subclass('domain-servers', DomainServers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Cache < ConfigClass def has_multiple_values?; false; end def _section :cache end class MaxTtl < ConfigClass def has_multiple_values?; false; end def _section :'max-ttl' end @props = {'enabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable max ttl for this DNS object'}, 'time-to-live'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'60', 'max'=>'86400', 'help-string'=>'Time in seconds after which entry is cleared'}} # Enable max ttl for this DNS object def enabled prop_get('enabled') end # Enable max ttl for this DNS object def enabled=(val) prop_set('enabled', val) end # Time in seconds after which entry is cleared def time_to_live prop_get('time-to-live') end # Time in seconds after which entry is cleared def time_to_live=(val) prop_set('time-to-live', val) end end def max_ttl @subclasses['max-ttl'] ||= MaxTtl.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Turn on caching for this DNS object'}, 'cache-edns'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Cache EDNS UDP response'}} # Turn on caching for this DNS object def enabled prop_get('enabled') end # Turn on caching for this DNS object def enabled=(val) prop_set('enabled', val) end # Cache EDNS UDP response def cache_edns prop_get('cache-edns') end # Cache EDNS UDP response def cache_edns=(val) prop_set('cache-edns', val) end end def cache @subclasses['cache'] ||= Cache.new(parent_instance: self, client: @client, create_children: @create_children) end class StaticEntries < XML::ConfigClass def has_multiple_values?; true; end def _section :'static-entries' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Address < XML::ConfigClass def has_multiple_values?; true; end def _section :address end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Resolved IP address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # Resolved IP address def member prop_get('member') end # Resolved IP address def member=(val) prop_set('member', val) end end def address maybe_register_subclass('address', Address.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'optional'=>'no', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'domain'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'help-string'=>'Fully qualified domain name for specified IP address'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # Fully qualified domain name for specified IP address def domain prop_get('domain') end # Fully qualified domain name for specified IP address def domain=(val) prop_set('domain', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def static_entries maybe_register_subclass('static-entries', StaticEntries.new(parent_instance: self, client: @client, create_children: @create_children)) end class TcpQueries < ConfigClass def has_multiple_values?; false; end def _section :'tcp-queries' end @props = {'enabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Turn on forwarding of TCP DNS queries'}, 'max-pending-requests'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'64', 'max'=>'256', 'default'=>'64', 'help-string'=>'Upper limit on number of concurrent TCP DNS requests'}} # Turn on forwarding of TCP DNS queries def enabled prop_get('enabled') end # Turn on forwarding of TCP DNS queries def enabled=(val) prop_set('enabled', val) end # Upper limit on number of concurrent TCP DNS requests def max_pending_requests prop_get('max-pending-requests') end # Upper limit on number of concurrent TCP DNS requests def max_pending_requests=(val) prop_set('max-pending-requests', val) end end def tcp_queries @subclasses['tcp-queries'] ||= TcpQueries.new(parent_instance: self, client: @client, create_children: @create_children) end class UdpQueries < ConfigClass def has_multiple_values?; false; end def _section :'udp-queries' end class Retries < ConfigClass def has_multiple_values?; false; end def _section :retries end @props = {'interval'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'1', 'max'=>'30', 'default'=>'2', 'help-string'=>'Time in seconds for another request to be sent'}, 'attempts'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'1', 'max'=>'30', 'default'=>'5', 'help-string'=>'Maximum number of retries before trying next name server'}} # Time in seconds for another request to be sent def interval prop_get('interval') end # Time in seconds for another request to be sent def interval=(val) prop_set('interval', val) end # Maximum number of retries before trying next name server def attempts prop_get('attempts') end # Maximum number of retries before trying next name server def attempts=(val) prop_set('attempts', val) end end def retries @subclasses['retries'] ||= Retries.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def udp_queries @subclasses['udp-queries'] ||= UdpQueries.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'optional'=>'no', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable or disable processing of DNS requests on interface(s) on this object'}, 'server-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'DNS server object'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # Enable or disable processing of DNS requests on interface(s) on this object def enabled prop_get('enabled') end # Enable or disable processing of DNS requests on interface(s) on this object def enabled=(val) prop_set('enabled', val) end # DNS server object def server_profile prop_get('server-profile') end # DNS server object def server_profile=(val) prop_set('server-profile', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def dns_proxy maybe_register_subclass('dns-proxy', DnsProxy.new(parent_instance: self, client: @client, create_children: @create_children)) end class LogSettings < ConfigClass def has_multiple_values?; false; end def _section :'log-settings' end class Correlation < ConfigClass def has_multiple_values?; false; end def _section :correlation end class MatchList < XML::ConfigClass def has_multiple_values?; true; end def _section :'match-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SendSnmptrap < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-snmptrap' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_snmptrap maybe_register_subclass('send-snmptrap', SendSnmptrap.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendEmail < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-email' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_email maybe_register_subclass('send-email', SendEmail.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendSyslog < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-syslog' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_syslog maybe_register_subclass('send-syslog', SendSyslog.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendHttp < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-http' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_http maybe_register_subclass('send-http', SendHttp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Actions < XML::ConfigClass def has_multiple_values?; true; end def _section :actions end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Integration < ConfigClass def has_multiple_values?; false; end def _section :integration end @props = {'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'Azure-Security-Center-Integration', 'enum'=>[{'value'=>'Azure-Security-Center-Integration', 'help-string'=>'Azure Security Center Integration'}]}} def action prop_get('action') end def action=(val) prop_set('action', val) end end def integration @subclasses['integration'] ||= Integration.new(parent_instance: self, client: @client, create_children: @create_children) end class Tagging < ConfigClass def has_multiple_values?; false; end def _section :tagging end class Registration < XML::ConfigClass def has_multiple_values?; true; end def _section :registration end class Localhost < ConfigClass def has_multiple_values?; false; end def _section :localhost end @props = {} end def localhost @subclasses['localhost'] ||= Localhost.new(parent_instance: self, client: @client, create_children: @create_children) end class Panorama < ConfigClass def has_multiple_values?; false; end def _section :panorama end @props = {} end def panorama @subclasses['panorama'] ||= Panorama.new(parent_instance: self, client: @client, create_children: @create_children) end class Remote < ConfigClass def has_multiple_values?; false; end def _section :remote end @props = {'http-profile'=>{'node-type'=>'element', 'type'=>'string'}} def http_profile prop_get('http-profile') end def http_profile=(val) prop_set('http-profile', val) end end def remote @subclasses['remote'] ||= Remote.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def registration maybe_register_subclass('registration', Registration.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'127', 'regex'=>'^[^\]\'\[]*$'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'target'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'source-address', 'enum'=>[{'value'=>'source-address', 'help-string'=>'Source Address'}, {'value'=>'destination-address', 'help-string'=>'Destination Address'}, {'value'=>'xff-address', 'help-string'=>'X-Forwarded-For Address'}, {'value'=>'user', 'help-string'=>'User'}]}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'add-tag', 'enum'=>[{'value'=>'add-tag', 'help-string'=>'Add Tag'}, {'value'=>'remove-tag', 'help-string'=>'Remove Tag'}]}, 'timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'43200', 'optional'=>'yes', 'default'=>'0', 'help-string'=>'timeout in minutes'}} def target prop_get('target') end def target=(val) prop_set('target', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # timeout in minutes def timeout prop_get('timeout') end # timeout in minutes def timeout=(val) prop_set('timeout', val) end end def tagging @subclasses['tagging'] ||= Tagging.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def actions maybe_register_subclass('actions', Actions.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'filter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1023'}, 'quarantine'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}} def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def filter prop_get('filter') end def filter=(val) prop_set('filter', val) end def quarantine prop_get('quarantine') end def quarantine=(val) prop_set('quarantine', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def match_list maybe_register_subclass('match-list', MatchList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def correlation @subclasses['correlation'] ||= Correlation.new(parent_instance: self, client: @client, create_children: @create_children) end class Snmptrap < XML::ConfigClass def has_multiple_values?; true; end def _section :snmptrap end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Version < XML::ConfigClass def has_multiple_values?; true; end def _section :version end class V2c < ConfigClass def has_multiple_values?; false; end def _section :v2c end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'manager'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'IP address or FQDN of SNMP manager to use', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63', 'loose-membership'=>'yes'}}}, 'community'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # IP address or FQDN of SNMP manager to use def manager prop_get('manager') end # IP address or FQDN of SNMP manager to use def manager=(val) prop_set('manager', val) end def community prop_get('community') end def community=(val) prop_set('community', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def v2c @subclasses['v2c'] ||= V2c.new(parent_instance: self, client: @client, create_children: @create_children) end class V3 < ConfigClass def has_multiple_values?; false; end def _section :v3 end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'manager'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'IP address or FQDN of SNMP manager to use', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63', 'loose-membership'=>'yes'}}}, 'user'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31'}, 'engineid'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'255', 'regex'=>'^[0][xX][0-9A-Fa-f]{10,128}$', 'help-string'=>'A hex number (min 5 - max 64 bytes) '}, 'authpwd'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Authentication Protocol Password', 'minlen'=>'8', 'maxlen'=>'256', 'encrypt'=>'yes'}, 'privpwd'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Privacy Protocol Password', 'minlen'=>'8', 'maxlen'=>'256', 'encrypt'=>'yes'}, 'authproto'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'SHA', 'help-string'=>'Authentication Protocol', 'enum'=>[{'value'=>'SHA'}, {'value'=>'SHA-224'}, {'value'=>'SHA-256'}, {'value'=>'SHA-384'}, {'value'=>'SHA-512'}]}, 'privproto'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'AES', 'help-string'=>'Privacy Protocol', 'enum'=>[{'value'=>'AES'}, {'value'=>'AES-192'}, {'value'=>'AES-256'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # IP address or FQDN of SNMP manager to use def manager prop_get('manager') end # IP address or FQDN of SNMP manager to use def manager=(val) prop_set('manager', val) end def user prop_get('user') end def user=(val) prop_set('user', val) end # A hex number (min 5 - max 64 bytes) def engineid prop_get('engineid') end # A hex number (min 5 - max 64 bytes) def engineid=(val) prop_set('engineid', val) end # Authentication Protocol Password def authpwd prop_get('authpwd') end # Authentication Protocol Password def authpwd=(val) prop_set('authpwd', val) end # Privacy Protocol Password def privpwd prop_get('privpwd') end # Privacy Protocol Password def privpwd=(val) prop_set('privpwd', val) end # Authentication Protocol def authproto prop_get('authproto') end # Authentication Protocol def authproto=(val) prop_set('authproto', val) end # Privacy Protocol def privproto prop_get('privproto') end # Privacy Protocol def privproto=(val) prop_set('privproto', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def v3 @subclasses['v3'] ||= V3.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def version maybe_register_subclass('version', Version.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def snmptrap maybe_register_subclass('snmptrap', Snmptrap.new(parent_instance: self, client: @client, create_children: @create_children)) end class Email < XML::ConfigClass def has_multiple_values?; true; end def _section :email end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'display-name'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes'}, 'from'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([a-zA-Z0-9_?~^\'`.\+/=|#$!*%{}\&-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$', 'maxlen'=>'128', 'help-string'=>'email address (e.g. admin@mycompany.com)'}, 'to'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([a-zA-Z0-9_?~^\'`.\+/=|#$!*%{}\&-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$', 'maxlen'=>'128', 'help-string'=>'email address (e.g. admin@mycompany.com)'}, 'and-also-to'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^([a-zA-Z0-9_?~^\'`.\+/=|#$!*%{}\&-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$', 'maxlen'=>'128', 'help-string'=>'email address (e.g. admin@mycompany.com)'}, 'gateway'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'IP address or FQDN of SMTP gateway to use'}, 'protocol'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'SMTP', 'enum'=>[{'value'=>'SMTP'}, {'value'=>'TLS'}]}, 'port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'optional'=>'yes', 'default'=>'25', 'help-string'=>'Port number (Standard EMAIL ports SMTP:25, TLS:587)'}, 'tls-version'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'1.2', 'help-string'=>'TLS handshake protocol version', 'enum'=>[{'value'=>'1.2'}, {'value'=>'1.1'}]}, 'auth'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'Auto'}, {'value'=>'Login'}, {'value'=>'Plain'}]}, 'certificate-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'default'=>'None', 'help-string'=>'Certificate Profile for validating server certificate'}, 'username'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'username for authentication', 'minlen'=>'0', 'maxlen'=>'255', 'regex'=>'[^\']*'}, 'password'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'regex'=>'[^\']*', 'encrypt'=>'yes'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def display_name prop_get('display-name') end def display_name=(val) prop_set('display-name', val) end # email address (e.g. admin@mycompany.com) def from prop_get('from') end # email address (e.g. admin@mycompany.com) def from=(val) prop_set('from', val) end # email address (e.g. admin@mycompany.com) def to prop_get('to') end # email address (e.g. admin@mycompany.com) def to=(val) prop_set('to', val) end # email address (e.g. admin@mycompany.com) def and_also_to prop_get('and-also-to') end # email address (e.g. admin@mycompany.com) def and_also_to=(val) prop_set('and-also-to', val) end # IP address or FQDN of SMTP gateway to use def gateway prop_get('gateway') end # IP address or FQDN of SMTP gateway to use def gateway=(val) prop_set('gateway', val) end def protocol prop_get('protocol') end def protocol=(val) prop_set('protocol', val) end # Port number (Standard EMAIL ports SMTP:25, TLS:587) def port prop_get('port') end # Port number (Standard EMAIL ports SMTP:25, TLS:587) def port=(val) prop_set('port', val) end # TLS handshake protocol version def tls_version prop_get('tls-version') end # TLS handshake protocol version def tls_version=(val) prop_set('tls-version', val) end def auth prop_get('auth') end def auth=(val) prop_set('auth', val) end # Certificate Profile for validating server certificate def certificate_profile prop_get('certificate-profile') end # Certificate Profile for validating server certificate def certificate_profile=(val) prop_set('certificate-profile', val) end # username for authentication def username prop_get('username') end # username for authentication def username=(val) prop_set('username', val) end def password prop_get('password') end def password=(val) prop_set('password', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end class Format < ConfigClass def has_multiple_values?; false; end def _section :format end class Escaping < ConfigClass def has_multiple_values?; false; end def _section :escaping end @props = {'escaped-characters'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'help-string'=>'List of characters to be escaped'}, 'escape-character'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'1', 'help-string'=>'Escape character'}} # List of characters to be escaped def escaped_characters prop_get('escaped-characters') end # List of characters to be escaped def escaped_characters=(val) prop_set('escaped-characters', val) end # Escape character def escape_character prop_get('escape-character') end # Escape character def escape_character=(val) prop_set('escape-character', val) end end def escaping @subclasses['escaping'] ||= Escaping.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'traffic'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'threat'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'wildfire'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'url'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'data'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'gtp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420,cfg.platform.model=PA-1410,cfg.platform.model=PA-1420'}, 'sctp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420,cfg.platform.model=PA-1410,cfg.platform.model=PA-1420'}, 'tunnel'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'auth'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'userid'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'iptag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'decryption'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'config'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'system'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'globalprotect'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'hip-match'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'correlation'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}} def traffic prop_get('traffic') end def traffic=(val) prop_set('traffic', val) end def threat prop_get('threat') end def threat=(val) prop_set('threat', val) end def wildfire prop_get('wildfire') end def wildfire=(val) prop_set('wildfire', val) end def url prop_get('url') end def url=(val) prop_set('url', val) end def data prop_get('data') end def data=(val) prop_set('data', val) end def gtp prop_get('gtp') end def gtp=(val) prop_set('gtp', val) end def sctp prop_get('sctp') end def sctp=(val) prop_set('sctp', val) end def tunnel prop_get('tunnel') end def tunnel=(val) prop_set('tunnel', val) end def auth prop_get('auth') end def auth=(val) prop_set('auth', val) end def userid prop_get('userid') end def userid=(val) prop_set('userid', val) end def iptag prop_get('iptag') end def iptag=(val) prop_set('iptag', val) end def decryption prop_get('decryption') end def decryption=(val) prop_set('decryption', val) end def config prop_get('config') end def config=(val) prop_set('config', val) end def system prop_get('system') end def system=(val) prop_set('system', val) end def globalprotect prop_get('globalprotect') end def globalprotect=(val) prop_set('globalprotect', val) end def hip_match prop_get('hip-match') end def hip_match=(val) prop_set('hip-match', val) end def correlation prop_get('correlation') end def correlation=(val) prop_set('correlation', val) end end def format @subclasses['format'] ||= Format.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def email maybe_register_subclass('email', Email.new(parent_instance: self, client: @client, create_children: @create_children)) end class Syslog < XML::ConfigClass def has_multiple_values?; true; end def _section :syslog end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'server'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'regex'=>'^([a-zA-Z0-9:\.\_-])+([a-zA-Z0-9:\_-])$|^\$([a-zA-Z0-9._-])+$', 'help-string'=>'IP address or FQDN of SYSLOG server to use'}, 'transport'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'UDP', 'enum'=>[{'value'=>'UDP'}, {'value'=>'TCP'}, {'value'=>'SSL'}]}, 'port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'optional'=>'yes', 'help-string'=>'Port number (Standard Syslog ports UDP:514, SSL:6514)'}, 'format'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'BSD', 'help-string'=>'Format of the Syslog message', 'enum'=>[{'value'=>'BSD'}, {'value'=>'IETF'}]}, 'facility'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'LOG_USER', 'enum'=>[{'value'=>'LOG_USER'}, {'value'=>'LOG_LOCAL0'}, {'value'=>'LOG_LOCAL1'}, {'value'=>'LOG_LOCAL2'}, {'value'=>'LOG_LOCAL3'}, {'value'=>'LOG_LOCAL4'}, {'value'=>'LOG_LOCAL5'}, {'value'=>'LOG_LOCAL6'}, {'value'=>'LOG_LOCAL7'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # IP address or FQDN of SYSLOG server to use def server prop_get('server') end # IP address or FQDN of SYSLOG server to use def server=(val) prop_set('server', val) end def transport prop_get('transport') end def transport=(val) prop_set('transport', val) end # Port number (Standard Syslog ports UDP:514, SSL:6514) def port prop_get('port') end # Port number (Standard Syslog ports UDP:514, SSL:6514) def port=(val) prop_set('port', val) end # Format of the Syslog message def format prop_get('format') end # Format of the Syslog message def format=(val) prop_set('format', val) end def facility prop_get('facility') end def facility=(val) prop_set('facility', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end class Format < ConfigClass def has_multiple_values?; false; end def _section :format end class Escaping < ConfigClass def has_multiple_values?; false; end def _section :escaping end @props = {'escaped-characters'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'help-string'=>'List of characters to be escaped'}, 'escape-character'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'1', 'help-string'=>'Escape character'}} # List of characters to be escaped def escaped_characters prop_get('escaped-characters') end # List of characters to be escaped def escaped_characters=(val) prop_set('escaped-characters', val) end # Escape character def escape_character prop_get('escape-character') end # Escape character def escape_character=(val) prop_set('escape-character', val) end end def escaping @subclasses['escaping'] ||= Escaping.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'traffic'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'threat'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'wildfire'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'url'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'data'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'gtp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420,cfg.platform.model=PA-1410,cfg.platform.model=PA-1420'}, 'sctp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420,cfg.platform.model=PA-1410,cfg.platform.model=PA-1420'}, 'tunnel'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'auth'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'userid'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'iptag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'decryption'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'config'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'system'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'globalprotect'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'hip-match'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'correlation'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}} def traffic prop_get('traffic') end def traffic=(val) prop_set('traffic', val) end def threat prop_get('threat') end def threat=(val) prop_set('threat', val) end def wildfire prop_get('wildfire') end def wildfire=(val) prop_set('wildfire', val) end def url prop_get('url') end def url=(val) prop_set('url', val) end def data prop_get('data') end def data=(val) prop_set('data', val) end def gtp prop_get('gtp') end def gtp=(val) prop_set('gtp', val) end def sctp prop_get('sctp') end def sctp=(val) prop_set('sctp', val) end def tunnel prop_get('tunnel') end def tunnel=(val) prop_set('tunnel', val) end def auth prop_get('auth') end def auth=(val) prop_set('auth', val) end def userid prop_get('userid') end def userid=(val) prop_set('userid', val) end def iptag prop_get('iptag') end def iptag=(val) prop_set('iptag', val) end def decryption prop_get('decryption') end def decryption=(val) prop_set('decryption', val) end def config prop_get('config') end def config=(val) prop_set('config', val) end def system prop_get('system') end def system=(val) prop_set('system', val) end def globalprotect prop_get('globalprotect') end def globalprotect=(val) prop_set('globalprotect', val) end def hip_match prop_get('hip-match') end def hip_match=(val) prop_set('hip-match', val) end def correlation prop_get('correlation') end def correlation=(val) prop_set('correlation', val) end end def format @subclasses['format'] ||= Format.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def syslog maybe_register_subclass('syslog', Syslog.new(parent_instance: self, client: @client, create_children: @create_children)) end class Http < XML::ConfigClass def has_multiple_values?; true; end def _section :http end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'address'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'help-string'=>'IP address or FQDN of HTTP server to use', 'error-string'=>'Must be IP address or FQDN'}, 'protocol'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'HTTPS', 'enum'=>[{'value'=>'HTTP'}, {'value'=>'HTTPS'}]}, 'port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'optional'=>'yes', 'default'=>'443', 'help-string'=>'Port number (Standard HTTP ports HTTP:80, HTTPS:443)'}, 'tls-version'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'1.2', 'help-string'=>'TLS handshake protocol version', 'enum'=>[{'value'=>'1.2'}, {'value'=>'1.1'}, {'value'=>'1.0'}]}, 'auth'=>{'node-type'=>'element', 'type'=>'enum', 'internal'=>'yes', 'optional'=>'yes', 'enum'=>[{'value'=>'OAUTH2'}]}, 'certificate-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'default'=>'None', 'help-string'=>'Certificate Profile for validating server certificate'}, 'http-method'=>{'node-type'=>'element', 'type'=>'string', 'default'=>'POST', 'complete-handler'=>'http-method-completer'}, 'username'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'username for HTTP basic authentication', 'minlen'=>'1', 'maxlen'=>'255', 'regex'=>'[^\']*'}, 'password'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'regex'=>'[^\']*', 'encrypt'=>'yes'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # IP address or FQDN of HTTP server to use def address prop_get('address') end # IP address or FQDN of HTTP server to use def address=(val) prop_set('address', val) end def protocol prop_get('protocol') end def protocol=(val) prop_set('protocol', val) end # Port number (Standard HTTP ports HTTP:80, HTTPS:443) def port prop_get('port') end # Port number (Standard HTTP ports HTTP:80, HTTPS:443) def port=(val) prop_set('port', val) end # TLS handshake protocol version def tls_version prop_get('tls-version') end # TLS handshake protocol version def tls_version=(val) prop_set('tls-version', val) end def auth prop_get('auth') end def auth=(val) prop_set('auth', val) end # Certificate Profile for validating server certificate def certificate_profile prop_get('certificate-profile') end # Certificate Profile for validating server certificate def certificate_profile=(val) prop_set('certificate-profile', val) end def http_method prop_get('http-method') end def http_method=(val) prop_set('http-method', val) end # username for HTTP basic authentication def username prop_get('username') end # username for HTTP basic authentication def username=(val) prop_set('username', val) end def password prop_get('password') end def password=(val) prop_set('password', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end class Format < ConfigClass def has_multiple_values?; false; end def _section :format end class Config < ConfigClass def has_multiple_values?; false; end def _section :config end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def config @subclasses['config'] ||= Config.new(parent_instance: self, client: @client, create_children: @create_children) end class System < ConfigClass def has_multiple_values?; false; end def _section :system end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def system @subclasses['system'] ||= System.new(parent_instance: self, client: @client, create_children: @create_children) end class Traffic < ConfigClass def has_multiple_values?; false; end def _section :traffic end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def traffic @subclasses['traffic'] ||= Traffic.new(parent_instance: self, client: @client, create_children: @create_children) end class Threat < ConfigClass def has_multiple_values?; false; end def _section :threat end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def threat @subclasses['threat'] ||= Threat.new(parent_instance: self, client: @client, create_children: @create_children) end class Wildfire < ConfigClass def has_multiple_values?; false; end def _section :wildfire end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def wildfire @subclasses['wildfire'] ||= Wildfire.new(parent_instance: self, client: @client, create_children: @create_children) end class Url < ConfigClass def has_multiple_values?; false; end def _section :url end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def url @subclasses['url'] ||= Url.new(parent_instance: self, client: @client, create_children: @create_children) end class Data < ConfigClass def has_multiple_values?; false; end def _section :data end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def data @subclasses['data'] ||= Data.new(parent_instance: self, client: @client, create_children: @create_children) end class Gtp < ConfigClass def has_multiple_values?; false; end def _section :gtp end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def gtp @subclasses['gtp'] ||= Gtp.new(parent_instance: self, client: @client, create_children: @create_children) end class Sctp < ConfigClass def has_multiple_values?; false; end def _section :sctp end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def sctp @subclasses['sctp'] ||= Sctp.new(parent_instance: self, client: @client, create_children: @create_children) end class Tunnel < ConfigClass def has_multiple_values?; false; end def _section :tunnel end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def tunnel @subclasses['tunnel'] ||= Tunnel.new(parent_instance: self, client: @client, create_children: @create_children) end class Auth < ConfigClass def has_multiple_values?; false; end def _section :auth end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def auth @subclasses['auth'] ||= Auth.new(parent_instance: self, client: @client, create_children: @create_children) end class Userid < ConfigClass def has_multiple_values?; false; end def _section :userid end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def userid @subclasses['userid'] ||= Userid.new(parent_instance: self, client: @client, create_children: @create_children) end class Iptag < ConfigClass def has_multiple_values?; false; end def _section :iptag end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def iptag @subclasses['iptag'] ||= Iptag.new(parent_instance: self, client: @client, create_children: @create_children) end class Decryption < ConfigClass def has_multiple_values?; false; end def _section :decryption end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def decryption @subclasses['decryption'] ||= Decryption.new(parent_instance: self, client: @client, create_children: @create_children) end class Globalprotect < ConfigClass def has_multiple_values?; false; end def _section :globalprotect end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def globalprotect @subclasses['globalprotect'] ||= Globalprotect.new(parent_instance: self, client: @client, create_children: @create_children) end class HipMatch < ConfigClass def has_multiple_values?; false; end def _section :'hip-match' end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def hip_match @subclasses['hip-match'] ||= HipMatch.new(parent_instance: self, client: @client, create_children: @create_children) end class Correlation < ConfigClass def has_multiple_values?; false; end def _section :correlation end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def correlation @subclasses['correlation'] ||= Correlation.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def format @subclasses['format'] ||= Format.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'tag-registration'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'The server(s) should have User-ID agent running in order for tag registration to work'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # The server(s) should have User-ID agent running in order for tag registration to work def tag_registration prop_get('tag-registration') end # The server(s) should have User-ID agent running in order for tag registration to work def tag_registration=(val) prop_set('tag-registration', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def http maybe_register_subclass('http', Http.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def log_settings @subclasses['log-settings'] ||= LogSettings.new(parent_instance: self, client: @client, create_children: @create_children) end class Certificate < XML::ConfigClass def has_multiple_values?; true; end def _section :certificate end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'common-name'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'private-key'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'16384', 'encrypt'=>'yes', 'double-encrypt'=>'yes'}, 'private-key-on-hsm'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'algorithm'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'ca'=>{'node-type'=>'element', 'type'=>'bool', 'internal'=>'yes', 'optional'=>'yes'}, 'not-valid-after'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'not-valid-before'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'expiry-epoch'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0-9]*$'}, 'subject'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'public-key'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'16384'}, 'subject-hash'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'issuer'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'issuer-hash'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'status'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'valid', 'enum'=>[{'value'=>'valid'}, {'value'=>'revoked'}]}, 'revoke-date-epoch'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0-9]*$'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def common_name prop_get('common-name') end def common_name=(val) prop_set('common-name', val) end def private_key prop_get('private-key') end def private_key=(val) prop_set('private-key', val) end def private_key_on_hsm prop_get('private-key-on-hsm') end def private_key_on_hsm=(val) prop_set('private-key-on-hsm', val) end def algorithm prop_get('algorithm') end def algorithm=(val) prop_set('algorithm', val) end def ca prop_get('ca') end def ca=(val) prop_set('ca', val) end def not_valid_after prop_get('not-valid-after') end def not_valid_after=(val) prop_set('not-valid-after', val) end def not_valid_before prop_get('not-valid-before') end def not_valid_before=(val) prop_set('not-valid-before', val) end def expiry_epoch prop_get('expiry-epoch') end def expiry_epoch=(val) prop_set('expiry-epoch', val) end def subject prop_get('subject') end def subject=(val) prop_set('subject', val) end def public_key prop_get('public-key') end def public_key=(val) prop_set('public-key', val) end def subject_hash prop_get('subject-hash') end def subject_hash=(val) prop_set('subject-hash', val) end def issuer prop_get('issuer') end def issuer=(val) prop_set('issuer', val) end def issuer_hash prop_get('issuer-hash') end def issuer_hash=(val) prop_set('issuer-hash', val) end def status prop_get('status') end def status=(val) prop_set('status', val) end def revoke_date_epoch prop_get('revoke-date-epoch') end def revoke_date_epoch=(val) prop_set('revoke-date-epoch', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def certificate maybe_register_subclass('certificate', Certificate.new(parent_instance: self, client: @client, create_children: @create_children)) end class SslTlsServiceProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'ssl-tls-service-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class ProtocolSettings < ConfigClass def has_multiple_values?; false; end def _section :'protocol-settings' end @props = {'min-version'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'tls1-0', 'enum'=>[{'value'=>'tls1-0', 'help-string'=>'TLSv1.0'}, {'value'=>'tls1-1', 'help-string'=>'TLSv1.1'}, {'value'=>'tls1-2', 'help-string'=>'TLSv1.2'}]}, 'max-version'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'max', 'enum'=>[{'value'=>'tls1-0', 'help-string'=>'TLSv1.0'}, {'value'=>'tls1-1', 'help-string'=>'TLSv1.1'}, {'value'=>'tls1-2', 'help-string'=>'TLSv1.2'}, {'value'=>'max', 'help-string'=>'Max'}]}, 'keyxchg-algo-rsa'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm RSA'}, 'keyxchg-algo-dhe'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm DHE'}, 'keyxchg-algo-ecdhe'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm ECDHE'}, 'enc-algo-3des'=>{'node-type'=>'element', 'prune-on'=>'fips-mode', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm 3DES'}, 'enc-algo-rc4'=>{'node-type'=>'element', 'prune-on'=>'fips-mode', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm RC4'}, 'enc-algo-aes-128-cbc'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm AES-128-CBC'}, 'enc-algo-aes-256-cbc'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm AES-256-CBC'}, 'enc-algo-aes-128-gcm'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm AES-128-GCM'}, 'enc-algo-aes-256-gcm'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm AES-256-GCM'}, 'auth-algo-sha1'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow authentication SHA1'}, 'auth-algo-sha256'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow authentication SHA256'}, 'auth-algo-sha384'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow authentication SHA384'}} def min_version prop_get('min-version') end def min_version=(val) prop_set('min-version', val) end def max_version prop_get('max-version') end def max_version=(val) prop_set('max-version', val) end # Allow algorithm RSA def keyxchg_algo_rsa prop_get('keyxchg-algo-rsa') end # Allow algorithm RSA def keyxchg_algo_rsa=(val) prop_set('keyxchg-algo-rsa', val) end # Allow algorithm DHE def keyxchg_algo_dhe prop_get('keyxchg-algo-dhe') end # Allow algorithm DHE def keyxchg_algo_dhe=(val) prop_set('keyxchg-algo-dhe', val) end # Allow algorithm ECDHE def keyxchg_algo_ecdhe prop_get('keyxchg-algo-ecdhe') end # Allow algorithm ECDHE def keyxchg_algo_ecdhe=(val) prop_set('keyxchg-algo-ecdhe', val) end # Allow algorithm 3DES def enc_algo_3des prop_get('enc-algo-3des') end # Allow algorithm 3DES def enc_algo_3des=(val) prop_set('enc-algo-3des', val) end # Allow algorithm RC4 def enc_algo_rc4 prop_get('enc-algo-rc4') end # Allow algorithm RC4 def enc_algo_rc4=(val) prop_set('enc-algo-rc4', val) end # Allow algorithm AES-128-CBC def enc_algo_aes_128_cbc prop_get('enc-algo-aes-128-cbc') end # Allow algorithm AES-128-CBC def enc_algo_aes_128_cbc=(val) prop_set('enc-algo-aes-128-cbc', val) end # Allow algorithm AES-256-CBC def enc_algo_aes_256_cbc prop_get('enc-algo-aes-256-cbc') end # Allow algorithm AES-256-CBC def enc_algo_aes_256_cbc=(val) prop_set('enc-algo-aes-256-cbc', val) end # Allow algorithm AES-128-GCM def enc_algo_aes_128_gcm prop_get('enc-algo-aes-128-gcm') end # Allow algorithm AES-128-GCM def enc_algo_aes_128_gcm=(val) prop_set('enc-algo-aes-128-gcm', val) end # Allow algorithm AES-256-GCM def enc_algo_aes_256_gcm prop_get('enc-algo-aes-256-gcm') end # Allow algorithm AES-256-GCM def enc_algo_aes_256_gcm=(val) prop_set('enc-algo-aes-256-gcm', val) end # Allow authentication SHA1 def auth_algo_sha1 prop_get('auth-algo-sha1') end # Allow authentication SHA1 def auth_algo_sha1=(val) prop_set('auth-algo-sha1', val) end # Allow authentication SHA256 def auth_algo_sha256 prop_get('auth-algo-sha256') end # Allow authentication SHA256 def auth_algo_sha256=(val) prop_set('auth-algo-sha256', val) end # Allow authentication SHA384 def auth_algo_sha384 prop_get('auth-algo-sha384') end # Allow authentication SHA384 def auth_algo_sha384=(val) prop_set('auth-algo-sha384', val) end end def protocol_settings @subclasses['protocol-settings'] ||= ProtocolSettings.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'127', 'regex'=>'.*', 'help-string'=>'Profile name'}, 'certificate'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'SSL certificate file name', 'maxlen'=>'255'}} # Profile name def name prop_get('@name') end # SSL certificate file name def certificate prop_get('certificate') end # SSL certificate file name def certificate=(val) prop_set('certificate', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ssl_tls_service_profile maybe_register_subclass('ssl-tls-service-profile', SslTlsServiceProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class ResponsePage < ConfigClass def has_multiple_values?; false; end def _section :'response-page' end class GlobalProtectPortalCustomLoginPage < XML::ConfigClass def has_multiple_values?; true; end def _section :'global-protect-portal-custom-login-page' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'page'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def page prop_get('page') end def page=(val) prop_set('page', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def global_protect_portal_custom_login_page maybe_register_subclass('global-protect-portal-custom-login-page', GlobalProtectPortalCustomLoginPage.new(parent_instance: self, client: @client, create_children: @create_children)) end class GlobalProtectPortalCustomHomePage < XML::ConfigClass def has_multiple_values?; true; end def _section :'global-protect-portal-custom-home-page' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'page'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def page prop_get('page') end def page=(val) prop_set('page', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def global_protect_portal_custom_home_page maybe_register_subclass('global-protect-portal-custom-home-page', GlobalProtectPortalCustomHomePage.new(parent_instance: self, client: @client, create_children: @create_children)) end class GlobalProtectPortalCustomHelpPage < XML::ConfigClass def has_multiple_values?; true; end def _section :'global-protect-portal-custom-help-page' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'page'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'174762'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def page prop_get('page') end def page=(val) prop_set('page', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def global_protect_portal_custom_help_page maybe_register_subclass('global-protect-portal-custom-help-page', GlobalProtectPortalCustomHelpPage.new(parent_instance: self, client: @client, create_children: @create_children)) end class GlobalProtectPortalCustomWelcomePage < XML::ConfigClass def has_multiple_values?; true; end def _section :'global-protect-portal-custom-welcome-page' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'page'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'174762'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def page prop_get('page') end def page=(val) prop_set('page', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def global_protect_portal_custom_welcome_page maybe_register_subclass('global-protect-portal-custom-welcome-page', GlobalProtectPortalCustomWelcomePage.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'application-block-page'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845', 'tlo'=>'yes', 'in-tpl'=>'yes'}, 'captive-portal-text'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845', 'tlo'=>'yes', 'in-tpl'=>'yes'}, 'file-block-continue-page'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845', 'tlo'=>'yes', 'in-tpl'=>'yes'}, 'file-block-page'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845', 'tlo'=>'yes', 'in-tpl'=>'yes'}, 'ssl-cert-status-page'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845', 'tlo'=>'yes', 'in-tpl'=>'yes'}, 'ssl-optout-text'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845', 'tlo'=>'yes', 'in-tpl'=>'yes'}, 'url-block-page'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845', 'tlo'=>'yes', 'in-tpl'=>'yes'}, 'url-coach-text'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845', 'tlo'=>'yes', 'in-tpl'=>'yes'}, 'credential-block-page'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845', 'tlo'=>'yes', 'in-tpl'=>'yes'}, 'credential-coach-text'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845', 'tlo'=>'yes', 'in-tpl'=>'yes'}, 'virus-block-page'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845', 'tlo'=>'yes', 'in-tpl'=>'yes'}, 'data-filter-block-page'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845', 'tlo'=>'yes', 'in-tpl'=>'yes'}, 'safe-search-block-page'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845', 'tlo'=>'yes', 'in-tpl'=>'yes'}, 'saml-auth-internal-error-page'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845', 'tlo'=>'yes', 'in-tpl'=>'yes'}, 'mfa-login-page'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845', 'tlo'=>'yes', 'in-tpl'=>'yes'}} def application_block_page prop_get('application-block-page') end def application_block_page=(val) prop_set('application-block-page', val) end def captive_portal_text prop_get('captive-portal-text') end def captive_portal_text=(val) prop_set('captive-portal-text', val) end def file_block_continue_page prop_get('file-block-continue-page') end def file_block_continue_page=(val) prop_set('file-block-continue-page', val) end def file_block_page prop_get('file-block-page') end def file_block_page=(val) prop_set('file-block-page', val) end def ssl_cert_status_page prop_get('ssl-cert-status-page') end def ssl_cert_status_page=(val) prop_set('ssl-cert-status-page', val) end def ssl_optout_text prop_get('ssl-optout-text') end def ssl_optout_text=(val) prop_set('ssl-optout-text', val) end def url_block_page prop_get('url-block-page') end def url_block_page=(val) prop_set('url-block-page', val) end def url_coach_text prop_get('url-coach-text') end def url_coach_text=(val) prop_set('url-coach-text', val) end def credential_block_page prop_get('credential-block-page') end def credential_block_page=(val) prop_set('credential-block-page', val) end def credential_coach_text prop_get('credential-coach-text') end def credential_coach_text=(val) prop_set('credential-coach-text', val) end def virus_block_page prop_get('virus-block-page') end def virus_block_page=(val) prop_set('virus-block-page', val) end def data_filter_block_page prop_get('data-filter-block-page') end def data_filter_block_page=(val) prop_set('data-filter-block-page', val) end def safe_search_block_page prop_get('safe-search-block-page') end def safe_search_block_page=(val) prop_set('safe-search-block-page', val) end def saml_auth_internal_error_page prop_get('saml-auth-internal-error-page') end def saml_auth_internal_error_page=(val) prop_set('saml-auth-internal-error-page', val) end def mfa_login_page prop_get('mfa-login-page') end def mfa_login_page=(val) prop_set('mfa-login-page', val) end end def response_page @subclasses['response-page'] ||= ResponsePage.new(parent_instance: self, client: @client, create_children: @create_children) end class LocalUserDatabase < ConfigClass def has_multiple_values?; false; end def _section :'local-user-database' end class User < XML::ConfigClass def has_multiple_values?; true; end def _section :user end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'31', 'help-string'=>'User name'}, 'phash'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}} # User name def name prop_get('@name') end def phash prop_get('phash') end def phash=(val) prop_set('phash', val) end def disabled prop_get('disabled') end def disabled=(val) prop_set('disabled', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def user maybe_register_subclass('user', User.new(parent_instance: self, client: @client, create_children: @create_children)) end class UserGroup < XML::ConfigClass def has_multiple_values?; true; end def _section :'user-group' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class User < XML::ConfigClass def has_multiple_values?; true; end def _section :user end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'User name'}} # User name def member prop_get('member') end # User name def member=(val) prop_set('member', val) end end def user maybe_register_subclass('user', User.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'Group name'}} # Group name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def user_group maybe_register_subclass('user-group', UserGroup.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def local_user_database @subclasses['local-user-database'] ||= LocalUserDatabase.new(parent_instance: self, client: @client, create_children: @create_children) end class SslDecrypt < ConfigClass def has_multiple_values?; false; end def _section :'ssl-decrypt' end class ForwardTrustCertificate < ConfigClass def has_multiple_values?; false; end def _section :'forward-trust-certificate' end @props = {'rsa'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'RSA certificate', 'maxlen'=>'63'}, 'ecdsa'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'ECDSA certificate', 'maxlen'=>'63'}} # RSA certificate def rsa prop_get('rsa') end # RSA certificate def rsa=(val) prop_set('rsa', val) end # ECDSA certificate def ecdsa prop_get('ecdsa') end # ECDSA certificate def ecdsa=(val) prop_set('ecdsa', val) end end def forward_trust_certificate @subclasses['forward-trust-certificate'] ||= ForwardTrustCertificate.new(parent_instance: self, client: @client, create_children: @create_children) end class ForwardUntrustCertificate < ConfigClass def has_multiple_values?; false; end def _section :'forward-untrust-certificate' end @props = {'rsa'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'RSA certificate', 'maxlen'=>'63'}, 'ecdsa'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'ECDSA certificate', 'maxlen'=>'63'}} # RSA certificate def rsa prop_get('rsa') end # RSA certificate def rsa=(val) prop_set('rsa', val) end # ECDSA certificate def ecdsa prop_get('ecdsa') end # ECDSA certificate def ecdsa=(val) prop_set('ecdsa', val) end end def forward_untrust_certificate @subclasses['forward-untrust-certificate'] ||= ForwardUntrustCertificate.new(parent_instance: self, client: @client, create_children: @create_children) end class SslExcludeCert < XML::ConfigClass def has_multiple_values?; true; end def _section :'ssl-exclude-cert' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'255', 'help-string'=>'SSL Decryption Exclusion entry name'}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'0', 'maxlen'=>'512'}, 'exclude'=>{'node-type'=>'element', 'type'=>'bool'}} # SSL Decryption Exclusion entry name def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def exclude prop_get('exclude') end def exclude=(val) prop_set('exclude', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ssl_exclude_cert maybe_register_subclass('ssl-exclude-cert', SslExcludeCert.new(parent_instance: self, client: @client, create_children: @create_children)) end class RootCaExcludeList < XML::ConfigClass def has_multiple_values?; true; end def _section :'root-ca-exclude-list' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1024'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def root_ca_exclude_list maybe_register_subclass('root-ca-exclude-list', RootCaExcludeList.new(parent_instance: self, client: @client, create_children: @create_children)) end class TrustedRootCA < XML::ConfigClass def has_multiple_values?; true; end def _section :'trusted-root-CA' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Trusted Root CA', 'maxlen'=>'63'}} # Trusted Root CA def member prop_get('member') end # Trusted Root CA def member=(val) prop_set('member', val) end end def trusted_root_CA maybe_register_subclass('trusted-root-CA', TrustedRootCA.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def ssl_decrypt @subclasses['ssl-decrypt'] ||= SslDecrypt.new(parent_instance: self, client: @client, create_children: @create_children) end class OcspResponder < XML::ConfigClass def has_multiple_values?; true; end def _section :'ocsp-responder' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [:0-9a-zA-Z._-]'}, 'host-name'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'255', 'regex'=>'^([$:a-zA-Z0-9._-])+$'}} # alphanumeric string [:0-9a-zA-Z._-] def name prop_get('@name') end def host_name prop_get('host-name') end def host_name=(val) prop_set('host-name', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ocsp_responder maybe_register_subclass('ocsp-responder', OcspResponder.new(parent_instance: self, client: @client, create_children: @create_children)) end class Scep < XML::ConfigClass def has_multiple_values?; true; end def _section :scep end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class ScepChallenge < XML::ConfigClass def has_multiple_values?; true; end def _section :'scep-challenge' end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end class Dynamic < ConfigClass def has_multiple_values?; false; end def _section :dynamic end @props = {'otp-server-url'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^(http|https)://.+$', 'minlen'=>'0', 'maxlen'=>'255', 'help-string'=>'URL to get the One-Time-Password', 'uiHint-fieldLabel'=>'Server URL'}, 'username'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'help-string'=>'Username to authenticate to the SCEP server for procuring OTP'}, 'password'=>{'node-type'=>'element', 'type'=>'string', 'encrypt'=>'yes', 'minlen'=>'0', 'maxlen'=>'255', 'help-string'=>'Password to authenticate to the SCEP server for procuring OTP'}} # URL to get the One-Time-Password def otp_server_url prop_get('otp-server-url') end # URL to get the One-Time-Password def otp_server_url=(val) prop_set('otp-server-url', val) end # Username to authenticate to the SCEP server for procuring OTP def username prop_get('username') end # Username to authenticate to the SCEP server for procuring OTP def username=(val) prop_set('username', val) end # Password to authenticate to the SCEP server for procuring OTP def password prop_get('password') end # Password to authenticate to the SCEP server for procuring OTP def password=(val) prop_set('password', val) end end def dynamic @subclasses['dynamic'] ||= Dynamic.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'fixed'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'regex'=>'[^\']*', 'helpstring'=>'Challenge to use for SCEP server on mobile clients'}} def fixed prop_get('fixed') end def fixed=(val) prop_set('fixed', val) end end def scep_challenge maybe_register_subclass('scep-challenge', ScepChallenge.new(parent_instance: self, client: @client, create_children: @create_children)) end class Algorithm < XML::ConfigClass def has_multiple_values?; true; end def _section :algorithm end class Rsa < ConfigClass def has_multiple_values?; false; end def _section :rsa end @props = {'rsa-nbits'=>{'node-type'=>'element', 'type'=>'string', 'complete-handler'=>'generate-cert-nbits-complete-handler', 'help-string'=>'Length of the key'}} # Length of the key def rsa_nbits prop_get('rsa-nbits') end # Length of the key def rsa_nbits=(val) prop_set('rsa-nbits', val) end end def rsa @subclasses['rsa'] ||= Rsa.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def algorithm maybe_register_subclass('algorithm', Algorithm.new(parent_instance: self, client: @client, create_children: @create_children)) end class CertificateAttributes < XML::ConfigClass def has_multiple_values?; true; end def _section :'certificate-attributes' end @props = {'rfc822name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'0', 'maxlen'=>'255', 'help-string'=>'rfc822Name'}, 'dnsname'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'0', 'maxlen'=>'255', 'help-string'=>'dNSName'}, 'uniform-resource-identifier'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'help-string'=>'uniformResourceIdentifier'}} # rfc822Name def rfc822name prop_get('rfc822name') end # rfc822Name def rfc822name=(val) prop_set('rfc822name', val) end # dNSName def dnsname prop_get('dnsname') end # dNSName def dnsname=(val) prop_set('dnsname', val) end # uniformResourceIdentifier def uniform_resource_identifier prop_get('uniform-resource-identifier') end # uniformResourceIdentifier def uniform_resource_identifier=(val) prop_set('uniform-resource-identifier', val) end end def certificate_attributes maybe_register_subclass('certificate-attributes', CertificateAttributes.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'scep-url'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^(http|https)://.+$', 'minlen'=>'0', 'maxlen'=>'255', 'help-string'=>'The base URL for the SCEP server'}, 'scep-ca-cert'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'help-string'=>'SCEP Server CA Certificate'}, 'scep-client-cert'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'optional'=>'yes', 'help-string'=>'Client Certificate to use when connecting to SCEP Server over SSL'}, 'ca-identity-name'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'help-string'=>'Name of the SCEP server CA Identity'}, 'subject'=>{'node-type'=>'element', 'regex'=>'(.*)CN=(.*?)(.*)', 'type'=>'string', 'default'=>'CN=$USERNAME', 'minlen'=>'0', 'maxlen'=>'1024', 'help-string'=>'Representation of a X.500 name'}, 'digest'=>{'node-type'=>'element', 'type'=>'string', 'complete-handler'=>'generate-cert-digest-complete-handler', 'help-string'=>'Digest Algorithm for CSR'}, 'fingerprint'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'0', 'maxlen'=>'255', 'help-string'=>'Hex String to use as a fingerprint'}, 'use-as-digital-signature'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Use as digital signature', 'uiHint-fieldLabel'=>'Use as digital signature'}, 'use-for-key-encipherment'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Use for key encipherment', 'uiHint-fieldLabel'=>'Use for key encipherment'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # The base URL for the SCEP server def scep_url prop_get('scep-url') end # The base URL for the SCEP server def scep_url=(val) prop_set('scep-url', val) end # SCEP Server CA Certificate def scep_ca_cert prop_get('scep-ca-cert') end # SCEP Server CA Certificate def scep_ca_cert=(val) prop_set('scep-ca-cert', val) end # Client Certificate to use when connecting to SCEP Server over SSL def scep_client_cert prop_get('scep-client-cert') end # Client Certificate to use when connecting to SCEP Server over SSL def scep_client_cert=(val) prop_set('scep-client-cert', val) end # Name of the SCEP server CA Identity def ca_identity_name prop_get('ca-identity-name') end # Name of the SCEP server CA Identity def ca_identity_name=(val) prop_set('ca-identity-name', val) end # Representation of a X.500 name def subject prop_get('subject') end # Representation of a X.500 name def subject=(val) prop_set('subject', val) end # Digest Algorithm for CSR def digest prop_get('digest') end # Digest Algorithm for CSR def digest=(val) prop_set('digest', val) end # Hex String to use as a fingerprint def fingerprint prop_get('fingerprint') end # Hex String to use as a fingerprint def fingerprint=(val) prop_set('fingerprint', val) end # Use as digital signature def use_as_digital_signature prop_get('use-as-digital-signature') end # Use as digital signature def use_as_digital_signature=(val) prop_set('use-as-digital-signature', val) end # Use for key encipherment def use_for_key_encipherment prop_get('use-for-key-encipherment') end # Use for key encipherment def use_for_key_encipherment=(val) prop_set('use-for-key-encipherment', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def scep maybe_register_subclass('scep', Scep.new(parent_instance: self, client: @client, create_children: @create_children)) end class UrlContentTypes < XML::ConfigClass def has_multiple_values?; true; end def _section :'url-content-types' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'31', 'help-string'=>'content type string'}} # content type string def member prop_get('member') end # content type string def member=(val) prop_set('member', val) end end def url_content_types maybe_register_subclass('url-content-types', UrlContentTypes.new(parent_instance: self, client: @client, create_children: @create_children)) end class TsAgent < XML::ConfigClass def has_multiple_values?; true; end def _section :'ts-agent' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class IpList < XML::ConfigClass def has_multiple_values?; true; end def _section :'ip-list' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'terminal server alternative ips', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'regex'=>'^([$a-zA-Z0-9./_-])+$', 'loose-membership'=>'yes', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'host name'}}}} # terminal server alternative ips def member prop_get('member') end # terminal server alternative ips def member=(val) prop_set('member', val) end end def ip_list maybe_register_subclass('ip-list', IpList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'host'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'IP address or hostname for pan agent.', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'help-string'=>'agent IP address'}, 'string'=>{'regex'=>'^([$a-zA-Z0-9./_-])+$', 'loose-membership'=>'yes', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'Host name.'}}}, 'port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'5009', 'help-string'=>'terminal server agent listening port'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # IP address or hostname for pan agent. def host prop_get('host') end # IP address or hostname for pan agent. def host=(val) prop_set('host', val) end # terminal server agent listening port def port prop_get('port') end # terminal server agent listening port def port=(val) prop_set('port', val) end def disabled prop_get('disabled') end def disabled=(val) prop_set('disabled', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ts_agent maybe_register_subclass('ts-agent', TsAgent.new(parent_instance: self, client: @client, create_children: @create_children)) end class RedistributionAgent < XML::ConfigClass def has_multiple_values?; true; end def _section :'redistribution-agent' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class HostPort < ConfigClass def has_multiple_values?; false; end def _section :'host-port' end @props = {'host'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'IP address or hostname for redistribution agent.', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'help-string'=>'agent IP address'}, 'string'=>{'regex'=>'^([$a-zA-Z0-9./_-])+$', 'loose-membership'=>'yes', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'Host name.'}}}, 'ldap-proxy'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}, 'port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'redistribution agent listening port'}, 'collectorname'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'3', 'maxlen'=>'255', 'help-string'=>'collector name on peer panos'}, 'secret'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'encrypt'=>'yes', 'maxlen'=>'255', 'help-string'=>'collector pre-shared key on peer panos'}} # IP address or hostname for redistribution agent. def host prop_get('host') end # IP address or hostname for redistribution agent. def host=(val) prop_set('host', val) end def ldap_proxy prop_get('ldap-proxy') end def ldap_proxy=(val) prop_set('ldap-proxy', val) end # redistribution agent listening port def port prop_get('port') end # redistribution agent listening port def port=(val) prop_set('port', val) end # collector name on peer panos def collectorname prop_get('collectorname') end # collector name on peer panos def collectorname=(val) prop_set('collectorname', val) end # collector pre-shared key on peer panos def secret prop_get('secret') end # collector pre-shared key on peer panos def secret=(val) prop_set('secret', val) end end def host_port @subclasses['host-port'] ||= HostPort.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'serial-number'=>{'node-type'=>'element', 'type'=>'multiple', 'complete-handler'=>'uid-agent-serial-completer', 'optional'=>'yes', 'help-string'=>'panorama or panorama2 or log collector serial number.', 'multi-types'=>{'string'=>{'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'Serial number.'}}}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}, 'ip-user-mappings'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}, 'ip-tags'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}, 'user-tags'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}, 'hip'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}, 'quarantine-list'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # panorama or panorama2 or log collector serial number. def serial_number prop_get('serial-number') end # panorama or panorama2 or log collector serial number. def serial_number=(val) prop_set('serial-number', val) end def disabled prop_get('disabled') end def disabled=(val) prop_set('disabled', val) end def ip_user_mappings prop_get('ip-user-mappings') end def ip_user_mappings=(val) prop_set('ip-user-mappings', val) end def ip_tags prop_get('ip-tags') end def ip_tags=(val) prop_set('ip-tags', val) end def user_tags prop_get('user-tags') end def user_tags=(val) prop_set('user-tags', val) end def hip prop_get('hip') end def hip=(val) prop_set('hip', val) end def quarantine_list prop_get('quarantine-list') end def quarantine_list=(val) prop_set('quarantine-list', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def redistribution_agent maybe_register_subclass('redistribution-agent', RedistributionAgent.new(parent_instance: self, client: @client, create_children: @create_children)) end class IpuserIncludeExcludeList < ConfigClass def has_multiple_values?; false; end def _section :'ipuser-include-exclude-list' end class IncludeExcludeNetwork < XML::ConfigClass def has_multiple_values?; true; end def _section :'include-exclude-network' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}, 'discovery'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'include', 'help-string'=>'default is include', 'enum'=>[{'value'=>'include', 'help-string'=>'Include'}, {'value'=>'exclude', 'help-string'=>'Exclude'}]}, 'network-address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'network address/prefix to include or exclude', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def disabled prop_get('disabled') end def disabled=(val) prop_set('disabled', val) end # default is include def discovery prop_get('discovery') end # default is include def discovery=(val) prop_set('discovery', val) end # network address/prefix to include or exclude def network_address prop_get('network-address') end # network address/prefix to include or exclude def network_address=(val) prop_set('network-address', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def include_exclude_network maybe_register_subclass('include-exclude-network', IncludeExcludeNetwork.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def ipuser_include_exclude_list @subclasses['ipuser-include-exclude-list'] ||= IpuserIncludeExcludeList.new(parent_instance: self, client: @client, create_children: @create_children) end class IptagIncludeExcludeList < ConfigClass def has_multiple_values?; false; end def _section :'iptag-include-exclude-list' end class IncludeExcludeNetwork < XML::ConfigClass def has_multiple_values?; true; end def _section :'include-exclude-network' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}, 'discovery'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'include', 'help-string'=>'default is include', 'enum'=>[{'value'=>'include', 'help-string'=>'Include'}, {'value'=>'exclude', 'help-string'=>'Exclude'}]}, 'network-address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'network address/prefix to include or exclude', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def disabled prop_get('disabled') end def disabled=(val) prop_set('disabled', val) end # default is include def discovery prop_get('discovery') end # default is include def discovery=(val) prop_set('discovery', val) end # network address/prefix to include or exclude def network_address prop_get('network-address') end # network address/prefix to include or exclude def network_address=(val) prop_set('network-address', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def include_exclude_network maybe_register_subclass('include-exclude-network', IncludeExcludeNetwork.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def iptag_include_exclude_list @subclasses['iptag-include-exclude-list'] ||= IptagIncludeExcludeList.new(parent_instance: self, client: @client, create_children: @create_children) end class RedistributionCollector < ConfigClass def has_multiple_values?; false; end def _section :'redistribution-collector' end class Setting < ConfigClass def has_multiple_values?; false; end def _section :setting end @props = {'collectorname'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'3', 'maxlen'=>'255', 'help-string'=>'collector name for data re-distribution'}, 'secret'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'encrypt'=>'yes', 'maxlen'=>'255', 'help-string'=>'pre-shared key for data re-distribution'}} # collector name for data re-distribution def collectorname prop_get('collectorname') end # collector name for data re-distribution def collectorname=(val) prop_set('collectorname', val) end # pre-shared key for data re-distribution def secret prop_get('secret') end # pre-shared key for data re-distribution def secret=(val) prop_set('secret', val) end end def setting @subclasses['setting'] ||= Setting.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def redistribution_collector @subclasses['redistribution-collector'] ||= RedistributionCollector.new(parent_instance: self, client: @client, create_children: @create_children) end class UserIdSslAuth < ConfigClass def has_multiple_values?; false; end def _section :'user-id-ssl-auth' end @props = {'certificate-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Profile for authenticating client certificates'}} # Profile for authenticating client certificates def certificate_profile prop_get('certificate-profile') end # Profile for authenticating client certificates def certificate_profile=(val) prop_set('certificate-profile', val) end end def user_id_ssl_auth @subclasses['user-id-ssl-auth'] ||= UserIdSslAuth.new(parent_instance: self, client: @client, create_children: @create_children) end class VmInfoSource < XML::ConfigClass def has_multiple_values?; true; end def _section :'vm-info-source' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class AWSVPC < ConfigClass def has_multiple_values?; false; end def _section :'AWS-VPC' end @props = {'description'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'255'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}, 'source'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([$a-zA-Z0-9./_-])+$', 'minlen'=>'1', 'maxlen'=>'255', 'help-string'=>'IP address or name(example: ec2.amazonaws.com Default aws-region:us-east-1)'}, 'access-key-id'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'16', 'maxlen'=>'32', 'help-string'=>'AWS access key ID'}, 'secret-access-key'=>{'node-type'=>'element', 'type'=>'string', 'encrypt'=>'yes', 'maxlen'=>'255', 'help-string'=>'AWS secret access key'}, 'update-interval'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'60', 'max'=>'1200', 'default'=>'60', 'optional'=>'yes', 'help-string'=>'time interval (in sec) for updates'}, 'vm-info-timeout-enable'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'enable vm-info timeout when source is disconnected'}, 'vm-info-timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'2', 'max'=>'10', 'default'=>'2', 'optional'=>'yes', 'help-string'=>'vm-info timeout value (in hour) when source is disconnected'}, 'vpc-id'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'help-string'=>'AWS VPC name or Id'}} def description prop_get('description') end def description=(val) prop_set('description', val) end def disabled prop_get('disabled') end def disabled=(val) prop_set('disabled', val) end # IP address or name(example: ec2.amazonaws.com Default aws-region:us-east-1) def source prop_get('source') end # IP address or name(example: ec2.amazonaws.com Default aws-region:us-east-1) def source=(val) prop_set('source', val) end # AWS access key ID def access_key_id prop_get('access-key-id') end # AWS access key ID def access_key_id=(val) prop_set('access-key-id', val) end # AWS secret access key def secret_access_key prop_get('secret-access-key') end # AWS secret access key def secret_access_key=(val) prop_set('secret-access-key', val) end # time interval (in sec) for updates def update_interval prop_get('update-interval') end # time interval (in sec) for updates def update_interval=(val) prop_set('update-interval', val) end # enable vm-info timeout when source is disconnected def vm_info_timeout_enable prop_get('vm-info-timeout-enable') end # enable vm-info timeout when source is disconnected def vm_info_timeout_enable=(val) prop_set('vm-info-timeout-enable', val) end # vm-info timeout value (in hour) when source is disconnected def vm_info_timeout prop_get('vm-info-timeout') end # vm-info timeout value (in hour) when source is disconnected def vm_info_timeout=(val) prop_set('vm-info-timeout', val) end # AWS VPC name or Id def vpc_id prop_get('vpc-id') end # AWS VPC name or Id def vpc_id=(val) prop_set('vpc-id', val) end end def AWS_VPC @subclasses['AWS-VPC'] ||= AWSVPC.new(parent_instance: self, client: @client, create_children: @create_children) end class GoogleComputeEngine < ConfigClass def has_multiple_values?; false; end def _section :'Google-Compute-Engine' end class ServiceAuthType < XML::ConfigClass def has_multiple_values?; true; end def _section :'service-auth-type' end class ServiceInGce < ConfigClass def has_multiple_values?; false; end def _section :'service-in-gce' end @props = {} end def service_in_gce @subclasses['service-in-gce'] ||= ServiceInGce.new(parent_instance: self, client: @client, create_children: @create_children) end class ServiceAccount < ConfigClass def has_multiple_values?; false; end def _section :'service-account' end @props = {'service-account-cred'=>{'node-type'=>'element', 'type'=>'string', 'encrypt'=>'yes', 'maxlen'=>'8192', 'help-string'=>'GCE service account JSON file'}} # GCE service account JSON file def service_account_cred prop_get('service-account-cred') end # GCE service account JSON file def service_account_cred=(val) prop_set('service-account-cred', val) end end def service_account @subclasses['service-account'] ||= ServiceAccount.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def service_auth_type maybe_register_subclass('service-auth-type', ServiceAuthType.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'description'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'255'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}, 'project-id'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'64', 'help-string'=>'Google Compute Engine Project-ID'}, 'zone-name'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'64', 'help-string'=>'Google Compute Engine Project-Zone-Name'}, 'update-interval'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'60', 'max'=>'1200', 'default'=>'60', 'optional'=>'yes', 'help-string'=>'time interval (in sec) for updates'}, 'vm-info-timeout-enable'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'enable vm-info timeout when source is disconnected'}, 'vm-info-timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'2', 'max'=>'10', 'default'=>'2', 'optional'=>'yes', 'help-string'=>'vm-info timeout value (in hour) when source is disconnected'}} def description prop_get('description') end def description=(val) prop_set('description', val) end def disabled prop_get('disabled') end def disabled=(val) prop_set('disabled', val) end # Google Compute Engine Project-ID def project_id prop_get('project-id') end # Google Compute Engine Project-ID def project_id=(val) prop_set('project-id', val) end # Google Compute Engine Project-Zone-Name def zone_name prop_get('zone-name') end # Google Compute Engine Project-Zone-Name def zone_name=(val) prop_set('zone-name', val) end # time interval (in sec) for updates def update_interval prop_get('update-interval') end # time interval (in sec) for updates def update_interval=(val) prop_set('update-interval', val) end # enable vm-info timeout when source is disconnected def vm_info_timeout_enable prop_get('vm-info-timeout-enable') end # enable vm-info timeout when source is disconnected def vm_info_timeout_enable=(val) prop_set('vm-info-timeout-enable', val) end # vm-info timeout value (in hour) when source is disconnected def vm_info_timeout prop_get('vm-info-timeout') end # vm-info timeout value (in hour) when source is disconnected def vm_info_timeout=(val) prop_set('vm-info-timeout', val) end end def Google_Compute_Engine @subclasses['Google-Compute-Engine'] ||= GoogleComputeEngine.new(parent_instance: self, client: @client, create_children: @create_children) end class VMwareESXi < ConfigClass def has_multiple_values?; false; end def _section :'VMware-ESXi' end @props = {'description'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'255'}, 'port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'443', 'optional'=>'yes'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}, 'vm-info-timeout-enable'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'enable vm-info timeout when source is disconnected'}, 'vm-info-timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'2', 'max'=>'10', 'default'=>'2', 'optional'=>'yes', 'help-string'=>'vm-info timeout value (in hour) when source is disconnected'}, 'source'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'IP address or source name for vm-info-source', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'help-string'=>'IP address'}, 'string'=>{'regex'=>'^([$a-zA-Z0-9./_-])+$', 'loose-membership'=>'yes', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'Source name'}}}, 'username'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'help-string'=>'vm-info-source login username'}, 'password'=>{'node-type'=>'element', 'type'=>'string', 'encrypt'=>'yes', 'maxlen'=>'255', 'help-string'=>'vm-info-source login password'}, 'update-interval'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'5', 'max'=>'600', 'default'=>'5', 'optional'=>'yes', 'help-string'=>'time interval (in sec) for updates'}} def description prop_get('description') end def description=(val) prop_set('description', val) end def port prop_get('port') end def port=(val) prop_set('port', val) end def disabled prop_get('disabled') end def disabled=(val) prop_set('disabled', val) end # enable vm-info timeout when source is disconnected def vm_info_timeout_enable prop_get('vm-info-timeout-enable') end # enable vm-info timeout when source is disconnected def vm_info_timeout_enable=(val) prop_set('vm-info-timeout-enable', val) end # vm-info timeout value (in hour) when source is disconnected def vm_info_timeout prop_get('vm-info-timeout') end # vm-info timeout value (in hour) when source is disconnected def vm_info_timeout=(val) prop_set('vm-info-timeout', val) end # IP address or source name for vm-info-source def source prop_get('source') end # IP address or source name for vm-info-source def source=(val) prop_set('source', val) end # vm-info-source login username def username prop_get('username') end # vm-info-source login username def username=(val) prop_set('username', val) end # vm-info-source login password def password prop_get('password') end # vm-info-source login password def password=(val) prop_set('password', val) end # time interval (in sec) for updates def update_interval prop_get('update-interval') end # time interval (in sec) for updates def update_interval=(val) prop_set('update-interval', val) end end def VMware_ESXi @subclasses['VMware-ESXi'] ||= VMwareESXi.new(parent_instance: self, client: @client, create_children: @create_children) end class VMwareVCenter < ConfigClass def has_multiple_values?; false; end def _section :'VMware-vCenter' end @props = {'description'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'255'}, 'port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'443', 'optional'=>'yes'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}, 'vm-info-timeout-enable'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'enable vm-info timeout when source is disconnected'}, 'vm-info-timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'2', 'max'=>'10', 'default'=>'2', 'optional'=>'yes', 'help-string'=>'vm-info timeout value (in hour) when source is disconnected'}, 'source'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'IP address or source name for vm-info-source', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'help-string'=>'IP address'}, 'string'=>{'regex'=>'^([$a-zA-Z0-9./_-])+$', 'loose-membership'=>'yes', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'Source name'}}}, 'username'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'help-string'=>'vm-info-source login username'}, 'password'=>{'node-type'=>'element', 'type'=>'string', 'encrypt'=>'yes', 'maxlen'=>'255', 'help-string'=>'vm-info-source login password'}, 'update-interval'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'5', 'max'=>'600', 'default'=>'5', 'optional'=>'yes', 'help-string'=>'time interval (in sec) for updates'}} def description prop_get('description') end def description=(val) prop_set('description', val) end def port prop_get('port') end def port=(val) prop_set('port', val) end def disabled prop_get('disabled') end def disabled=(val) prop_set('disabled', val) end # enable vm-info timeout when source is disconnected def vm_info_timeout_enable prop_get('vm-info-timeout-enable') end # enable vm-info timeout when source is disconnected def vm_info_timeout_enable=(val) prop_set('vm-info-timeout-enable', val) end # vm-info timeout value (in hour) when source is disconnected def vm_info_timeout prop_get('vm-info-timeout') end # vm-info timeout value (in hour) when source is disconnected def vm_info_timeout=(val) prop_set('vm-info-timeout', val) end # IP address or source name for vm-info-source def source prop_get('source') end # IP address or source name for vm-info-source def source=(val) prop_set('source', val) end # vm-info-source login username def username prop_get('username') end # vm-info-source login username def username=(val) prop_set('username', val) end # vm-info-source login password def password prop_get('password') end # vm-info-source login password def password=(val) prop_set('password', val) end # time interval (in sec) for updates def update_interval prop_get('update-interval') end # time interval (in sec) for updates def update_interval=(val) prop_set('update-interval', val) end end def VMware_vCenter @subclasses['VMware-vCenter'] ||= VMwareVCenter.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vm_info_source maybe_register_subclass('vm-info-source', VmInfoSource.new(parent_instance: self, client: @client, create_children: @create_children)) end class GroupMapping < XML::ConfigClass def has_multiple_values?; true; end def _section :'group-mapping' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class GroupObject < XML::ConfigClass def has_multiple_values?; true; end def _section :'group-object' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def group_object maybe_register_subclass('group-object', GroupObject.new(parent_instance: self, client: @client, create_children: @create_children)) end class GroupMember < XML::ConfigClass def has_multiple_values?; true; end def _section :'group-member' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def group_member maybe_register_subclass('group-member', GroupMember.new(parent_instance: self, client: @client, create_children: @create_children)) end class GroupName < XML::ConfigClass def has_multiple_values?; true; end def _section :'group-name' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def group_name maybe_register_subclass('group-name', GroupName.new(parent_instance: self, client: @client, create_children: @create_children)) end class UserObject < XML::ConfigClass def has_multiple_values?; true; end def _section :'user-object' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def user_object maybe_register_subclass('user-object', UserObject.new(parent_instance: self, client: @client, create_children: @create_children)) end class UserName < XML::ConfigClass def has_multiple_values?; true; end def _section :'user-name' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def user_name maybe_register_subclass('user-name', UserName.new(parent_instance: self, client: @client, create_children: @create_children)) end class UserEmail < XML::ConfigClass def has_multiple_values?; true; end def _section :'user-email' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def user_email maybe_register_subclass('user-email', UserEmail.new(parent_instance: self, client: @client, create_children: @create_children)) end class GroupEmail < XML::ConfigClass def has_multiple_values?; true; end def _section :'group-email' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def group_email maybe_register_subclass('group-email', GroupEmail.new(parent_instance: self, client: @client, create_children: @create_children)) end class AlternateUserName1 < XML::ConfigClass def has_multiple_values?; true; end def _section :'alternate-user-name-1' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def alternate_user_name_1 maybe_register_subclass('alternate-user-name-1', AlternateUserName1.new(parent_instance: self, client: @client, create_children: @create_children)) end class AlternateUserName2 < XML::ConfigClass def has_multiple_values?; true; end def _section :'alternate-user-name-2' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def alternate_user_name_2 maybe_register_subclass('alternate-user-name-2', AlternateUserName2.new(parent_instance: self, client: @client, create_children: @create_children)) end class AlternateUserName3 < XML::ConfigClass def has_multiple_values?; true; end def _section :'alternate-user-name-3' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def alternate_user_name_3 maybe_register_subclass('alternate-user-name-3', AlternateUserName3.new(parent_instance: self, client: @client, create_children: @create_children)) end class ContainerObject < XML::ConfigClass def has_multiple_values?; true; end def _section :'container-object' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'128'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def container_object maybe_register_subclass('container-object', ContainerObject.new(parent_instance: self, client: @client, create_children: @create_children)) end class LastModifyAttr < XML::ConfigClass def has_multiple_values?; true; end def _section :'last-modify-attr' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def last_modify_attr maybe_register_subclass('last-modify-attr', LastModifyAttr.new(parent_instance: self, client: @client, create_children: @create_children)) end class GroupIncludeList < XML::ConfigClass def has_multiple_values?; true; end def _section :'group-include-list' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1023', 'max-count'=>'640'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def group_include_list maybe_register_subclass('group-include-list', GroupIncludeList.new(parent_instance: self, client: @client, create_children: @create_children)) end class CustomGroup < XML::ConfigClass def has_multiple_values?; true; end def _section :'custom-group' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'1023', 'regex'=>'.*', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'ldap-filter'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'1023', 'regex'=>'.*', 'help-string'=>'ldap filter criteria'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # ldap filter criteria def ldap_filter prop_get('ldap-filter') end # ldap filter criteria def ldap_filter=(val) prop_set('ldap-filter', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def custom_group maybe_register_subclass('custom-group', CustomGroup.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'server-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'LDAP server object'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}, 'use-ldap-for-serialno-check'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Use LDAP for fetching device serial numbers (GlobalProtect only)'}, 'use-modify-timestamp'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes'}, 'limited-group-search'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes'}, 'nested-group-level'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'1', 'max'=>'20', 'default'=>'10'}, 'group-filter'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'1024', 'help-string'=>'ldap search filter for group'}, 'user-filter'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'1024', 'help-string'=>'ldap search filter for user'}, 'domain'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'Domain name used for override'}, 'update-interval'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'60', 'max'=>'86400', 'help-string'=>'Interval (seconds) for updating group membership, default is 3600 seconds'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # LDAP server object def server_profile prop_get('server-profile') end # LDAP server object def server_profile=(val) prop_set('server-profile', val) end def disabled prop_get('disabled') end def disabled=(val) prop_set('disabled', val) end # Use LDAP for fetching device serial numbers (GlobalProtect only) def use_ldap_for_serialno_check prop_get('use-ldap-for-serialno-check') end # Use LDAP for fetching device serial numbers (GlobalProtect only) def use_ldap_for_serialno_check=(val) prop_set('use-ldap-for-serialno-check', val) end def use_modify_timestamp prop_get('use-modify-timestamp') end def use_modify_timestamp=(val) prop_set('use-modify-timestamp', val) end def limited_group_search prop_get('limited-group-search') end def limited_group_search=(val) prop_set('limited-group-search', val) end def nested_group_level prop_get('nested-group-level') end def nested_group_level=(val) prop_set('nested-group-level', val) end # ldap search filter for group def group_filter prop_get('group-filter') end # ldap search filter for group def group_filter=(val) prop_set('group-filter', val) end # ldap search filter for user def user_filter prop_get('user-filter') end # ldap search filter for user def user_filter=(val) prop_set('user-filter', val) end # Domain name used for override def domain prop_get('domain') end # Domain name used for override def domain=(val) prop_set('domain', val) end # Interval (seconds) for updating group membership, default is 3600 seconds def update_interval prop_get('update-interval') end # Interval (seconds) for updating group membership, default is 3600 seconds def update_interval=(val) prop_set('update-interval', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def group_mapping maybe_register_subclass('group-mapping', GroupMapping.new(parent_instance: self, client: @client, create_children: @create_children)) end class CloudIdentityEngine < XML::ConfigClass def has_multiple_values?; true; end def _section :'cloud-identity-engine' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'Cloud Identity Engine name'}, 'region'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'complete-handler'=>'directory-sync-region-completer', 'help-string'=>'region name'}, 'cloud-identity-engine-instance'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'complete-handler'=>'directory-sync-instance-completer', 'help-string'=>'cloud identity engine tenant name'}, 'domain'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'complete-handler'=>'directory-sync-domain-completer', 'help-string'=>'domain name'}, 'update-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'5', 'max'=>'1440', 'default'=>'60', 'help-string'=>'Interval (mins) for updating group membership, default is 60 mins'}, 'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'primary-user'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'complete-handler'=>'directory-sync-user-attribute-completer', 'help-string'=>'Primary user name attribute'}, 'user-email'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'complete-handler'=>'directory-sync-user-attribute-completer', 'help-string'=>'User email attribute'}, 'alt-username-1'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'complete-handler'=>'directory-sync-user-attribute-completer', 'help-string'=>'Alternate user name 1 attribute'}, 'alt-username-2'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'complete-handler'=>'directory-sync-user-attribute-completer', 'help-string'=>'Alternate user name 2 attribute'}, 'alt-username-3'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'complete-handler'=>'directory-sync-user-attribute-completer', 'help-string'=>'Alternate user name 3 attribute'}, 'group-name'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'complete-handler'=>'directory-sync-group-attribute-completer', 'help-string'=>'Group name attribute'}, 'group-email'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'complete-handler'=>'directory-sync-group-attribute-completer', 'help-string'=>'Group email attribute'}, 'endpoint-serial-number'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1024', 'optional'=>'yes', 'complete-handler'=>'directory-sync-serial-number-completer', 'help-string'=>'device endpoint serial number'}} # Cloud Identity Engine name def name prop_get('@name') end # region name def region prop_get('region') end # region name def region=(val) prop_set('region', val) end # cloud identity engine tenant name def cloud_identity_engine_instance prop_get('cloud-identity-engine-instance') end # cloud identity engine tenant name def cloud_identity_engine_instance=(val) prop_set('cloud-identity-engine-instance', val) end # domain name def domain prop_get('domain') end # domain name def domain=(val) prop_set('domain', val) end # Interval (mins) for updating group membership, default is 60 mins def update_interval prop_get('update-interval') end # Interval (mins) for updating group membership, default is 60 mins def update_interval=(val) prop_set('update-interval', val) end def enabled prop_get('enabled') end def enabled=(val) prop_set('enabled', val) end # Primary user name attribute def primary_user prop_get('primary-user') end # Primary user name attribute def primary_user=(val) prop_set('primary-user', val) end # User email attribute def user_email prop_get('user-email') end # User email attribute def user_email=(val) prop_set('user-email', val) end # Alternate user name 1 attribute def alt_username_1 prop_get('alt-username-1') end # Alternate user name 1 attribute def alt_username_1=(val) prop_set('alt-username-1', val) end # Alternate user name 2 attribute def alt_username_2 prop_get('alt-username-2') end # Alternate user name 2 attribute def alt_username_2=(val) prop_set('alt-username-2', val) end # Alternate user name 3 attribute def alt_username_3 prop_get('alt-username-3') end # Alternate user name 3 attribute def alt_username_3=(val) prop_set('alt-username-3', val) end # Group name attribute def group_name prop_get('group-name') end # Group name attribute def group_name=(val) prop_set('group-name', val) end # Group email attribute def group_email prop_get('group-email') end # Group email attribute def group_email=(val) prop_set('group-email', val) end # device endpoint serial number def endpoint_serial_number prop_get('endpoint-serial-number') end # device endpoint serial number def endpoint_serial_number=(val) prop_set('endpoint-serial-number', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def cloud_identity_engine maybe_register_subclass('cloud-identity-engine', CloudIdentityEngine.new(parent_instance: self, client: @client, create_children: @create_children)) end class CaptivePortal < ConfigClass def has_multiple_values?; false; end def _section :'captive-portal' end class Mode < XML::ConfigClass def has_multiple_values?; true; end def _section :mode end class Transparent < ConfigClass def has_multiple_values?; false; end def _section :transparent end @props = {} end def transparent @subclasses['transparent'] ||= Transparent.new(parent_instance: self, client: @client, create_children: @create_children) end class Redirect < ConfigClass def has_multiple_values?; false; end def _section :redirect end class SessionCookie < ConfigClass def has_multiple_values?; false; end def _section :'session-cookie' end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'60', 'max'=>'10080', 'default'=>'1440', 'help-string'=>'expiration timer (minutes)'}, 'roaming'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'enable/disable ip roaming'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # expiration timer (minutes) def timeout prop_get('timeout') end # expiration timer (minutes) def timeout=(val) prop_set('timeout', val) end # enable/disable ip roaming def roaming prop_get('roaming') end # enable/disable ip roaming def roaming=(val) prop_set('roaming', val) end end def session_cookie @subclasses['session-cookie'] ||= SessionCookie.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def redirect @subclasses['redirect'] ||= Redirect.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def mode maybe_register_subclass('mode', Mode.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable-captive-portal'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'idle-timer'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'1440', 'default'=>'15', 'help-string'=>'idle timer (minutes)'}, 'timer'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'1440', 'default'=>'60', 'help-string'=>'expiration timer (minutes)'}, 'redirect-host'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'ip or host name for redirect for captive portal', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'regex'=>'^([$a-zA-Z0-9./_-])+$', 'loose-membership'=>'yes', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'Host name.'}}}, 'ssl-tls-service-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'255', 'help-string'=>'SSL TLS service profile'}, 'gp-udp-port'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'4501', 'help-string'=>'MFA notification port on GP client'}, 'authentication-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Authentication profile to use for authentication.'}, 'certificate-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Profile for authenticating client certificates'}} def enable_captive_portal prop_get('enable-captive-portal') end def enable_captive_portal=(val) prop_set('enable-captive-portal', val) end # idle timer (minutes) def idle_timer prop_get('idle-timer') end # idle timer (minutes) def idle_timer=(val) prop_set('idle-timer', val) end # expiration timer (minutes) def timer prop_get('timer') end # expiration timer (minutes) def timer=(val) prop_set('timer', val) end # ip or host name for redirect for captive portal def redirect_host prop_get('redirect-host') end # ip or host name for redirect for captive portal def redirect_host=(val) prop_set('redirect-host', val) end # SSL TLS service profile def ssl_tls_service_profile prop_get('ssl-tls-service-profile') end # SSL TLS service profile def ssl_tls_service_profile=(val) prop_set('ssl-tls-service-profile', val) end # MFA notification port on GP client def gp_udp_port prop_get('gp-udp-port') end # MFA notification port on GP client def gp_udp_port=(val) prop_set('gp-udp-port', val) end # Authentication profile to use for authentication. def authentication_profile prop_get('authentication-profile') end # Authentication profile to use for authentication. def authentication_profile=(val) prop_set('authentication-profile', val) end # Profile for authenticating client certificates def certificate_profile prop_get('certificate-profile') end # Profile for authenticating client certificates def certificate_profile=(val) prop_set('certificate-profile', val) end end def captive_portal @subclasses['captive-portal'] ||= CaptivePortal.new(parent_instance: self, client: @client, create_children: @create_children) end class UserIdCollector < ConfigClass def has_multiple_values?; false; end def _section :'user-id-collector' end class Setting < ConfigClass def has_multiple_values?; false; end def _section :setting end @props = {'wmi-account'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'3', 'maxlen'=>'255', 'help-string'=>'AD account name for wmi query, e.g. domain\username'}, 'wmi-password'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'encrypt'=>'yes', 'maxlen'=>'255', 'help-string'=>'password for AD account for wmi query'}, 'domain-name'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^([a-zA-Z0-9./_-])+$', 'minlen'=>'1', 'maxlen'=>'256', 'help-string'=>'DNS Domain Name'}, 'server-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'Kerberos server object', 'prune-on'=>'fips-mode,cc-only-mode'}, 'enable-security-log'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'security-log-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'2', 'help-string'=>'security log monitor frequency in seconds'}, 'enable-session'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'session-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'10', 'help-string'=>'windows server session monitor frequency in seconds'}, 'edirectory-query-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'30', 'help-string'=>'server session read frequency in seconds'}, 'enable-probing'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'client-probing-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'1440', 'default'=>'20', 'help-string'=>'wmi client probing frequency in minutes'}, 'enable-mapping-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'ip-user-mapping-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'1440', 'default'=>'45', 'help-string'=>'ip user mapping timeout in minutes'}, 'enable-user-match'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'syslog-service-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'255', 'help-string'=>'Syslog service ssl-tls profile '}} # AD account name for wmi query, e.g. domain\username def wmi_account prop_get('wmi-account') end # AD account name for wmi query, e.g. domain\username def wmi_account=(val) prop_set('wmi-account', val) end # password for AD account for wmi query def wmi_password prop_get('wmi-password') end # password for AD account for wmi query def wmi_password=(val) prop_set('wmi-password', val) end # DNS Domain Name def domain_name prop_get('domain-name') end # DNS Domain Name def domain_name=(val) prop_set('domain-name', val) end # Kerberos server object def server_profile prop_get('server-profile') end # Kerberos server object def server_profile=(val) prop_set('server-profile', val) end def enable_security_log prop_get('enable-security-log') end def enable_security_log=(val) prop_set('enable-security-log', val) end # security log monitor frequency in seconds def security_log_interval prop_get('security-log-interval') end # security log monitor frequency in seconds def security_log_interval=(val) prop_set('security-log-interval', val) end def enable_session prop_get('enable-session') end def enable_session=(val) prop_set('enable-session', val) end # windows server session monitor frequency in seconds def session_interval prop_get('session-interval') end # windows server session monitor frequency in seconds def session_interval=(val) prop_set('session-interval', val) end # server session read frequency in seconds def edirectory_query_interval prop_get('edirectory-query-interval') end # server session read frequency in seconds def edirectory_query_interval=(val) prop_set('edirectory-query-interval', val) end def enable_probing prop_get('enable-probing') end def enable_probing=(val) prop_set('enable-probing', val) end # wmi client probing frequency in minutes def client_probing_interval prop_get('client-probing-interval') end # wmi client probing frequency in minutes def client_probing_interval=(val) prop_set('client-probing-interval', val) end def enable_mapping_timeout prop_get('enable-mapping-timeout') end def enable_mapping_timeout=(val) prop_set('enable-mapping-timeout', val) end # ip user mapping timeout in minutes def ip_user_mapping_timeout prop_get('ip-user-mapping-timeout') end # ip user mapping timeout in minutes def ip_user_mapping_timeout=(val) prop_set('ip-user-mapping-timeout', val) end def enable_user_match prop_get('enable-user-match') end def enable_user_match=(val) prop_set('enable-user-match', val) end # Syslog service ssl-tls profile def syslog_service_profile prop_get('syslog-service-profile') end # Syslog service ssl-tls profile def syslog_service_profile=(val) prop_set('syslog-service-profile', val) end end def setting @subclasses['setting'] ||= Setting.new(parent_instance: self, client: @client, create_children: @create_children) end class SyslogParseProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'syslog-parse-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class RegexIdentifier < ConfigClass def has_multiple_values?; false; end def _section :'regex-identifier' end @props = {'event-regex'=>{'node-type'=>'element', 'help-string'=>'regex to identify authentication message', 'type'=>'string', 'maxlen'=>'1024'}, 'username-regex'=>{'node-type'=>'element', 'help-string'=>'regex to identify user name', 'type'=>'string', 'maxlen'=>'1024'}, 'address-regex'=>{'node-type'=>'element', 'help-string'=>'regex to identify address', 'type'=>'string', 'maxlen'=>'1024'}} # regex to identify authentication message def event_regex prop_get('event-regex') end # regex to identify authentication message def event_regex=(val) prop_set('event-regex', val) end # regex to identify user name def username_regex prop_get('username-regex') end # regex to identify user name def username_regex=(val) prop_set('username-regex', val) end # regex to identify address def address_regex prop_get('address-regex') end # regex to identify address def address_regex=(val) prop_set('address-regex', val) end end def regex_identifier @subclasses['regex-identifier'] ||= RegexIdentifier.new(parent_instance: self, client: @client, create_children: @create_children) end class FieldIdentifier < ConfigClass def has_multiple_values?; false; end def _section :'field-identifier' end @props = {'event-string'=>{'node-type'=>'element', 'help-string'=>'string to identify authentication message', 'type'=>'string', 'maxlen'=>'1024'}, 'username-prefix'=>{'node-type'=>'element', 'help-string'=>'string to identify user name', 'type'=>'string', 'maxlen'=>'1024'}, 'username-delimiter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1024'}, 'address-prefix'=>{'node-type'=>'element', 'help-string'=>'string to identify address', 'type'=>'string', 'maxlen'=>'1024'}, 'address-delimiter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1024'}, 'address-per-log'=>{'node-type'=>'element', 'help-string'=>'Maximum number of addresses per log', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3', 'default'=>'1', 'optional'=>'yes'}} # string to identify authentication message def event_string prop_get('event-string') end # string to identify authentication message def event_string=(val) prop_set('event-string', val) end # string to identify user name def username_prefix prop_get('username-prefix') end # string to identify user name def username_prefix=(val) prop_set('username-prefix', val) end def username_delimiter prop_get('username-delimiter') end def username_delimiter=(val) prop_set('username-delimiter', val) end # string to identify address def address_prefix prop_get('address-prefix') end # string to identify address def address_prefix=(val) prop_set('address-prefix', val) end def address_delimiter prop_get('address-delimiter') end def address_delimiter=(val) prop_set('address-delimiter', val) end # Maximum number of addresses per log def address_per_log prop_get('address-per-log') end # Maximum number of addresses per log def address_per_log=(val) prop_set('address-per-log', val) end end def field_identifier @subclasses['field-identifier'] ||= FieldIdentifier.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string begin with non-digit: [ 0-9a-zA-Z._-]', 'regex'=>'^[a-zA-Z._-]{1}[ 0-9a-zA-Z._-]*$'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}} # alphanumeric string begin with non-digit: [ 0-9a-zA-Z._-] def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def syslog_parse_profile maybe_register_subclass('syslog-parse-profile', SyslogParseProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class ServerMonitor < XML::ConfigClass def has_multiple_values?; true; end def _section :'server-monitor' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class ActiveDirectory < ConfigClass def has_multiple_values?; false; end def _section :'active-directory' end @props = {'type'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'WMI', 'help-string'=>'Transport protocol', 'enum'=>[{'value'=>'WMI', 'help-string'=>'Connected to monitored server over MSRPC'}, {'value'=>'WinRM-HTTP', 'help-string'=>'Connected to monitored server with encrypted HTTP payload', 'prune-on'=>'fips-mode,cc-only-mode'}, {'value'=>'WinRM-HTTPS', 'help-string'=>'Connected to monitored server over HTTPS', 'prune-on'=>'fips-mode,cc-only-mode'}]}, 'host'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'IP address or hostname for the server', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'regex'=>'^([$a-zA-Z0-9./_-])+$', 'loose-membership'=>'yes', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'Host name.'}}}} # Transport protocol def type prop_get('type') end # Transport protocol def type=(val) prop_set('type', val) end # IP address or hostname for the server def host prop_get('host') end # IP address or hostname for the server def host=(val) prop_set('host', val) end end def active_directory @subclasses['active-directory'] ||= ActiveDirectory.new(parent_instance: self, client: @client, create_children: @create_children) end class Exchange < ConfigClass def has_multiple_values?; false; end def _section :exchange end @props = {'type'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'WMI', 'help-string'=>'Transport protocol', 'enum'=>[{'value'=>'WMI', 'help-string'=>'Connected to monitored server over MSRPC'}, {'value'=>'WinRM-HTTP', 'help-string'=>'Connected to monitored server with encrypted HTTP payload'}, {'value'=>'WinRM-HTTPS', 'help-string'=>'Connected to monitored server over HTTPS'}]}, 'host'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'IP address or hostname for the server', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'regex'=>'^([$a-zA-Z0-9./_-])+$', 'loose-membership'=>'yes', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'Host name.'}}}} # Transport protocol def type prop_get('type') end # Transport protocol def type=(val) prop_set('type', val) end # IP address or hostname for the server def host prop_get('host') end # IP address or hostname for the server def host=(val) prop_set('host', val) end end def exchange @subclasses['exchange'] ||= Exchange.new(parent_instance: self, client: @client, create_children: @create_children) end class EDirectory < ConfigClass def has_multiple_values?; false; end def _section :'e-directory' end @props = {'server-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'LDAP server object'}} # LDAP server object def server_profile prop_get('server-profile') end # LDAP server object def server_profile=(val) prop_set('server-profile', val) end end def e_directory @subclasses['e-directory'] ||= EDirectory.new(parent_instance: self, client: @client, create_children: @create_children) end class Syslog < ConfigClass def has_multiple_values?; false; end def _section :syslog end class SyslogParseProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'syslog-parse-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'user-id syslog message parse profile'}, 'event-type'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'login', 'enum'=>[{'value'=>'login', 'help-string'=>'Login Event'}, {'value'=>'logout', 'help-string'=>'Logout Event'}]}} # user-id syslog message parse profile def name prop_get('@name') end def event_type prop_get('event-type') end def event_type=(val) prop_set('event-type', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def syslog_parse_profile maybe_register_subclass('syslog-parse-profile', SyslogParseProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'IP address for the syslog server', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'connection-type'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'ssl', 'enum'=>[{'value'=>'udp', 'help-string'=>'Receive syslog via UDP', 'prune-on'=>'fips-mode'}, {'value'=>'ssl', 'help-string'=>'Receive syslog via SSL'}]}, 'default-domain-name'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63'}} # IP address for the syslog server def address prop_get('address') end # IP address for the syslog server def address=(val) prop_set('address', val) end def connection_type prop_get('connection-type') end def connection_type=(val) prop_set('connection-type', val) end def default_domain_name prop_get('default-domain-name') end def default_domain_name=(val) prop_set('default-domain-name', val) end end def syslog @subclasses['syslog'] ||= Syslog.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'255', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def disabled prop_get('disabled') end def disabled=(val) prop_set('disabled', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server_monitor maybe_register_subclass('server-monitor', ServerMonitor.new(parent_instance: self, client: @client, create_children: @create_children)) end class IncludeExcludeNetwork < XML::ConfigClass def has_multiple_values?; true; end def _section :'include-exclude-network' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}, 'discovery'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'include', 'help-string'=>'default is include', 'enum'=>[{'value'=>'include', 'help-string'=>'Include'}, {'value'=>'exclude', 'help-string'=>'Exclude'}]}, 'network-address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'network address/prefix to include or exclude', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def disabled prop_get('disabled') end def disabled=(val) prop_set('disabled', val) end # default is include def discovery prop_get('discovery') end # default is include def discovery=(val) prop_set('discovery', val) end # network address/prefix to include or exclude def network_address prop_get('network-address') end # network address/prefix to include or exclude def network_address=(val) prop_set('network-address', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def include_exclude_network maybe_register_subclass('include-exclude-network', IncludeExcludeNetwork.new(parent_instance: self, client: @client, create_children: @create_children)) end class IncludeExcludeNetworkSequence < ConfigClass def has_multiple_values?; false; end def _section :'include-exclude-network-sequence' end class IncludeExcludeNetwork < XML::ConfigClass def has_multiple_values?; true; end def _section :'include-exclude-network' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def include_exclude_network maybe_register_subclass('include-exclude-network', IncludeExcludeNetwork.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def include_exclude_network_sequence @subclasses['include-exclude-network-sequence'] ||= IncludeExcludeNetworkSequence.new(parent_instance: self, client: @client, create_children: @create_children) end class IgnoreUser < XML::ConfigClass def has_multiple_values?; true; end def _section :'ignore-user' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'max-count'=>'5000', 'multi-types'=>{'string'=>{'maxlen'=>'63'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def ignore_user maybe_register_subclass('ignore-user', IgnoreUser.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def user_id_collector @subclasses['user-id-collector'] ||= UserIdCollector.new(parent_instance: self, client: @client, create_children: @create_children) end class UrlAdminOverride < ConfigClass def has_multiple_values?; false; end def _section :'url-admin-override' end class Mode < XML::ConfigClass def has_multiple_values?; true; end def _section :mode end class Transparent < ConfigClass def has_multiple_values?; false; end def _section :transparent end @props = {} end def transparent @subclasses['transparent'] ||= Transparent.new(parent_instance: self, client: @client, create_children: @create_children) end class Redirect < ConfigClass def has_multiple_values?; false; end def _section :redirect end @props = {'address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'set ip or host name for url admin override.', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'regex'=>'^([a-zA-Z0-9./_-])+$', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'Host name.'}}}} # set ip or host name for url admin override. def address prop_get('address') end # set ip or host name for url admin override. def address=(val) prop_set('address', val) end end def redirect @subclasses['redirect'] ||= Redirect.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def mode maybe_register_subclass('mode', Mode.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'password'=>{'node-type'=>'element', 'type'=>'string', 'encrypt'=>'yes', 'maxlen'=>'64', 'help-string'=>'password for url admin override'}, 'ssl-tls-service-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'255', 'help-string'=>'SSL TLS service profile'}} # password for url admin override def password prop_get('password') end # password for url admin override def password=(val) prop_set('password', val) end # SSL TLS service profile def ssl_tls_service_profile prop_get('ssl-tls-service-profile') end # SSL TLS service profile def ssl_tls_service_profile=(val) prop_set('ssl-tls-service-profile', val) end end def url_admin_override @subclasses['url-admin-override'] ||= UrlAdminOverride.new(parent_instance: self, client: @client, create_children: @create_children) end class Zone < XML::ConfigClass def has_multiple_values?; true; end def _section :zone end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Network < ConfigClass def has_multiple_values?; false; end def _section :network end class Tap < XML::ConfigClass def has_multiple_values?; true; end def _section :tap end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tap maybe_register_subclass('tap', Tap.new(parent_instance: self, client: @client, create_children: @create_children)) end class VirtualWire < XML::ConfigClass def has_multiple_values?; true; end def _section :'virtual-wire' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def virtual_wire maybe_register_subclass('virtual-wire', VirtualWire.new(parent_instance: self, client: @client, create_children: @create_children)) end class Layer2 < XML::ConfigClass def has_multiple_values?; true; end def _section :layer2 end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def layer2 maybe_register_subclass('layer2', Layer2.new(parent_instance: self, client: @client, create_children: @create_children)) end class Layer3 < XML::ConfigClass def has_multiple_values?; true; end def _section :layer3 end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def layer3 maybe_register_subclass('layer3', Layer3.new(parent_instance: self, client: @client, create_children: @create_children)) end class External < XML::ConfigClass def has_multiple_values?; true; end def _section :external end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def external maybe_register_subclass('external', External.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tunnel < ConfigClass def has_multiple_values?; false; end def _section :tunnel end @props = {} end def tunnel @subclasses['tunnel'] ||= Tunnel.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'zone-protection-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Zone protection profile'}, 'enable-packet-buffer-protection'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'net-inspection'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'log-setting'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'Log setting for forwarding scan logs'}} # Zone protection profile def zone_protection_profile prop_get('zone-protection-profile') end # Zone protection profile def zone_protection_profile=(val) prop_set('zone-protection-profile', val) end def enable_packet_buffer_protection prop_get('enable-packet-buffer-protection') end def enable_packet_buffer_protection=(val) prop_set('enable-packet-buffer-protection', val) end def net_inspection prop_get('net-inspection') end def net_inspection=(val) prop_set('net-inspection', val) end # Log setting for forwarding scan logs def log_setting prop_get('log-setting') end # Log setting for forwarding scan logs def log_setting=(val) prop_set('log-setting', val) end end def network @subclasses['network'] ||= Network.new(parent_instance: self, client: @client, create_children: @create_children) end class UserAcl < ConfigClass def has_multiple_values?; false; end def _section :'user-acl' end class IncludeList < XML::ConfigClass def has_multiple_values?; true; end def _section :'include-list' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'ipspec'=>{}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def include_list maybe_register_subclass('include-list', IncludeList.new(parent_instance: self, client: @client, create_children: @create_children)) end class ExcludeList < XML::ConfigClass def has_multiple_values?; true; end def _section :'exclude-list' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'ipspec'=>{}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def exclude_list maybe_register_subclass('exclude-list', ExcludeList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def user_acl @subclasses['user-acl'] ||= UserAcl.new(parent_instance: self, client: @client, create_children: @create_children) end class DeviceAcl < ConfigClass def has_multiple_values?; false; end def _section :'device-acl' end class IncludeList < XML::ConfigClass def has_multiple_values?; true; end def _section :'include-list' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'ipspec'=>{}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def include_list maybe_register_subclass('include-list', IncludeList.new(parent_instance: self, client: @client, create_children: @create_children)) end class ExcludeList < XML::ConfigClass def has_multiple_values?; true; end def _section :'exclude-list' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'ipspec'=>{}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def exclude_list maybe_register_subclass('exclude-list', ExcludeList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def device_acl @subclasses['device-acl'] ||= DeviceAcl.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'enable-user-identification'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'enable-device-identification'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'dos-profile'=>{'node-type'=>'element', 'disabled'=>'yes', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Denial-of-Service profile'}, 'dos-log-setting'=>{'node-type'=>'element', 'disabled'=>'yes', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'Log setting for forwarding DoS logs'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def enable_user_identification prop_get('enable-user-identification') end def enable_user_identification=(val) prop_set('enable-user-identification', val) end def enable_device_identification prop_get('enable-device-identification') end def enable_device_identification=(val) prop_set('enable-device-identification', val) end # Denial-of-Service profile def dos_profile prop_get('dos-profile') end # Denial-of-Service profile def dos_profile=(val) prop_set('dos-profile', val) end # Log setting for forwarding DoS logs def dos_log_setting prop_get('dos-log-setting') end # Log setting for forwarding DoS logs def dos_log_setting=(val) prop_set('dos-log-setting', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def zone maybe_register_subclass('zone', Zone.new(parent_instance: self, client: @client, create_children: @create_children)) end class SdwanInterfaceProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'sdwan-interface-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'no'}]}, 'link-tag'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}, 'link-type'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'Ethernet', 'help-string'=>'Type of link', 'enum'=>[{'value'=>'ADSL/DSL', 'help-string'=>'ADSL/DSL Link'}, {'value'=>'Cablemodem', 'help-string'=>'Cablemodem Link'}, {'value'=>'Ethernet', 'help-string'=>'Ethernet Link'}, {'value'=>'Fiber', 'help-string'=>'Fiber Link'}, {'value'=>'LTE/3G/4G/5G', 'help-string'=>'LTE/3G/4G/5G Link'}, {'value'=>'MPLS', 'help-string'=>'MPLS Link'}, {'value'=>'Microwave/Radio', 'help-string'=>'Microwave/Radio Link'}, {'value'=>'Satellite', 'help-string'=>'Satellite Link'}, {'value'=>'WiFi', 'help-string'=>'WiFi Link'}, {'value'=>'Other', 'help-string'=>'Other Type of Link'}]}, 'vpn-data-tunnel-support'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'optional'=>'yes', 'help-string'=>'Enable data traffic over VPN'}, 'maximum-download'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'100000', 'help-string'=>'Maximum Capacity in Mbps'}, 'maximum-upload'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'100000', 'help-string'=>'Maximum Capacity in Mbps'}, 'error-correction'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Allow this interface for FEC / Packet Duplication'}, 'path-monitoring'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'Aggressive', 'help-string'=>'Path Monitoring Profile', 'enum'=>[{'value'=>'Aggressive', 'help-string'=>'Aggressive Fixed Interval'}, {'value'=>'Relaxed', 'help-string'=>'Relaxed Fixed Interval'}]}, 'vpn-failover-metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'10', 'help-string'=>'Metric for vpn tunnels on this interface'}, 'probe-frequency'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'5', 'default'=>'5', 'help-string'=>'Number of probes sent per second'}, 'probe-idle-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'86400', 'default'=>'60', 'help-string'=>'Idle time in seconds when no probes are sent'}, 'failback-hold-time'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'20', 'max'=>'120', 'default'=>'120', 'help-string'=>'Failback hold time in seconds before reverting session to original path'}, 'comment'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'0', 'maxlen'=>'1023'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end def link_tag prop_get('link-tag') end def link_tag=(val) prop_set('link-tag', val) end # Type of link def link_type prop_get('link-type') end # Type of link def link_type=(val) prop_set('link-type', val) end # Enable data traffic over VPN def vpn_data_tunnel_support prop_get('vpn-data-tunnel-support') end # Enable data traffic over VPN def vpn_data_tunnel_support=(val) prop_set('vpn-data-tunnel-support', val) end # Maximum Capacity in Mbps def maximum_download prop_get('maximum-download') end # Maximum Capacity in Mbps def maximum_download=(val) prop_set('maximum-download', val) end # Maximum Capacity in Mbps def maximum_upload prop_get('maximum-upload') end # Maximum Capacity in Mbps def maximum_upload=(val) prop_set('maximum-upload', val) end # Allow this interface for FEC / Packet Duplication def error_correction prop_get('error-correction') end # Allow this interface for FEC / Packet Duplication def error_correction=(val) prop_set('error-correction', val) end # Path Monitoring Profile def path_monitoring prop_get('path-monitoring') end # Path Monitoring Profile def path_monitoring=(val) prop_set('path-monitoring', val) end # Metric for vpn tunnels on this interface def vpn_failover_metric prop_get('vpn-failover-metric') end # Metric for vpn tunnels on this interface def vpn_failover_metric=(val) prop_set('vpn-failover-metric', val) end # Number of probes sent per second def probe_frequency prop_get('probe-frequency') end # Number of probes sent per second def probe_frequency=(val) prop_set('probe-frequency', val) end # Idle time in seconds when no probes are sent def probe_idle_time prop_get('probe-idle-time') end # Idle time in seconds when no probes are sent def probe_idle_time=(val) prop_set('probe-idle-time', val) end # Failback hold time in seconds before reverting session to original path def failback_hold_time prop_get('failback-hold-time') end # Failback hold time in seconds before reverting session to original path def failback_hold_time=(val) prop_set('failback-hold-time', val) end def comment prop_get('comment') end def comment=(val) prop_set('comment', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def sdwan_interface_profile maybe_register_subclass('sdwan-interface-profile', SdwanInterfaceProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class XAuthenticatedUser < ConfigClass def has_multiple_values?; false; end def _section :'x-authenticated-user' end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'x-authenticated-user whitelist', 'maxlen'=>'63'}} # x-authenticated-user whitelist def member prop_get('member') end # x-authenticated-user whitelist def member=(val) prop_set('member', val) end end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enabled'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Enable x-authenticated-user whitelist'}, 'overwrite-xau'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Overwrite value of x-authenticated-user header'}} # Enable x-authenticated-user whitelist def enabled prop_get('enabled') end # Enable x-authenticated-user whitelist def enabled=(val) prop_set('enabled', val) end # Overwrite value of x-authenticated-user header def overwrite_xau prop_get('overwrite-xau') end # Overwrite value of x-authenticated-user header def overwrite_xau=(val) prop_set('overwrite-xau', val) end end def x_authenticated_user @subclasses['x-authenticated-user'] ||= XAuthenticatedUser.new(parent_instance: self, client: @client, create_children: @create_children) end class User < XML::ConfigClass def has_multiple_values?; true; end def _section :user end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def user maybe_register_subclass('user', User.new(parent_instance: self, client: @client, create_children: @create_children)) end class UserGroup < XML::ConfigClass def has_multiple_values?; true; end def _section :'user-group' end class Entry < XML::ConfigClass def has_multiple_values?; true; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'255', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def member prop_get('member') end def member=(val) prop_set('member', val) end end def entry maybe_register_subclass('entry', Entry.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def user_group maybe_register_subclass('user-group', UserGroup.new(parent_instance: self, client: @client, create_children: @create_children)) end class GlobalProtect < ConfigClass def has_multiple_values?; false; end def _section :'global-protect' end class GlobalProtectPortal < XML::ConfigClass def has_multiple_values?; true; end def _section :'global-protect-portal' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class PortalConfig < ConfigClass def has_multiple_values?; false; end def _section :'portal-config' end class LocalAddress < ConfigClass def has_multiple_values?; false; end def _section :'local-address' end class Ip < ConfigClass def has_multiple_values?; false; end def _section :ip end @props = {'ipv4'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'IPv4 addresses'}, 'ipv6'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'IPv6 address'}} # IPv4 addresses def ipv4 prop_get('ipv4') end # IPv4 addresses def ipv4=(val) prop_set('ipv4', val) end # IPv6 address def ipv6 prop_get('ipv6') end # IPv6 address def ipv6=(val) prop_set('ipv6', val) end end def ip @subclasses['ip'] ||= Ip.new(parent_instance: self, client: @client, create_children: @create_children) end class FloatingIp < ConfigClass def has_multiple_values?; false; end def _section :'floating-ip' end @props = {'ipv4'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Floating IPv4 address'}, 'ipv6'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'Floating IPv6 address'}} # Floating IPv4 address def ipv4 prop_get('ipv4') end # Floating IPv4 address def ipv4=(val) prop_set('ipv4', val) end # Floating IPv6 address def ipv6 prop_get('ipv6') end # Floating IPv6 address def ipv6=(val) prop_set('ipv6', val) end end def floating_ip @subclasses['floating-ip'] ||= FloatingIp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'ip-address-family'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'ipv4', 'optional'=>'yes', 'help-string'=>'specify the family of the local address', 'enum'=>[{'value'=>'ipv4', 'help-string'=>'IPv4 Only'}, {'value'=>'ipv6', 'help-string'=>'IPv6 Only'}, {'value'=>'ipv4_ipv6', 'help-string'=>'IPv4 and IPv6'}]}, 'interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'local gateway end-point'}} # specify the family of the local address def ip_address_family prop_get('ip-address-family') end # specify the family of the local address def ip_address_family=(val) prop_set('ip-address-family', val) end # local gateway end-point def interface prop_get('interface') end # local gateway end-point def interface=(val) prop_set('interface', val) end end def local_address @subclasses['local-address'] ||= LocalAddress.new(parent_instance: self, client: @client, create_children: @create_children) end class ClientAuth < XML::ConfigClass def has_multiple_values?; true; end def _section :'client-auth' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'31', 'help-string'=>'GlobalProtect client authentication name'}, 'os'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'Any', 'help-string'=>'Client OS', 'multi-types'=>{'string'=>{'maxlen'=>'31', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'Any'}, {'value'=>'Browser'}, {'value'=>'Satellite'}]}}, 'authentication-profile'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'authentication profile used for this GlobalProtect'}, 'auto-retrieve-passcode'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Automatically retrieve passcode from SoftToken application'}, 'username-label'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'20', 'default'=>'Username', 'optional'=>'yes', 'help-string'=>'Username Label'}, 'password-label'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'20', 'default'=>'Password', 'optional'=>'yes', 'help-string'=>'Password Label'}, 'authentication-message'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256', 'default'=>'Enter login credentials', 'optional'=>'yes', 'help-string'=>'Authentication Message'}, 'user-credential-or-client-cert-required'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Allow Authentication with User Credentials OR Client Certificate', 'enum'=>[{'value'=>'no', 'help-string'=>'No (User Credentials AND Client Certificate Required)'}, {'value'=>'yes', 'help-string'=>'Yes (User Credentials OR Client Certificate Required)'}]}} # GlobalProtect client authentication name def name prop_get('@name') end # Client OS def os prop_get('os') end # Client OS def os=(val) prop_set('os', val) end # authentication profile used for this GlobalProtect def authentication_profile prop_get('authentication-profile') end # authentication profile used for this GlobalProtect def authentication_profile=(val) prop_set('authentication-profile', val) end # Automatically retrieve passcode from SoftToken application def auto_retrieve_passcode prop_get('auto-retrieve-passcode') end # Automatically retrieve passcode from SoftToken application def auto_retrieve_passcode=(val) prop_set('auto-retrieve-passcode', val) end # Username Label def username_label prop_get('username-label') end # Username Label def username_label=(val) prop_set('username-label', val) end # Password Label def password_label prop_get('password-label') end # Password Label def password_label=(val) prop_set('password-label', val) end # Authentication Message def authentication_message prop_get('authentication-message') end # Authentication Message def authentication_message=(val) prop_set('authentication-message', val) end # Allow Authentication with User Credentials OR Client Certificate def user_credential_or_client_cert_required prop_get('user-credential-or-client-cert-required') end # Allow Authentication with User Credentials OR Client Certificate def user_credential_or_client_cert_required=(val) prop_set('user-credential-or-client-cert-required', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def client_auth maybe_register_subclass('client-auth', ClientAuth.new(parent_instance: self, client: @client, create_children: @create_children)) end class ConfigSelection < ConfigClass def has_multiple_values?; false; end def _section :'config-selection' end class CustomChecks < ConfigClass def has_multiple_values?; false; end def _section :'custom-checks' end class Windows < ConfigClass def has_multiple_values?; false; end def _section :windows end class RegistryKey < XML::ConfigClass def has_multiple_values?; true; end def _section :'registry-key' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class RegistryValue < XML::ConfigClass def has_multiple_values?; true; end def _section :'registry-value' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'1023'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def registry_value maybe_register_subclass('registry-value', RegistryValue.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'1023'}} def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def registry_key maybe_register_subclass('registry-key', RegistryKey.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def windows @subclasses['windows'] ||= Windows.new(parent_instance: self, client: @client, create_children: @create_children) end class MacOs < ConfigClass def has_multiple_values?; false; end def _section :'mac-os' end class Plist < XML::ConfigClass def has_multiple_values?; true; end def _section :plist end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Key < XML::ConfigClass def has_multiple_values?; true; end def _section :key end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'1023'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def key maybe_register_subclass('key', Key.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'1023'}} def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def plist maybe_register_subclass('plist', Plist.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def mac_os @subclasses['mac-os'] ||= MacOs.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def custom_checks @subclasses['custom-checks'] ||= CustomChecks.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'certificate-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Profile for authenticating client certificates'}} # Profile for authenticating client certificates def certificate_profile prop_get('certificate-profile') end # Profile for authenticating client certificates def certificate_profile=(val) prop_set('certificate-profile', val) end end def config_selection @subclasses['config-selection'] ||= ConfigSelection.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'ssl-tls-service-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'help-string'=>'SSL TLS service profile'}, 'certificate-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Profile for authenticating client certificates'}, 'custom-login-page'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'default'=>'factory-default'}, 'custom-home-page'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'default'=>'factory-default'}, 'custom-help-page'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes'}, 'log-success'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Log successful TLS handshakes'}, 'log-fail'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'optional'=>'yes', 'help-string'=>'Log unsuccessful TLS handshakes'}, 'log-setting'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'maxlen'=>'63', 'optional'=>'yes'}} # SSL TLS service profile def ssl_tls_service_profile prop_get('ssl-tls-service-profile') end # SSL TLS service profile def ssl_tls_service_profile=(val) prop_set('ssl-tls-service-profile', val) end # Profile for authenticating client certificates def certificate_profile prop_get('certificate-profile') end # Profile for authenticating client certificates def certificate_profile=(val) prop_set('certificate-profile', val) end def custom_login_page prop_get('custom-login-page') end def custom_login_page=(val) prop_set('custom-login-page', val) end def custom_home_page prop_get('custom-home-page') end def custom_home_page=(val) prop_set('custom-home-page', val) end def custom_help_page prop_get('custom-help-page') end def custom_help_page=(val) prop_set('custom-help-page', val) end # Log successful TLS handshakes def log_success prop_get('log-success') end # Log successful TLS handshakes def log_success=(val) prop_set('log-success', val) end # Log unsuccessful TLS handshakes def log_fail prop_get('log-fail') end # Log unsuccessful TLS handshakes def log_fail=(val) prop_set('log-fail', val) end def log_setting prop_get('log-setting') end def log_setting=(val) prop_set('log-setting', val) end end def portal_config @subclasses['portal-config'] ||= PortalConfig.new(parent_instance: self, client: @client, create_children: @create_children) end class ClientlessVpn < ConfigClass def has_multiple_values?; false; end def _section :'clientless-vpn' end class LoginLifetime < XML::ConfigClass def has_multiple_values?; true; end def _section :'login-lifetime' end @props = {'minutes'=>{'node-type'=>'element', 'help-string'=>'specify lifetime in minutes', 'type'=>'rangedint', 'max'=>'1440', 'min'=>'60'}, 'hours'=>{'node-type'=>'element', 'help-string'=>'specify lifetime in hours', 'type'=>'rangedint', 'max'=>'24', 'min'=>'1', 'default'=>'3'}} # specify lifetime in minutes def minutes prop_get('minutes') end # specify lifetime in minutes def minutes=(val) prop_set('minutes', val) end # specify lifetime in hours def hours prop_get('hours') end # specify lifetime in hours def hours=(val) prop_set('hours', val) end end def login_lifetime maybe_register_subclass('login-lifetime', LoginLifetime.new(parent_instance: self, client: @client, create_children: @create_children)) end class InactivityLogout < XML::ConfigClass def has_multiple_values?; true; end def _section :'inactivity-logout' end @props = {'minutes'=>{'node-type'=>'element', 'help-string'=>'specify inactivity time in minutes', 'type'=>'rangedint', 'max'=>'1440', 'min'=>'5', 'default'=>'30'}, 'hours'=>{'node-type'=>'element', 'help-string'=>'specify inactivity time in hours', 'type'=>'rangedint', 'max'=>'24', 'min'=>'1'}} # specify inactivity time in minutes def minutes prop_get('minutes') end # specify inactivity time in minutes def minutes=(val) prop_set('minutes', val) end # specify inactivity time in hours def hours prop_get('hours') end # specify inactivity time in hours def hours=(val) prop_set('hours', val) end end def inactivity_logout maybe_register_subclass('inactivity-logout', InactivityLogout.new(parent_instance: self, client: @client, create_children: @create_children)) end class CryptoSettings < ConfigClass def has_multiple_values?; false; end def _section :'crypto-settings' end class SslProtocol < ConfigClass def has_multiple_values?; false; end def _section :'ssl-protocol' end @props = {'min-version'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'tls1-0', 'enum'=>[{'value'=>'sslv3', 'prune-on'=>'fips-mode', 'help-string'=>'SSLv3.0'}, {'value'=>'tls1-0', 'help-string'=>'TLSv1.0'}, {'value'=>'tls1-1', 'help-string'=>'TLSv1.1'}, {'value'=>'tls1-2', 'help-string'=>'TLSv1.2'}]}, 'max-version'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'max', 'enum'=>[{'value'=>'sslv3', 'prune-on'=>'fips-mode', 'help-string'=>'SSLv3.0'}, {'value'=>'tls1-0', 'help-string'=>'TLSv1.0'}, {'value'=>'tls1-1', 'help-string'=>'TLSv1.1'}, {'value'=>'tls1-2', 'help-string'=>'TLSv1.2'}, {'value'=>'max', 'help-string'=>'Max'}]}, 'keyxchg-algo-rsa'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm RSA'}, 'keyxchg-algo-dhe'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm DHE'}, 'keyxchg-algo-ecdhe'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm ECDHE'}, 'enc-algo-3des'=>{'node-type'=>'element', 'type'=>'bool', 'prune-on'=>'fips-mode', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm 3DES'}, 'enc-algo-rc4'=>{'node-type'=>'element', 'type'=>'bool', 'prune-on'=>'fips-mode', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm RC4'}, 'enc-algo-aes-128-cbc'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm AES-128-CBC'}, 'enc-algo-aes-256-cbc'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm AES-256-CBC'}, 'enc-algo-aes-128-gcm'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm AES-128-GCM'}, 'enc-algo-aes-256-gcm'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm AES-256-GCM'}, 'auth-algo-md5'=>{'node-type'=>'element', 'prune-on'=>'fips-mode', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Allow authentication MD5'}, 'auth-algo-sha1'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow authentication SHA1'}, 'auth-algo-sha256'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow authentication SHA256'}, 'auth-algo-sha384'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow authentication SHA384'}} def min_version prop_get('min-version') end def min_version=(val) prop_set('min-version', val) end def max_version prop_get('max-version') end def max_version=(val) prop_set('max-version', val) end # Allow algorithm RSA def keyxchg_algo_rsa prop_get('keyxchg-algo-rsa') end # Allow algorithm RSA def keyxchg_algo_rsa=(val) prop_set('keyxchg-algo-rsa', val) end # Allow algorithm DHE def keyxchg_algo_dhe prop_get('keyxchg-algo-dhe') end # Allow algorithm DHE def keyxchg_algo_dhe=(val) prop_set('keyxchg-algo-dhe', val) end # Allow algorithm ECDHE def keyxchg_algo_ecdhe prop_get('keyxchg-algo-ecdhe') end # Allow algorithm ECDHE def keyxchg_algo_ecdhe=(val) prop_set('keyxchg-algo-ecdhe', val) end # Allow algorithm 3DES def enc_algo_3des prop_get('enc-algo-3des') end # Allow algorithm 3DES def enc_algo_3des=(val) prop_set('enc-algo-3des', val) end # Allow algorithm RC4 def enc_algo_rc4 prop_get('enc-algo-rc4') end # Allow algorithm RC4 def enc_algo_rc4=(val) prop_set('enc-algo-rc4', val) end # Allow algorithm AES-128-CBC def enc_algo_aes_128_cbc prop_get('enc-algo-aes-128-cbc') end # Allow algorithm AES-128-CBC def enc_algo_aes_128_cbc=(val) prop_set('enc-algo-aes-128-cbc', val) end # Allow algorithm AES-256-CBC def enc_algo_aes_256_cbc prop_get('enc-algo-aes-256-cbc') end # Allow algorithm AES-256-CBC def enc_algo_aes_256_cbc=(val) prop_set('enc-algo-aes-256-cbc', val) end # Allow algorithm AES-128-GCM def enc_algo_aes_128_gcm prop_get('enc-algo-aes-128-gcm') end # Allow algorithm AES-128-GCM def enc_algo_aes_128_gcm=(val) prop_set('enc-algo-aes-128-gcm', val) end # Allow algorithm AES-256-GCM def enc_algo_aes_256_gcm prop_get('enc-algo-aes-256-gcm') end # Allow algorithm AES-256-GCM def enc_algo_aes_256_gcm=(val) prop_set('enc-algo-aes-256-gcm', val) end # Allow authentication MD5 def auth_algo_md5 prop_get('auth-algo-md5') end # Allow authentication MD5 def auth_algo_md5=(val) prop_set('auth-algo-md5', val) end # Allow authentication SHA1 def auth_algo_sha1 prop_get('auth-algo-sha1') end # Allow authentication SHA1 def auth_algo_sha1=(val) prop_set('auth-algo-sha1', val) end # Allow authentication SHA256 def auth_algo_sha256 prop_get('auth-algo-sha256') end # Allow authentication SHA256 def auth_algo_sha256=(val) prop_set('auth-algo-sha256', val) end # Allow authentication SHA384 def auth_algo_sha384 prop_get('auth-algo-sha384') end # Allow authentication SHA384 def auth_algo_sha384=(val) prop_set('auth-algo-sha384', val) end end def ssl_protocol @subclasses['ssl-protocol'] ||= SslProtocol.new(parent_instance: self, client: @client, create_children: @create_children) end class ServerCertVerification < ConfigClass def has_multiple_values?; false; end def _section :'server-cert-verification' end @props = {'block-expired-certificate'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'whether to block sessions if server\'s certificate is expired'}, 'block-untrusted-issuer'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'whether to block sessions if server\'s certificate is issued by untrusted CA'}, 'block-unknown-cert'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'whether to block a session if cert. status is unknown'}, 'block-timeout-cert'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'whether to block a session if cert. status can\'t be retrieved within timeout'}} # whether to block sessions if server's certificate is expired def block_expired_certificate prop_get('block-expired-certificate') end # whether to block sessions if server's certificate is expired def block_expired_certificate=(val) prop_set('block-expired-certificate', val) end # whether to block sessions if server's certificate is issued by untrusted CA def block_untrusted_issuer prop_get('block-untrusted-issuer') end # whether to block sessions if server's certificate is issued by untrusted CA def block_untrusted_issuer=(val) prop_set('block-untrusted-issuer', val) end # whether to block a session if cert. status is unknown def block_unknown_cert prop_get('block-unknown-cert') end # whether to block a session if cert. status is unknown def block_unknown_cert=(val) prop_set('block-unknown-cert', val) end # whether to block a session if cert. status can't be retrieved within timeout def block_timeout_cert prop_get('block-timeout-cert') end # whether to block a session if cert. status can't be retrieved within timeout def block_timeout_cert=(val) prop_set('block-timeout-cert', val) end end def server_cert_verification @subclasses['server-cert-verification'] ||= ServerCertVerification.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def crypto_settings @subclasses['crypto-settings'] ||= CryptoSettings.new(parent_instance: self, client: @client, create_children: @create_children) end class RewriteExcludeDomainList < XML::ConfigClass def has_multiple_values?; true; end def _section :'rewrite-exclude-domain-list' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'256', 'help-string'=>'domain name which can start with *.', 'max-count'=>'200'}} # domain name which can start with *. def member prop_get('member') end # domain name which can start with *. def member=(val) prop_set('member', val) end end def rewrite_exclude_domain_list maybe_register_subclass('rewrite-exclude-domain-list', RewriteExcludeDomainList.new(parent_instance: self, client: @client, create_children: @create_children)) end class AppsToUserMapping < XML::ConfigClass def has_multiple_values?; true; end def _section :'apps-to-user-mapping' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SourceUser < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-user' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'1023', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any user'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_user maybe_register_subclass('source-user', SourceUser.new(parent_instance: self, client: @client, create_children: @create_children)) end class Applications < XML::ConfigClass def has_multiple_values?; true; end def _section :applications end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Global protect clientless app or app-group'}} # Global protect clientless app or app-group def member prop_get('member') end # Global protect clientless app or app-group def member=(val) prop_set('member', val) end end def applications maybe_register_subclass('applications', Applications.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'31', 'help-string'=>'GlobalProtect user to app mappings'}, 'enable-custom-app-URL-address-bar'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'URL browse bar to access unpublished clientless VPN applications'}, 'display-global-protect-agent-download-link'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Display Global Protect Agent download link'}} # GlobalProtect user to app mappings def name prop_get('@name') end # URL browse bar to access unpublished clientless VPN applications def enable_custom_app_URL_address_bar prop_get('enable-custom-app-URL-address-bar') end # URL browse bar to access unpublished clientless VPN applications def enable_custom_app_URL_address_bar=(val) prop_set('enable-custom-app-URL-address-bar', val) end # Display Global Protect Agent download link def display_global_protect_agent_download_link prop_get('display-global-protect-agent-download-link') end # Display Global Protect Agent download link def display_global_protect_agent_download_link=(val) prop_set('display-global-protect-agent-download-link', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def apps_to_user_mapping maybe_register_subclass('apps-to-user-mapping', AppsToUserMapping.new(parent_instance: self, client: @client, create_children: @create_children)) end class ProxyServerSetting < XML::ConfigClass def has_multiple_values?; true; end def _section :'proxy-server-setting' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Domains < XML::ConfigClass def has_multiple_values?; true; end def _section :domains end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'256', 'help-string'=>'domain name which can start with *.', 'max-count'=>'50'}} # domain name which can start with *. def member prop_get('member') end # domain name which can start with *. def member=(val) prop_set('member', val) end end def domains maybe_register_subclass('domains', Domains.new(parent_instance: self, client: @client, create_children: @create_children)) end class ProxyServer < ConfigClass def has_multiple_values?; false; end def _section :'proxy-server' end @props = {'server'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([$0-9a-zA-Z.:/_-])+$', 'maxlen'=>'63', 'help-string'=>'Proxy server to use'}, 'port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Port for proxy server'}, 'user'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'255', 'help-string'=>'Proxy user name to use'}, 'password'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'255', 'encrypt'=>'yes', 'help-string'=>'Proxy password to use'}} # Proxy server to use def server prop_get('server') end # Proxy server to use def server=(val) prop_set('server', val) end # Port for proxy server def port prop_get('port') end # Port for proxy server def port=(val) prop_set('port', val) end # Proxy user name to use def user prop_get('user') end # Proxy user name to use def user=(val) prop_set('user', val) end # Proxy password to use def password prop_get('password') end # Proxy password to use def password=(val) prop_set('password', val) end end def proxy_server @subclasses['proxy-server'] ||= ProxyServer.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'31', 'help-string'=>'Clientless VPN Proxy setting'}, 'use-proxy'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Whether to use proxy server'}} # Clientless VPN Proxy setting def name prop_get('@name') end # Whether to use proxy server def use_proxy prop_get('use-proxy') end # Whether to use proxy server def use_proxy=(val) prop_set('use-proxy', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def proxy_server_setting maybe_register_subclass('proxy-server-setting', ProxyServerSetting.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'hostname'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[$a-zA-Z0-9._-]+$', 'maxlen'=>'255', 'help-string'=>'FQDN or IP address of GlobalProtect Portal'}, 'security-zone'=>{'node-type'=>'element', 'maxlen'=>'31', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Zone to be used for clientless-vpn traffic'}, 'max-user'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'1', 'max'=>'30000', 'platform-max'=>'cfg.general.max-sslvpn-ck-cache-size-mp', 'help-string'=>'max number of concurrent logined users to GlobalProtect portal'}, 'dns-proxy'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'DNS proxy object used for resolving clientless-vpn application hostnames'}} # FQDN or IP address of GlobalProtect Portal def hostname prop_get('hostname') end # FQDN or IP address of GlobalProtect Portal def hostname=(val) prop_set('hostname', val) end # Zone to be used for clientless-vpn traffic def security_zone prop_get('security-zone') end # Zone to be used for clientless-vpn traffic def security_zone=(val) prop_set('security-zone', val) end # max number of concurrent logined users to GlobalProtect portal def max_user prop_get('max-user') end # max number of concurrent logined users to GlobalProtect portal def max_user=(val) prop_set('max-user', val) end # DNS proxy object used for resolving clientless-vpn application hostnames def dns_proxy prop_get('dns-proxy') end # DNS proxy object used for resolving clientless-vpn application hostnames def dns_proxy=(val) prop_set('dns-proxy', val) end end def clientless_vpn @subclasses['clientless-vpn'] ||= ClientlessVpn.new(parent_instance: self, client: @client, create_children: @create_children) end class ClientConfig < ConfigClass def has_multiple_values?; false; end def _section :'client-config' end class RootCa < XML::ConfigClass def has_multiple_values?; true; end def _section :'root-ca' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'CA cert', 'maxlen'=>'255'}, 'install-in-cert-store'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Install in Trusted CA Certificate Store'}} # CA cert def name prop_get('@name') end # Install in Trusted CA Certificate Store def install_in_cert_store prop_get('install-in-cert-store') end # Install in Trusted CA Certificate Store def install_in_cert_store=(val) prop_set('install-in-cert-store', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def root_ca maybe_register_subclass('root-ca', RootCa.new(parent_instance: self, client: @client, create_children: @create_children)) end class Configs < XML::ConfigClass def has_multiple_values?; true; end def _section :configs end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SourceUser < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-user' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'1023', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any user'}, {'value'=>'pre-logon', 'help-string'=>'prelogon client machine'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_user maybe_register_subclass('source-user', SourceUser.new(parent_instance: self, client: @client, create_children: @create_children)) end class Certificate < ConfigClass def has_multiple_values?; false; end def _section :certificate end class Criteria < ConfigClass def has_multiple_values?; false; end def _section :criteria end @props = {'certificate-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Profile for authenticating client certificates'}} # Profile for authenticating client certificates def certificate_profile prop_get('certificate-profile') end # Profile for authenticating client certificates def certificate_profile=(val) prop_set('certificate-profile', val) end end def criteria @subclasses['criteria'] ||= Criteria.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def certificate @subclasses['certificate'] ||= Certificate.new(parent_instance: self, client: @client, create_children: @create_children) end class CustomChecks < ConfigClass def has_multiple_values?; false; end def _section :'custom-checks' end class Criteria < ConfigClass def has_multiple_values?; false; end def _section :criteria end class RegistryKey < XML::ConfigClass def has_multiple_values?; true; end def _section :'registry-key' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class RegistryValue < XML::ConfigClass def has_multiple_values?; true; end def _section :'registry-value' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'1023', 'regex'=>'.*', 'help-string'=>'Registry value name'}, 'value-data'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'1024', 'help-string'=>'Registry value data'}, 'negate'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Value does not exist'}} # Registry value name def name prop_get('@name') end # Registry value data def value_data prop_get('value-data') end # Registry value data def value_data=(val) prop_set('value-data', val) end # Value does not exist def negate prop_get('negate') end # Value does not exist def negate=(val) prop_set('negate', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def registry_value maybe_register_subclass('registry-value', RegistryValue.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'1023', 'regex'=>'.*', 'help-string'=>'Registry key'}, 'default-value-data'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'1024', 'help-string'=>'Registry key default value data'}, 'negate'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Key does not exist'}} # Registry key def name prop_get('@name') end # Registry key default value data def default_value_data prop_get('default-value-data') end # Registry key default value data def default_value_data=(val) prop_set('default-value-data', val) end # Key does not exist def negate prop_get('negate') end # Key does not exist def negate=(val) prop_set('negate', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def registry_key maybe_register_subclass('registry-key', RegistryKey.new(parent_instance: self, client: @client, create_children: @create_children)) end class Plist < XML::ConfigClass def has_multiple_values?; true; end def _section :plist end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Key < XML::ConfigClass def has_multiple_values?; true; end def _section :key end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'1023', 'regex'=>'.*', 'help-string'=>'Key name'}, 'value'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'1024', 'help-string'=>'Key value'}, 'negate'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Value does not exist or match specified value data'}} # Key name def name prop_get('@name') end # Key value def value prop_get('value') end # Key value def value=(val) prop_set('value', val) end # Value does not exist or match specified value data def negate prop_get('negate') end # Value does not exist or match specified value data def negate=(val) prop_set('negate', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def key maybe_register_subclass('key', Key.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'1023', 'regex'=>'.*', 'help-string'=>'Preference list'}, 'negate'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Plist does not exist'}} # Preference list def name prop_get('@name') end # Plist does not exist def negate prop_get('negate') end # Plist does not exist def negate=(val) prop_set('negate', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def plist maybe_register_subclass('plist', Plist.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def criteria @subclasses['criteria'] ||= Criteria.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def custom_checks @subclasses['custom-checks'] ||= CustomChecks.new(parent_instance: self, client: @client, create_children: @create_children) end class MachineAccountExistsWithSerialno < XML::ConfigClass def has_multiple_values?; true; end def _section :'machine-account-exists-with-serialno' end class No < ConfigClass def has_multiple_values?; false; end def _section :no end @props = {} end def no @subclasses['no'] ||= No.new(parent_instance: self, client: @client, create_children: @create_children) end class Yes < ConfigClass def has_multiple_values?; false; end def _section :yes end @props = {} end def yes @subclasses['yes'] ||= Yes.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def machine_account_exists_with_serialno maybe_register_subclass('machine-account-exists-with-serialno', MachineAccountExistsWithSerialno.new(parent_instance: self, client: @client, create_children: @create_children)) end class Gateways < ConfigClass def has_multiple_values?; false; end def _section :gateways end class Internal < ConfigClass def has_multiple_values?; false; end def _section :internal end class List < XML::ConfigClass def has_multiple_values?; true; end def _section :list end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Ip < ConfigClass def has_multiple_values?; false; end def _section :ip end @props = {'ipv4'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'100', 'help-string'=>'IPv4'}, 'ipv6'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'100', 'help-string'=>'IPv6'}} # IPv4 def ipv4 prop_get('ipv4') end # IPv4 def ipv4=(val) prop_set('ipv4', val) end # IPv6 def ipv6 prop_get('ipv6') end # IPv6 def ipv6=(val) prop_set('ipv6', val) end end def ip @subclasses['ip'] ||= Ip.new(parent_instance: self, client: @client, create_children: @create_children) end class SourceIp < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-ip' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes'}, 'iprangespec'=>{}, 'string'=>{'maxlen'=>'63', 'loose-membership'=>'yes'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_ip maybe_register_subclass('source-ip', SourceIp.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'255', 'help-string'=>'description of the gateway'}, 'fqdn'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'regex'=>'^([$:/a-zA-Z0-9._-])+$', 'help-string'=>'fqdn'}} # description of the gateway def name prop_get('@name') end # fqdn def fqdn prop_get('fqdn') end # fqdn def fqdn=(val) prop_set('fqdn', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def list maybe_register_subclass('list', List.new(parent_instance: self, client: @client, create_children: @create_children)) end class DhcpOptionCode < XML::ConfigClass def has_multiple_values?; true; end def _section :'dhcp-option-code' end @props = {'member'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'254'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def dhcp_option_code maybe_register_subclass('dhcp-option-code', DhcpOptionCode.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def internal @subclasses['internal'] ||= Internal.new(parent_instance: self, client: @client, create_children: @create_children) end class External < ConfigClass def has_multiple_values?; false; end def _section :external end class List < XML::ConfigClass def has_multiple_values?; true; end def _section :list end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Ip < ConfigClass def has_multiple_values?; false; end def _section :ip end @props = {'ipv4'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'100', 'help-string'=>'IPv4'}, 'ipv6'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'100', 'help-string'=>'IPv6'}} # IPv4 def ipv4 prop_get('ipv4') end # IPv4 def ipv4=(val) prop_set('ipv4', val) end # IPv6 def ipv6 prop_get('ipv6') end # IPv6 def ipv6=(val) prop_set('ipv6', val) end end def ip @subclasses['ip'] ||= Ip.new(parent_instance: self, client: @client, create_children: @create_children) end class PriorityRule < XML::ConfigClass def has_multiple_values?; true; end def _section :'priority-rule' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'Region name'}, 'priority'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'1', 'help-string'=>'Priority of GlobalProtect gateway', 'enum'=>[{'value'=>'0', 'help-string'=>'Manual only'}, {'value'=>'1', 'help-string'=>'Highest'}, {'value'=>'2', 'help-string'=>'High'}, {'value'=>'3', 'help-string'=>'Medium'}, {'value'=>'4', 'help-string'=>'Low'}, {'value'=>'5', 'help-string'=>'Lowest'}]}} # Region name def name prop_get('@name') end # Priority of GlobalProtect gateway def priority prop_get('priority') end # Priority of GlobalProtect gateway def priority=(val) prop_set('priority', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def priority_rule maybe_register_subclass('priority-rule', PriorityRule.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'255', 'regex'=>'^[^;|`&\'"<>[:cntrl:]]+$', 'help-string'=>'description of the gateway'}, 'fqdn'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'regex'=>'^([$:/a-zA-Z0-9._-])+$', 'help-string'=>'fqdn'}, 'manual'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'If this GlobalProtect gateway can be manually selected'}} # description of the gateway def name prop_get('@name') end # fqdn def fqdn prop_get('fqdn') end # fqdn def fqdn=(val) prop_set('fqdn', val) end # If this GlobalProtect gateway can be manually selected def manual prop_get('manual') end # If this GlobalProtect gateway can be manually selected def manual=(val) prop_set('manual', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def list maybe_register_subclass('list', List.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'cutoff-time'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'default'=>'5', 'max'=>'10', 'optional'=>'yes', 'help-string'=>'Gateway discovery cutoff time in seconds'}} # Gateway discovery cutoff time in seconds def cutoff_time prop_get('cutoff-time') end # Gateway discovery cutoff time in seconds def cutoff_time=(val) prop_set('cutoff-time', val) end end def external @subclasses['external'] ||= External.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def gateways @subclasses['gateways'] ||= Gateways.new(parent_instance: self, client: @client, create_children: @create_children) end class InternalHostDetection < ConfigClass def has_multiple_values?; false; end def _section :'internal-host-detection' end @props = {'ip-address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Internal IPv4 address of a host', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes', 'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'hostname'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^[$a-zA-Z0-9._-]+$', 'maxlen'=>'256', 'help-string'=>'Host name of the IPv4 in DNS record'}} # Internal IPv4 address of a host def ip_address prop_get('ip-address') end # Internal IPv4 address of a host def ip_address=(val) prop_set('ip-address', val) end # Host name of the IPv4 in DNS record def hostname prop_get('hostname') end # Host name of the IPv4 in DNS record def hostname=(val) prop_set('hostname', val) end end def internal_host_detection @subclasses['internal-host-detection'] ||= InternalHostDetection.new(parent_instance: self, client: @client, create_children: @create_children) end class InternalHostDetectionV6 < ConfigClass def has_multiple_values?; false; end def _section :'internal-host-detection-v6' end @props = {'ip-address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Internal IPv6 address of a host', 'multi-types'=>{'ipspec'=>{'ipv6-only'=>'yes', 'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'hostname'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^[$a-zA-Z0-9._-]+$', 'maxlen'=>'256', 'help-string'=>'Host name of the IPv6 in DNS record'}} # Internal IPv6 address of a host def ip_address prop_get('ip-address') end # Internal IPv6 address of a host def ip_address=(val) prop_set('ip-address', val) end # Host name of the IPv6 in DNS record def hostname prop_get('hostname') end # Host name of the IPv6 in DNS record def hostname=(val) prop_set('hostname', val) end end def internal_host_detection_v6 @subclasses['internal-host-detection-v6'] ||= InternalHostDetectionV6.new(parent_instance: self, client: @client, create_children: @create_children) end class AgentUi < ConfigClass def has_multiple_values?; false; end def _section :'agent-ui' end class WelcomePage < ConfigClass def has_multiple_values?; false; end def _section :'welcome-page' end @props = {'page'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes'}} def page prop_get('page') end def page=(val) prop_set('page', val) end end def welcome_page @subclasses['welcome-page'] ||= WelcomePage.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'passcode'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'encrypt'=>'yes', 'minlen'=>'6', 'maxlen'=>'64', 'help-string'=>'Passcode required for override'}, 'uninstall-password'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'encrypt'=>'yes', 'minlen'=>'6', 'maxlen'=>'32', 'help-string'=>'Password to uninstall GlobalProtect app'}, 'agent-user-override-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'default'=>'0', 'help-string'=>'Agent user override duration in minutes'}, 'max-agent-user-overrides'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'default'=>'0', 'help-string'=>'Max agent user overrides'}} # Passcode required for override def passcode prop_get('passcode') end # Passcode required for override def passcode=(val) prop_set('passcode', val) end # Password to uninstall GlobalProtect app def uninstall_password prop_get('uninstall-password') end # Password to uninstall GlobalProtect app def uninstall_password=(val) prop_set('uninstall-password', val) end # Agent user override duration in minutes def agent_user_override_timeout prop_get('agent-user-override-timeout') end # Agent user override duration in minutes def agent_user_override_timeout=(val) prop_set('agent-user-override-timeout', val) end # Max agent user overrides def max_agent_user_overrides prop_get('max-agent-user-overrides') end # Max agent user overrides def max_agent_user_overrides=(val) prop_set('max-agent-user-overrides', val) end end def agent_ui @subclasses['agent-ui'] ||= AgentUi.new(parent_instance: self, client: @client, create_children: @create_children) end class HipCollection < ConfigClass def has_multiple_values?; false; end def _section :'hip-collection' end class Exclusion < ConfigClass def has_multiple_values?; false; end def _section :exclusion end class Category < XML::ConfigClass def has_multiple_values?; true; end def _section :category end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Vendor < XML::ConfigClass def has_multiple_values?; true; end def _section :vendor end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Product < XML::ConfigClass def has_multiple_values?; true; end def _section :product end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'1023'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def product maybe_register_subclass('product', Product.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'1023'}} def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vendor maybe_register_subclass('vendor', Vendor.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'31'}} def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def category maybe_register_subclass('category', Category.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def exclusion @subclasses['exclusion'] ||= Exclusion.new(parent_instance: self, client: @client, create_children: @create_children) end class CustomChecks < ConfigClass def has_multiple_values?; false; end def _section :'custom-checks' end class Windows < ConfigClass def has_multiple_values?; false; end def _section :windows end class RegistryKey < XML::ConfigClass def has_multiple_values?; true; end def _section :'registry-key' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class RegistryValue < XML::ConfigClass def has_multiple_values?; true; end def _section :'registry-value' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'1023'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def registry_value maybe_register_subclass('registry-value', RegistryValue.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'1023'}} def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def registry_key maybe_register_subclass('registry-key', RegistryKey.new(parent_instance: self, client: @client, create_children: @create_children)) end class ProcessList < XML::ConfigClass def has_multiple_values?; true; end def _section :'process-list' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'1023', 'max-count'=>'1024'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def process_list maybe_register_subclass('process-list', ProcessList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def windows @subclasses['windows'] ||= Windows.new(parent_instance: self, client: @client, create_children: @create_children) end class MacOs < ConfigClass def has_multiple_values?; false; end def _section :'mac-os' end class Plist < XML::ConfigClass def has_multiple_values?; true; end def _section :plist end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Key < XML::ConfigClass def has_multiple_values?; true; end def _section :key end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'1023'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def key maybe_register_subclass('key', Key.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'1023'}} def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def plist maybe_register_subclass('plist', Plist.new(parent_instance: self, client: @client, create_children: @create_children)) end class ProcessList < XML::ConfigClass def has_multiple_values?; true; end def _section :'process-list' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'1023', 'max-count'=>'1024'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def process_list maybe_register_subclass('process-list', ProcessList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def mac_os @subclasses['mac-os'] ||= MacOs.new(parent_instance: self, client: @client, create_children: @create_children) end class Linux < ConfigClass def has_multiple_values?; false; end def _section :linux end class ProcessList < XML::ConfigClass def has_multiple_values?; true; end def _section :'process-list' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'1023', 'max-count'=>'1024'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def process_list maybe_register_subclass('process-list', ProcessList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def linux @subclasses['linux'] ||= Linux.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def custom_checks @subclasses['custom-checks'] ||= CustomChecks.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'certificate-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Profile for authenticating client certificates'}, 'max-wait-time'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'10', 'max'=>'60', 'default'=>'20', 'optional'=>'yes', 'help-string'=>'Max Wait Time (Sec)'}, 'collect-hip-data'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'optional'=>'yes', 'help-string'=>'Collect HIP Data'}} # Profile for authenticating client certificates def certificate_profile prop_get('certificate-profile') end # Profile for authenticating client certificates def certificate_profile=(val) prop_set('certificate-profile', val) end # Max Wait Time (Sec) def max_wait_time prop_get('max-wait-time') end # Max Wait Time (Sec) def max_wait_time=(val) prop_set('max-wait-time', val) end # Collect HIP Data def collect_hip_data prop_get('collect-hip-data') end # Collect HIP Data def collect_hip_data=(val) prop_set('collect-hip-data', val) end end def hip_collection @subclasses['hip-collection'] ||= HipCollection.new(parent_instance: self, client: @client, create_children: @create_children) end class ThirdPartyVpnClients < XML::ConfigClass def has_multiple_values?; true; end def _section :'third-party-vpn-clients' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'63'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def third_party_vpn_clients maybe_register_subclass('third-party-vpn-clients', ThirdPartyVpnClients.new(parent_instance: self, client: @client, create_children: @create_children)) end class AgentConfig < ConfigClass def has_multiple_values?; false; end def _section :'agent-config' end @props = {} end def agent_config @subclasses['agent-config'] ||= AgentConfig.new(parent_instance: self, client: @client, create_children: @create_children) end class GpAppConfig < ConfigClass def has_multiple_values?; false; end def _section :'gp-app-config' end class Config < XML::ConfigClass def has_multiple_values?; true; end def _section :config end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Value < XML::ConfigClass def has_multiple_values?; true; end def _section :value end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'174762'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def value maybe_register_subclass('value', Value.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'127'}} def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def config maybe_register_subclass('config', Config.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def gp_app_config @subclasses['gp-app-config'] ||= GpAppConfig.new(parent_instance: self, client: @client, create_children: @create_children) end class Os < XML::ConfigClass def has_multiple_values?; true; end def _section :os end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'any'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def os maybe_register_subclass('os', Os.new(parent_instance: self, client: @client, create_children: @create_children)) end class ClientCertificate < XML::ConfigClass def has_multiple_values?; true; end def _section :'client-certificate' end @props = {'local'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Select Client Certificate', 'maxlen'=>'255'}, 'scep'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'255'}} # Select Client Certificate def local prop_get('local') end # Select Client Certificate def local=(val) prop_set('local', val) end def scep prop_get('scep') end def scep=(val) prop_set('scep', val) end end def client_certificate maybe_register_subclass('client-certificate', ClientCertificate.new(parent_instance: self, client: @client, create_children: @create_children)) end class AuthenticationOverride < ConfigClass def has_multiple_values?; false; end def _section :'authentication-override' end class AcceptCookie < ConfigClass def has_multiple_values?; false; end def _section :'accept-cookie' end class CookieLifetime < XML::ConfigClass def has_multiple_values?; true; end def _section :'cookie-lifetime' end @props = {'lifetime-in-days'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'365', 'default'=>'365', 'optional'=>'yes', 'help-string'=>'Cookie lifetime in days', 'uiHint-fieldLabel'=>'Days'}, 'lifetime-in-hours'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'72', 'default'=>'24', 'optional'=>'yes', 'help-string'=>'Cookie lifetime in hours', 'uiHint-fieldLabel'=>'Hours'}, 'lifetime-in-minutes'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'59', 'default'=>'5', 'optional'=>'yes', 'help-string'=>'Cookie lifetime in minutes', 'uiHint-fieldLabel'=>'Minutes'}} # Cookie lifetime in days def lifetime_in_days prop_get('lifetime-in-days') end # Cookie lifetime in days def lifetime_in_days=(val) prop_set('lifetime-in-days', val) end # Cookie lifetime in hours def lifetime_in_hours prop_get('lifetime-in-hours') end # Cookie lifetime in hours def lifetime_in_hours=(val) prop_set('lifetime-in-hours', val) end # Cookie lifetime in minutes def lifetime_in_minutes prop_get('lifetime-in-minutes') end # Cookie lifetime in minutes def lifetime_in_minutes=(val) prop_set('lifetime-in-minutes', val) end end def cookie_lifetime maybe_register_subclass('cookie-lifetime', CookieLifetime.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def accept_cookie @subclasses['accept-cookie'] ||= AcceptCookie.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'generate-cookie'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Generate cookie for authentication override'}, 'cookie-encrypt-decrypt-cert'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Certificate to Encrypt/Decrypt Cookie', 'maxlen'=>'255', 'uiHint-fieldLabel'=>'Certificate to Encrypt/Decrypt cookie'}} # Generate cookie for authentication override def generate_cookie prop_get('generate-cookie') end # Generate cookie for authentication override def generate_cookie=(val) prop_set('generate-cookie', val) end # Certificate to Encrypt/Decrypt Cookie def cookie_encrypt_decrypt_cert prop_get('cookie-encrypt-decrypt-cert') end # Certificate to Encrypt/Decrypt Cookie def cookie_encrypt_decrypt_cert=(val) prop_set('cookie-encrypt-decrypt-cert', val) end end def authentication_override @subclasses['authentication-override'] ||= AuthenticationOverride.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'save-user-credentials'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'1', 'optional'=>'yes', 'help-string'=>'Save User Credentials', 'enum'=>[{'value'=>'0', 'help-string'=>'No'}, {'value'=>'1', 'help-string'=>'Yes'}, {'value'=>'2', 'help-string'=>'Save Username Only'}, {'value'=>'3', 'help-string'=>'Only with User Fingerprint'}]}, 'portal-2fa'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Portal Authentication OTP'}, 'internal-gateway-2fa'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Internal Gateway Authentication OTP'}, 'auto-discovery-external-gateway-2fa'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Auto Discovery External Gateway Authentication OTP'}, 'manual-only-gateway-2fa'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Manual Only External Gateway Authentication OTP'}, '@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'31', 'help-string'=>'GlobalProtect client configurations'}, 'refresh-config'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'optional'=>'yes', 'help-string'=>'Enable portal config refresh'}, 'mdm-address'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'regex'=>'^([a-zA-Z0-9._-])+$', 'optional'=>'yes', 'help-string'=>'IP address or hostname for GlobalProtect MDM server'}, 'mdm-enrollment-port'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'443', 'help-string'=>'MDM enrollment port', 'enum'=>[{'value'=>'443'}, {'value'=>'7443'}, {'value'=>'8443'}]}} # Save User Credentials def save_user_credentials prop_get('save-user-credentials') end # Save User Credentials def save_user_credentials=(val) prop_set('save-user-credentials', val) end # Portal Authentication OTP def portal_2fa prop_get('portal-2fa') end # Portal Authentication OTP def portal_2fa=(val) prop_set('portal-2fa', val) end # Internal Gateway Authentication OTP def internal_gateway_2fa prop_get('internal-gateway-2fa') end # Internal Gateway Authentication OTP def internal_gateway_2fa=(val) prop_set('internal-gateway-2fa', val) end # Auto Discovery External Gateway Authentication OTP def auto_discovery_external_gateway_2fa prop_get('auto-discovery-external-gateway-2fa') end # Auto Discovery External Gateway Authentication OTP def auto_discovery_external_gateway_2fa=(val) prop_set('auto-discovery-external-gateway-2fa', val) end # Manual Only External Gateway Authentication OTP def manual_only_gateway_2fa prop_get('manual-only-gateway-2fa') end # Manual Only External Gateway Authentication OTP def manual_only_gateway_2fa=(val) prop_set('manual-only-gateway-2fa', val) end # GlobalProtect client configurations def name prop_get('@name') end # Enable portal config refresh def refresh_config prop_get('refresh-config') end # Enable portal config refresh def refresh_config=(val) prop_set('refresh-config', val) end # IP address or hostname for GlobalProtect MDM server def mdm_address prop_get('mdm-address') end # IP address or hostname for GlobalProtect MDM server def mdm_address=(val) prop_set('mdm-address', val) end # MDM enrollment port def mdm_enrollment_port prop_get('mdm-enrollment-port') end # MDM enrollment port def mdm_enrollment_port=(val) prop_set('mdm-enrollment-port', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def configs maybe_register_subclass('configs', Configs.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'agent-user-override-key'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'encrypt'=>'yes', 'skip-fips-chk'=>'yes', 'minlen'=>'1', 'maxlen'=>'4', 'help-string'=>'Agent user override ticket key'}} # Agent user override ticket key def agent_user_override_key prop_get('agent-user-override-key') end # Agent user override ticket key def agent_user_override_key=(val) prop_set('agent-user-override-key', val) end end def client_config @subclasses['client-config'] ||= ClientConfig.new(parent_instance: self, client: @client, create_children: @create_children) end class SatelliteConfig < ConfigClass def has_multiple_values?; false; end def _section :'satellite-config' end class RootCa < XML::ConfigClass def has_multiple_values?; true; end def _section :'root-ca' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'maxlen'=>'255'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def root_ca maybe_register_subclass('root-ca', RootCa.new(parent_instance: self, client: @client, create_children: @create_children)) end class ClientCertificate < XML::ConfigClass def has_multiple_values?; true; end def _section :'client-certificate' end class Local < ConfigClass def has_multiple_values?; false; end def _section :local end @props = {'issuing-certificate'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Issuing certificate to issue GlobalProtect satellite certificate'}, 'ocsp-responder'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'OCSP responder'}, 'certificate-life-time'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'7', 'max'=>'365', 'default'=>'7', 'help-string'=>'Issued GlobalProtect satellite certificate life time in days'}, 'certificate-renewal-period'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'3', 'max'=>'30', 'default'=>'3', 'help-string'=>'GlobalProtect satellite certificate renewal period in days'}} # Issuing certificate to issue GlobalProtect satellite certificate def issuing_certificate prop_get('issuing-certificate') end # Issuing certificate to issue GlobalProtect satellite certificate def issuing_certificate=(val) prop_set('issuing-certificate', val) end # OCSP responder def ocsp_responder prop_get('ocsp-responder') end # OCSP responder def ocsp_responder=(val) prop_set('ocsp-responder', val) end # Issued GlobalProtect satellite certificate life time in days def certificate_life_time prop_get('certificate-life-time') end # Issued GlobalProtect satellite certificate life time in days def certificate_life_time=(val) prop_set('certificate-life-time', val) end # GlobalProtect satellite certificate renewal period in days def certificate_renewal_period prop_get('certificate-renewal-period') end # GlobalProtect satellite certificate renewal period in days def certificate_renewal_period=(val) prop_set('certificate-renewal-period', val) end end def local @subclasses['local'] ||= Local.new(parent_instance: self, client: @client, create_children: @create_children) end class Scep < ConfigClass def has_multiple_values?; false; end def _section :scep end @props = {'scep'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'255'}, 'certificate-renewal-period'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'3', 'max'=>'30', 'default'=>'3', 'help-string'=>'GlobalProtect satellite certificate renewal period in days'}} def scep prop_get('scep') end def scep=(val) prop_set('scep', val) end # GlobalProtect satellite certificate renewal period in days def certificate_renewal_period prop_get('certificate-renewal-period') end # GlobalProtect satellite certificate renewal period in days def certificate_renewal_period=(val) prop_set('certificate-renewal-period', val) end end def scep @subclasses['scep'] ||= Scep.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def client_certificate maybe_register_subclass('client-certificate', ClientCertificate.new(parent_instance: self, client: @client, create_children: @create_children)) end class Configs < XML::ConfigClass def has_multiple_values?; true; end def _section :configs end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'63', 'regex'=>'^[0-9A-F]+$', 'help-string'=>'GlobalProtect satellite pan device serial number'}} # GlobalProtect satellite pan device serial number def member prop_get('member') end # GlobalProtect satellite pan device serial number def member=(val) prop_set('member', val) end end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceUser < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-user' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'1023', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any user'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_user maybe_register_subclass('source-user', SourceUser.new(parent_instance: self, client: @client, create_children: @create_children)) end class Gateways < XML::ConfigClass def has_multiple_values?; true; end def _section :gateways end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Ip < ConfigClass def has_multiple_values?; false; end def _section :ip end @props = {'ipv4'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'100', 'help-string'=>'IPv4'}, 'ipv6'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'100', 'help-string'=>'IPv6'}} # IPv4 def ipv4 prop_get('ipv4') end # IPv4 def ipv4=(val) prop_set('ipv4', val) end # IPv6 def ipv6 prop_get('ipv6') end # IPv6 def ipv6=(val) prop_set('ipv6', val) end end def ip @subclasses['ip'] ||= Ip.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'255', 'help-string'=>'description of the gateway'}, 'fqdn'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'regex'=>'^([$:/a-zA-Z0-9._-])+$', 'help-string'=>'fqdn'}, 'ipv6-preferred'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'IPv6 Preferred'}, 'priority'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'25', 'help-string'=>'Priority of GlobalProtect gateway'}} # description of the gateway def name prop_get('@name') end # fqdn def fqdn prop_get('fqdn') end # fqdn def fqdn=(val) prop_set('fqdn', val) end # IPv6 Preferred def ipv6_preferred prop_get('ipv6-preferred') end # IPv6 Preferred def ipv6_preferred=(val) prop_set('ipv6-preferred', val) end # Priority of GlobalProtect gateway def priority prop_get('priority') end # Priority of GlobalProtect gateway def priority=(val) prop_set('priority', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def gateways maybe_register_subclass('gateways', Gateways.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'31', 'help-string'=>'GlobalProtect satellite config rule'}, 'config-refresh-interval'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'1', 'max'=>'48', 'default'=>'24', 'help-string'=>'GlobalProtect satellite configuration refresh interval in hours'}} # GlobalProtect satellite config rule def name prop_get('@name') end # GlobalProtect satellite configuration refresh interval in hours def config_refresh_interval prop_get('config-refresh-interval') end # GlobalProtect satellite configuration refresh interval in hours def config_refresh_interval=(val) prop_set('config-refresh-interval', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def configs maybe_register_subclass('configs', Configs.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def satellite_config @subclasses['satellite-config'] ||= SatelliteConfig.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string begin with letter: [ 0-9a-zA-Z._-]'}} # alphanumeric string begin with letter: [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def global_protect_portal maybe_register_subclass('global-protect-portal', GlobalProtectPortal.new(parent_instance: self, client: @client, create_children: @create_children)) end class GlobalProtectGateway < XML::ConfigClass def has_multiple_values?; true; end def _section :'global-protect-gateway' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class RemoteUserTunnelConfigs < XML::ConfigClass def has_multiple_values?; true; end def _section :'remote-user-tunnel-configs' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SourceUser < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-user' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'1023', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any user'}, {'value'=>'pre-logon', 'help-string'=>'prelogon client machine'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_user maybe_register_subclass('source-user', SourceUser.new(parent_instance: self, client: @client, create_children: @create_children)) end class AuthenticationOverride < ConfigClass def has_multiple_values?; false; end def _section :'authentication-override' end class AcceptCookie < ConfigClass def has_multiple_values?; false; end def _section :'accept-cookie' end class CookieLifetime < XML::ConfigClass def has_multiple_values?; true; end def _section :'cookie-lifetime' end @props = {'lifetime-in-days'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'365', 'default'=>'365', 'optional'=>'yes', 'help-string'=>'Cookie lifetime in days', 'uiHint-fieldLabel'=>'Days'}, 'lifetime-in-hours'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'72', 'default'=>'24', 'optional'=>'yes', 'help-string'=>'Cookie lifetime in hours', 'uiHint-fieldLabel'=>'Hours'}, 'lifetime-in-minutes'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'59', 'default'=>'5', 'optional'=>'yes', 'help-string'=>'Cookie lifetime in minutes', 'uiHint-fieldLabel'=>'Minutes'}} # Cookie lifetime in days def lifetime_in_days prop_get('lifetime-in-days') end # Cookie lifetime in days def lifetime_in_days=(val) prop_set('lifetime-in-days', val) end # Cookie lifetime in hours def lifetime_in_hours prop_get('lifetime-in-hours') end # Cookie lifetime in hours def lifetime_in_hours=(val) prop_set('lifetime-in-hours', val) end # Cookie lifetime in minutes def lifetime_in_minutes prop_get('lifetime-in-minutes') end # Cookie lifetime in minutes def lifetime_in_minutes=(val) prop_set('lifetime-in-minutes', val) end end def cookie_lifetime maybe_register_subclass('cookie-lifetime', CookieLifetime.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def accept_cookie @subclasses['accept-cookie'] ||= AcceptCookie.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'generate-cookie'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Generate cookie for authentication override'}, 'cookie-encrypt-decrypt-cert'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Certificate to Encrypt/Decrypt Cookie', 'maxlen'=>'255', 'uiHint-fieldLabel'=>'Certificate to Encrypt/Decrypt cookie'}} # Generate cookie for authentication override def generate_cookie prop_get('generate-cookie') end # Generate cookie for authentication override def generate_cookie=(val) prop_set('generate-cookie', val) end # Certificate to Encrypt/Decrypt Cookie def cookie_encrypt_decrypt_cert prop_get('cookie-encrypt-decrypt-cert') end # Certificate to Encrypt/Decrypt Cookie def cookie_encrypt_decrypt_cert=(val) prop_set('cookie-encrypt-decrypt-cert', val) end end def authentication_override @subclasses['authentication-override'] ||= AuthenticationOverride.new(parent_instance: self, client: @client, create_children: @create_children) end class Os < XML::ConfigClass def has_multiple_values?; true; end def _section :os end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'any'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def os maybe_register_subclass('os', Os.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceAddress < ConfigClass def has_multiple_values?; false; end def _section :'source-address' end class Region < XML::ConfigClass def has_multiple_values?; true; end def _section :region end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'maxlen'=>'63'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def region maybe_register_subclass('region', Region.new(parent_instance: self, client: @client, create_children: @create_children)) end class IpAddress < XML::ConfigClass def has_multiple_values?; true; end def _section :'ip-address' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{}, 'iprangespec'=>{}, 'string'=>{'maxlen'=>'63', 'loose-membership'=>'yes'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def ip_address maybe_register_subclass('ip-address', IpAddress.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def source_address @subclasses['source-address'] ||= SourceAddress.new(parent_instance: self, client: @client, create_children: @create_children) end class DnsServer < XML::ConfigClass def has_multiple_values?; true; end def _section :'dns-server' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'40', 'help-string'=>'DNS server for client'}} # DNS server for client def member prop_get('member') end # DNS server for client def member=(val) prop_set('member', val) end end def dns_server maybe_register_subclass('dns-server', DnsServer.new(parent_instance: self, client: @client, create_children: @create_children)) end class DnsSuffix < XML::ConfigClass def has_multiple_values?; true; end def _section :'dns-suffix' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'DNS suffix for client'}} # DNS suffix for client def member prop_get('member') end # DNS suffix for client def member=(val) prop_set('member', val) end end def dns_suffix maybe_register_subclass('dns-suffix', DnsSuffix.new(parent_instance: self, client: @client, create_children: @create_children)) end class IpPool < XML::ConfigClass def has_multiple_values?; true; end def _section :'ip-pool' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes'}, 'iprangespec'=>{}, 'string'=>{'maxlen'=>'63', 'loose-membership'=>'yes'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def ip_pool maybe_register_subclass('ip-pool', IpPool.new(parent_instance: self, client: @client, create_children: @create_children)) end class SplitTunneling < ConfigClass def has_multiple_values?; false; end def _section :'split-tunneling' end class AccessRoute < XML::ConfigClass def has_multiple_values?; true; end def _section :'access-route' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes'}, 'string'=>{'maxlen'=>'63', 'loose-membership'=>'yes'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def access_route maybe_register_subclass('access-route', AccessRoute.new(parent_instance: self, client: @client, create_children: @create_children)) end class ExcludeAccessRoute < XML::ConfigClass def has_multiple_values?; true; end def _section :'exclude-access-route' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes'}, 'string'=>{'maxlen'=>'63', 'loose-membership'=>'yes'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def exclude_access_route maybe_register_subclass('exclude-access-route', ExcludeAccessRoute.new(parent_instance: self, client: @client, create_children: @create_children)) end class IncludeApplications < XML::ConfigClass def has_multiple_values?; true; end def _section :'include-applications' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'511', 'max-count'=>'200'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def include_applications maybe_register_subclass('include-applications', IncludeApplications.new(parent_instance: self, client: @client, create_children: @create_children)) end class IncludeDomains < ConfigClass def has_multiple_values?; false; end def _section :'include-domains' end class List < XML::ConfigClass def has_multiple_values?; true; end def _section :list end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Ports < XML::ConfigClass def has_multiple_values?; true; end def _section :ports end @props = {'member'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'1', 'max'=>'65535'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def ports maybe_register_subclass('ports', Ports.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'255', 'regex'=>'^\*?([:/a-zA-Z0-9._\.\-])+$', 'help-string'=>'Dotted domain name with optional wildcards'}} # Dotted domain name with optional wildcards def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def list maybe_register_subclass('list', List.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def include_domains @subclasses['include-domains'] ||= IncludeDomains.new(parent_instance: self, client: @client, create_children: @create_children) end class ExcludeApplications < XML::ConfigClass def has_multiple_values?; true; end def _section :'exclude-applications' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'511', 'max-count'=>'200'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def exclude_applications maybe_register_subclass('exclude-applications', ExcludeApplications.new(parent_instance: self, client: @client, create_children: @create_children)) end class ExcludeDomains < ConfigClass def has_multiple_values?; false; end def _section :'exclude-domains' end class List < XML::ConfigClass def has_multiple_values?; true; end def _section :list end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Ports < XML::ConfigClass def has_multiple_values?; true; end def _section :ports end @props = {'member'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'1', 'max'=>'65535'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def ports maybe_register_subclass('ports', Ports.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'255', 'regex'=>'^\*?([:/a-zA-Z0-9._\.\-])+$', 'help-string'=>'Dotted domain name with optional wildcards'}} # Dotted domain name with optional wildcards def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def list maybe_register_subclass('list', List.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def exclude_domains @subclasses['exclude-domains'] ||= ExcludeDomains.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def split_tunneling @subclasses['split-tunneling'] ||= SplitTunneling.new(parent_instance: self, client: @client, create_children: @create_children) end class AuthenticationServerIpPool < XML::ConfigClass def has_multiple_values?; true; end def _section :'authentication-server-ip-pool' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes'}, 'iprangespec'=>{}, 'string'=>{'maxlen'=>'63', 'loose-membership'=>'yes'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def authentication_server_ip_pool maybe_register_subclass('authentication-server-ip-pool', AuthenticationServerIpPool.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'31', 'help-string'=>'GlobalProtect gateway remote user tunnel configuration name'}, 'no-direct-access-to-local-network'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'No direct access to local network'}, 'retrieve-framed-ip-address'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'retrieve framed ip address'}} # GlobalProtect gateway remote user tunnel configuration name def name prop_get('@name') end # No direct access to local network def no_direct_access_to_local_network prop_get('no-direct-access-to-local-network') end # No direct access to local network def no_direct_access_to_local_network=(val) prop_set('no-direct-access-to-local-network', val) end # retrieve framed ip address def retrieve_framed_ip_address prop_get('retrieve-framed-ip-address') end # retrieve framed ip address def retrieve_framed_ip_address=(val) prop_set('retrieve-framed-ip-address', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def remote_user_tunnel_configs maybe_register_subclass('remote-user-tunnel-configs', RemoteUserTunnelConfigs.new(parent_instance: self, client: @client, create_children: @create_children)) end class ClientAuth < XML::ConfigClass def has_multiple_values?; true; end def _section :'client-auth' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'31', 'help-string'=>'GlobalProtect client authentication name'}, 'os'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'Any', 'help-string'=>'Client OS', 'multi-types'=>{'string'=>{'maxlen'=>'31', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'Any'}, {'value'=>'Satellite'}, {'value'=>'X-Auth', 'help-string'=>'Third party IPSec clients'}]}}, 'authentication-profile'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'authentication profile used for this GlobalProtect'}, 'auto-retrieve-passcode'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Automatically retrieve passcode from SoftToken application'}, 'username-label'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'20', 'default'=>'Username', 'optional'=>'yes', 'help-string'=>'Username Label'}, 'password-label'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'20', 'default'=>'Password', 'optional'=>'yes', 'help-string'=>'Password Label'}, 'authentication-message'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256', 'default'=>'Enter login credentials', 'optional'=>'yes', 'help-string'=>'Authentication Message'}, 'user-credential-or-client-cert-required'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Allow Authentication with User Credentials OR Client Certificate', 'enum'=>[{'value'=>'no', 'help-string'=>'No (User Credentials AND Client Certificate Required)'}, {'value'=>'yes', 'help-string'=>'Yes (User Credentials OR Client Certificate Required)'}]}} # GlobalProtect client authentication name def name prop_get('@name') end # Client OS def os prop_get('os') end # Client OS def os=(val) prop_set('os', val) end # authentication profile used for this GlobalProtect def authentication_profile prop_get('authentication-profile') end # authentication profile used for this GlobalProtect def authentication_profile=(val) prop_set('authentication-profile', val) end # Automatically retrieve passcode from SoftToken application def auto_retrieve_passcode prop_get('auto-retrieve-passcode') end # Automatically retrieve passcode from SoftToken application def auto_retrieve_passcode=(val) prop_set('auto-retrieve-passcode', val) end # Username Label def username_label prop_get('username-label') end # Username Label def username_label=(val) prop_set('username-label', val) end # Password Label def password_label prop_get('password-label') end # Password Label def password_label=(val) prop_set('password-label', val) end # Authentication Message def authentication_message prop_get('authentication-message') end # Authentication Message def authentication_message=(val) prop_set('authentication-message', val) end # Allow Authentication with User Credentials OR Client Certificate def user_credential_or_client_cert_required prop_get('user-credential-or-client-cert-required') end # Allow Authentication with User Credentials OR Client Certificate def user_credential_or_client_cert_required=(val) prop_set('user-credential-or-client-cert-required', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def client_auth maybe_register_subclass('client-auth', ClientAuth.new(parent_instance: self, client: @client, create_children: @create_children)) end class LocalAddress < ConfigClass def has_multiple_values?; false; end def _section :'local-address' end class Ip < ConfigClass def has_multiple_values?; false; end def _section :ip end @props = {'ipv4'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'IPv4 addresses'}, 'ipv6'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'IPv6 address'}} # IPv4 addresses def ipv4 prop_get('ipv4') end # IPv4 addresses def ipv4=(val) prop_set('ipv4', val) end # IPv6 address def ipv6 prop_get('ipv6') end # IPv6 address def ipv6=(val) prop_set('ipv6', val) end end def ip @subclasses['ip'] ||= Ip.new(parent_instance: self, client: @client, create_children: @create_children) end class FloatingIp < ConfigClass def has_multiple_values?; false; end def _section :'floating-ip' end @props = {'ipv4'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Floating IPv4 address'}, 'ipv6'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'Floating IPv6 address'}} # Floating IPv4 address def ipv4 prop_get('ipv4') end # Floating IPv4 address def ipv4=(val) prop_set('ipv4', val) end # Floating IPv6 address def ipv6 prop_get('ipv6') end # Floating IPv6 address def ipv6=(val) prop_set('ipv6', val) end end def floating_ip @subclasses['floating-ip'] ||= FloatingIp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'ip-address-family'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'ipv4', 'optional'=>'yes', 'help-string'=>'specify the family of the local address', 'enum'=>[{'value'=>'ipv4', 'help-string'=>'IPv4 Only'}, {'value'=>'ipv6', 'help-string'=>'IPv6 Only'}, {'value'=>'ipv4_ipv6', 'help-string'=>'IPv4 and IPv6'}]}, 'interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'local gateway end-point'}} # specify the family of the local address def ip_address_family prop_get('ip-address-family') end # specify the family of the local address def ip_address_family=(val) prop_set('ip-address-family', val) end # local gateway end-point def interface prop_get('interface') end # local gateway end-point def interface=(val) prop_set('interface', val) end end def local_address @subclasses['local-address'] ||= LocalAddress.new(parent_instance: self, client: @client, create_children: @create_children) end class SecurityRestrictions < ConfigClass def has_multiple_values?; false; end def _section :'security-restrictions' end class SourceIpEnforcement < ConfigClass def has_multiple_values?; false; end def _section :'source-ip-enforcement' end class Default < ConfigClass def has_multiple_values?; false; end def _section :default end @props = {} end def default @subclasses['default'] ||= Default.new(parent_instance: self, client: @client, create_children: @create_children) end class Custom < ConfigClass def has_multiple_values?; false; end def _section :custom end @props = {'source-ipv4-netmask'=>{'node-type'=>'element', 'help-string'=>'Source IPv4 Netmask', 'type'=>'rangedint', 'max'=>'32', 'min'=>'0'}, 'source-ipv6-netmask'=>{'node-type'=>'element', 'help-string'=>'Source IPv6 Netmask', 'type'=>'rangedint', 'max'=>'128', 'min'=>'0'}} # Source IPv4 Netmask def source_ipv4_netmask prop_get('source-ipv4-netmask') end # Source IPv4 Netmask def source_ipv4_netmask=(val) prop_set('source-ipv4-netmask', val) end # Source IPv6 Netmask def source_ipv6_netmask prop_get('source-ipv6-netmask') end # Source IPv6 Netmask def source_ipv6_netmask=(val) prop_set('source-ipv6-netmask', val) end end def custom @subclasses['custom'] ||= Custom.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Allow Authentication Cookie Usage Only'}} # Allow Authentication Cookie Usage Only def enable prop_get('enable') end # Allow Authentication Cookie Usage Only def enable=(val) prop_set('enable', val) end end def source_ip_enforcement @subclasses['source-ip-enforcement'] ||= SourceIpEnforcement.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'disallow-automatic-restoration'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Disallow Automatic Restoration of SSL VPN'}} # Disallow Automatic Restoration of SSL VPN def disallow_automatic_restoration prop_get('disallow-automatic-restoration') end # Disallow Automatic Restoration of SSL VPN def disallow_automatic_restoration=(val) prop_set('disallow-automatic-restoration', val) end end def security_restrictions @subclasses['security-restrictions'] ||= SecurityRestrictions.new(parent_instance: self, client: @client, create_children: @create_children) end class Roles < XML::ConfigClass def has_multiple_values?; true; end def _section :roles end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class ClientMaxBandwidth < ConfigClass def has_multiple_values?; false; end def _section :'client-max-bandwidth' end @props = {'client-to-gateway'=>{'node-type'=>'element', 'type'=>'float', 'optional'=>'yes', 'min'=>'0', 'max'=>'100', 'default'=>'1', 'help-string'=>'client\'s max sending bandwidth through VPN in mbps'}, 'gateway-to-client'=>{'node-type'=>'element', 'type'=>'float', 'optional'=>'yes', 'min'=>'0', 'max'=>'100', 'default'=>'1', 'help-string'=>'client\'s max receiving bandwidth through VPN in mbps'}} # client's max sending bandwidth through VPN in mbps def client_to_gateway prop_get('client-to-gateway') end # client's max sending bandwidth through VPN in mbps def client_to_gateway=(val) prop_set('client-to-gateway', val) end # client's max receiving bandwidth through VPN in mbps def gateway_to_client prop_get('gateway-to-client') end # client's max receiving bandwidth through VPN in mbps def gateway_to_client=(val) prop_set('gateway-to-client', val) end end def client_max_bandwidth @subclasses['client-max-bandwidth'] ||= ClientMaxBandwidth.new(parent_instance: self, client: @client, create_children: @create_children) end class LoginLifetime < XML::ConfigClass def has_multiple_values?; true; end def _section :'login-lifetime' end @props = {'minutes'=>{'node-type'=>'element', 'help-string'=>'specify lifetime in minutes', 'type'=>'rangedint', 'max'=>'43200', 'min'=>'120'}, 'hours'=>{'node-type'=>'element', 'help-string'=>'specify lifetime in hours', 'type'=>'rangedint', 'max'=>'720', 'min'=>'2'}, 'days'=>{'node-type'=>'element', 'help-string'=>'specify lifetime in days', 'type'=>'rangedint', 'max'=>'30', 'min'=>'1', 'default'=>'30'}} # specify lifetime in minutes def minutes prop_get('minutes') end # specify lifetime in minutes def minutes=(val) prop_set('minutes', val) end # specify lifetime in hours def hours prop_get('hours') end # specify lifetime in hours def hours=(val) prop_set('hours', val) end # specify lifetime in days def days prop_get('days') end # specify lifetime in days def days=(val) prop_set('days', val) end end def login_lifetime maybe_register_subclass('login-lifetime', LoginLifetime.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'enum', 'maxlen'=>'31', 'help-string'=>'tunnel traffic group', 'enum'=>[{'value'=>'default', 'help-string'=>'the default group of GlobalProtect gateway users'}]}, 'lifetime-notify-prior'=>{'node-type'=>'element', 'help-string'=>'Notify users before the lifetime expiration in the specified amount of minutes.', 'type'=>'rangedint', 'max'=>'60', 'min'=>'0', 'optional'=>'yes', 'default'=>'30'}, 'lifetime-notify-message'=>{'node-type'=>'element', 'help-string'=>'Lifetime expiration notification displayed on GP app', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'127', 'default'=>'Your GlobalProtect session will expire in 30 minutes. Please save your work before your session expires.'}, 'inactivity-logout'=>{'node-type'=>'element', 'help-string'=>'Logout the GlobalProtect user session if the GlobalProtect app has not sent traffic in the specified amount of minutes.', 'type'=>'rangedint', 'max'=>'43200', 'min'=>'5', 'optional'=>'yes', 'default'=>'180'}, 'inactivity-notify-prior'=>{'node-type'=>'element', 'help-string'=>'Notify users before the inactivity timeout in the specified amount of minutes.', 'type'=>'rangedint', 'max'=>'60', 'min'=>'0', 'optional'=>'yes', 'default'=>'30'}, 'inactivity-notify-message'=>{'node-type'=>'element', 'help-string'=>'Inactivity logout notification displayed on GP app', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'127', 'default'=>'Your GlobalProtect session will time out in 30 minutes. Please save your work before your session times out.'}, 'admin-logout-notify'=>{'node-type'=>'element', 'help-string'=>'Notify users on admin logout', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}, 'admin-logout-notify-message'=>{'node-type'=>'element', 'help-string'=>'Admin logout notification displayed on GP app', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'127', 'default'=>'Your administrator has logged you out.'}} # tunnel traffic group def name prop_get('@name') end # Notify users before the lifetime expiration in the specified amount of minutes. def lifetime_notify_prior prop_get('lifetime-notify-prior') end # Notify users before the lifetime expiration in the specified amount of minutes. def lifetime_notify_prior=(val) prop_set('lifetime-notify-prior', val) end # Lifetime expiration notification displayed on GP app def lifetime_notify_message prop_get('lifetime-notify-message') end # Lifetime expiration notification displayed on GP app def lifetime_notify_message=(val) prop_set('lifetime-notify-message', val) end # Logout the GlobalProtect user session if the GlobalProtect app has not sent traffic in the specified amount of minutes. def inactivity_logout prop_get('inactivity-logout') end # Logout the GlobalProtect user session if the GlobalProtect app has not sent traffic in the specified amount of minutes. def inactivity_logout=(val) prop_set('inactivity-logout', val) end # Notify users before the inactivity timeout in the specified amount of minutes. def inactivity_notify_prior prop_get('inactivity-notify-prior') end # Notify users before the inactivity timeout in the specified amount of minutes. def inactivity_notify_prior=(val) prop_set('inactivity-notify-prior', val) end # Inactivity logout notification displayed on GP app def inactivity_notify_message prop_get('inactivity-notify-message') end # Inactivity logout notification displayed on GP app def inactivity_notify_message=(val) prop_set('inactivity-notify-message', val) end # Notify users on admin logout def admin_logout_notify prop_get('admin-logout-notify') end # Notify users on admin logout def admin_logout_notify=(val) prop_set('admin-logout-notify', val) end # Admin logout notification displayed on GP app def admin_logout_notify_message prop_get('admin-logout-notify-message') end # Admin logout notification displayed on GP app def admin_logout_notify_message=(val) prop_set('admin-logout-notify-message', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def roles maybe_register_subclass('roles', Roles.new(parent_instance: self, client: @client, create_children: @create_children)) end class HipNotification < XML::ConfigClass def has_multiple_values?; true; end def _section :'hip-notification' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class MatchMessage < ConfigClass def has_multiple_values?; false; end def _section :'match-message' end @props = {'include-app-list'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Whether include matched application list in message', 'uiHint-fieldLabel'=>'Include Mobile App List'}, 'show-notification-as'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'system-tray-balloon', 'help-string'=>'Show notification as', 'enum'=>[{'value'=>'system-tray-balloon'}, {'value'=>'pop-up-message'}]}, 'message'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'10239', 'help-string'=>'Matched message'}} # Whether include matched application list in message def include_app_list prop_get('include-app-list') end # Whether include matched application list in message def include_app_list=(val) prop_set('include-app-list', val) end # Show notification as def show_notification_as prop_get('show-notification-as') end # Show notification as def show_notification_as=(val) prop_set('show-notification-as', val) end # Matched message def message prop_get('message') end # Matched message def message=(val) prop_set('message', val) end end def match_message @subclasses['match-message'] ||= MatchMessage.new(parent_instance: self, client: @client, create_children: @create_children) end class NotMatchMessage < ConfigClass def has_multiple_values?; false; end def _section :'not-match-message' end @props = {'show-notification-as'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'system-tray-balloon', 'help-string'=>'Show notification as', 'enum'=>[{'value'=>'system-tray-balloon'}, {'value'=>'pop-up-message'}]}, 'message'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'10239', 'help-string'=>'Not matched message'}} # Show notification as def show_notification_as prop_get('show-notification-as') end # Show notification as def show_notification_as=(val) prop_set('show-notification-as', val) end # Not matched message def message prop_get('message') end # Not matched message def message=(val) prop_set('message', val) end end def not_match_message @subclasses['not-match-message'] ||= NotMatchMessage.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'31', 'help-string'=>'hip object name'}} # hip object name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def hip_notification maybe_register_subclass('hip-notification', HipNotification.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'31', 'help-string'=>'tunnel interface or name'}, 'remote-user-tunnel'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'GlobalProtect user tunnel'}, 'ssl-tls-service-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'help-string'=>'SSL TLS service profile'}, 'certificate-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Profile for authenticating client certificates'}, 'satellite-tunnel'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'GlobalProtect satellite tunnel'}, 'tunnel-mode'=>{'node-type'=>'element', 'type'=>'bool', 'help-string'=>'Tunnel mode'}, 'block-quarantined-devices'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Block login for quarantined devices'}, 'log-success'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Log successful TLS handshakes'}, 'log-fail'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'optional'=>'yes', 'help-string'=>'Log unsuccessful TLS handshakes'}, 'log-setting'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'maxlen'=>'63', 'optional'=>'yes'}} # tunnel interface or name def name prop_get('@name') end # GlobalProtect user tunnel def remote_user_tunnel prop_get('remote-user-tunnel') end # GlobalProtect user tunnel def remote_user_tunnel=(val) prop_set('remote-user-tunnel', val) end # SSL TLS service profile def ssl_tls_service_profile prop_get('ssl-tls-service-profile') end # SSL TLS service profile def ssl_tls_service_profile=(val) prop_set('ssl-tls-service-profile', val) end # Profile for authenticating client certificates def certificate_profile prop_get('certificate-profile') end # Profile for authenticating client certificates def certificate_profile=(val) prop_set('certificate-profile', val) end # GlobalProtect satellite tunnel def satellite_tunnel prop_get('satellite-tunnel') end # GlobalProtect satellite tunnel def satellite_tunnel=(val) prop_set('satellite-tunnel', val) end # Tunnel mode def tunnel_mode prop_get('tunnel-mode') end # Tunnel mode def tunnel_mode=(val) prop_set('tunnel-mode', val) end # Block login for quarantined devices def block_quarantined_devices prop_get('block-quarantined-devices') end # Block login for quarantined devices def block_quarantined_devices=(val) prop_set('block-quarantined-devices', val) end # Log successful TLS handshakes def log_success prop_get('log-success') end # Log successful TLS handshakes def log_success=(val) prop_set('log-success', val) end # Log unsuccessful TLS handshakes def log_fail prop_get('log-fail') end # Log unsuccessful TLS handshakes def log_fail=(val) prop_set('log-fail', val) end def log_setting prop_get('log-setting') end def log_setting=(val) prop_set('log-setting', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def global_protect_gateway maybe_register_subclass('global-protect-gateway', GlobalProtectGateway.new(parent_instance: self, client: @client, create_children: @create_children)) end class GlobalProtectMdm < XML::ConfigClass def has_multiple_values?; true; end def _section :'global-protect-mdm' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class RootCa < XML::ConfigClass def has_multiple_values?; true; end def _section :'root-ca' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'maxlen'=>'255'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def root_ca maybe_register_subclass('root-ca', RootCa.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'31', 'help-string'=>'GlobalProtect MDM server name'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}, 'host'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([$a-zA-Z0-9._:-])+$', 'minlen'=>'1', 'maxlen'=>'255', 'help-string'=>'IP address or hostname for GlobalProtect MDM server'}, 'port'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'1', 'max'=>'65535', 'default'=>'5008', 'help-string'=>'GlobalProtect MDM server listening port'}, 'client-certificate'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'SSL client certificate', 'maxlen'=>'255'}} # GlobalProtect MDM server name def name prop_get('@name') end def disabled prop_get('disabled') end def disabled=(val) prop_set('disabled', val) end # IP address or hostname for GlobalProtect MDM server def host prop_get('host') end # IP address or hostname for GlobalProtect MDM server def host=(val) prop_set('host', val) end # GlobalProtect MDM server listening port def port prop_get('port') end # GlobalProtect MDM server listening port def port=(val) prop_set('port', val) end # SSL client certificate def client_certificate prop_get('client-certificate') end # SSL client certificate def client_certificate=(val) prop_set('client-certificate', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def global_protect_mdm maybe_register_subclass('global-protect-mdm', GlobalProtectMdm.new(parent_instance: self, client: @client, create_children: @create_children)) end class ClientlessApp < XML::ConfigClass def has_multiple_values?; true; end def _section :'clientless-app' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'31', 'help-string'=>'clientless vpn application name'}, 'application-home-url'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([A-Za-z0-9_\.~!\*\'\(\);:@=\+\$,/\?#%\&-]|\[|\])+$', 'maxlen'=>'4095', 'help-string'=>'Home URL of application'}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'optional'=>'yes', 'help-string'=>'Description for application'}, 'app-icon'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'180000', 'optional'=>'yes', 'help-string'=>'application icon'}} # clientless vpn application name def name prop_get('@name') end # Home URL of application def application_home_url prop_get('application-home-url') end # Home URL of application def application_home_url=(val) prop_set('application-home-url', val) end # Description for application def description prop_get('description') end # Description for application def description=(val) prop_set('description', val) end # application icon def app_icon prop_get('app-icon') end # application icon def app_icon=(val) prop_set('app-icon', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def clientless_app maybe_register_subclass('clientless-app', ClientlessApp.new(parent_instance: self, client: @client, create_children: @create_children)) end class ClientlessAppGroup < XML::ConfigClass def has_multiple_values?; true; end def _section :'clientless-app-group' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Members < XML::ConfigClass def has_multiple_values?; true; end def _section :members end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'max-count'=>'200'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def members maybe_register_subclass('members', Members.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'31', 'help-string'=>'clientless vpn application group name'}} # clientless vpn application group name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def clientless_app_group maybe_register_subclass('clientless-app-group', ClientlessAppGroup.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def global_protect @subclasses['global-protect'] ||= GlobalProtect.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'vsys name'}, 'disable-inspect'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}} # vsys name def name prop_get('@name') end def disable_inspect prop_get('disable-inspect') end def disable_inspect=(val) prop_set('disable-inspect', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vsys maybe_register_subclass('vsys', Vsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'enum', 'maxlen'=>'31', 'help-string'=>'must be localhost.localdomain', 'enum'=>[{'value'=>'localhost.localdomain'}]}} # must be localhost.localdomain def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def config @subclasses['config'] ||= Config.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'255', 'help-string'=>'Description'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # Description def description prop_get('description') end # Description def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def template maybe_register_subclass('template', Template.new(parent_instance: self, client: @client, create_children: @create_children)) end class TemplateStack < XML::ConfigClass def has_multiple_values?; true; end def _section :'template-stack' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class AssociateClusters < XML::ConfigClass def has_multiple_values?; true; end def _section :'associate-clusters' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'64', 'help-string'=>'cluster'}} # cluster def member prop_get('member') end # cluster def member=(val) prop_set('member', val) end end def associate_clusters maybe_register_subclass('associate-clusters', AssociateClusters.new(parent_instance: self, client: @client, create_children: @create_children)) end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Variable < XML::ConfigClass def has_multiple_values?; true; end def _section :variable end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end @props = {'ip-netmask'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{}, 'enum'=>[{'value'=>'None'}]}}, 'ip-range'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'iprangespec'=>{}, 'enum'=>[{'value'=>'None'}]}}, 'fqdn'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'minlen'=>'1', 'maxlen'=>'255', 'regex'=>'^([a-zA-Z0-9._-])+$'}, 'enum'=>[{'value'=>'None'}]}}, 'group-id'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'rangedint'=>{}, 'enum'=>[{'value'=>'None'}]}}, 'device-priority'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'255'}, 'enum'=>[{'value'=>'None'}]}}, 'device-id'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'1'}, 'enum'=>[{'value'=>'None'}]}}, 'interface'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{}, 'enum'=>[{'value'=>'None'}]}}, 'as-number'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'4294967295'}, 'string'=>{'regex'=>'^[0-9]{1,5}\.[0-9]{1,5}$', 'maxlen'=>'11'}, 'enum'=>[{'value'=>'None'}]}}, 'qos-profile'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'minlen'=>'1', 'maxlen'=>'31', 'regex'=>'^([0-9a-zA-Z._-])+$'}, 'enum'=>[{'value'=>'None'}]}}, 'egress-max'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'float'=>{'min'=>'0', 'max'=>'60000'}, 'enum'=>[{'value'=>'None'}]}}, 'link-tag'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'minlen'=>'1', 'maxlen'=>'127'}, 'enum'=>[{'value'=>'None'}]}}} def ip_netmask prop_get('ip-netmask') end def ip_netmask=(val) prop_set('ip-netmask', val) end def ip_range prop_get('ip-range') end def ip_range=(val) prop_set('ip-range', val) end def fqdn prop_get('fqdn') end def fqdn=(val) prop_set('fqdn', val) end def group_id prop_get('group-id') end def group_id=(val) prop_set('group-id', val) end def device_priority prop_get('device-priority') end def device_priority=(val) prop_set('device-priority', val) end def device_id prop_get('device-id') end def device_id=(val) prop_set('device-id', val) end def interface prop_get('interface') end def interface=(val) prop_set('interface', val) end def as_number prop_get('as-number') end def as_number=(val) prop_set('as-number', val) end def qos_profile prop_get('qos-profile') end def qos_profile=(val) prop_set('qos-profile', val) end def egress_max prop_get('egress-max') end def egress_max=(val) prop_set('egress-max', val) end def link_tag prop_get('link-tag') end def link_tag=(val) prop_set('link-tag', val) end end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'regex'=>'^\$([a-zA-Z0-9._-])+$', 'help-string'=>'Variables need to begin with \'$\''}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'255', 'help-string'=>'Description'}} # Variables need to begin with '$' def name prop_get('@name') end # Description def description prop_get('description') end # Description def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def variable maybe_register_subclass('variable', Variable.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'64', 'regex'=>'^[0-9A-Z]+$', 'help-string'=>'device serial number'}} # device serial number def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class Settings < ConfigClass def has_multiple_values?; false; end def _section :settings end @props = {'default-vsys'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Default virtual system', 'in-tpl-stack'=>'yes'}} # Default virtual system def default_vsys prop_get('default-vsys') end # Default virtual system def default_vsys=(val) prop_set('default-vsys', val) end end def settings @subclasses['settings'] ||= Settings.new(parent_instance: self, client: @client, create_children: @create_children) end class Variable < XML::ConfigClass def has_multiple_values?; true; end def _section :variable end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end @props = {'ip-netmask'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{}, 'enum'=>[{'value'=>'None'}]}}, 'ip-range'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'iprangespec'=>{}, 'enum'=>[{'value'=>'None'}]}}, 'fqdn'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'minlen'=>'1', 'maxlen'=>'255', 'regex'=>'^([a-zA-Z0-9._-])+$'}, 'enum'=>[{'value'=>'None'}]}}, 'group-id'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'rangedint'=>{}, 'enum'=>[{'value'=>'None'}]}}, 'device-priority'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'255'}, 'enum'=>[{'value'=>'None'}]}}, 'device-id'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'1'}, 'enum'=>[{'value'=>'None'}]}}, 'interface'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{}, 'enum'=>[{'value'=>'None'}]}}, 'as-number'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'4294967295'}, 'string'=>{'regex'=>'^[0-9]{1,5}\.[0-9]{1,5}$', 'maxlen'=>'11'}, 'enum'=>[{'value'=>'None'}]}}, 'qos-profile'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'minlen'=>'1', 'maxlen'=>'31', 'regex'=>'^([0-9a-zA-Z._-])+$'}, 'enum'=>[{'value'=>'None'}]}}, 'egress-max'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'float'=>{'min'=>'0', 'max'=>'60000'}, 'enum'=>[{'value'=>'None'}]}}, 'link-tag'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'minlen'=>'1', 'maxlen'=>'127'}, 'enum'=>[{'value'=>'None'}]}}} def ip_netmask prop_get('ip-netmask') end def ip_netmask=(val) prop_set('ip-netmask', val) end def ip_range prop_get('ip-range') end def ip_range=(val) prop_set('ip-range', val) end def fqdn prop_get('fqdn') end def fqdn=(val) prop_set('fqdn', val) end def group_id prop_get('group-id') end def group_id=(val) prop_set('group-id', val) end def device_priority prop_get('device-priority') end def device_priority=(val) prop_set('device-priority', val) end def device_id prop_get('device-id') end def device_id=(val) prop_set('device-id', val) end def interface prop_get('interface') end def interface=(val) prop_set('interface', val) end def as_number prop_get('as-number') end def as_number=(val) prop_set('as-number', val) end def qos_profile prop_get('qos-profile') end def qos_profile=(val) prop_set('qos-profile', val) end def egress_max prop_get('egress-max') end def egress_max=(val) prop_set('egress-max', val) end def link_tag prop_get('link-tag') end def link_tag=(val) prop_set('link-tag', val) end end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'regex'=>'^\$([a-zA-Z0-9._-])+$', 'help-string'=>'Variables need to begin with \'$\''}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'255', 'help-string'=>'Description'}} # Variables need to begin with '$' def name prop_get('@name') end # Description def description prop_get('description') end # Description def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def variable maybe_register_subclass('variable', Variable.new(parent_instance: self, client: @client, create_children: @create_children)) end class Templates < XML::ConfigClass def has_multiple_values?; true; end def _section :templates end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'64', 'help-string'=>'template'}} # template def member prop_get('member') end # template def member=(val) prop_set('member', val) end end def templates maybe_register_subclass('templates', Templates.new(parent_instance: self, client: @client, create_children: @create_children)) end class UserGroupSource < ConfigClass def has_multiple_values?; false; end def _section :'user-group-source' end class MasterDevice < ConfigClass def has_multiple_values?; false; end def _section :'master-device' end @props = {'device'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'64'}, 'vsys'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes'}} def device prop_get('device') end def device=(val) prop_set('device', val) end def vsys prop_get('vsys') end def vsys=(val) prop_set('vsys', val) end end def master_device @subclasses['master-device'] ||= MasterDevice.new(parent_instance: self, client: @client, create_children: @create_children) end class CloudIdentityEngine < XML::ConfigClass def has_multiple_values?; true; end def _section :'cloud-identity-engine' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'cloud identity engine instance'}} # cloud identity engine instance def member prop_get('member') end # cloud identity engine instance def member=(val) prop_set('member', val) end end def cloud_identity_engine maybe_register_subclass('cloud-identity-engine', CloudIdentityEngine.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def user_group_source @subclasses['user-group-source'] ||= UserGroupSource.new(parent_instance: self, client: @client, create_children: @create_children) end class Config < ConfigClass def has_multiple_values?; false; end def _section :config end class MgtConfig < ConfigClass def has_multiple_values?; false; end def _section :'mgt-config' end class PasswordComplexity < ConfigClass def has_multiple_values?; false; end def _section :'password-complexity' end class PasswordChange < ConfigClass def has_multiple_values?; false; end def _section :'password-change' end @props = {'expiration-period'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'365', 'default'=>'0', 'help-string'=>'Password expiry days'}, 'expiration-warning-period'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'30', 'default'=>'0', 'help-string'=>'Password expiry warning period'}, 'post-expiration-admin-login-count'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'3', 'default'=>'0', 'help-string'=>'Password post-expiry admin login count'}, 'post-expiration-grace-period'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'30', 'default'=>'0', 'help-string'=>'Password post-expiry grace period'}} # Password expiry days def expiration_period prop_get('expiration-period') end # Password expiry days def expiration_period=(val) prop_set('expiration-period', val) end # Password expiry warning period def expiration_warning_period prop_get('expiration-warning-period') end # Password expiry warning period def expiration_warning_period=(val) prop_set('expiration-warning-period', val) end # Password post-expiry admin login count def post_expiration_admin_login_count prop_get('post-expiration-admin-login-count') end # Password post-expiry admin login count def post_expiration_admin_login_count=(val) prop_set('post-expiration-admin-login-count', val) end # Password post-expiry grace period def post_expiration_grace_period prop_get('post-expiration-grace-period') end # Password post-expiry grace period def post_expiration_grace_period=(val) prop_set('post-expiration-grace-period', val) end end def password_change @subclasses['password-change'] ||= PasswordChange.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enabled'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Enable minimal password complexity enforcement'}, 'block-username-inclusion'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Block inclusion of username and it\'s reverse'}, 'password-change-on-first-login'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Password must change on first time login'}, 'minimum-length'=>{'node-type'=>'element', 'prune-on'=>'fips-mode', 'type'=>'rangedint', 'min'=>'0', 'max'=>'16', 'optional'=>'yes', 'default'=>'0', 'help-string'=>'Minimum password length'}, 'minimum-uppercase-letters'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'15', 'optional'=>'yes', 'default'=>'0', 'help-string'=>'Minimum uppercase letters in the password'}, 'minimum-lowercase-letters'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'15', 'optional'=>'yes', 'default'=>'0', 'help-string'=>'Minimum lowercase letters in the password'}, 'minimum-numeric-letters'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'15', 'optional'=>'yes', 'default'=>'0', 'help-string'=>'Minimum numeric(0-9) letters in the password'}, 'minimum-special-characters'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'15', 'default'=>'0', 'optional'=>'yes', 'help-string'=>'Minimum special characters(non-alphanumeric) in the password'}, 'block-repeated-characters'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'15', 'default'=>'0', 'optional'=>'yes', 'help-string'=>'Block repeated characters count'}, 'password-history-count'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'150', 'default'=>'0', 'optional'=>'yes', 'help-string'=>'Save password history for password changes'}, 'new-password-differs-by-characters'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'15', 'optional'=>'yes', 'default'=>'0', 'help-string'=>'New Password must differ by the count chars'}, 'password-change-period-block'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'365', 'optional'=>'yes', 'default'=>'0', 'help-string'=>'Password change block period'}} # Enable minimal password complexity enforcement def enabled prop_get('enabled') end # Enable minimal password complexity enforcement def enabled=(val) prop_set('enabled', val) end # Block inclusion of username and it's reverse def block_username_inclusion prop_get('block-username-inclusion') end # Block inclusion of username and it's reverse def block_username_inclusion=(val) prop_set('block-username-inclusion', val) end # Password must change on first time login def password_change_on_first_login prop_get('password-change-on-first-login') end # Password must change on first time login def password_change_on_first_login=(val) prop_set('password-change-on-first-login', val) end # Minimum password length def minimum_length prop_get('minimum-length') end # Minimum password length def minimum_length=(val) prop_set('minimum-length', val) end # Minimum uppercase letters in the password def minimum_uppercase_letters prop_get('minimum-uppercase-letters') end # Minimum uppercase letters in the password def minimum_uppercase_letters=(val) prop_set('minimum-uppercase-letters', val) end # Minimum lowercase letters in the password def minimum_lowercase_letters prop_get('minimum-lowercase-letters') end # Minimum lowercase letters in the password def minimum_lowercase_letters=(val) prop_set('minimum-lowercase-letters', val) end # Minimum numeric(0-9) letters in the password def minimum_numeric_letters prop_get('minimum-numeric-letters') end # Minimum numeric(0-9) letters in the password def minimum_numeric_letters=(val) prop_set('minimum-numeric-letters', val) end # Minimum special characters(non-alphanumeric) in the password def minimum_special_characters prop_get('minimum-special-characters') end # Minimum special characters(non-alphanumeric) in the password def minimum_special_characters=(val) prop_set('minimum-special-characters', val) end # Block repeated characters count def block_repeated_characters prop_get('block-repeated-characters') end # Block repeated characters count def block_repeated_characters=(val) prop_set('block-repeated-characters', val) end # Save password history for password changes def password_history_count prop_get('password-history-count') end # Save password history for password changes def password_history_count=(val) prop_set('password-history-count', val) end # New Password must differ by the count chars def new_password_differs_by_characters prop_get('new-password-differs-by-characters') end # New Password must differ by the count chars def new_password_differs_by_characters=(val) prop_set('new-password-differs-by-characters', val) end # Password change block period def password_change_period_block prop_get('password-change-period-block') end # Password change block period def password_change_period_block=(val) prop_set('password-change-period-block', val) end end def password_complexity @subclasses['password-complexity'] ||= PasswordComplexity.new(parent_instance: self, client: @client, create_children: @create_children) end class PasswordProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'password-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class PasswordChange < ConfigClass def has_multiple_values?; false; end def _section :'password-change' end @props = {'expiration-period'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'365', 'default'=>'0', 'help-string'=>'Password expiry days'}, 'expiration-warning-period'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'30', 'default'=>'0', 'help-string'=>'Password expiry warning period'}, 'post-expiration-admin-login-count'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'3', 'default'=>'0', 'help-string'=>'Password post-expiry admin login count'}, 'post-expiration-grace-period'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'30', 'default'=>'0', 'help-string'=>'Password post-expiry grace period'}} # Password expiry days def expiration_period prop_get('expiration-period') end # Password expiry days def expiration_period=(val) prop_set('expiration-period', val) end # Password expiry warning period def expiration_warning_period prop_get('expiration-warning-period') end # Password expiry warning period def expiration_warning_period=(val) prop_set('expiration-warning-period', val) end # Password post-expiry admin login count def post_expiration_admin_login_count prop_get('post-expiration-admin-login-count') end # Password post-expiry admin login count def post_expiration_admin_login_count=(val) prop_set('post-expiration-admin-login-count', val) end # Password post-expiry grace period def post_expiration_grace_period prop_get('post-expiration-grace-period') end # Password post-expiry grace period def post_expiration_grace_period=(val) prop_set('post-expiration-grace-period', val) end end def password_change @subclasses['password-change'] ||= PasswordChange.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'regex'=>'^[A-Za-z][[A-Za-z0-9._-]*$', 'help-string'=>'Alphanumeric string starting with an Alphabet'}} # Alphanumeric string starting with an Alphabet def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def password_profile maybe_register_subclass('password-profile', PasswordProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class Users < XML::ConfigClass def has_multiple_values?; true; end def _section :users end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Preferences < ConfigClass def has_multiple_values?; false; end def _section :preferences end class SavedLogQuery < ConfigClass def has_multiple_values?; false; end def _section :'saved-log-query' end class Unified < XML::ConfigClass def has_multiple_values?; true; end def _section :unified end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'Device name'}, 'query'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048'}} # Device name def name prop_get('@name') end def query prop_get('query') end def query=(val) prop_set('query', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def unified maybe_register_subclass('unified', Unified.new(parent_instance: self, client: @client, create_children: @create_children)) end class Traffic < XML::ConfigClass def has_multiple_values?; true; end def _section :traffic end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'Device name'}, 'query'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048'}} # Device name def name prop_get('@name') end def query prop_get('query') end def query=(val) prop_set('query', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def traffic maybe_register_subclass('traffic', Traffic.new(parent_instance: self, client: @client, create_children: @create_children)) end class Threat < XML::ConfigClass def has_multiple_values?; true; end def _section :threat end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'Device name'}, 'query'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048'}} # Device name def name prop_get('@name') end def query prop_get('query') end def query=(val) prop_set('query', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def threat maybe_register_subclass('threat', Threat.new(parent_instance: self, client: @client, create_children: @create_children)) end class Gtp < XML::ConfigClass def has_multiple_values?; true; end def _section :gtp end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'Device name'}, 'query'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048'}} # Device name def name prop_get('@name') end def query prop_get('query') end def query=(val) prop_set('query', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def gtp maybe_register_subclass('gtp', Gtp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Url < XML::ConfigClass def has_multiple_values?; true; end def _section :url end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'Device name'}, 'query'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048'}} # Device name def name prop_get('@name') end def query prop_get('query') end def query=(val) prop_set('query', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def url maybe_register_subclass('url', Url.new(parent_instance: self, client: @client, create_children: @create_children)) end class Data < XML::ConfigClass def has_multiple_values?; true; end def _section :data end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'Device name'}, 'query'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048'}} # Device name def name prop_get('@name') end def query prop_get('query') end def query=(val) prop_set('query', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def data maybe_register_subclass('data', Data.new(parent_instance: self, client: @client, create_children: @create_children)) end class Config < XML::ConfigClass def has_multiple_values?; true; end def _section :config end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'Device name'}, 'query'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048'}} # Device name def name prop_get('@name') end def query prop_get('query') end def query=(val) prop_set('query', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def config maybe_register_subclass('config', Config.new(parent_instance: self, client: @client, create_children: @create_children)) end class System < XML::ConfigClass def has_multiple_values?; true; end def _section :system end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'Device name'}, 'query'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048'}} # Device name def name prop_get('@name') end def query prop_get('query') end def query=(val) prop_set('query', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def system maybe_register_subclass('system', System.new(parent_instance: self, client: @client, create_children: @create_children)) end class Wildfire < XML::ConfigClass def has_multiple_values?; true; end def _section :wildfire end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'Device name'}, 'query'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048'}} # Device name def name prop_get('@name') end def query prop_get('query') end def query=(val) prop_set('query', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def wildfire maybe_register_subclass('wildfire', Wildfire.new(parent_instance: self, client: @client, create_children: @create_children)) end class Hipmatch < XML::ConfigClass def has_multiple_values?; true; end def _section :hipmatch end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'Device name'}, 'query'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048'}} # Device name def name prop_get('@name') end def query prop_get('query') end def query=(val) prop_set('query', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def hipmatch maybe_register_subclass('hipmatch', Hipmatch.new(parent_instance: self, client: @client, create_children: @create_children)) end class Corr < XML::ConfigClass def has_multiple_values?; true; end def _section :corr end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'Device name'}, 'query'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048'}} # Device name def name prop_get('@name') end def query prop_get('query') end def query=(val) prop_set('query', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def corr maybe_register_subclass('corr', Corr.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tunnel < XML::ConfigClass def has_multiple_values?; true; end def _section :tunnel end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'Device name'}, 'query'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048'}} # Device name def name prop_get('@name') end def query prop_get('query') end def query=(val) prop_set('query', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def tunnel maybe_register_subclass('tunnel', Tunnel.new(parent_instance: self, client: @client, create_children: @create_children)) end class Userid < XML::ConfigClass def has_multiple_values?; true; end def _section :userid end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'Device name'}, 'query'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048'}} # Device name def name prop_get('@name') end def query prop_get('query') end def query=(val) prop_set('query', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def userid maybe_register_subclass('userid', Userid.new(parent_instance: self, client: @client, create_children: @create_children)) end class Auth < XML::ConfigClass def has_multiple_values?; true; end def _section :auth end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'Device name'}, 'query'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048'}} # Device name def name prop_get('@name') end def query prop_get('query') end def query=(val) prop_set('query', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def auth maybe_register_subclass('auth', Auth.new(parent_instance: self, client: @client, create_children: @create_children)) end class Globalprotect < XML::ConfigClass def has_multiple_values?; true; end def _section :globalprotect end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'Device name'}, 'query'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048'}} # Device name def name prop_get('@name') end def query prop_get('query') end def query=(val) prop_set('query', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def globalprotect maybe_register_subclass('globalprotect', Globalprotect.new(parent_instance: self, client: @client, create_children: @create_children)) end class Alarm < XML::ConfigClass def has_multiple_values?; true; end def _section :alarm end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'Device name'}, 'query'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048'}} # Device name def name prop_get('@name') end def query prop_get('query') end def query=(val) prop_set('query', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def alarm maybe_register_subclass('alarm', Alarm.new(parent_instance: self, client: @client, create_children: @create_children)) end class Decryption < XML::ConfigClass def has_multiple_values?; true; end def _section :decryption end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'Device name'}, 'query'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048'}} # Device name def name prop_get('@name') end def query prop_get('query') end def query=(val) prop_set('query', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def decryption maybe_register_subclass('decryption', Decryption.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def saved_log_query @subclasses['saved-log-query'] ||= SavedLogQuery.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'disable-dns'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} def disable_dns prop_get('disable-dns') end def disable_dns=(val) prop_set('disable-dns', val) end end def preferences @subclasses['preferences'] ||= Preferences.new(parent_instance: self, client: @client, create_children: @create_children) end class Permissions < XML::ConfigClass def has_multiple_values?; true; end def _section :permissions end class RoleBased < XML::ConfigClass def has_multiple_values?; true; end def _section :'role-based' end class Vsysreader < XML::ConfigClass def has_multiple_values?; true; end def _section :vsysreader end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Vsys < XML::ConfigClass def has_multiple_values?; true; end def _section :vsys end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def vsys maybe_register_subclass('vsys', Vsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'Device name'}} # Device name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vsysreader maybe_register_subclass('vsysreader', Vsysreader.new(parent_instance: self, client: @client, create_children: @create_children)) end class Vsysadmin < XML::ConfigClass def has_multiple_values?; true; end def _section :vsysadmin end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Vsys < XML::ConfigClass def has_multiple_values?; true; end def _section :vsys end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def vsys maybe_register_subclass('vsys', Vsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'Device name'}} # Device name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vsysadmin maybe_register_subclass('vsysadmin', Vsysadmin.new(parent_instance: self, client: @client, create_children: @create_children)) end class Devicereader < XML::ConfigClass def has_multiple_values?; true; end def _section :devicereader end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def devicereader maybe_register_subclass('devicereader', Devicereader.new(parent_instance: self, client: @client, create_children: @create_children)) end class Deviceadmin < XML::ConfigClass def has_multiple_values?; true; end def _section :deviceadmin end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def deviceadmin maybe_register_subclass('deviceadmin', Deviceadmin.new(parent_instance: self, client: @client, create_children: @create_children)) end class Custom < ConfigClass def has_multiple_values?; false; end def _section :custom end class Vsys < XML::ConfigClass def has_multiple_values?; true; end def _section :vsys end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def vsys maybe_register_subclass('vsys', Vsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}} def profile prop_get('profile') end def profile=(val) prop_set('profile', val) end end def custom @subclasses['custom'] ||= Custom.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'superreader'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'yes'}]}, 'superuser'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'yes'}]}, 'panorama-admin'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'yes'}]}} def superreader prop_get('superreader') end def superreader=(val) prop_set('superreader', val) end def superuser prop_get('superuser') end def superuser=(val) prop_set('superuser', val) end def panorama_admin prop_get('panorama-admin') end def panorama_admin=(val) prop_set('panorama-admin', val) end end def role_based maybe_register_subclass('role-based', RoleBased.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def permissions maybe_register_subclass('permissions', Permissions.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'^[a-zA-Z0-9_.-]+$', 'maxlen'=>'31', 'help-string'=>'user name (alphanumeric)'}, 'phash'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes'}, 'authentication-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'complete-handler'=>'user-auth-profile-completer'}, 'password-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes'}, 'client-certificate-only'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'help-string'=>'Is client certificate authentication enough?'}, 'public-key'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'1', 'maxlen'=>'4096', 'help-string'=>'Public RSA/DSA'}} # user name (alphanumeric) def name prop_get('@name') end def phash prop_get('phash') end def phash=(val) prop_set('phash', val) end def authentication_profile prop_get('authentication-profile') end def authentication_profile=(val) prop_set('authentication-profile', val) end def password_profile prop_get('password-profile') end def password_profile=(val) prop_set('password-profile', val) end # Is client certificate authentication enough? def client_certificate_only prop_get('client-certificate-only') end # Is client certificate authentication enough? def client_certificate_only=(val) prop_set('client-certificate-only', val) end # Public RSA/DSA def public_key prop_get('public-key') end # Public RSA/DSA def public_key=(val) prop_set('public-key', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def users maybe_register_subclass('users', Users.new(parent_instance: self, client: @client, create_children: @create_children)) end class AccessDomain < XML::ConfigClass def has_multiple_values?; true; end def _section :'access-domain' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Vsys < XML::ConfigClass def has_multiple_values?; true; end def _section :vsys end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def vsys maybe_register_subclass('vsys', Vsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def access_domain maybe_register_subclass('access-domain', AccessDomain.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def mgt_config @subclasses['mgt-config'] ||= MgtConfig.new(parent_instance: self, client: @client, create_children: @create_children) end class Shared < ConfigClass def has_multiple_values?; false; end def _section :shared end class GlobalProtect < ConfigClass def has_multiple_values?; false; end def _section :'global-protect' end class ClientlessApp < XML::ConfigClass def has_multiple_values?; true; end def _section :'clientless-app' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'31', 'help-string'=>'clientless vpn application name'}, 'application-home-url'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([A-Za-z0-9_\.~!\*\'\(\);:@=\+\$,/\?#%\&-]|\[|\])+$', 'maxlen'=>'4095', 'help-string'=>'Home URL of application'}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'optional'=>'yes', 'help-string'=>'Description for application'}, 'app-icon'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'180000', 'optional'=>'yes', 'help-string'=>'application icon'}} # clientless vpn application name def name prop_get('@name') end # Home URL of application def application_home_url prop_get('application-home-url') end # Home URL of application def application_home_url=(val) prop_set('application-home-url', val) end # Description for application def description prop_get('description') end # Description for application def description=(val) prop_set('description', val) end # application icon def app_icon prop_get('app-icon') end # application icon def app_icon=(val) prop_set('app-icon', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def clientless_app maybe_register_subclass('clientless-app', ClientlessApp.new(parent_instance: self, client: @client, create_children: @create_children)) end class ClientlessAppGroup < XML::ConfigClass def has_multiple_values?; true; end def _section :'clientless-app-group' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Members < XML::ConfigClass def has_multiple_values?; true; end def _section :members end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'max-count'=>'200'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def members maybe_register_subclass('members', Members.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'31', 'help-string'=>'clientless vpn application group name'}} # clientless vpn application group name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def clientless_app_group maybe_register_subclass('clientless-app-group', ClientlessAppGroup.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def global_protect @subclasses['global-protect'] ||= GlobalProtect.new(parent_instance: self, client: @client, create_children: @create_children) end class AuthenticationProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'authentication-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SingleSignOn < ConfigClass def has_multiple_values?; false; end def _section :'single-sign-on' end @props = {'realm'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'127', 'subtype'=>'object-name', 'help-string'=>'Kerberos realm to be used for authentication'}, 'service-principal'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'255', 'regex'=>'^([:/a-zA-Z0-9._-])+$', 'help-string'=>'Kerberos service principal'}, 'kerberos-keytab'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'131072', 'encrypt'=>'yes', 'help-string'=>'Kerberos keytab'}} # Kerberos realm to be used for authentication def realm prop_get('realm') end # Kerberos realm to be used for authentication def realm=(val) prop_set('realm', val) end # Kerberos service principal def service_principal prop_get('service-principal') end # Kerberos service principal def service_principal=(val) prop_set('service-principal', val) end # Kerberos keytab def kerberos_keytab prop_get('kerberos-keytab') end # Kerberos keytab def kerberos_keytab=(val) prop_set('kerberos-keytab', val) end end def single_sign_on @subclasses['single-sign-on'] ||= SingleSignOn.new(parent_instance: self, client: @client, create_children: @create_children) end class Lockout < ConfigClass def has_multiple_values?; false; end def _section :lockout end @props = {'failed-attempts'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'10', 'help-string'=>'Number of failed login attempts to trigger lock-out'}, 'lockout-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'60', 'default'=>'0', 'help-string'=>'Number of minutes to lock-out'}} # Number of failed login attempts to trigger lock-out def failed_attempts prop_get('failed-attempts') end # Number of failed login attempts to trigger lock-out def failed_attempts=(val) prop_set('failed-attempts', val) end # Number of minutes to lock-out def lockout_time prop_get('lockout-time') end # Number of minutes to lock-out def lockout_time=(val) prop_set('lockout-time', val) end end def lockout @subclasses['lockout'] ||= Lockout.new(parent_instance: self, client: @client, create_children: @create_children) end class AllowList < XML::ConfigClass def has_multiple_values?; true; end def _section :'allow-list' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'loose-membership'=>'yes', 'maxlen'=>'1023'}, 'enum'=>[{'value'=>'all', 'help-string'=>'all user and user groups'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def allow_list maybe_register_subclass('allow-list', AllowList.new(parent_instance: self, client: @client, create_children: @create_children)) end class Method < XML::ConfigClass def has_multiple_values?; true; end def _section :method end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end class Cloud < ConfigClass def has_multiple_values?; false; end def _section :cloud end class Region < ConfigClass def has_multiple_values?; false; end def _section :region end class Tenant < ConfigClass def has_multiple_values?; false; end def _section :tenant end class Profile < ConfigClass def has_multiple_values?; false; end def _section :profile end class Mfa < ConfigClass def has_multiple_values?; false; end def _section :mfa end @props = {'force-mfa'=>{'node-type'=>'element', 'type'=>'string', 'default'=>'no', 'complete-handler'=>'cas-force-mfa-completer', 'help-string'=>'force multi-factor authentication in cloud'}} # force multi-factor authentication in cloud def force_mfa prop_get('force-mfa') end # force multi-factor authentication in cloud def force_mfa=(val) prop_set('force-mfa', val) end end def mfa @subclasses['mfa'] ||= Mfa.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'profile_id'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'64', 'complete-handler'=>'cas-profile-completer', 'help-string'=>'CAS Profile id'}} # CAS Profile id def profile_id prop_get('profile_id') end # CAS Profile id def profile_id=(val) prop_set('profile_id', val) end end def profile @subclasses['profile'] ||= Profile.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'tenant_id'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'64', 'complete-handler'=>'cas-tenant-completer', 'help-string'=>'Tenant id'}} # Tenant id def tenant_id prop_get('tenant_id') end # Tenant id def tenant_id=(val) prop_set('tenant_id', val) end end def tenant @subclasses['tenant'] ||= Tenant.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'region_id'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'128', 'help-string'=>'Region Id', 'complete-handler'=>'cas-region-completer'}} # Region Id def region_id prop_get('region_id') end # Region Id def region_id=(val) prop_set('region_id', val) end end def region @subclasses['region'] ||= Region.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'clock-skew'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'900', 'default'=>'60', 'help-string'=>'clock skew between CAS service and device'}} # clock skew between CAS service and device def clock_skew prop_get('clock-skew') end # clock skew between CAS service and device def clock_skew=(val) prop_set('clock-skew', val) end end def cloud @subclasses['cloud'] ||= Cloud.new(parent_instance: self, client: @client, create_children: @create_children) end class LocalDatabase < ConfigClass def has_multiple_values?; false; end def _section :'local-database' end @props = {} end def local_database @subclasses['local-database'] ||= LocalDatabase.new(parent_instance: self, client: @client, create_children: @create_children) end class Radius < ConfigClass def has_multiple_values?; false; end def _section :radius end @props = {'server-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'RADIUS server profile object'}, 'checkgroup'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Retrieve user group from RADIUS'}} # RADIUS server profile object def server_profile prop_get('server-profile') end # RADIUS server profile object def server_profile=(val) prop_set('server-profile', val) end # Retrieve user group from RADIUS def checkgroup prop_get('checkgroup') end # Retrieve user group from RADIUS def checkgroup=(val) prop_set('checkgroup', val) end end def radius @subclasses['radius'] ||= Radius.new(parent_instance: self, client: @client, create_children: @create_children) end class Ldap < ConfigClass def has_multiple_values?; false; end def _section :ldap end @props = {'server-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'LDAP server profile object'}, 'login-attribute'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'Default is samAccountName for Active Directory, uid for other directory servers'}, 'passwd-exp-days'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255', 'optional'=>'yes', 'help-string'=>'Avail for Active Directory, eDir', 'default'=>'7'}} # LDAP server profile object def server_profile prop_get('server-profile') end # LDAP server profile object def server_profile=(val) prop_set('server-profile', val) end # Default is samAccountName for Active Directory, uid for other directory servers def login_attribute prop_get('login-attribute') end # Default is samAccountName for Active Directory, uid for other directory servers def login_attribute=(val) prop_set('login-attribute', val) end # Avail for Active Directory, eDir def passwd_exp_days prop_get('passwd-exp-days') end # Avail for Active Directory, eDir def passwd_exp_days=(val) prop_set('passwd-exp-days', val) end end def ldap @subclasses['ldap'] ||= Ldap.new(parent_instance: self, client: @client, create_children: @create_children) end class Kerberos < ConfigClass def has_multiple_values?; false; end def _section :kerberos end @props = {'server-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'Kerberos server profile object'}, 'realm'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127', 'subtype'=>'object-name', 'help-string'=>'Realm name to be used for authentication'}} # Kerberos server profile object def server_profile prop_get('server-profile') end # Kerberos server profile object def server_profile=(val) prop_set('server-profile', val) end # Realm name to be used for authentication def realm prop_get('realm') end # Realm name to be used for authentication def realm=(val) prop_set('realm', val) end end def kerberos @subclasses['kerberos'] ||= Kerberos.new(parent_instance: self, client: @client, create_children: @create_children) end class Tacplus < ConfigClass def has_multiple_values?; false; end def _section :tacplus end @props = {'server-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'TACACS+ server profile object'}, 'checkgroup'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Retrieve user group from TACACS+'}} # TACACS+ server profile object def server_profile prop_get('server-profile') end # TACACS+ server profile object def server_profile=(val) prop_set('server-profile', val) end # Retrieve user group from TACACS+ def checkgroup prop_get('checkgroup') end # Retrieve user group from TACACS+ def checkgroup=(val) prop_set('checkgroup', val) end end def tacplus @subclasses['tacplus'] ||= Tacplus.new(parent_instance: self, client: @client, create_children: @create_children) end class SamlIdp < ConfigClass def has_multiple_values?; false; end def _section :'saml-idp' end @props = {'server-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'IdP server profile object'}, 'enable-single-logout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable single logout'}, 'request-signing-certificate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'64', 'complete-handler'=>'check-cert-fields-completer', 'help-string'=>'Signing certificate for SAML requests'}, 'certificate-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'Certificate profile for IDP and SP'}, 'attribute-name-username'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'63', 'default'=>'username', 'help-string'=>'Attribute name for username to be extracted from SAML response', 'uiHint-fieldLabel'=>'Username Attribute'}, 'attribute-name-usergroup'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'usergroup', 'uiHint-fieldLabel'=>'User Group Attribute'}, 'attribute-name-admin-role'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'admin-role', 'uiHint-fieldLabel'=>'Admin Role Attribute'}, 'attribute-name-access-domain'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'access-domain', 'uiHint-fieldLabel'=>'Access Domain Attribute'}} # IdP server profile object def server_profile prop_get('server-profile') end # IdP server profile object def server_profile=(val) prop_set('server-profile', val) end # Enable single logout def enable_single_logout prop_get('enable-single-logout') end # Enable single logout def enable_single_logout=(val) prop_set('enable-single-logout', val) end # Signing certificate for SAML requests def request_signing_certificate prop_get('request-signing-certificate') end # Signing certificate for SAML requests def request_signing_certificate=(val) prop_set('request-signing-certificate', val) end # Certificate profile for IDP and SP def certificate_profile prop_get('certificate-profile') end # Certificate profile for IDP and SP def certificate_profile=(val) prop_set('certificate-profile', val) end # Attribute name for username to be extracted from SAML response def attribute_name_username prop_get('attribute-name-username') end # Attribute name for username to be extracted from SAML response def attribute_name_username=(val) prop_set('attribute-name-username', val) end # usergroup def attribute_name_usergroup prop_get('attribute-name-usergroup') end # usergroup def attribute_name_usergroup=(val) prop_set('attribute-name-usergroup', val) end # admin-role def attribute_name_admin_role prop_get('attribute-name-admin-role') end # admin-role def attribute_name_admin_role=(val) prop_set('attribute-name-admin-role', val) end # access-domain def attribute_name_access_domain prop_get('attribute-name-access-domain') end # access-domain def attribute_name_access_domain=(val) prop_set('attribute-name-access-domain', val) end end def saml_idp @subclasses['saml-idp'] ||= SamlIdp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def method maybe_register_subclass('method', Method.new(parent_instance: self, client: @client, create_children: @create_children)) end class MultiFactorAuth < ConfigClass def has_multiple_values?; false; end def _section :'multi-factor-auth' end class Factors < XML::ConfigClass def has_multiple_values?; true; end def _section :factors end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'max-count'=>'3'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def factors maybe_register_subclass('factors', Factors.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'mfa-enable'=>{'node-type'=>'element', 'type'=>'bool', 'help-string'=>'Enable Additional Authentication Factors'}} # Enable Additional Authentication Factors def mfa_enable prop_get('mfa-enable') end # Enable Additional Authentication Factors def mfa_enable=(val) prop_set('mfa-enable', val) end end def multi_factor_auth @subclasses['multi-factor-auth'] ||= MultiFactorAuth.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'regex'=>'^[a-zA-Z0-9\ ._-]+$', 'help-string'=>'Group name'}, 'username-modifier'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'%USERINPUT%', 'help-string'=>'Username modifier(Not for SAML) to handle user domain', 'multi-types'=>{'string'=>{'loose-membership'=>'yes', 'maxlen'=>'127'}, 'enum'=>[{'value'=>'%USERINPUT%'}, {'value'=>'%USERINPUT%@%USERDOMAIN%'}, {'value'=>'%USERDOMAIN%\%USERINPUT%'}]}}, 'user-domain'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'regex'=>'^[^\\\/\:\*\?\"\<\>\|\.]{1}[^\\\/\:\*\?\"\<\>\|]{0,62}$', 'help-string'=>'Domain name(Not for SAML) to be used for authentication'}} # Group name def name prop_get('@name') end # Username modifier(Not for SAML) to handle user domain def username_modifier prop_get('username-modifier') end # Username modifier(Not for SAML) to handle user domain def username_modifier=(val) prop_set('username-modifier', val) end # Domain name(Not for SAML) to be used for authentication def user_domain prop_get('user-domain') end # Domain name(Not for SAML) to be used for authentication def user_domain=(val) prop_set('user-domain', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def authentication_profile maybe_register_subclass('authentication-profile', AuthenticationProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class AuthenticationSequence < XML::ConfigClass def has_multiple_values?; true; end def _section :'authentication-sequence' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class AuthenticationProfiles < XML::ConfigClass def has_multiple_values?; true; end def _section :'authentication-profiles' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def authentication_profiles maybe_register_subclass('authentication-profiles', AuthenticationProfiles.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'regex'=>'^[a-zA-Z0-9\ ._-]+$', 'help-string'=>'Authentication sequence name'}, 'use-domain-find-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Attempt to use domain to determine authentication profile'}, 'exit-sequence-on-failure'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'exit the sequence if the domain matched profile fails'}, 'use-userid-domain'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'use the domain retrieved from userid'}} # Authentication sequence name def name prop_get('@name') end # Attempt to use domain to determine authentication profile def use_domain_find_profile prop_get('use-domain-find-profile') end # Attempt to use domain to determine authentication profile def use_domain_find_profile=(val) prop_set('use-domain-find-profile', val) end # exit the sequence if the domain matched profile fails def exit_sequence_on_failure prop_get('exit-sequence-on-failure') end # exit the sequence if the domain matched profile fails def exit_sequence_on_failure=(val) prop_set('exit-sequence-on-failure', val) end # use the domain retrieved from userid def use_userid_domain prop_get('use-userid-domain') end # use the domain retrieved from userid def use_userid_domain=(val) prop_set('use-userid-domain', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def authentication_sequence maybe_register_subclass('authentication-sequence', AuthenticationSequence.new(parent_instance: self, client: @client, create_children: @create_children)) end class CertificateProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'certificate-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class UsernameField < XML::ConfigClass def has_multiple_values?; true; end def _section :'username-field' end @props = {'subject'=>{'node-type'=>'element', 'type'=>'enum', 'help-string'=>'get user name from subject', 'enum'=>[{'value'=>'common-name'}]}, 'subject-alt'=>{'node-type'=>'element', 'type'=>'enum', 'help-string'=>'get user name from subject alternative name', 'enum'=>[{'value'=>'email'}, {'value'=>'principal-name'}]}} # get user name from subject def subject prop_get('subject') end # get user name from subject def subject=(val) prop_set('subject', val) end # get user name from subject alternative name def subject_alt prop_get('subject-alt') end # get user name from subject alternative name def subject_alt=(val) prop_set('subject-alt', val) end end def username_field maybe_register_subclass('username-field', UsernameField.new(parent_instance: self, client: @client, create_children: @create_children)) end class CA < XML::ConfigClass def has_multiple_values?; true; end def _section :CA end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'help-string'=>'CA file for client certificate'}, 'default-ocsp-url'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'1', 'maxlen'=>'255', 'regex'=>'^http(s)?://.+$', 'help-string'=>'default URL for ocsp verification'}, 'ocsp-verify-cert'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'63', 'help-string'=>'Certificate to verify signature in OCSP response'}, 'template-name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'1', 'maxlen'=>'255', 'help-string'=>'Certificate Template Name / OID for the certificate'}} # CA file for client certificate def name prop_get('@name') end # default URL for ocsp verification def default_ocsp_url prop_get('default-ocsp-url') end # default URL for ocsp verification def default_ocsp_url=(val) prop_set('default-ocsp-url', val) end # Certificate to verify signature in OCSP response def ocsp_verify_cert prop_get('ocsp-verify-cert') end # Certificate to verify signature in OCSP response def ocsp_verify_cert=(val) prop_set('ocsp-verify-cert', val) end # Certificate Template Name / OID for the certificate def template_name prop_get('template-name') end # Certificate Template Name / OID for the certificate def template_name=(val) prop_set('template-name', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def CA maybe_register_subclass('CA', CA.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'regex'=>'^[a-zA-Z0-9_-]+$', 'help-string'=>'Profile name'}, 'domain'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]', 'uiHint-fieldLabel'=>'User Domain'}, 'use-crl'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}, 'use-ocsp'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}, 'crl-receive-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'60', 'default'=>'5', 'help-string'=>'set CRL receive timeout value in seconds'}, 'ocsp-receive-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'60', 'default'=>'5', 'help-string'=>'set OCSP receive timeout value in seconds'}, 'ocsp-exclude-nonce'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'whether to exclude nonce extension for OCSP requests'}, 'cert-status-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'60', 'default'=>'5', 'help-string'=>'set cert status query timeout value in seconds'}, 'block-unknown-cert'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'whether to block a session if cert. status is unknown'}, 'block-timeout-cert'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'whether to block a session if cert. status can\'t be retrieved within timeout'}, 'block-unauthenticated-cert'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'whether to block session if the certificate was not issued to the authenticating device'}, 'block-expired-cert'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'whether to block a session if cert. status is expired'}} # Profile name def name prop_get('@name') end # alphanumeric string [ 0-9a-zA-Z._-] def domain prop_get('domain') end # alphanumeric string [ 0-9a-zA-Z._-] def domain=(val) prop_set('domain', val) end def use_crl prop_get('use-crl') end def use_crl=(val) prop_set('use-crl', val) end def use_ocsp prop_get('use-ocsp') end def use_ocsp=(val) prop_set('use-ocsp', val) end # set CRL receive timeout value in seconds def crl_receive_timeout prop_get('crl-receive-timeout') end # set CRL receive timeout value in seconds def crl_receive_timeout=(val) prop_set('crl-receive-timeout', val) end # set OCSP receive timeout value in seconds def ocsp_receive_timeout prop_get('ocsp-receive-timeout') end # set OCSP receive timeout value in seconds def ocsp_receive_timeout=(val) prop_set('ocsp-receive-timeout', val) end # whether to exclude nonce extension for OCSP requests def ocsp_exclude_nonce prop_get('ocsp-exclude-nonce') end # whether to exclude nonce extension for OCSP requests def ocsp_exclude_nonce=(val) prop_set('ocsp-exclude-nonce', val) end # set cert status query timeout value in seconds def cert_status_timeout prop_get('cert-status-timeout') end # set cert status query timeout value in seconds def cert_status_timeout=(val) prop_set('cert-status-timeout', val) end # whether to block a session if cert. status is unknown def block_unknown_cert prop_get('block-unknown-cert') end # whether to block a session if cert. status is unknown def block_unknown_cert=(val) prop_set('block-unknown-cert', val) end # whether to block a session if cert. status can't be retrieved within timeout def block_timeout_cert prop_get('block-timeout-cert') end # whether to block a session if cert. status can't be retrieved within timeout def block_timeout_cert=(val) prop_set('block-timeout-cert', val) end # whether to block session if the certificate was not issued to the authenticating device def block_unauthenticated_cert prop_get('block-unauthenticated-cert') end # whether to block session if the certificate was not issued to the authenticating device def block_unauthenticated_cert=(val) prop_set('block-unauthenticated-cert', val) end # whether to block a session if cert. status is expired def block_expired_cert prop_get('block-expired-cert') end # whether to block a session if cert. status is expired def block_expired_cert=(val) prop_set('block-expired-cert', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def certificate_profile maybe_register_subclass('certificate-profile', CertificateProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class ServerProfile < ConfigClass def has_multiple_values?; false; end def _section :'server-profile' end class Ldap < XML::ConfigClass def has_multiple_values?; true; end def _section :ldap end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'ldap server ip or host name.', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'minlen'=>'1', 'loose-membership'=>'yes', 'maxlen'=>'63', 'help-string'=>'Host name.'}}}, 'port'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'389', 'help-string'=>'default 389 for LDAP, 636 for LDAPS'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # ldap server ip or host name. def address prop_get('address') end # ldap server ip or host name. def address=(val) prop_set('address', val) end # default 389 for LDAP, 636 for LDAPS def port prop_get('port') end # default 389 for LDAP, 636 for LDAPS def port=(val) prop_set('port', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'admin-use-only'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Can only be used for administrative purposes'}, 'ldap-type'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'other', 'enum'=>[{'value'=>'active-directory'}, {'value'=>'e-directory'}, {'value'=>'sun'}, {'value'=>'other'}]}, 'ssl'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes'}, 'verify-server-certificate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Verify server certificate for SSL sessions'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}, 'base'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'255', 'regex'=>'^[^[:cntrl:]]+$', 'help-string'=>'Default base distinguished name (DN) to use for searches'}, 'bind-dn'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'255', 'regex'=>'^[^[:cntrl:]]+$', 'help-string'=>'bind distinguished name'}, 'bind-password'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'121', 'encrypt'=>'yes', 'help-string'=>'bind password'}, 'timelimit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'30', 'default'=>'30', 'help-string'=>'number of seconds to wait for performing searches'}, 'bind-timelimit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'60', 'default'=>'30', 'help-string'=>'number of seconds to use for connecting to servers'}, 'retry-interval'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'60', 'max'=>'3600', 'help-string'=>'Interval (seconds) for reconnecting LDAP server', 'default'=>'60'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # Can only be used for administrative purposes def admin_use_only prop_get('admin-use-only') end # Can only be used for administrative purposes def admin_use_only=(val) prop_set('admin-use-only', val) end def ldap_type prop_get('ldap-type') end def ldap_type=(val) prop_set('ldap-type', val) end def ssl prop_get('ssl') end def ssl=(val) prop_set('ssl', val) end # Verify server certificate for SSL sessions def verify_server_certificate prop_get('verify-server-certificate') end # Verify server certificate for SSL sessions def verify_server_certificate=(val) prop_set('verify-server-certificate', val) end def disabled prop_get('disabled') end def disabled=(val) prop_set('disabled', val) end # Default base distinguished name (DN) to use for searches def base prop_get('base') end # Default base distinguished name (DN) to use for searches def base=(val) prop_set('base', val) end # bind distinguished name def bind_dn prop_get('bind-dn') end # bind distinguished name def bind_dn=(val) prop_set('bind-dn', val) end # bind password def bind_password prop_get('bind-password') end # bind password def bind_password=(val) prop_set('bind-password', val) end # number of seconds to wait for performing searches def timelimit prop_get('timelimit') end # number of seconds to wait for performing searches def timelimit=(val) prop_set('timelimit', val) end # number of seconds to use for connecting to servers def bind_timelimit prop_get('bind-timelimit') end # number of seconds to use for connecting to servers def bind_timelimit=(val) prop_set('bind-timelimit', val) end # Interval (seconds) for reconnecting LDAP server def retry_interval prop_get('retry-interval') end # Interval (seconds) for reconnecting LDAP server def retry_interval=(val) prop_set('retry-interval', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ldap maybe_register_subclass('ldap', Ldap.new(parent_instance: self, client: @client, create_children: @create_children)) end class Radius < XML::ConfigClass def has_multiple_values?; true; end def _section :radius end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Protocol < XML::ConfigClass def has_multiple_values?; true; end def _section :protocol end class CHAP < ConfigClass def has_multiple_values?; false; end def _section :CHAP end @props = {} end def CHAP @subclasses['CHAP'] ||= CHAP.new(parent_instance: self, client: @client, create_children: @create_children) end class PAP < ConfigClass def has_multiple_values?; false; end def _section :PAP end @props = {} end def PAP @subclasses['PAP'] ||= PAP.new(parent_instance: self, client: @client, create_children: @create_children) end class PEAPMSCHAPv2 < ConfigClass def has_multiple_values?; false; end def _section :'PEAP-MSCHAPv2' end @props = {'anon-outer-id'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Make Outer Identity Anonymous'}, 'allow-pwd-change'=>{'node-type'=>'element', 'type'=>'bool', 'help-string'=>'Allow users to change passwords after expiry'}, 'radius-cert-profile'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Certificate profile for verifying the RADIUS server'}} # Make Outer Identity Anonymous def anon_outer_id prop_get('anon-outer-id') end # Make Outer Identity Anonymous def anon_outer_id=(val) prop_set('anon-outer-id', val) end # Allow users to change passwords after expiry def allow_pwd_change prop_get('allow-pwd-change') end # Allow users to change passwords after expiry def allow_pwd_change=(val) prop_set('allow-pwd-change', val) end # Certificate profile for verifying the RADIUS server def radius_cert_profile prop_get('radius-cert-profile') end # Certificate profile for verifying the RADIUS server def radius_cert_profile=(val) prop_set('radius-cert-profile', val) end end def PEAP_MSCHAPv2 @subclasses['PEAP-MSCHAPv2'] ||= PEAPMSCHAPv2.new(parent_instance: self, client: @client, create_children: @create_children) end class PEAPWithGTC < ConfigClass def has_multiple_values?; false; end def _section :'PEAP-with-GTC' end @props = {'anon-outer-id'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Make Outer Identity Anonymous'}, 'radius-cert-profile'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Certificate profile for verifying the RADIUS server'}} # Make Outer Identity Anonymous def anon_outer_id prop_get('anon-outer-id') end # Make Outer Identity Anonymous def anon_outer_id=(val) prop_set('anon-outer-id', val) end # Certificate profile for verifying the RADIUS server def radius_cert_profile prop_get('radius-cert-profile') end # Certificate profile for verifying the RADIUS server def radius_cert_profile=(val) prop_set('radius-cert-profile', val) end end def PEAP_with_GTC @subclasses['PEAP-with-GTC'] ||= PEAPWithGTC.new(parent_instance: self, client: @client, create_children: @create_children) end class EAPTTLSWithPAP < ConfigClass def has_multiple_values?; false; end def _section :'EAP-TTLS-with-PAP' end @props = {'anon-outer-id'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Make Outer Identity Anonymous'}, 'radius-cert-profile'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Certificate profile for verifying the RADIUS server'}} # Make Outer Identity Anonymous def anon_outer_id prop_get('anon-outer-id') end # Make Outer Identity Anonymous def anon_outer_id=(val) prop_set('anon-outer-id', val) end # Certificate profile for verifying the RADIUS server def radius_cert_profile prop_get('radius-cert-profile') end # Certificate profile for verifying the RADIUS server def radius_cert_profile=(val) prop_set('radius-cert-profile', val) end end def EAP_TTLS_with_PAP @subclasses['EAP-TTLS-with-PAP'] ||= EAPTTLSWithPAP.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def protocol maybe_register_subclass('protocol', Protocol.new(parent_instance: self, client: @client, create_children: @create_children)) end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'ip-address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'RADIUS server IP or host name', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'minlen'=>'1', 'loose-membership'=>'yes', 'maxlen'=>'63', 'help-string'=>'Host name.'}}}, 'secret'=>{'node-type'=>'element', 'type'=>'string', 'encrypt'=>'yes', 'maxlen'=>'64', 'help-string'=>'Shared secret for RADIUS communication'}, 'port'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'1812', 'help-string'=>'RADIUS server port'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # RADIUS server IP or host name def ip_address prop_get('ip-address') end # RADIUS server IP or host name def ip_address=(val) prop_set('ip-address', val) end # Shared secret for RADIUS communication def secret prop_get('secret') end # Shared secret for RADIUS communication def secret=(val) prop_set('secret', val) end # RADIUS server port def port prop_get('port') end # RADIUS server port def port=(val) prop_set('port', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'admin-use-only'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Can only be used for administrative purposes'}, 'timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'120', 'default'=>'3', 'help-string'=>'number of seconds to wait for when performing authentication'}, 'retries'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'5', 'default'=>'3', 'help-string'=>'number of attempts before giving up authentication'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # Can only be used for administrative purposes def admin_use_only prop_get('admin-use-only') end # Can only be used for administrative purposes def admin_use_only=(val) prop_set('admin-use-only', val) end # number of seconds to wait for when performing authentication def timeout prop_get('timeout') end # number of seconds to wait for when performing authentication def timeout=(val) prop_set('timeout', val) end # number of attempts before giving up authentication def retries prop_get('retries') end # number of attempts before giving up authentication def retries=(val) prop_set('retries', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def radius maybe_register_subclass('radius', Radius.new(parent_instance: self, client: @client, create_children: @create_children)) end class Scp < XML::ConfigClass def has_multiple_values?; true; end def _section :scp end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string'}, 'server'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'SCP hostname'}, 'port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'22', 'help-string'=>'SCP port'}, 'username'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'128', 'regex'=>'[^\']*', 'help-string'=>'SCP username'}, 'password'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'64', 'regex'=>'[^\']*', 'help-string'=>'SCP Password', 'encrypt'=>'yes'}, 'path'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'256', 'help-string'=>'SCP image base path'}, 'fingerprint'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'256', 'regex'=>'[^\']*', 'help-string'=>'SCP host fingerprint'}} # alphanumeric string def name prop_get('@name') end # SCP hostname def server prop_get('server') end # SCP hostname def server=(val) prop_set('server', val) end # SCP port def port prop_get('port') end # SCP port def port=(val) prop_set('port', val) end # SCP username def username prop_get('username') end # SCP username def username=(val) prop_set('username', val) end # SCP Password def password prop_get('password') end # SCP Password def password=(val) prop_set('password', val) end # SCP image base path def path prop_get('path') end # SCP image base path def path=(val) prop_set('path', val) end # SCP host fingerprint def fingerprint prop_get('fingerprint') end # SCP host fingerprint def fingerprint=(val) prop_set('fingerprint', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def scp maybe_register_subclass('scp', Scp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Kerberos < XML::ConfigClass def has_multiple_values?; true; end def _section :kerberos end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'host'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Kerberos server ip or host name.', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'minlen'=>'1', 'loose-membership'=>'yes', 'maxlen'=>'63', 'help-string'=>'Host name.'}}}, 'port'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'88', 'help-string'=>'Kerberos Domain Controller '}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # Kerberos server ip or host name. def host prop_get('host') end # Kerberos server ip or host name. def host=(val) prop_set('host', val) end # Kerberos Domain Controller def port prop_get('port') end # Kerberos Domain Controller def port=(val) prop_set('port', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'admin-use-only'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Can only be used for administrative purposes'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # Can only be used for administrative purposes def admin_use_only prop_get('admin-use-only') end # Can only be used for administrative purposes def admin_use_only=(val) prop_set('admin-use-only', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def kerberos maybe_register_subclass('kerberos', Kerberos.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tacplus < XML::ConfigClass def has_multiple_values?; true; end def _section :tacplus end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'TACACS+ server ip or host name.', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'minlen'=>'1', 'loose-membership'=>'yes', 'maxlen'=>'63', 'help-string'=>'Host name.'}}}, 'secret'=>{'node-type'=>'element', 'type'=>'string', 'encrypt'=>'yes', 'maxlen'=>'64', 'help-string'=>'Shared secret for TACACS+ communication'}, 'port'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'49', 'help-string'=>'TACACS+ server port'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # TACACS+ server ip or host name. def address prop_get('address') end # TACACS+ server ip or host name. def address=(val) prop_set('address', val) end # Shared secret for TACACS+ communication def secret prop_get('secret') end # Shared secret for TACACS+ communication def secret=(val) prop_set('secret', val) end # TACACS+ server port def port prop_get('port') end # TACACS+ server port def port=(val) prop_set('port', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'30', 'default'=>'3', 'help-string'=>'number of seconds to wait for when performing authentication'}, 'admin-use-only'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Can only be used for administrative purposes'}, 'use-single-connection'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Use single connection for all authentication'}, 'protocol'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'CHAP', 'help-string'=>'Select authentication protocol', 'enum'=>[{'value'=>'CHAP'}, {'value'=>'PAP'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # number of seconds to wait for when performing authentication def timeout prop_get('timeout') end # number of seconds to wait for when performing authentication def timeout=(val) prop_set('timeout', val) end # Can only be used for administrative purposes def admin_use_only prop_get('admin-use-only') end # Can only be used for administrative purposes def admin_use_only=(val) prop_set('admin-use-only', val) end # Use single connection for all authentication def use_single_connection prop_get('use-single-connection') end # Use single connection for all authentication def use_single_connection=(val) prop_set('use-single-connection', val) end # Select authentication protocol def protocol prop_get('protocol') end # Select authentication protocol def protocol=(val) prop_set('protocol', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def tacplus maybe_register_subclass('tacplus', Tacplus.new(parent_instance: self, client: @client, create_children: @create_children)) end class SamlIdp < XML::ConfigClass def has_multiple_values?; true; end def _section :'saml-idp' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'admin-use-only'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Can only be used for administrative purposes'}, 'entity-id'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'1024', 'help-string'=>'Unique identifier for SAML IdP'}, 'certificate'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'complete-handler'=>'check-idp-cert-fields-completer', 'help-string'=>'Object name of IdP signing certificate'}, 'sso-url'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'255', 'help-string'=>'The Single Sign On Service URL for the IdP server'}, 'sso-bindings'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'post', 'enum'=>[{'value'=>'post'}, {'value'=>'redirect'}]}, 'slo-url'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'255', 'help-string'=>'The Single Logout Service URL for the IdP server'}, 'slo-bindings'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'post', 'enum'=>[{'value'=>'post'}, {'value'=>'redirect'}]}, 'validate-idp-certificate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Certificate revocation check for IdP certificate when checking assertion signature'}, 'want-auth-requests-signed'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Client auth request signed by cert'}, 'max-clock-skew'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'900', 'default'=>'60', 'help-string'=>'maximum allowed clock skew in second between SAML entities\' system time'}, 'attribute-name-username-import'=>{'node-type'=>'element', 'internal'=>'yes', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'63', 'default'=>'username', 'help-string'=>'Attribute name for username to be extracted from SAML response'}, 'attribute-name-usergroup-import'=>{'node-type'=>'element', 'internal'=>'yes', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'usergroup'}, 'attribute-name-admin-role-import'=>{'node-type'=>'element', 'internal'=>'yes', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'admin-role'}, 'attribute-name-access-domain-import'=>{'node-type'=>'element', 'internal'=>'yes', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'access-domain'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # Can only be used for administrative purposes def admin_use_only prop_get('admin-use-only') end # Can only be used for administrative purposes def admin_use_only=(val) prop_set('admin-use-only', val) end # Unique identifier for SAML IdP def entity_id prop_get('entity-id') end # Unique identifier for SAML IdP def entity_id=(val) prop_set('entity-id', val) end # Object name of IdP signing certificate def certificate prop_get('certificate') end # Object name of IdP signing certificate def certificate=(val) prop_set('certificate', val) end # The Single Sign On Service URL for the IdP server def sso_url prop_get('sso-url') end # The Single Sign On Service URL for the IdP server def sso_url=(val) prop_set('sso-url', val) end def sso_bindings prop_get('sso-bindings') end def sso_bindings=(val) prop_set('sso-bindings', val) end # The Single Logout Service URL for the IdP server def slo_url prop_get('slo-url') end # The Single Logout Service URL for the IdP server def slo_url=(val) prop_set('slo-url', val) end def slo_bindings prop_get('slo-bindings') end def slo_bindings=(val) prop_set('slo-bindings', val) end # Certificate revocation check for IdP certificate when checking assertion signature def validate_idp_certificate prop_get('validate-idp-certificate') end # Certificate revocation check for IdP certificate when checking assertion signature def validate_idp_certificate=(val) prop_set('validate-idp-certificate', val) end # Client auth request signed by cert def want_auth_requests_signed prop_get('want-auth-requests-signed') end # Client auth request signed by cert def want_auth_requests_signed=(val) prop_set('want-auth-requests-signed', val) end # maximum allowed clock skew in second between SAML entities' system time def max_clock_skew prop_get('max-clock-skew') end # maximum allowed clock skew in second between SAML entities' system time def max_clock_skew=(val) prop_set('max-clock-skew', val) end # Attribute name for username to be extracted from SAML response def attribute_name_username_import prop_get('attribute-name-username-import') end # Attribute name for username to be extracted from SAML response def attribute_name_username_import=(val) prop_set('attribute-name-username-import', val) end # usergroup def attribute_name_usergroup_import prop_get('attribute-name-usergroup-import') end # usergroup def attribute_name_usergroup_import=(val) prop_set('attribute-name-usergroup-import', val) end # admin-role def attribute_name_admin_role_import prop_get('attribute-name-admin-role-import') end # admin-role def attribute_name_admin_role_import=(val) prop_set('attribute-name-admin-role-import', val) end # access-domain def attribute_name_access_domain_import prop_get('attribute-name-access-domain-import') end # access-domain def attribute_name_access_domain_import=(val) prop_set('attribute-name-access-domain-import', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def saml_idp maybe_register_subclass('saml-idp', SamlIdp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Netflow < XML::ConfigClass def has_multiple_values?; true; end def _section :netflow end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class TemplateRefreshRate < ConfigClass def has_multiple_values?; false; end def _section :'template-refresh-rate' end @props = {'minutes'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'30'}, 'packets'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'600', 'default'=>'20'}} def minutes prop_get('minutes') end def minutes=(val) prop_set('minutes', val) end def packets prop_get('packets') end def packets=(val) prop_set('packets', val) end end def template_refresh_rate @subclasses['template-refresh-rate'] ||= TemplateRefreshRate.new(parent_instance: self, client: @client, create_children: @create_children) end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'host'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Netflow server ip or host name.', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'loose-membership'=>'yes', 'maxlen'=>'63'}}}, 'port'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'2055', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Netflow server port'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # Netflow server ip or host name. def host prop_get('host') end # Netflow server ip or host name. def host=(val) prop_set('host', val) end # Netflow server port def port prop_get('port') end # Netflow server port def port=(val) prop_set('port', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'active-timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'60', 'default'=>'5', 'help-string'=>'Active timeout in minutes'}, 'export-enterprise-fields'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Export PAN-OS Specific Field Types'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # Active timeout in minutes def active_timeout prop_get('active-timeout') end # Active timeout in minutes def active_timeout=(val) prop_set('active-timeout', val) end # Export PAN-OS Specific Field Types def export_enterprise_fields prop_get('export-enterprise-fields') end # Export PAN-OS Specific Field Types def export_enterprise_fields=(val) prop_set('export-enterprise-fields', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def netflow maybe_register_subclass('netflow', Netflow.new(parent_instance: self, client: @client, create_children: @create_children)) end class Dns < XML::ConfigClass def has_multiple_values?; true; end def _section :dns end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Inheritance < ConfigClass def has_multiple_values?; false; end def _section :inheritance end @props = {'source'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Dynamic interface'}} # Dynamic interface def source prop_get('source') end # Dynamic interface def source=(val) prop_set('source', val) end end def inheritance @subclasses['inheritance'] ||= Inheritance.new(parent_instance: self, client: @client, create_children: @create_children) end class Source < ConfigClass def has_multiple_values?; false; end def _section :source end @props = {'interface'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Source interface to use to reach destination'}, 'address'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Source IP address to use to reach destination'}} # Source interface to use to reach destination def interface prop_get('interface') end # Source interface to use to reach destination def interface=(val) prop_set('interface', val) end # Source IP address to use to reach destination def address prop_get('address') end # Source IP address to use to reach destination def address=(val) prop_set('address', val) end end def source @subclasses['source'] ||= Source.new(parent_instance: self, client: @client, create_children: @create_children) end class SourceV6 < ConfigClass def has_multiple_values?; false; end def _section :'source-v6' end @props = {'interface'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Source interface to use to reach destination'}, 'address'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'96', 'help-string'=>'Source IP address to use to reach destination'}} # Source interface to use to reach destination def interface prop_get('interface') end # Source interface to use to reach destination def interface=(val) prop_set('interface', val) end # Source IP address to use to reach destination def address prop_get('address') end # Source IP address to use to reach destination def address=(val) prop_set('address', val) end end def source_v6 @subclasses['source-v6'] ||= SourceV6.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'primary'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Primary DNS Name server IP address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'help-string'=>'DNS primary server ip'}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'inherited'}]}}, 'secondary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Secondary DNS Name server IP address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'help-string'=>'DNS primary server ip'}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'inherited'}]}}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # Primary DNS Name server IP address def primary prop_get('primary') end # Primary DNS Name server IP address def primary=(val) prop_set('primary', val) end # Secondary DNS Name server IP address def secondary prop_get('secondary') end # Secondary DNS Name server IP address def secondary=(val) prop_set('secondary', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def dns maybe_register_subclass('dns', Dns.new(parent_instance: self, client: @client, create_children: @create_children)) end class MfaServerProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'mfa-server-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class MfaConfig < XML::ConfigClass def has_multiple_values?; true; end def _section :'mfa-config' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def mfa_config maybe_register_subclass('mfa-config', MfaConfig.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'regex'=>'^[a-zA-Z0-9\ ._-]+$', 'help-string'=>'MFA Server Profile Name'}, 'mfa-vendor-type'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'128', 'help-string'=>'Vendor and product type'}, 'mfa-cert-profile'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Certificate profile for verifying the MFA Vendor'}} # MFA Server Profile Name def name prop_get('@name') end # Vendor and product type def mfa_vendor_type prop_get('mfa-vendor-type') end # Vendor and product type def mfa_vendor_type=(val) prop_set('mfa-vendor-type', val) end # Certificate profile for verifying the MFA Vendor def mfa_cert_profile prop_get('mfa-cert-profile') end # Certificate profile for verifying the MFA Vendor def mfa_cert_profile=(val) prop_set('mfa-cert-profile', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def mfa_server_profile maybe_register_subclass('mfa-server-profile', MfaServerProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def server_profile @subclasses['server-profile'] ||= ServerProfile.new(parent_instance: self, client: @client, create_children: @create_children) end class LogSettings < ConfigClass def has_multiple_values?; false; end def _section :'log-settings' end class System < ConfigClass def has_multiple_values?; false; end def _section :system end class MatchList < XML::ConfigClass def has_multiple_values?; true; end def _section :'match-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SendSnmptrap < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-snmptrap' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_snmptrap maybe_register_subclass('send-snmptrap', SendSnmptrap.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendEmail < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-email' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_email maybe_register_subclass('send-email', SendEmail.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendSyslog < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-syslog' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_syslog maybe_register_subclass('send-syslog', SendSyslog.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendHttp < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-http' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_http maybe_register_subclass('send-http', SendHttp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Actions < XML::ConfigClass def has_multiple_values?; true; end def _section :actions end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Integration < ConfigClass def has_multiple_values?; false; end def _section :integration end @props = {'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'Azure-Security-Center-Integration', 'enum'=>[{'value'=>'Azure-Security-Center-Integration', 'help-string'=>'Azure Security Center Integration'}]}} def action prop_get('action') end def action=(val) prop_set('action', val) end end def integration @subclasses['integration'] ||= Integration.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def actions maybe_register_subclass('actions', Actions.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'filter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1023'}, 'send-to-panorama'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}} def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def filter prop_get('filter') end def filter=(val) prop_set('filter', val) end def send_to_panorama prop_get('send-to-panorama') end def send_to_panorama=(val) prop_set('send-to-panorama', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def match_list maybe_register_subclass('match-list', MatchList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def system @subclasses['system'] ||= System.new(parent_instance: self, client: @client, create_children: @create_children) end class Config < ConfigClass def has_multiple_values?; false; end def _section :config end class MatchList < XML::ConfigClass def has_multiple_values?; true; end def _section :'match-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SendSnmptrap < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-snmptrap' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_snmptrap maybe_register_subclass('send-snmptrap', SendSnmptrap.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendEmail < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-email' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_email maybe_register_subclass('send-email', SendEmail.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendSyslog < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-syslog' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_syslog maybe_register_subclass('send-syslog', SendSyslog.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendHttp < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-http' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_http maybe_register_subclass('send-http', SendHttp.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'filter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1023'}, 'send-to-panorama'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}} def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def filter prop_get('filter') end def filter=(val) prop_set('filter', val) end def send_to_panorama prop_get('send-to-panorama') end def send_to_panorama=(val) prop_set('send-to-panorama', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def match_list maybe_register_subclass('match-list', MatchList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def config @subclasses['config'] ||= Config.new(parent_instance: self, client: @client, create_children: @create_children) end class Userid < ConfigClass def has_multiple_values?; false; end def _section :userid end class MatchList < XML::ConfigClass def has_multiple_values?; true; end def _section :'match-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SendSnmptrap < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-snmptrap' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_snmptrap maybe_register_subclass('send-snmptrap', SendSnmptrap.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendEmail < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-email' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_email maybe_register_subclass('send-email', SendEmail.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendSyslog < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-syslog' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_syslog maybe_register_subclass('send-syslog', SendSyslog.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendHttp < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-http' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_http maybe_register_subclass('send-http', SendHttp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Actions < XML::ConfigClass def has_multiple_values?; true; end def _section :actions end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Integration < ConfigClass def has_multiple_values?; false; end def _section :integration end @props = {'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'Azure-Security-Center-Integration', 'enum'=>[{'value'=>'Azure-Security-Center-Integration', 'help-string'=>'Azure Security Center Integration'}]}} def action prop_get('action') end def action=(val) prop_set('action', val) end end def integration @subclasses['integration'] ||= Integration.new(parent_instance: self, client: @client, create_children: @create_children) end class Tagging < ConfigClass def has_multiple_values?; false; end def _section :tagging end class Registration < XML::ConfigClass def has_multiple_values?; true; end def _section :registration end class Localhost < ConfigClass def has_multiple_values?; false; end def _section :localhost end @props = {} end def localhost @subclasses['localhost'] ||= Localhost.new(parent_instance: self, client: @client, create_children: @create_children) end class Panorama < ConfigClass def has_multiple_values?; false; end def _section :panorama end @props = {} end def panorama @subclasses['panorama'] ||= Panorama.new(parent_instance: self, client: @client, create_children: @create_children) end class Remote < ConfigClass def has_multiple_values?; false; end def _section :remote end @props = {'http-profile'=>{'node-type'=>'element', 'type'=>'string'}} def http_profile prop_get('http-profile') end def http_profile=(val) prop_set('http-profile', val) end end def remote @subclasses['remote'] ||= Remote.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def registration maybe_register_subclass('registration', Registration.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'127', 'regex'=>'^[^\]\'\[]*$'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'target'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'source-address', 'enum'=>[{'value'=>'source-address', 'help-string'=>'Source Address'}, {'value'=>'destination-address', 'help-string'=>'Destination Address'}, {'value'=>'xff-address', 'help-string'=>'X-Forwarded-For Address'}, {'value'=>'user', 'help-string'=>'User'}]}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'add-tag', 'enum'=>[{'value'=>'add-tag', 'help-string'=>'Add Tag'}, {'value'=>'remove-tag', 'help-string'=>'Remove Tag'}]}, 'timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'43200', 'optional'=>'yes', 'default'=>'0', 'help-string'=>'timeout in minutes'}} def target prop_get('target') end def target=(val) prop_set('target', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # timeout in minutes def timeout prop_get('timeout') end # timeout in minutes def timeout=(val) prop_set('timeout', val) end end def tagging @subclasses['tagging'] ||= Tagging.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def actions maybe_register_subclass('actions', Actions.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'filter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1024'}, 'send-to-panorama'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'quarantine'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}} def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def filter prop_get('filter') end def filter=(val) prop_set('filter', val) end def send_to_panorama prop_get('send-to-panorama') end def send_to_panorama=(val) prop_set('send-to-panorama', val) end def quarantine prop_get('quarantine') end def quarantine=(val) prop_set('quarantine', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def match_list maybe_register_subclass('match-list', MatchList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def userid @subclasses['userid'] ||= Userid.new(parent_instance: self, client: @client, create_children: @create_children) end class Iptag < ConfigClass def has_multiple_values?; false; end def _section :iptag end class MatchList < XML::ConfigClass def has_multiple_values?; true; end def _section :'match-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SendSnmptrap < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-snmptrap' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_snmptrap maybe_register_subclass('send-snmptrap', SendSnmptrap.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendEmail < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-email' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_email maybe_register_subclass('send-email', SendEmail.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendSyslog < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-syslog' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_syslog maybe_register_subclass('send-syslog', SendSyslog.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendHttp < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-http' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_http maybe_register_subclass('send-http', SendHttp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Actions < XML::ConfigClass def has_multiple_values?; true; end def _section :actions end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Integration < ConfigClass def has_multiple_values?; false; end def _section :integration end @props = {'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'Azure-Security-Center-Integration', 'enum'=>[{'value'=>'Azure-Security-Center-Integration', 'help-string'=>'Azure Security Center Integration'}]}} def action prop_get('action') end def action=(val) prop_set('action', val) end end def integration @subclasses['integration'] ||= Integration.new(parent_instance: self, client: @client, create_children: @create_children) end class Tagging < ConfigClass def has_multiple_values?; false; end def _section :tagging end class Registration < XML::ConfigClass def has_multiple_values?; true; end def _section :registration end class Localhost < ConfigClass def has_multiple_values?; false; end def _section :localhost end @props = {} end def localhost @subclasses['localhost'] ||= Localhost.new(parent_instance: self, client: @client, create_children: @create_children) end class Panorama < ConfigClass def has_multiple_values?; false; end def _section :panorama end @props = {} end def panorama @subclasses['panorama'] ||= Panorama.new(parent_instance: self, client: @client, create_children: @create_children) end class Remote < ConfigClass def has_multiple_values?; false; end def _section :remote end @props = {'http-profile'=>{'node-type'=>'element', 'type'=>'string'}} def http_profile prop_get('http-profile') end def http_profile=(val) prop_set('http-profile', val) end end def remote @subclasses['remote'] ||= Remote.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def registration maybe_register_subclass('registration', Registration.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'127', 'regex'=>'^[^\]\'\[]*$'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'target'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'source-address', 'enum'=>[{'value'=>'source-address', 'help-string'=>'Source Address'}, {'value'=>'destination-address', 'help-string'=>'Destination Address'}, {'value'=>'xff-address', 'help-string'=>'X-Forwarded-For Address'}, {'value'=>'user', 'help-string'=>'User'}]}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'add-tag', 'enum'=>[{'value'=>'add-tag', 'help-string'=>'Add Tag'}, {'value'=>'remove-tag', 'help-string'=>'Remove Tag'}]}, 'timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'43200', 'optional'=>'yes', 'default'=>'0', 'help-string'=>'timeout in minutes'}} def target prop_get('target') end def target=(val) prop_set('target', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # timeout in minutes def timeout prop_get('timeout') end # timeout in minutes def timeout=(val) prop_set('timeout', val) end end def tagging @subclasses['tagging'] ||= Tagging.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def actions maybe_register_subclass('actions', Actions.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'filter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1024'}, 'send-to-panorama'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'quarantine'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}} def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def filter prop_get('filter') end def filter=(val) prop_set('filter', val) end def send_to_panorama prop_get('send-to-panorama') end def send_to_panorama=(val) prop_set('send-to-panorama', val) end def quarantine prop_get('quarantine') end def quarantine=(val) prop_set('quarantine', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def match_list maybe_register_subclass('match-list', MatchList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def iptag @subclasses['iptag'] ||= Iptag.new(parent_instance: self, client: @client, create_children: @create_children) end class Globalprotect < ConfigClass def has_multiple_values?; false; end def _section :globalprotect end class MatchList < XML::ConfigClass def has_multiple_values?; true; end def _section :'match-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SendSnmptrap < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-snmptrap' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_snmptrap maybe_register_subclass('send-snmptrap', SendSnmptrap.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendEmail < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-email' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_email maybe_register_subclass('send-email', SendEmail.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendSyslog < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-syslog' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_syslog maybe_register_subclass('send-syslog', SendSyslog.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendHttp < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-http' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_http maybe_register_subclass('send-http', SendHttp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Actions < XML::ConfigClass def has_multiple_values?; true; end def _section :actions end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Integration < ConfigClass def has_multiple_values?; false; end def _section :integration end @props = {'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'Azure-Security-Center-Integration', 'enum'=>[{'value'=>'Azure-Security-Center-Integration', 'help-string'=>'Azure Security Center Integration'}]}} def action prop_get('action') end def action=(val) prop_set('action', val) end end def integration @subclasses['integration'] ||= Integration.new(parent_instance: self, client: @client, create_children: @create_children) end class Tagging < ConfigClass def has_multiple_values?; false; end def _section :tagging end class Registration < XML::ConfigClass def has_multiple_values?; true; end def _section :registration end class Localhost < ConfigClass def has_multiple_values?; false; end def _section :localhost end @props = {} end def localhost @subclasses['localhost'] ||= Localhost.new(parent_instance: self, client: @client, create_children: @create_children) end class Panorama < ConfigClass def has_multiple_values?; false; end def _section :panorama end @props = {} end def panorama @subclasses['panorama'] ||= Panorama.new(parent_instance: self, client: @client, create_children: @create_children) end class Remote < ConfigClass def has_multiple_values?; false; end def _section :remote end @props = {'http-profile'=>{'node-type'=>'element', 'type'=>'string'}} def http_profile prop_get('http-profile') end def http_profile=(val) prop_set('http-profile', val) end end def remote @subclasses['remote'] ||= Remote.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def registration maybe_register_subclass('registration', Registration.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'127', 'regex'=>'^[^\]\'\[]*$'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'target'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'source-address', 'enum'=>[{'value'=>'source-address', 'help-string'=>'Source Address'}, {'value'=>'destination-address', 'help-string'=>'Destination Address'}, {'value'=>'xff-address', 'help-string'=>'X-Forwarded-For Address'}, {'value'=>'user', 'help-string'=>'User'}]}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'add-tag', 'enum'=>[{'value'=>'add-tag', 'help-string'=>'Add Tag'}, {'value'=>'remove-tag', 'help-string'=>'Remove Tag'}]}, 'timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'43200', 'optional'=>'yes', 'default'=>'0', 'help-string'=>'timeout in minutes'}} def target prop_get('target') end def target=(val) prop_set('target', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # timeout in minutes def timeout prop_get('timeout') end # timeout in minutes def timeout=(val) prop_set('timeout', val) end end def tagging @subclasses['tagging'] ||= Tagging.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def actions maybe_register_subclass('actions', Actions.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'filter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1024'}, 'send-to-panorama'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'quarantine'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}} def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def filter prop_get('filter') end def filter=(val) prop_set('filter', val) end def send_to_panorama prop_get('send-to-panorama') end def send_to_panorama=(val) prop_set('send-to-panorama', val) end def quarantine prop_get('quarantine') end def quarantine=(val) prop_set('quarantine', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def match_list maybe_register_subclass('match-list', MatchList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def globalprotect @subclasses['globalprotect'] ||= Globalprotect.new(parent_instance: self, client: @client, create_children: @create_children) end class Hipmatch < ConfigClass def has_multiple_values?; false; end def _section :hipmatch end class MatchList < XML::ConfigClass def has_multiple_values?; true; end def _section :'match-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SendSnmptrap < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-snmptrap' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_snmptrap maybe_register_subclass('send-snmptrap', SendSnmptrap.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendEmail < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-email' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_email maybe_register_subclass('send-email', SendEmail.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendSyslog < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-syslog' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_syslog maybe_register_subclass('send-syslog', SendSyslog.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendHttp < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-http' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_http maybe_register_subclass('send-http', SendHttp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Actions < XML::ConfigClass def has_multiple_values?; true; end def _section :actions end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Integration < ConfigClass def has_multiple_values?; false; end def _section :integration end @props = {'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'Azure-Security-Center-Integration', 'enum'=>[{'value'=>'Azure-Security-Center-Integration', 'help-string'=>'Azure Security Center Integration'}]}} def action prop_get('action') end def action=(val) prop_set('action', val) end end def integration @subclasses['integration'] ||= Integration.new(parent_instance: self, client: @client, create_children: @create_children) end class Tagging < ConfigClass def has_multiple_values?; false; end def _section :tagging end class Registration < XML::ConfigClass def has_multiple_values?; true; end def _section :registration end class Localhost < ConfigClass def has_multiple_values?; false; end def _section :localhost end @props = {} end def localhost @subclasses['localhost'] ||= Localhost.new(parent_instance: self, client: @client, create_children: @create_children) end class Panorama < ConfigClass def has_multiple_values?; false; end def _section :panorama end @props = {} end def panorama @subclasses['panorama'] ||= Panorama.new(parent_instance: self, client: @client, create_children: @create_children) end class Remote < ConfigClass def has_multiple_values?; false; end def _section :remote end @props = {'http-profile'=>{'node-type'=>'element', 'type'=>'string'}} def http_profile prop_get('http-profile') end def http_profile=(val) prop_set('http-profile', val) end end def remote @subclasses['remote'] ||= Remote.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def registration maybe_register_subclass('registration', Registration.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'127', 'regex'=>'^[^\]\'\[]*$'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'target'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'source-address', 'enum'=>[{'value'=>'source-address', 'help-string'=>'Source Address'}, {'value'=>'destination-address', 'help-string'=>'Destination Address'}, {'value'=>'xff-address', 'help-string'=>'X-Forwarded-For Address'}, {'value'=>'user', 'help-string'=>'User'}]}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'add-tag', 'enum'=>[{'value'=>'add-tag', 'help-string'=>'Add Tag'}, {'value'=>'remove-tag', 'help-string'=>'Remove Tag'}]}, 'timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'43200', 'optional'=>'yes', 'default'=>'0', 'help-string'=>'timeout in minutes'}} def target prop_get('target') end def target=(val) prop_set('target', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # timeout in minutes def timeout prop_get('timeout') end # timeout in minutes def timeout=(val) prop_set('timeout', val) end end def tagging @subclasses['tagging'] ||= Tagging.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def actions maybe_register_subclass('actions', Actions.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'filter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1023'}, 'send-to-panorama'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'quarantine'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}} def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def filter prop_get('filter') end def filter=(val) prop_set('filter', val) end def send_to_panorama prop_get('send-to-panorama') end def send_to_panorama=(val) prop_set('send-to-panorama', val) end def quarantine prop_get('quarantine') end def quarantine=(val) prop_set('quarantine', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def match_list maybe_register_subclass('match-list', MatchList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def hipmatch @subclasses['hipmatch'] ||= Hipmatch.new(parent_instance: self, client: @client, create_children: @create_children) end class Correlation < ConfigClass def has_multiple_values?; false; end def _section :correlation end class MatchList < XML::ConfigClass def has_multiple_values?; true; end def _section :'match-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SendSnmptrap < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-snmptrap' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_snmptrap maybe_register_subclass('send-snmptrap', SendSnmptrap.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendEmail < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-email' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_email maybe_register_subclass('send-email', SendEmail.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendSyslog < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-syslog' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_syslog maybe_register_subclass('send-syslog', SendSyslog.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendHttp < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-http' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_http maybe_register_subclass('send-http', SendHttp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Actions < XML::ConfigClass def has_multiple_values?; true; end def _section :actions end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Integration < ConfigClass def has_multiple_values?; false; end def _section :integration end @props = {'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'Azure-Security-Center-Integration', 'enum'=>[{'value'=>'Azure-Security-Center-Integration', 'help-string'=>'Azure Security Center Integration'}]}} def action prop_get('action') end def action=(val) prop_set('action', val) end end def integration @subclasses['integration'] ||= Integration.new(parent_instance: self, client: @client, create_children: @create_children) end class Tagging < ConfigClass def has_multiple_values?; false; end def _section :tagging end class Registration < XML::ConfigClass def has_multiple_values?; true; end def _section :registration end class Localhost < ConfigClass def has_multiple_values?; false; end def _section :localhost end @props = {} end def localhost @subclasses['localhost'] ||= Localhost.new(parent_instance: self, client: @client, create_children: @create_children) end class Panorama < ConfigClass def has_multiple_values?; false; end def _section :panorama end @props = {} end def panorama @subclasses['panorama'] ||= Panorama.new(parent_instance: self, client: @client, create_children: @create_children) end class Remote < ConfigClass def has_multiple_values?; false; end def _section :remote end @props = {'http-profile'=>{'node-type'=>'element', 'type'=>'string'}} def http_profile prop_get('http-profile') end def http_profile=(val) prop_set('http-profile', val) end end def remote @subclasses['remote'] ||= Remote.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def registration maybe_register_subclass('registration', Registration.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'127', 'regex'=>'^[^\]\'\[]*$'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'target'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'source-address', 'enum'=>[{'value'=>'source-address', 'help-string'=>'Source Address'}, {'value'=>'destination-address', 'help-string'=>'Destination Address'}, {'value'=>'xff-address', 'help-string'=>'X-Forwarded-For Address'}, {'value'=>'user', 'help-string'=>'User'}]}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'add-tag', 'enum'=>[{'value'=>'add-tag', 'help-string'=>'Add Tag'}, {'value'=>'remove-tag', 'help-string'=>'Remove Tag'}]}, 'timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'43200', 'optional'=>'yes', 'default'=>'0', 'help-string'=>'timeout in minutes'}} def target prop_get('target') end def target=(val) prop_set('target', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # timeout in minutes def timeout prop_get('timeout') end # timeout in minutes def timeout=(val) prop_set('timeout', val) end end def tagging @subclasses['tagging'] ||= Tagging.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def actions maybe_register_subclass('actions', Actions.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'filter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1023'}, 'quarantine'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}} def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def filter prop_get('filter') end def filter=(val) prop_set('filter', val) end def quarantine prop_get('quarantine') end def quarantine=(val) prop_set('quarantine', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def match_list maybe_register_subclass('match-list', MatchList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def correlation @subclasses['correlation'] ||= Correlation.new(parent_instance: self, client: @client, create_children: @create_children) end class Snmptrap < XML::ConfigClass def has_multiple_values?; true; end def _section :snmptrap end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Version < XML::ConfigClass def has_multiple_values?; true; end def _section :version end class V2c < ConfigClass def has_multiple_values?; false; end def _section :v2c end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'manager'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'IP address or FQDN of SNMP manager to use', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63', 'loose-membership'=>'yes'}}}, 'community'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # IP address or FQDN of SNMP manager to use def manager prop_get('manager') end # IP address or FQDN of SNMP manager to use def manager=(val) prop_set('manager', val) end def community prop_get('community') end def community=(val) prop_set('community', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def v2c @subclasses['v2c'] ||= V2c.new(parent_instance: self, client: @client, create_children: @create_children) end class V3 < ConfigClass def has_multiple_values?; false; end def _section :v3 end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'manager'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'IP address or FQDN of SNMP manager to use', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63', 'loose-membership'=>'yes'}}}, 'user'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31'}, 'engineid'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'255', 'regex'=>'^[0][xX][0-9A-Fa-f]{10,128}$', 'help-string'=>'A hex number (min 5 - max 64 bytes) '}, 'authpwd'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Authentication Protocol Password', 'minlen'=>'8', 'maxlen'=>'256', 'encrypt'=>'yes'}, 'privpwd'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Privacy Protocol Password', 'minlen'=>'8', 'maxlen'=>'256', 'encrypt'=>'yes'}, 'authproto'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'SHA', 'help-string'=>'Authentication Protocol', 'enum'=>[{'value'=>'SHA'}, {'value'=>'SHA-224'}, {'value'=>'SHA-256'}, {'value'=>'SHA-384'}, {'value'=>'SHA-512'}]}, 'privproto'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'AES', 'help-string'=>'Privacy Protocol', 'enum'=>[{'value'=>'AES'}, {'value'=>'AES-192'}, {'value'=>'AES-256'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # IP address or FQDN of SNMP manager to use def manager prop_get('manager') end # IP address or FQDN of SNMP manager to use def manager=(val) prop_set('manager', val) end def user prop_get('user') end def user=(val) prop_set('user', val) end # A hex number (min 5 - max 64 bytes) def engineid prop_get('engineid') end # A hex number (min 5 - max 64 bytes) def engineid=(val) prop_set('engineid', val) end # Authentication Protocol Password def authpwd prop_get('authpwd') end # Authentication Protocol Password def authpwd=(val) prop_set('authpwd', val) end # Privacy Protocol Password def privpwd prop_get('privpwd') end # Privacy Protocol Password def privpwd=(val) prop_set('privpwd', val) end # Authentication Protocol def authproto prop_get('authproto') end # Authentication Protocol def authproto=(val) prop_set('authproto', val) end # Privacy Protocol def privproto prop_get('privproto') end # Privacy Protocol def privproto=(val) prop_set('privproto', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def v3 @subclasses['v3'] ||= V3.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def version maybe_register_subclass('version', Version.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def snmptrap maybe_register_subclass('snmptrap', Snmptrap.new(parent_instance: self, client: @client, create_children: @create_children)) end class Email < XML::ConfigClass def has_multiple_values?; true; end def _section :email end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'display-name'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes'}, 'from'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([a-zA-Z0-9_?~^\'`.\+/=|#$!*%{}\&-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$', 'maxlen'=>'128', 'help-string'=>'email address (e.g. admin@mycompany.com)'}, 'to'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([a-zA-Z0-9_?~^\'`.\+/=|#$!*%{}\&-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$', 'maxlen'=>'128', 'help-string'=>'email address (e.g. admin@mycompany.com)'}, 'and-also-to'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^([a-zA-Z0-9_?~^\'`.\+/=|#$!*%{}\&-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$', 'maxlen'=>'128', 'help-string'=>'email address (e.g. admin@mycompany.com)'}, 'gateway'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'IP address or FQDN of SMTP gateway to use'}, 'protocol'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'SMTP', 'enum'=>[{'value'=>'SMTP'}, {'value'=>'TLS'}]}, 'port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'optional'=>'yes', 'default'=>'25', 'help-string'=>'Port number (Standard EMAIL ports SMTP:25, TLS:587)'}, 'tls-version'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'1.2', 'help-string'=>'TLS handshake protocol version', 'enum'=>[{'value'=>'1.2'}, {'value'=>'1.1'}]}, 'auth'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'Auto'}, {'value'=>'Login'}, {'value'=>'Plain'}]}, 'certificate-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'default'=>'None', 'help-string'=>'Certificate Profile for validating server certificate'}, 'username'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'username for authentication', 'minlen'=>'0', 'maxlen'=>'255', 'regex'=>'[^\']*'}, 'password'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'regex'=>'[^\']*', 'encrypt'=>'yes'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def display_name prop_get('display-name') end def display_name=(val) prop_set('display-name', val) end # email address (e.g. admin@mycompany.com) def from prop_get('from') end # email address (e.g. admin@mycompany.com) def from=(val) prop_set('from', val) end # email address (e.g. admin@mycompany.com) def to prop_get('to') end # email address (e.g. admin@mycompany.com) def to=(val) prop_set('to', val) end # email address (e.g. admin@mycompany.com) def and_also_to prop_get('and-also-to') end # email address (e.g. admin@mycompany.com) def and_also_to=(val) prop_set('and-also-to', val) end # IP address or FQDN of SMTP gateway to use def gateway prop_get('gateway') end # IP address or FQDN of SMTP gateway to use def gateway=(val) prop_set('gateway', val) end def protocol prop_get('protocol') end def protocol=(val) prop_set('protocol', val) end # Port number (Standard EMAIL ports SMTP:25, TLS:587) def port prop_get('port') end # Port number (Standard EMAIL ports SMTP:25, TLS:587) def port=(val) prop_set('port', val) end # TLS handshake protocol version def tls_version prop_get('tls-version') end # TLS handshake protocol version def tls_version=(val) prop_set('tls-version', val) end def auth prop_get('auth') end def auth=(val) prop_set('auth', val) end # Certificate Profile for validating server certificate def certificate_profile prop_get('certificate-profile') end # Certificate Profile for validating server certificate def certificate_profile=(val) prop_set('certificate-profile', val) end # username for authentication def username prop_get('username') end # username for authentication def username=(val) prop_set('username', val) end def password prop_get('password') end def password=(val) prop_set('password', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end class Format < ConfigClass def has_multiple_values?; false; end def _section :format end class Escaping < ConfigClass def has_multiple_values?; false; end def _section :escaping end @props = {'escaped-characters'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'help-string'=>'List of characters to be escaped'}, 'escape-character'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'1', 'help-string'=>'Escape character'}} # List of characters to be escaped def escaped_characters prop_get('escaped-characters') end # List of characters to be escaped def escaped_characters=(val) prop_set('escaped-characters', val) end # Escape character def escape_character prop_get('escape-character') end # Escape character def escape_character=(val) prop_set('escape-character', val) end end def escaping @subclasses['escaping'] ||= Escaping.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'traffic'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'threat'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'wildfire'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'url'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'data'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'gtp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420,cfg.platform.model=PA-1410,cfg.platform.model=PA-1420'}, 'sctp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420,cfg.platform.model=PA-1410,cfg.platform.model=PA-1420'}, 'tunnel'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'auth'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'userid'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'iptag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'decryption'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'config'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'system'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'globalprotect'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'hip-match'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'correlation'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}} def traffic prop_get('traffic') end def traffic=(val) prop_set('traffic', val) end def threat prop_get('threat') end def threat=(val) prop_set('threat', val) end def wildfire prop_get('wildfire') end def wildfire=(val) prop_set('wildfire', val) end def url prop_get('url') end def url=(val) prop_set('url', val) end def data prop_get('data') end def data=(val) prop_set('data', val) end def gtp prop_get('gtp') end def gtp=(val) prop_set('gtp', val) end def sctp prop_get('sctp') end def sctp=(val) prop_set('sctp', val) end def tunnel prop_get('tunnel') end def tunnel=(val) prop_set('tunnel', val) end def auth prop_get('auth') end def auth=(val) prop_set('auth', val) end def userid prop_get('userid') end def userid=(val) prop_set('userid', val) end def iptag prop_get('iptag') end def iptag=(val) prop_set('iptag', val) end def decryption prop_get('decryption') end def decryption=(val) prop_set('decryption', val) end def config prop_get('config') end def config=(val) prop_set('config', val) end def system prop_get('system') end def system=(val) prop_set('system', val) end def globalprotect prop_get('globalprotect') end def globalprotect=(val) prop_set('globalprotect', val) end def hip_match prop_get('hip-match') end def hip_match=(val) prop_set('hip-match', val) end def correlation prop_get('correlation') end def correlation=(val) prop_set('correlation', val) end end def format @subclasses['format'] ||= Format.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def email maybe_register_subclass('email', Email.new(parent_instance: self, client: @client, create_children: @create_children)) end class Syslog < XML::ConfigClass def has_multiple_values?; true; end def _section :syslog end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'server'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'regex'=>'^([a-zA-Z0-9:\.\_-])+([a-zA-Z0-9:\_-])$|^\$([a-zA-Z0-9._-])+$', 'help-string'=>'IP address or FQDN of SYSLOG server to use'}, 'transport'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'UDP', 'enum'=>[{'value'=>'UDP'}, {'value'=>'TCP'}, {'value'=>'SSL'}]}, 'port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'optional'=>'yes', 'help-string'=>'Port number (Standard Syslog ports UDP:514, SSL:6514)'}, 'format'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'BSD', 'help-string'=>'Format of the Syslog message', 'enum'=>[{'value'=>'BSD'}, {'value'=>'IETF'}]}, 'facility'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'LOG_USER', 'enum'=>[{'value'=>'LOG_USER'}, {'value'=>'LOG_LOCAL0'}, {'value'=>'LOG_LOCAL1'}, {'value'=>'LOG_LOCAL2'}, {'value'=>'LOG_LOCAL3'}, {'value'=>'LOG_LOCAL4'}, {'value'=>'LOG_LOCAL5'}, {'value'=>'LOG_LOCAL6'}, {'value'=>'LOG_LOCAL7'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # IP address or FQDN of SYSLOG server to use def server prop_get('server') end # IP address or FQDN of SYSLOG server to use def server=(val) prop_set('server', val) end def transport prop_get('transport') end def transport=(val) prop_set('transport', val) end # Port number (Standard Syslog ports UDP:514, SSL:6514) def port prop_get('port') end # Port number (Standard Syslog ports UDP:514, SSL:6514) def port=(val) prop_set('port', val) end # Format of the Syslog message def format prop_get('format') end # Format of the Syslog message def format=(val) prop_set('format', val) end def facility prop_get('facility') end def facility=(val) prop_set('facility', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end class Format < ConfigClass def has_multiple_values?; false; end def _section :format end class Escaping < ConfigClass def has_multiple_values?; false; end def _section :escaping end @props = {'escaped-characters'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'help-string'=>'List of characters to be escaped'}, 'escape-character'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'1', 'help-string'=>'Escape character'}} # List of characters to be escaped def escaped_characters prop_get('escaped-characters') end # List of characters to be escaped def escaped_characters=(val) prop_set('escaped-characters', val) end # Escape character def escape_character prop_get('escape-character') end # Escape character def escape_character=(val) prop_set('escape-character', val) end end def escaping @subclasses['escaping'] ||= Escaping.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'traffic'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'threat'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'wildfire'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'url'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'data'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'gtp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420,cfg.platform.model=PA-1410,cfg.platform.model=PA-1420'}, 'sctp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420,cfg.platform.model=PA-1410,cfg.platform.model=PA-1420'}, 'tunnel'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'auth'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'userid'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'iptag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'decryption'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'config'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'system'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'globalprotect'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'hip-match'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'correlation'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}} def traffic prop_get('traffic') end def traffic=(val) prop_set('traffic', val) end def threat prop_get('threat') end def threat=(val) prop_set('threat', val) end def wildfire prop_get('wildfire') end def wildfire=(val) prop_set('wildfire', val) end def url prop_get('url') end def url=(val) prop_set('url', val) end def data prop_get('data') end def data=(val) prop_set('data', val) end def gtp prop_get('gtp') end def gtp=(val) prop_set('gtp', val) end def sctp prop_get('sctp') end def sctp=(val) prop_set('sctp', val) end def tunnel prop_get('tunnel') end def tunnel=(val) prop_set('tunnel', val) end def auth prop_get('auth') end def auth=(val) prop_set('auth', val) end def userid prop_get('userid') end def userid=(val) prop_set('userid', val) end def iptag prop_get('iptag') end def iptag=(val) prop_set('iptag', val) end def decryption prop_get('decryption') end def decryption=(val) prop_set('decryption', val) end def config prop_get('config') end def config=(val) prop_set('config', val) end def system prop_get('system') end def system=(val) prop_set('system', val) end def globalprotect prop_get('globalprotect') end def globalprotect=(val) prop_set('globalprotect', val) end def hip_match prop_get('hip-match') end def hip_match=(val) prop_set('hip-match', val) end def correlation prop_get('correlation') end def correlation=(val) prop_set('correlation', val) end end def format @subclasses['format'] ||= Format.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def syslog maybe_register_subclass('syslog', Syslog.new(parent_instance: self, client: @client, create_children: @create_children)) end class Http < XML::ConfigClass def has_multiple_values?; true; end def _section :http end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'address'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'help-string'=>'IP address or FQDN of HTTP server to use', 'error-string'=>'Must be IP address or FQDN'}, 'protocol'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'HTTPS', 'enum'=>[{'value'=>'HTTP'}, {'value'=>'HTTPS'}]}, 'port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'optional'=>'yes', 'default'=>'443', 'help-string'=>'Port number (Standard HTTP ports HTTP:80, HTTPS:443)'}, 'tls-version'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'1.2', 'help-string'=>'TLS handshake protocol version', 'enum'=>[{'value'=>'1.2'}, {'value'=>'1.1'}, {'value'=>'1.0'}]}, 'auth'=>{'node-type'=>'element', 'type'=>'enum', 'internal'=>'yes', 'optional'=>'yes', 'enum'=>[{'value'=>'OAUTH2'}]}, 'certificate-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'default'=>'None', 'help-string'=>'Certificate Profile for validating server certificate'}, 'http-method'=>{'node-type'=>'element', 'type'=>'string', 'default'=>'POST', 'complete-handler'=>'http-method-completer'}, 'username'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'username for HTTP basic authentication', 'minlen'=>'1', 'maxlen'=>'255', 'regex'=>'[^\']*'}, 'password'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'regex'=>'[^\']*', 'encrypt'=>'yes'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # IP address or FQDN of HTTP server to use def address prop_get('address') end # IP address or FQDN of HTTP server to use def address=(val) prop_set('address', val) end def protocol prop_get('protocol') end def protocol=(val) prop_set('protocol', val) end # Port number (Standard HTTP ports HTTP:80, HTTPS:443) def port prop_get('port') end # Port number (Standard HTTP ports HTTP:80, HTTPS:443) def port=(val) prop_set('port', val) end # TLS handshake protocol version def tls_version prop_get('tls-version') end # TLS handshake protocol version def tls_version=(val) prop_set('tls-version', val) end def auth prop_get('auth') end def auth=(val) prop_set('auth', val) end # Certificate Profile for validating server certificate def certificate_profile prop_get('certificate-profile') end # Certificate Profile for validating server certificate def certificate_profile=(val) prop_set('certificate-profile', val) end def http_method prop_get('http-method') end def http_method=(val) prop_set('http-method', val) end # username for HTTP basic authentication def username prop_get('username') end # username for HTTP basic authentication def username=(val) prop_set('username', val) end def password prop_get('password') end def password=(val) prop_set('password', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end class Format < ConfigClass def has_multiple_values?; false; end def _section :format end class Config < ConfigClass def has_multiple_values?; false; end def _section :config end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def config @subclasses['config'] ||= Config.new(parent_instance: self, client: @client, create_children: @create_children) end class System < ConfigClass def has_multiple_values?; false; end def _section :system end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def system @subclasses['system'] ||= System.new(parent_instance: self, client: @client, create_children: @create_children) end class Traffic < ConfigClass def has_multiple_values?; false; end def _section :traffic end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def traffic @subclasses['traffic'] ||= Traffic.new(parent_instance: self, client: @client, create_children: @create_children) end class Threat < ConfigClass def has_multiple_values?; false; end def _section :threat end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def threat @subclasses['threat'] ||= Threat.new(parent_instance: self, client: @client, create_children: @create_children) end class Wildfire < ConfigClass def has_multiple_values?; false; end def _section :wildfire end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def wildfire @subclasses['wildfire'] ||= Wildfire.new(parent_instance: self, client: @client, create_children: @create_children) end class Url < ConfigClass def has_multiple_values?; false; end def _section :url end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def url @subclasses['url'] ||= Url.new(parent_instance: self, client: @client, create_children: @create_children) end class Data < ConfigClass def has_multiple_values?; false; end def _section :data end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def data @subclasses['data'] ||= Data.new(parent_instance: self, client: @client, create_children: @create_children) end class Gtp < ConfigClass def has_multiple_values?; false; end def _section :gtp end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def gtp @subclasses['gtp'] ||= Gtp.new(parent_instance: self, client: @client, create_children: @create_children) end class Sctp < ConfigClass def has_multiple_values?; false; end def _section :sctp end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def sctp @subclasses['sctp'] ||= Sctp.new(parent_instance: self, client: @client, create_children: @create_children) end class Tunnel < ConfigClass def has_multiple_values?; false; end def _section :tunnel end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def tunnel @subclasses['tunnel'] ||= Tunnel.new(parent_instance: self, client: @client, create_children: @create_children) end class Auth < ConfigClass def has_multiple_values?; false; end def _section :auth end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def auth @subclasses['auth'] ||= Auth.new(parent_instance: self, client: @client, create_children: @create_children) end class Userid < ConfigClass def has_multiple_values?; false; end def _section :userid end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def userid @subclasses['userid'] ||= Userid.new(parent_instance: self, client: @client, create_children: @create_children) end class Iptag < ConfigClass def has_multiple_values?; false; end def _section :iptag end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def iptag @subclasses['iptag'] ||= Iptag.new(parent_instance: self, client: @client, create_children: @create_children) end class Decryption < ConfigClass def has_multiple_values?; false; end def _section :decryption end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def decryption @subclasses['decryption'] ||= Decryption.new(parent_instance: self, client: @client, create_children: @create_children) end class Globalprotect < ConfigClass def has_multiple_values?; false; end def _section :globalprotect end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def globalprotect @subclasses['globalprotect'] ||= Globalprotect.new(parent_instance: self, client: @client, create_children: @create_children) end class HipMatch < ConfigClass def has_multiple_values?; false; end def _section :'hip-match' end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def hip_match @subclasses['hip-match'] ||= HipMatch.new(parent_instance: self, client: @client, create_children: @create_children) end class Correlation < ConfigClass def has_multiple_values?; false; end def _section :correlation end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def correlation @subclasses['correlation'] ||= Correlation.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def format @subclasses['format'] ||= Format.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'tag-registration'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'The server(s) should have User-ID agent running in order for tag registration to work'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # The server(s) should have User-ID agent running in order for tag registration to work def tag_registration prop_get('tag-registration') end # The server(s) should have User-ID agent running in order for tag registration to work def tag_registration=(val) prop_set('tag-registration', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def http maybe_register_subclass('http', Http.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def log_settings @subclasses['log-settings'] ||= LogSettings.new(parent_instance: self, client: @client, create_children: @create_children) end class ContentPreview < ConfigClass def has_multiple_values?; false; end def _section :'content-preview' end class Application < XML::ConfigClass def has_multiple_values?; true; end def _section :application end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Default < XML::ConfigClass def has_multiple_values?; true; end def _section :default end class Port < XML::ConfigClass def has_multiple_values?; true; end def _section :port end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'protocol port specification : {tcp|udp}/{dynamic|port range list} (e.g. tcp/8080, tcp/80,443, tcp/0-1024,10000, udp/dynamic)'}} # protocol port specification : {tcp|udp}/{dynamic|port range list} (e.g. tcp/8080, tcp/80,443, tcp/0-1024,10000, udp/dynamic) def member prop_get('member') end # protocol port specification : {tcp|udp}/{dynamic|port range list} (e.g. tcp/8080, tcp/80,443, tcp/0-1024,10000, udp/dynamic) def member=(val) prop_set('member', val) end end def port maybe_register_subclass('port', Port.new(parent_instance: self, client: @client, create_children: @create_children)) end class IdentByIcmpType < ConfigClass def has_multiple_values?; false; end def _section :'ident-by-icmp-type' end @props = {'type'=>{'node-type'=>'element', 'type'=>'rangelistspec', 'min'=>'0', 'max'=>'255'}, 'code'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangelistspec', 'min'=>'0', 'max'=>'255'}} def type prop_get('type') end def type=(val) prop_set('type', val) end def code prop_get('code') end def code=(val) prop_set('code', val) end end def ident_by_icmp_type @subclasses['ident-by-icmp-type'] ||= IdentByIcmpType.new(parent_instance: self, client: @client, create_children: @create_children) end class IdentByIcmp6Type < ConfigClass def has_multiple_values?; false; end def _section :'ident-by-icmp6-type' end @props = {'type'=>{'node-type'=>'element', 'type'=>'rangelistspec', 'min'=>'0', 'max'=>'255'}, 'code'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangelistspec', 'min'=>'0', 'max'=>'255'}} def type prop_get('type') end def type=(val) prop_set('type', val) end def code prop_get('code') end def code=(val) prop_set('code', val) end end def ident_by_icmp6_type @subclasses['ident-by-icmp6-type'] ||= IdentByIcmp6Type.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'ident-by-ip-protocol'=>{'node-type'=>'element', 'type'=>'rangelistspec', 'min'=>'0', 'max'=>'255'}} def ident_by_ip_protocol prop_get('ident-by-ip-protocol') end def ident_by_ip_protocol=(val) prop_set('ident-by-ip-protocol', val) end end def default maybe_register_subclass('default', Default.new(parent_instance: self, client: @client, create_children: @create_children)) end class UseApplications < XML::ConfigClass def has_multiple_values?; true; end def _section :'use-applications' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def use_applications maybe_register_subclass('use-applications', UseApplications.new(parent_instance: self, client: @client, create_children: @create_children)) end class ImplicitUseApplications < XML::ConfigClass def has_multiple_values?; true; end def _section :'implicit-use-applications' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def implicit_use_applications maybe_register_subclass('implicit-use-applications', ImplicitUseApplications.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'no'}]}, 'category'=>{'node-type'=>'element', 'type'=>'string'}, 'subcategory'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63'}, 'technology'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'604800', 'optional'=>'yes', 'help-string'=>'timeout in seconds'}, 'tcp-timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'604800', 'optional'=>'yes', 'help-string'=>'timeout in seconds'}, 'udp-timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'604800', 'optional'=>'yes', 'help-string'=>'timeout in seconds'}, 'tcp-half-closed-timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'604800', 'optional'=>'yes', 'help-string'=>'timeout for half-close session in seconds'}, 'tcp-time-wait-timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'600', 'optional'=>'yes', 'help-string'=>'timeout for session in time_wait state in seconds'}, 'risk'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'5'}, 'evasive-behavior'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'consume-big-bandwidth'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'used-by-malware'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'able-to-transfer-file'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'has-known-vulnerability'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'tunnel-other-application'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'tunnel-applications'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'prone-to-misuse'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'pervasive-use'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'file-type-ident'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'virus-ident'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'data-ident'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'no-appid-caching'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'alg-disable-capability'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127', 'optional'=>'yes'}, 'parent-app'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127', 'optional'=>'yes'}, 'cachable'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'can-disable'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'preview'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}, 'is-saas'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end def category prop_get('category') end def category=(val) prop_set('category', val) end def subcategory prop_get('subcategory') end def subcategory=(val) prop_set('subcategory', val) end def technology prop_get('technology') end def technology=(val) prop_set('technology', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end # timeout in seconds def timeout prop_get('timeout') end # timeout in seconds def timeout=(val) prop_set('timeout', val) end # timeout in seconds def tcp_timeout prop_get('tcp-timeout') end # timeout in seconds def tcp_timeout=(val) prop_set('tcp-timeout', val) end # timeout in seconds def udp_timeout prop_get('udp-timeout') end # timeout in seconds def udp_timeout=(val) prop_set('udp-timeout', val) end # timeout for half-close session in seconds def tcp_half_closed_timeout prop_get('tcp-half-closed-timeout') end # timeout for half-close session in seconds def tcp_half_closed_timeout=(val) prop_set('tcp-half-closed-timeout', val) end # timeout for session in time_wait state in seconds def tcp_time_wait_timeout prop_get('tcp-time-wait-timeout') end # timeout for session in time_wait state in seconds def tcp_time_wait_timeout=(val) prop_set('tcp-time-wait-timeout', val) end def risk prop_get('risk') end def risk=(val) prop_set('risk', val) end def evasive_behavior prop_get('evasive-behavior') end def evasive_behavior=(val) prop_set('evasive-behavior', val) end def consume_big_bandwidth prop_get('consume-big-bandwidth') end def consume_big_bandwidth=(val) prop_set('consume-big-bandwidth', val) end def used_by_malware prop_get('used-by-malware') end def used_by_malware=(val) prop_set('used-by-malware', val) end def able_to_transfer_file prop_get('able-to-transfer-file') end def able_to_transfer_file=(val) prop_set('able-to-transfer-file', val) end def has_known_vulnerability prop_get('has-known-vulnerability') end def has_known_vulnerability=(val) prop_set('has-known-vulnerability', val) end def tunnel_other_application prop_get('tunnel-other-application') end def tunnel_other_application=(val) prop_set('tunnel-other-application', val) end def tunnel_applications prop_get('tunnel-applications') end def tunnel_applications=(val) prop_set('tunnel-applications', val) end def prone_to_misuse prop_get('prone-to-misuse') end def prone_to_misuse=(val) prop_set('prone-to-misuse', val) end def pervasive_use prop_get('pervasive-use') end def pervasive_use=(val) prop_set('pervasive-use', val) end def file_type_ident prop_get('file-type-ident') end def file_type_ident=(val) prop_set('file-type-ident', val) end def virus_ident prop_get('virus-ident') end def virus_ident=(val) prop_set('virus-ident', val) end def data_ident prop_get('data-ident') end def data_ident=(val) prop_set('data-ident', val) end def no_appid_caching prop_get('no-appid-caching') end def no_appid_caching=(val) prop_set('no-appid-caching', val) end def alg_disable_capability prop_get('alg-disable-capability') end def alg_disable_capability=(val) prop_set('alg-disable-capability', val) end def parent_app prop_get('parent-app') end def parent_app=(val) prop_set('parent-app', val) end def cachable prop_get('cachable') end def cachable=(val) prop_set('cachable', val) end def can_disable prop_get('can-disable') end def can_disable=(val) prop_set('can-disable', val) end def preview prop_get('preview') end def preview=(val) prop_set('preview', val) end def is_saas prop_get('is-saas') end def is_saas=(val) prop_set('is-saas', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def application maybe_register_subclass('application', Application.new(parent_instance: self, client: @client, create_children: @create_children)) end class ApplicationType < XML::ConfigClass def has_multiple_values?; true; end def _section :'application-type' end class Category < ConfigClass def has_multiple_values?; false; end def _section :category end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, '@id'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'max'=>'128'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def id prop_get('@id') end def description prop_get('description') end def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def category @subclasses['category'] ||= Category.new(parent_instance: self, client: @client, create_children: @create_children) end class Technology < ConfigClass def has_multiple_values?; false; end def _section :technology end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, '@id'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'max'=>'128'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def id prop_get('@id') end def description prop_get('description') end def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def technology @subclasses['technology'] ||= Technology.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def application_type maybe_register_subclass('application-type', ApplicationType.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def content_preview @subclasses['content-preview'] ||= ContentPreview.new(parent_instance: self, client: @client, create_children: @create_children) end class Certificate < XML::ConfigClass def has_multiple_values?; true; end def _section :certificate end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'private-key'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'16384', 'encrypt'=>'yes', 'double-encrypt'=>'yes'}, 'private-key-on-hsm'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'algorithm'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'ca'=>{'node-type'=>'element', 'type'=>'bool', 'internal'=>'yes', 'optional'=>'yes'}, 'not-valid-after'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'not-valid-before'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'expiry-epoch'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0-9]*$'}, 'subject'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'subject-hash'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'issuer'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'issuer-hash'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'status'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'valid', 'enum'=>[{'value'=>'valid'}, {'value'=>'revoked'}]}, 'revoke-date-epoch'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0-9]*$'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def private_key prop_get('private-key') end def private_key=(val) prop_set('private-key', val) end def private_key_on_hsm prop_get('private-key-on-hsm') end def private_key_on_hsm=(val) prop_set('private-key-on-hsm', val) end def algorithm prop_get('algorithm') end def algorithm=(val) prop_set('algorithm', val) end def ca prop_get('ca') end def ca=(val) prop_set('ca', val) end def not_valid_after prop_get('not-valid-after') end def not_valid_after=(val) prop_set('not-valid-after', val) end def not_valid_before prop_get('not-valid-before') end def not_valid_before=(val) prop_set('not-valid-before', val) end def expiry_epoch prop_get('expiry-epoch') end def expiry_epoch=(val) prop_set('expiry-epoch', val) end def subject prop_get('subject') end def subject=(val) prop_set('subject', val) end def subject_hash prop_get('subject-hash') end def subject_hash=(val) prop_set('subject-hash', val) end def issuer prop_get('issuer') end def issuer=(val) prop_set('issuer', val) end def issuer_hash prop_get('issuer-hash') end def issuer_hash=(val) prop_set('issuer-hash', val) end def status prop_get('status') end def status=(val) prop_set('status', val) end def revoke_date_epoch prop_get('revoke-date-epoch') end def revoke_date_epoch=(val) prop_set('revoke-date-epoch', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def certificate maybe_register_subclass('certificate', Certificate.new(parent_instance: self, client: @client, create_children: @create_children)) end class SslTlsServiceProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'ssl-tls-service-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class ProtocolSettings < ConfigClass def has_multiple_values?; false; end def _section :'protocol-settings' end @props = {'min-version'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'tls1-0', 'enum'=>[{'value'=>'tls1-0', 'help-string'=>'TLSv1.0'}, {'value'=>'tls1-1', 'help-string'=>'TLSv1.1'}, {'value'=>'tls1-2', 'help-string'=>'TLSv1.2'}]}, 'max-version'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'max', 'enum'=>[{'value'=>'tls1-0', 'help-string'=>'TLSv1.0'}, {'value'=>'tls1-1', 'help-string'=>'TLSv1.1'}, {'value'=>'tls1-2', 'help-string'=>'TLSv1.2'}, {'value'=>'max', 'help-string'=>'Max'}]}, 'keyxchg-algo-rsa'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm RSA'}, 'keyxchg-algo-dhe'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm DHE'}, 'keyxchg-algo-ecdhe'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm ECDHE'}, 'enc-algo-3des'=>{'node-type'=>'element', 'prune-on'=>'fips-mode', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm 3DES'}, 'enc-algo-rc4'=>{'node-type'=>'element', 'prune-on'=>'fips-mode', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm RC4'}, 'enc-algo-aes-128-cbc'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm AES-128-CBC'}, 'enc-algo-aes-256-cbc'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm AES-256-CBC'}, 'enc-algo-aes-128-gcm'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm AES-128-GCM'}, 'enc-algo-aes-256-gcm'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm AES-256-GCM'}, 'auth-algo-sha1'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow authentication SHA1'}, 'auth-algo-sha256'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow authentication SHA256'}, 'auth-algo-sha384'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow authentication SHA384'}} def min_version prop_get('min-version') end def min_version=(val) prop_set('min-version', val) end def max_version prop_get('max-version') end def max_version=(val) prop_set('max-version', val) end # Allow algorithm RSA def keyxchg_algo_rsa prop_get('keyxchg-algo-rsa') end # Allow algorithm RSA def keyxchg_algo_rsa=(val) prop_set('keyxchg-algo-rsa', val) end # Allow algorithm DHE def keyxchg_algo_dhe prop_get('keyxchg-algo-dhe') end # Allow algorithm DHE def keyxchg_algo_dhe=(val) prop_set('keyxchg-algo-dhe', val) end # Allow algorithm ECDHE def keyxchg_algo_ecdhe prop_get('keyxchg-algo-ecdhe') end # Allow algorithm ECDHE def keyxchg_algo_ecdhe=(val) prop_set('keyxchg-algo-ecdhe', val) end # Allow algorithm 3DES def enc_algo_3des prop_get('enc-algo-3des') end # Allow algorithm 3DES def enc_algo_3des=(val) prop_set('enc-algo-3des', val) end # Allow algorithm RC4 def enc_algo_rc4 prop_get('enc-algo-rc4') end # Allow algorithm RC4 def enc_algo_rc4=(val) prop_set('enc-algo-rc4', val) end # Allow algorithm AES-128-CBC def enc_algo_aes_128_cbc prop_get('enc-algo-aes-128-cbc') end # Allow algorithm AES-128-CBC def enc_algo_aes_128_cbc=(val) prop_set('enc-algo-aes-128-cbc', val) end # Allow algorithm AES-256-CBC def enc_algo_aes_256_cbc prop_get('enc-algo-aes-256-cbc') end # Allow algorithm AES-256-CBC def enc_algo_aes_256_cbc=(val) prop_set('enc-algo-aes-256-cbc', val) end # Allow algorithm AES-128-GCM def enc_algo_aes_128_gcm prop_get('enc-algo-aes-128-gcm') end # Allow algorithm AES-128-GCM def enc_algo_aes_128_gcm=(val) prop_set('enc-algo-aes-128-gcm', val) end # Allow algorithm AES-256-GCM def enc_algo_aes_256_gcm prop_get('enc-algo-aes-256-gcm') end # Allow algorithm AES-256-GCM def enc_algo_aes_256_gcm=(val) prop_set('enc-algo-aes-256-gcm', val) end # Allow authentication SHA1 def auth_algo_sha1 prop_get('auth-algo-sha1') end # Allow authentication SHA1 def auth_algo_sha1=(val) prop_set('auth-algo-sha1', val) end # Allow authentication SHA256 def auth_algo_sha256 prop_get('auth-algo-sha256') end # Allow authentication SHA256 def auth_algo_sha256=(val) prop_set('auth-algo-sha256', val) end # Allow authentication SHA384 def auth_algo_sha384 prop_get('auth-algo-sha384') end # Allow authentication SHA384 def auth_algo_sha384=(val) prop_set('auth-algo-sha384', val) end end def protocol_settings @subclasses['protocol-settings'] ||= ProtocolSettings.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'127', 'regex'=>'.*', 'help-string'=>'Profile name'}, 'certificate'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'SSL certificate file name', 'maxlen'=>'255'}} # Profile name def name prop_get('@name') end # SSL certificate file name def certificate prop_get('certificate') end # SSL certificate file name def certificate=(val) prop_set('certificate', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ssl_tls_service_profile maybe_register_subclass('ssl-tls-service-profile', SslTlsServiceProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class ResponsePage < ConfigClass def has_multiple_values?; false; end def _section :'response-page' end class GlobalProtectPortalCustomLoginPage < XML::ConfigClass def has_multiple_values?; true; end def _section :'global-protect-portal-custom-login-page' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'page'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def page prop_get('page') end def page=(val) prop_set('page', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def global_protect_portal_custom_login_page maybe_register_subclass('global-protect-portal-custom-login-page', GlobalProtectPortalCustomLoginPage.new(parent_instance: self, client: @client, create_children: @create_children)) end class GlobalProtectPortalCustomHomePage < XML::ConfigClass def has_multiple_values?; true; end def _section :'global-protect-portal-custom-home-page' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'page'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def page prop_get('page') end def page=(val) prop_set('page', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def global_protect_portal_custom_home_page maybe_register_subclass('global-protect-portal-custom-home-page', GlobalProtectPortalCustomHomePage.new(parent_instance: self, client: @client, create_children: @create_children)) end class GlobalProtectPortalCustomHelpPage < XML::ConfigClass def has_multiple_values?; true; end def _section :'global-protect-portal-custom-help-page' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'page'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'174762'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def page prop_get('page') end def page=(val) prop_set('page', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def global_protect_portal_custom_help_page maybe_register_subclass('global-protect-portal-custom-help-page', GlobalProtectPortalCustomHelpPage.new(parent_instance: self, client: @client, create_children: @create_children)) end class GlobalProtectPortalCustomWelcomePage < XML::ConfigClass def has_multiple_values?; true; end def _section :'global-protect-portal-custom-welcome-page' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'page'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'174762'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def page prop_get('page') end def page=(val) prop_set('page', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def global_protect_portal_custom_welcome_page maybe_register_subclass('global-protect-portal-custom-welcome-page', GlobalProtectPortalCustomWelcomePage.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'application-block-page'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845', 'tlo'=>'yes', 'in-tpl'=>'yes'}, 'captive-portal-text'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845', 'tlo'=>'yes', 'in-tpl'=>'yes'}, 'file-block-continue-page'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845', 'tlo'=>'yes', 'in-tpl'=>'yes'}, 'file-block-page'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845', 'tlo'=>'yes', 'in-tpl'=>'yes'}, 'ssl-cert-status-page'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845', 'tlo'=>'yes', 'in-tpl'=>'yes'}, 'ssl-optout-text'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845', 'tlo'=>'yes', 'in-tpl'=>'yes'}, 'url-block-page'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845', 'tlo'=>'yes', 'in-tpl'=>'yes'}, 'url-coach-text'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845', 'tlo'=>'yes', 'in-tpl'=>'yes'}, 'credential-block-page'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845', 'tlo'=>'yes', 'in-tpl'=>'yes'}, 'credential-coach-text'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845', 'tlo'=>'yes', 'in-tpl'=>'yes'}, 'virus-block-page'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845', 'tlo'=>'yes', 'in-tpl'=>'yes'}, 'data-filter-block-page'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845', 'tlo'=>'yes', 'in-tpl'=>'yes'}, 'safe-search-block-page'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845', 'tlo'=>'yes', 'in-tpl'=>'yes'}, 'saml-auth-internal-error-page'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845', 'tlo'=>'yes', 'in-tpl'=>'yes'}, 'mfa-login-page'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845', 'tlo'=>'yes', 'in-tpl'=>'yes'}} def application_block_page prop_get('application-block-page') end def application_block_page=(val) prop_set('application-block-page', val) end def captive_portal_text prop_get('captive-portal-text') end def captive_portal_text=(val) prop_set('captive-portal-text', val) end def file_block_continue_page prop_get('file-block-continue-page') end def file_block_continue_page=(val) prop_set('file-block-continue-page', val) end def file_block_page prop_get('file-block-page') end def file_block_page=(val) prop_set('file-block-page', val) end def ssl_cert_status_page prop_get('ssl-cert-status-page') end def ssl_cert_status_page=(val) prop_set('ssl-cert-status-page', val) end def ssl_optout_text prop_get('ssl-optout-text') end def ssl_optout_text=(val) prop_set('ssl-optout-text', val) end def url_block_page prop_get('url-block-page') end def url_block_page=(val) prop_set('url-block-page', val) end def url_coach_text prop_get('url-coach-text') end def url_coach_text=(val) prop_set('url-coach-text', val) end def credential_block_page prop_get('credential-block-page') end def credential_block_page=(val) prop_set('credential-block-page', val) end def credential_coach_text prop_get('credential-coach-text') end def credential_coach_text=(val) prop_set('credential-coach-text', val) end def virus_block_page prop_get('virus-block-page') end def virus_block_page=(val) prop_set('virus-block-page', val) end def data_filter_block_page prop_get('data-filter-block-page') end def data_filter_block_page=(val) prop_set('data-filter-block-page', val) end def safe_search_block_page prop_get('safe-search-block-page') end def safe_search_block_page=(val) prop_set('safe-search-block-page', val) end def saml_auth_internal_error_page prop_get('saml-auth-internal-error-page') end def saml_auth_internal_error_page=(val) prop_set('saml-auth-internal-error-page', val) end def mfa_login_page prop_get('mfa-login-page') end def mfa_login_page=(val) prop_set('mfa-login-page', val) end end def response_page @subclasses['response-page'] ||= ResponsePage.new(parent_instance: self, client: @client, create_children: @create_children) end class LocalUserDatabase < ConfigClass def has_multiple_values?; false; end def _section :'local-user-database' end class User < XML::ConfigClass def has_multiple_values?; true; end def _section :user end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'31', 'help-string'=>'User name'}, 'phash'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}} # User name def name prop_get('@name') end def phash prop_get('phash') end def phash=(val) prop_set('phash', val) end def disabled prop_get('disabled') end def disabled=(val) prop_set('disabled', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def user maybe_register_subclass('user', User.new(parent_instance: self, client: @client, create_children: @create_children)) end class UserGroup < XML::ConfigClass def has_multiple_values?; true; end def _section :'user-group' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class User < XML::ConfigClass def has_multiple_values?; true; end def _section :user end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'User name'}} # User name def member prop_get('member') end # User name def member=(val) prop_set('member', val) end end def user maybe_register_subclass('user', User.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'Group name'}} # Group name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def user_group maybe_register_subclass('user-group', UserGroup.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def local_user_database @subclasses['local-user-database'] ||= LocalUserDatabase.new(parent_instance: self, client: @client, create_children: @create_children) end class OcspResponder < XML::ConfigClass def has_multiple_values?; true; end def _section :'ocsp-responder' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [:0-9a-zA-Z._-]'}, 'host-name'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'255', 'regex'=>'^([$:a-zA-Z0-9._-])+$'}} # alphanumeric string [:0-9a-zA-Z._-] def name prop_get('@name') end def host_name prop_get('host-name') end def host_name=(val) prop_set('host-name', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ocsp_responder maybe_register_subclass('ocsp-responder', OcspResponder.new(parent_instance: self, client: @client, create_children: @create_children)) end class SslDecrypt < ConfigClass def has_multiple_values?; false; end def _section :'ssl-decrypt' end class ForwardTrustCertificate < ConfigClass def has_multiple_values?; false; end def _section :'forward-trust-certificate' end @props = {'rsa'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'RSA certificate', 'maxlen'=>'63'}, 'ecdsa'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'ECDSA certificate', 'maxlen'=>'63'}} # RSA certificate def rsa prop_get('rsa') end # RSA certificate def rsa=(val) prop_set('rsa', val) end # ECDSA certificate def ecdsa prop_get('ecdsa') end # ECDSA certificate def ecdsa=(val) prop_set('ecdsa', val) end end def forward_trust_certificate @subclasses['forward-trust-certificate'] ||= ForwardTrustCertificate.new(parent_instance: self, client: @client, create_children: @create_children) end class ForwardUntrustCertificate < ConfigClass def has_multiple_values?; false; end def _section :'forward-untrust-certificate' end @props = {'rsa'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'RSA certificate', 'maxlen'=>'63'}, 'ecdsa'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'ECDSA certificate', 'maxlen'=>'63'}} # RSA certificate def rsa prop_get('rsa') end # RSA certificate def rsa=(val) prop_set('rsa', val) end # ECDSA certificate def ecdsa prop_get('ecdsa') end # ECDSA certificate def ecdsa=(val) prop_set('ecdsa', val) end end def forward_untrust_certificate @subclasses['forward-untrust-certificate'] ||= ForwardUntrustCertificate.new(parent_instance: self, client: @client, create_children: @create_children) end class SslExcludeCert < XML::ConfigClass def has_multiple_values?; true; end def _section :'ssl-exclude-cert' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'255', 'help-string'=>'SSL Decryption Exclusion entry name'}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'0', 'maxlen'=>'512'}, 'exclude'=>{'node-type'=>'element', 'type'=>'bool'}} # SSL Decryption Exclusion entry name def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def exclude prop_get('exclude') end def exclude=(val) prop_set('exclude', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ssl_exclude_cert maybe_register_subclass('ssl-exclude-cert', SslExcludeCert.new(parent_instance: self, client: @client, create_children: @create_children)) end class RootCaExcludeList < XML::ConfigClass def has_multiple_values?; true; end def _section :'root-ca-exclude-list' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1024'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def root_ca_exclude_list maybe_register_subclass('root-ca-exclude-list', RootCaExcludeList.new(parent_instance: self, client: @client, create_children: @create_children)) end class TrustedRootCA < XML::ConfigClass def has_multiple_values?; true; end def _section :'trusted-root-CA' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Trusted Root CA', 'maxlen'=>'63'}} # Trusted Root CA def member prop_get('member') end # Trusted Root CA def member=(val) prop_set('member', val) end end def trusted_root_CA maybe_register_subclass('trusted-root-CA', TrustedRootCA.new(parent_instance: self, client: @client, create_children: @create_children)) end class DisabledSslExcludeCertFromPredefined < XML::ConfigClass def has_multiple_values?; true; end def _section :'disabled-ssl-exclude-cert-from-predefined' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'255', 'max-count'=>'512'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def disabled_ssl_exclude_cert_from_predefined maybe_register_subclass('disabled-ssl-exclude-cert-from-predefined', DisabledSslExcludeCertFromPredefined.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def ssl_decrypt @subclasses['ssl-decrypt'] ||= SslDecrypt.new(parent_instance: self, client: @client, create_children: @create_children) end class UrlContentTypes < XML::ConfigClass def has_multiple_values?; true; end def _section :'url-content-types' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'31', 'help-string'=>'content type string'}} # content type string def member prop_get('member') end # content type string def member=(val) prop_set('member', val) end end def url_content_types maybe_register_subclass('url-content-types', UrlContentTypes.new(parent_instance: self, client: @client, create_children: @create_children)) end class AdminRole < XML::ConfigClass def has_multiple_values?; true; end def _section :'admin-role' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Role < XML::ConfigClass def has_multiple_values?; true; end def _section :role end class Device < ConfigClass def has_multiple_values?; false; end def _section :device end class Webui < ConfigClass def has_multiple_values?; false; end def _section :webui end class Monitor < ConfigClass def has_multiple_values?; false; end def _section :monitor end class Logs < ConfigClass def has_multiple_values?; false; end def _section :logs end @props = {'traffic'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'traffic_log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'threat'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'threat_log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'url'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'URL Filtering', 'help-topic'=>'url_log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'wildfire'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'WildFire Submissions', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'data-filtering'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'data_filter_log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'hipmatch'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'hip_match_log', 'menu-tree-path'=>'HIP Match', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'globalprotect'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'GlobalProtect', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'iptag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'ip_tag', 'menu-tree-path'=>'IP-Tag', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'userid'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'userid_log', 'menu-tree-path'=>'User-ID', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'decryption'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'decryption_log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'gtp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'gtp_log', 'menu-tree-path'=>'GTP', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'tunnel'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'tunnel_log', 'menu-tree-path'=>'Tunnel Inspection', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'sctp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'sctp_log', 'menu-tree-path'=>'SCTP', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'configuration'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'config_log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'system'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'system_log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'alarm'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Alarms', 'help-topic'=>'alarm_log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'authentication'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'authentication_log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}} def traffic prop_get('traffic') end def traffic=(val) prop_set('traffic', val) end def threat prop_get('threat') end def threat=(val) prop_set('threat', val) end def url prop_get('url') end def url=(val) prop_set('url', val) end def wildfire prop_get('wildfire') end def wildfire=(val) prop_set('wildfire', val) end def data_filtering prop_get('data-filtering') end def data_filtering=(val) prop_set('data-filtering', val) end def hipmatch prop_get('hipmatch') end def hipmatch=(val) prop_set('hipmatch', val) end def globalprotect prop_get('globalprotect') end def globalprotect=(val) prop_set('globalprotect', val) end def iptag prop_get('iptag') end def iptag=(val) prop_set('iptag', val) end def userid prop_get('userid') end def userid=(val) prop_set('userid', val) end def decryption prop_get('decryption') end def decryption=(val) prop_set('decryption', val) end def gtp prop_get('gtp') end def gtp=(val) prop_set('gtp', val) end def tunnel prop_get('tunnel') end def tunnel=(val) prop_set('tunnel', val) end def sctp prop_get('sctp') end def sctp=(val) prop_set('sctp', val) end def configuration prop_get('configuration') end def configuration=(val) prop_set('configuration', val) end def system prop_get('system') end def system=(val) prop_set('system', val) end def alarm prop_get('alarm') end def alarm=(val) prop_set('alarm', val) end def authentication prop_get('authentication') end def authentication=(val) prop_set('authentication', val) end end def logs @subclasses['logs'] ||= Logs.new(parent_instance: self, client: @client, create_children: @create_children) end class AutomatedCorrelationEngine < ConfigClass def has_multiple_values?; false; end def _section :'automated-correlation-engine' end @props = {'correlation-objects'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'correlated-events'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}} def correlation_objects prop_get('correlation-objects') end def correlation_objects=(val) prop_set('correlation-objects', val) end def correlated_events prop_get('correlated-events') end def correlated_events=(val) prop_set('correlated-events', val) end end def automated_correlation_engine @subclasses['automated-correlation-engine'] ||= AutomatedCorrelationEngine.new(parent_instance: self, client: @client, create_children: @create_children) end class PdfReports < ConfigClass def has_multiple_values?; false; end def _section :'pdf-reports' end @props = {'manage-pdf-summary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Manage PDF Summary', 'help-topic'=>'manage_pdf_summary_report', 'node-config-ids'=>'ManagePdfSummary', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'pdf-summary-reports'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'PDF Summary Reports', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'user-activity-report'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'UserActivityReport', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'saas-application-usage-report'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SaaS Application Usage', 'node-config-ids'=>'SaasAppUsageReport', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'report-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'ReportGroup', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'email-scheduler'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'report_email', 'node-config-ids'=>'EmailScheduler', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def manage_pdf_summary prop_get('manage-pdf-summary') end def manage_pdf_summary=(val) prop_set('manage-pdf-summary', val) end def pdf_summary_reports prop_get('pdf-summary-reports') end def pdf_summary_reports=(val) prop_set('pdf-summary-reports', val) end def user_activity_report prop_get('user-activity-report') end def user_activity_report=(val) prop_set('user-activity-report', val) end def saas_application_usage_report prop_get('saas-application-usage-report') end def saas_application_usage_report=(val) prop_set('saas-application-usage-report', val) end def report_groups prop_get('report-groups') end def report_groups=(val) prop_set('report-groups', val) end def email_scheduler prop_get('email-scheduler') end def email_scheduler=(val) prop_set('email-scheduler', val) end end def pdf_reports @subclasses['pdf-reports'] ||= PdfReports.new(parent_instance: self, client: @client, create_children: @create_children) end class CustomReports < ConfigClass def has_multiple_values?; false; end def _section :'custom-reports' end @props = {'application-statistics'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'data-filtering-log'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'threat-log'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'threat-summary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'traffic-log'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'traffic-summary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'url-log'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'menu-tree-path'=>'URL Log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'url-summary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'menu-tree-path'=>'URL Summary', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'hipmatch'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'prune-on'=>'vpn-disable-mode', 'menu-tree-path'=>'HIP Match', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'globalprotect'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'menu-tree-path'=>'GlobalProtect', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'wildfire-log'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'menu-tree-path'=>'WildFire Log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'gtp-log'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'menu-tree-path'=>'GTP Log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'gtp-summary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'menu-tree-path'=>'GTP Summary', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'tunnel-log'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'tunnel-summary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'sctp-log'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'menu-tree-path'=>'SCTP Log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'sctp-summary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'menu-tree-path'=>'SCTP Summary', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'iptag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'menu-tree-path'=>'IP-Tag', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'userid'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'menu-tree-path'=>'User-ID', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'decryption-log'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'decryption-summary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'auth'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'menu-tree-path'=>'Authentication', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}} def application_statistics prop_get('application-statistics') end def application_statistics=(val) prop_set('application-statistics', val) end def data_filtering_log prop_get('data-filtering-log') end def data_filtering_log=(val) prop_set('data-filtering-log', val) end def threat_log prop_get('threat-log') end def threat_log=(val) prop_set('threat-log', val) end def threat_summary prop_get('threat-summary') end def threat_summary=(val) prop_set('threat-summary', val) end def traffic_log prop_get('traffic-log') end def traffic_log=(val) prop_set('traffic-log', val) end def traffic_summary prop_get('traffic-summary') end def traffic_summary=(val) prop_set('traffic-summary', val) end def url_log prop_get('url-log') end def url_log=(val) prop_set('url-log', val) end def url_summary prop_get('url-summary') end def url_summary=(val) prop_set('url-summary', val) end def hipmatch prop_get('hipmatch') end def hipmatch=(val) prop_set('hipmatch', val) end def globalprotect prop_get('globalprotect') end def globalprotect=(val) prop_set('globalprotect', val) end def wildfire_log prop_get('wildfire-log') end def wildfire_log=(val) prop_set('wildfire-log', val) end def gtp_log prop_get('gtp-log') end def gtp_log=(val) prop_set('gtp-log', val) end def gtp_summary prop_get('gtp-summary') end def gtp_summary=(val) prop_set('gtp-summary', val) end def tunnel_log prop_get('tunnel-log') end def tunnel_log=(val) prop_set('tunnel-log', val) end def tunnel_summary prop_get('tunnel-summary') end def tunnel_summary=(val) prop_set('tunnel-summary', val) end def sctp_log prop_get('sctp-log') end def sctp_log=(val) prop_set('sctp-log', val) end def sctp_summary prop_get('sctp-summary') end def sctp_summary=(val) prop_set('sctp-summary', val) end def iptag prop_get('iptag') end def iptag=(val) prop_set('iptag', val) end def userid prop_get('userid') end def userid=(val) prop_set('userid', val) end def decryption_log prop_get('decryption-log') end def decryption_log=(val) prop_set('decryption-log', val) end def decryption_summary prop_get('decryption-summary') end def decryption_summary=(val) prop_set('decryption-summary', val) end def auth prop_get('auth') end def auth=(val) prop_set('auth', val) end end def custom_reports @subclasses['custom-reports'] ||= CustomReports.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'external-logs'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'External Logs', 'help-topic'=>'external_logs', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'packet-capture'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'app-scope'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'session-browser'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'block-ip-list'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Block IP List', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'botnet'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'botnet_reports', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'view-custom-reports'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'View Scheduled Custom Reports', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'application-reports'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'View Predefined Application Reports', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'threat-reports'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'View Predefined Threat Reports', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'url-filtering-reports'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'View Predefined URL Filtering Reports', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'traffic-reports'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'View Predefined Traffic Reports', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'gtp-reports'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'View Predefined GTP Reports', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'sctp-reports'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'View Predefined SCTP Reports', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}} def external_logs prop_get('external-logs') end def external_logs=(val) prop_set('external-logs', val) end def packet_capture prop_get('packet-capture') end def packet_capture=(val) prop_set('packet-capture', val) end def app_scope prop_get('app-scope') end def app_scope=(val) prop_set('app-scope', val) end def session_browser prop_get('session-browser') end def session_browser=(val) prop_set('session-browser', val) end def block_ip_list prop_get('block-ip-list') end def block_ip_list=(val) prop_set('block-ip-list', val) end def botnet prop_get('botnet') end def botnet=(val) prop_set('botnet', val) end def view_custom_reports prop_get('view-custom-reports') end def view_custom_reports=(val) prop_set('view-custom-reports', val) end def application_reports prop_get('application-reports') end def application_reports=(val) prop_set('application-reports', val) end def threat_reports prop_get('threat-reports') end def threat_reports=(val) prop_set('threat-reports', val) end def url_filtering_reports prop_get('url-filtering-reports') end def url_filtering_reports=(val) prop_set('url-filtering-reports', val) end def traffic_reports prop_get('traffic-reports') end def traffic_reports=(val) prop_set('traffic-reports', val) end def gtp_reports prop_get('gtp-reports') end def gtp_reports=(val) prop_set('gtp-reports', val) end def sctp_reports prop_get('sctp-reports') end def sctp_reports=(val) prop_set('sctp-reports', val) end end def monitor @subclasses['monitor'] ||= Monitor.new(parent_instance: self, client: @client, create_children: @create_children) end class Policies < ConfigClass def has_multiple_values?; false; end def _section :policies end @props = {'security-rulebase'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Security', 'help-topic'=>'policies_security', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'DeviceSecurityRules1,DeviceSecurityRules2,DeviceSecurityRules3,DeviceSecurityRules4,DeviceSecurityRules5,DeviceSecurityRules6', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'nat-rulebase'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.policies.nat-rulebase-disable=True', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'NAT', 'help-topic'=>'nat_rules', 'node-config-ids'=>'DeviceNATRules1,DeviceNATRules2,DeviceNATRules3', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'qos-rulebase'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'QoS', 'help-topic'=>'qos_policies', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'DeviceQOSRules1,DeviceQOSRules2,DeviceQOSRules3', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'pbf-rulebase'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.policies.pbf-rulebase-disable=True', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Policy Based Forwarding', 'node-config-ids'=>'DevicePBFRules1,DevicePBFRules2,DevicePBFRules3', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ssl-decryption-rulebase'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Decryption', 'skip-display'=>'shared-gateway', 'help-topic'=>'decryption_rules', 'node-config-ids'=>'DeviceDecryptionRules1,DeviceDecryptionRules2,DeviceDecryptionRules3', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'network-packet-broker-rulebase'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.prune-on-decrypt-brk=True', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Network Packet Broker', 'skip-display'=>'shared-gateway', 'help-topic'=>'network_packet_broker_rules', 'node-config-ids'=>'DeviceNPBRules1,DeviceNPBRules2,DeviceNPBRules3', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'tunnel-inspect-rulebase'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Tunnel Inspection', 'skip-display'=>'shared-gateway', 'help-topic'=>'tunnel_inspection_rules', 'node-config-ids'=>'DeviceTunnelInspectRules1,DeviceTunnelInspectRules2,DeviceTunnelInspectRules3', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'application-override-rulebase'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Application Override', 'skip-display'=>'shared-gateway', 'help-topic'=>'application_override_rules', 'node-config-ids'=>'DeviceAppOverrideRules1,DeviceAppOverrideRules2,DeviceAppOverrideRules3', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'authentication-rulebase'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Authentication', 'skip-display'=>'shared-gateway', 'help-topic'=>'authentication_rules', 'node-config-ids'=>'DeviceAuthenticationRules1,DeviceAuthenticationRules2,DeviceAuthenticationRules3', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dos-rulebase'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'DoS Protection', 'skip-display'=>'shared-gateway', 'help-topic'=>'dos_rules', 'node-config-ids'=>'DeviceDOSRules1,DeviceDOSRules2,DeviceDOSRules3', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-rulebase'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SD-WAN', 'help-topic'=>'sdwan_policies', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'DeviceSDWANRules1,DeviceSDWANRules2,DeviceSDWANRules3', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'rule-hit-count-reset'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Rule Hit Count Reset', 'help-topic'=>'rule_hit_count_reset', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}} def security_rulebase prop_get('security-rulebase') end def security_rulebase=(val) prop_set('security-rulebase', val) end def nat_rulebase prop_get('nat-rulebase') end def nat_rulebase=(val) prop_set('nat-rulebase', val) end def qos_rulebase prop_get('qos-rulebase') end def qos_rulebase=(val) prop_set('qos-rulebase', val) end def pbf_rulebase prop_get('pbf-rulebase') end def pbf_rulebase=(val) prop_set('pbf-rulebase', val) end def ssl_decryption_rulebase prop_get('ssl-decryption-rulebase') end def ssl_decryption_rulebase=(val) prop_set('ssl-decryption-rulebase', val) end def network_packet_broker_rulebase prop_get('network-packet-broker-rulebase') end def network_packet_broker_rulebase=(val) prop_set('network-packet-broker-rulebase', val) end def tunnel_inspect_rulebase prop_get('tunnel-inspect-rulebase') end def tunnel_inspect_rulebase=(val) prop_set('tunnel-inspect-rulebase', val) end def application_override_rulebase prop_get('application-override-rulebase') end def application_override_rulebase=(val) prop_set('application-override-rulebase', val) end def authentication_rulebase prop_get('authentication-rulebase') end def authentication_rulebase=(val) prop_set('authentication-rulebase', val) end def dos_rulebase prop_get('dos-rulebase') end def dos_rulebase=(val) prop_set('dos-rulebase', val) end def sdwan_rulebase prop_get('sdwan-rulebase') end def sdwan_rulebase=(val) prop_set('sdwan-rulebase', val) end def rule_hit_count_reset prop_get('rule-hit-count-reset') end def rule_hit_count_reset=(val) prop_set('rule-hit-count-reset', val) end end def policies @subclasses['policies'] ||= Policies.new(parent_instance: self, client: @client, create_children: @create_children) end class Objects < ConfigClass def has_multiple_values?; false; end def _section :objects end class GlobalProtect < ConfigClass def has_multiple_values?; false; end def _section :'global-protect' end @props = {'hip-objects'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'hip_objects', 'menu-tree-path'=>'HIP Objects', 'node-config-ids'=>'HIPObjects', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'hip-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'hip_profiles', 'menu-tree-path'=>'HIP Profiles', 'node-config-ids'=>'HIPProfiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def hip_objects prop_get('hip-objects') end def hip_objects=(val) prop_set('hip-objects', val) end def hip_profiles prop_get('hip-profiles') end def hip_profiles=(val) prop_set('hip-profiles', val) end end def global_protect @subclasses['global-protect'] ||= GlobalProtect.new(parent_instance: self, client: @client, create_children: @create_children) end class CustomObjects < ConfigClass def has_multiple_values?; false; end def _section :'custom-objects' end @props = {'data-patterns'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'DataPatterns', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'spyware'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'signatures_spyware', 'node-config-ids'=>'CustomSpyware', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'vulnerability'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'signatures_vulnerability', 'node-config-ids'=>'CustomVulnerability', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'url-category'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'menu-tree-path'=>'URL Category', 'help-topic'=>'custom_url_categories', 'node-config-ids'=>'CustomURLCategory', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def data_patterns prop_get('data-patterns') end def data_patterns=(val) prop_set('data-patterns', val) end def spyware prop_get('spyware') end def spyware=(val) prop_set('spyware', val) end def vulnerability prop_get('vulnerability') end def vulnerability=(val) prop_set('vulnerability', val) end def url_category prop_get('url-category') end def url_category=(val) prop_set('url-category', val) end end def custom_objects @subclasses['custom-objects'] ||= CustomObjects.new(parent_instance: self, client: @client, create_children: @create_children) end class SecurityProfiles < ConfigClass def has_multiple_values?; false; end def _section :'security-profiles' end @props = {'antivirus'=>{'node-type'=>'element', 'menu-tree-path'=>'Antivirus', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'antivirus_profiles', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'AntiVirusProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'anti-spyware'=>{'node-type'=>'element', 'menu-tree-path'=>'Anti-Spyware', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'anti-spyware_profiles', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'AntiSpywareProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'vulnerability-protection'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'vulnerability_protection_profiles', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'VulnerabilityProtection', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'url-filtering'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'url_filtering_profiles', 'menu-tree-path'=>'URL Filtering', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'URLFiltering', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'file-blocking'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'file_blocking_profiles', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'FileBlocking', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'wildfire-analysis'=>{'node-type'=>'element', 'menu-tree-path'=>'WildFire Analysis', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'wildfire_analysis_profiles', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'WildFireAnalysis', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'data-filtering'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'data_filtering_profiles', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'DataFiltering', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dos-protection'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'dos_profiles', 'menu-tree-path'=>'DoS Protection', 'node-config-ids'=>'DoSProtection', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'gtp-protection'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'gtp_protection', 'menu-tree-path'=>'Mobile Network Protection', 'node-config-ids'=>'GTPProtection', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sctp-protection'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'sctp_protection', 'menu-tree-path'=>'SCTP Protection', 'node-config-ids'=>'SCTPProtection', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def antivirus prop_get('antivirus') end def antivirus=(val) prop_set('antivirus', val) end def anti_spyware prop_get('anti-spyware') end def anti_spyware=(val) prop_set('anti-spyware', val) end def vulnerability_protection prop_get('vulnerability-protection') end def vulnerability_protection=(val) prop_set('vulnerability-protection', val) end def url_filtering prop_get('url-filtering') end def url_filtering=(val) prop_set('url-filtering', val) end def file_blocking prop_get('file-blocking') end def file_blocking=(val) prop_set('file-blocking', val) end def wildfire_analysis prop_get('wildfire-analysis') end def wildfire_analysis=(val) prop_set('wildfire-analysis', val) end def data_filtering prop_get('data-filtering') end def data_filtering=(val) prop_set('data-filtering', val) end def dos_protection prop_get('dos-protection') end def dos_protection=(val) prop_set('dos-protection', val) end def gtp_protection prop_get('gtp-protection') end def gtp_protection=(val) prop_set('gtp-protection', val) end def sctp_protection prop_get('sctp-protection') end def sctp_protection=(val) prop_set('sctp-protection', val) end end def security_profiles @subclasses['security-profiles'] ||= SecurityProfiles.new(parent_instance: self, client: @client, create_children: @create_children) end class Decryption < ConfigClass def has_multiple_values?; false; end def _section :decryption end @props = {'decryption-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'decryption_profile', 'menu-tree-path'=>'Decryption Profile', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'DecryptionProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def decryption_profile prop_get('decryption-profile') end def decryption_profile=(val) prop_set('decryption-profile', val) end end def decryption @subclasses['decryption'] ||= Decryption.new(parent_instance: self, client: @client, create_children: @create_children) end class Sdwan < ConfigClass def has_multiple_values?; false; end def _section :sdwan end @props = {'sdwan-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Path Quality Profile', 'node-config-ids'=>'SDWANProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-saas-quality-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SaaS Quality Profile', 'node-config-ids'=>'SDWANSaaSQualityProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-dist-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Traffic Distribution Profile', 'node-config-ids'=>'SDWANDistProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-error-correction-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Error Correction Profile', 'node-config-ids'=>'SDWANErrorCorrectionProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def sdwan_profile prop_get('sdwan-profile') end def sdwan_profile=(val) prop_set('sdwan-profile', val) end def sdwan_saas_quality_profile prop_get('sdwan-saas-quality-profile') end def sdwan_saas_quality_profile=(val) prop_set('sdwan-saas-quality-profile', val) end def sdwan_dist_profile prop_get('sdwan-dist-profile') end def sdwan_dist_profile=(val) prop_set('sdwan-dist-profile', val) end def sdwan_error_correction_profile prop_get('sdwan-error-correction-profile') end def sdwan_error_correction_profile=(val) prop_set('sdwan-error-correction-profile', val) end end def sdwan @subclasses['sdwan'] ||= Sdwan.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'addresses'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'Address', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'address-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'AddressGroup', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'regions'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'Region', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dynamic-user-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'DynamicUserGroup', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'applications'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'Application', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'application-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'ApplicationGroup', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'application-filters'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'ApplicationFilter', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'services'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'Service', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'service-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'ServiceGroup', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'tags'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'Tag', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'devices'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'DeviceObject', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dynamic-block-lists'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'External Dynamic Lists', 'help-topic'=>'external_dynamic_list', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'DynamicBlockList', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'security-profile-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'SecurityProfileGroups', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'log-forwarding'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'log_forwarding', 'node-config-ids'=>'LogForwarding', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'authentication'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'authentication', 'node-config-ids'=>'AuthenticationObject', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'packet-broker-profile'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.prune-on-decrypt-brk', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'packet_broker_profile', 'menu-tree-path'=>'Packet Broker Profile', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'NetworkPacketBrokerProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'schedules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'Schedule', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def addresses prop_get('addresses') end def addresses=(val) prop_set('addresses', val) end def address_groups prop_get('address-groups') end def address_groups=(val) prop_set('address-groups', val) end def regions prop_get('regions') end def regions=(val) prop_set('regions', val) end def dynamic_user_groups prop_get('dynamic-user-groups') end def dynamic_user_groups=(val) prop_set('dynamic-user-groups', val) end def applications prop_get('applications') end def applications=(val) prop_set('applications', val) end def application_groups prop_get('application-groups') end def application_groups=(val) prop_set('application-groups', val) end def application_filters prop_get('application-filters') end def application_filters=(val) prop_set('application-filters', val) end def services prop_get('services') end def services=(val) prop_set('services', val) end def service_groups prop_get('service-groups') end def service_groups=(val) prop_set('service-groups', val) end def tags prop_get('tags') end def tags=(val) prop_set('tags', val) end def devices prop_get('devices') end def devices=(val) prop_set('devices', val) end def dynamic_block_lists prop_get('dynamic-block-lists') end def dynamic_block_lists=(val) prop_set('dynamic-block-lists', val) end def security_profile_groups prop_get('security-profile-groups') end def security_profile_groups=(val) prop_set('security-profile-groups', val) end def log_forwarding prop_get('log-forwarding') end def log_forwarding=(val) prop_set('log-forwarding', val) end def authentication prop_get('authentication') end def authentication=(val) prop_set('authentication', val) end def packet_broker_profile prop_get('packet-broker-profile') end def packet_broker_profile=(val) prop_set('packet-broker-profile', val) end def schedules prop_get('schedules') end def schedules=(val) prop_set('schedules', val) end end def objects @subclasses['objects'] ||= Objects.new(parent_instance: self, client: @client, create_children: @create_children) end class Network < ConfigClass def has_multiple_values?; false; end def _section :network end class Routing < ConfigClass def has_multiple_values?; false; end def _section :routing end class RoutingProfiles < ConfigClass def has_multiple_values?; false; end def _section :'routing-profiles' end @props = {'bgp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'routing_profiles_bgp', 'menu-tree-path'=>'BGP', 'node-config-ids'=>'RoutingProfilesBGP', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'bfd'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'routing_profiles_bfd', 'menu-tree-path'=>'BFD', 'node-config-ids'=>'RoutingProfilesBFD', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ospf'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'routing_profiles_ospf', 'menu-tree-path'=>'OSPF', 'node-config-ids'=>'RoutingProfilesOspf', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ospfv3'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'routing_profiles_ospfv3', 'menu-tree-path'=>'OSPFv3', 'node-config-ids'=>'RoutingProfilesOspfv3', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ripv2'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'routing_profiles_ripv2', 'menu-tree-path'=>'RIPv2', 'node-config-ids'=>'RoutingProfilesRIPv2', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'filters'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'routing_profiles_filters', 'menu-tree-path'=>'Filters', 'node-config-ids'=>'RoutingProfilesFilters', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'multicast'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'routing_profiles_multicast', 'menu-tree-path'=>'Multicast', 'node-config-ids'=>'RoutingProfilesMulticast', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def bgp prop_get('bgp') end def bgp=(val) prop_set('bgp', val) end def bfd prop_get('bfd') end def bfd=(val) prop_set('bfd', val) end def ospf prop_get('ospf') end def ospf=(val) prop_set('ospf', val) end def ospfv3 prop_get('ospfv3') end def ospfv3=(val) prop_set('ospfv3', val) end def ripv2 prop_get('ripv2') end def ripv2=(val) prop_set('ripv2', val) end def filters prop_get('filters') end def filters=(val) prop_set('filters', val) end def multicast prop_get('multicast') end def multicast=(val) prop_set('multicast', val) end end def routing_profiles @subclasses['routing-profiles'] ||= RoutingProfiles.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'logical-routers'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'logical_routers', 'node-config-ids'=>'LogicalRouter', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def logical_routers prop_get('logical-routers') end def logical_routers=(val) prop_set('logical-routers', val) end end def routing @subclasses['routing'] ||= Routing.new(parent_instance: self, client: @client, create_children: @create_children) end class GlobalProtect < ConfigClass def has_multiple_values?; false; end def _section :'global-protect' end @props = {'portals'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'portals_globalprotect', 'node-config-ids'=>'GlobalProtectPortal', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'gateways'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'gateways_globalprotect', 'node-config-ids'=>'GlobalProtectGatewayVSYS', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'mdm'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'MDM', 'help-topic'=>'mdm_globalprotect', 'node-config-ids'=>'GlobalProtectMDM', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'clientless-apps'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'clientless_apps', 'node-config-ids'=>'GlobalProtectClientlessApp', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'clientless-app-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'clientless_app_groups', 'node-config-ids'=>'GlobalProtectClientlessAppGroup', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def portals prop_get('portals') end def portals=(val) prop_set('portals', val) end def gateways prop_get('gateways') end def gateways=(val) prop_set('gateways', val) end def mdm prop_get('mdm') end def mdm=(val) prop_set('mdm', val) end def clientless_apps prop_get('clientless-apps') end def clientless_apps=(val) prop_set('clientless-apps', val) end def clientless_app_groups prop_get('clientless-app-groups') end def clientless_app_groups=(val) prop_set('clientless-app-groups', val) end end def global_protect @subclasses['global-protect'] ||= GlobalProtect.new(parent_instance: self, client: @client, create_children: @create_children) end class NetworkProfiles < ConfigClass def has_multiple_values?; false; end def _section :'network-profiles' end @props = {'gp-app-ipsec-crypto'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.network.network-profiles.gp-app-ipsec-crypto-disable=True', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'GlobalProtect IPSec Crypto', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'node-config-ids'=>'GpAppIPSecCrypto', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ike-gateways'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.network.network-profiles.ike-gateways-disable=True', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'IKE Gateways', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'node-config-ids'=>'IKEGateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ipsec-crypto'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.network.network-profiles.ipsec-crypto-disable=True', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'ipsec_crypto_profiles', 'menu-tree-path'=>'IPSec Crypto', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'node-config-ids'=>'IPSecCrypto', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ike-crypto'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.network.network-profiles.ike-crypto-disable=True', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'ike_crypto_profiles', 'menu-tree-path'=>'IKE Crypto', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'node-config-ids'=>'IKECrypto', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'tunnel-monitor'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.network.network-profiles.tunnel-monitor-disable=True', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Monitor', 'help-topic'=>'tunnel_monitor_profiles', 'node-config-ids'=>'MonitorProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'interface-mgmt'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.network.network-profiles.interface-mgmt-disable=True', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'interface_management_profiles', 'node-config-ids'=>'InterfaceMgmt', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'zone-protection'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'zone_protection', 'node-config-ids'=>'ZoneProtection', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'qos-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'QoS Profile', 'node-config-ids'=>'QoSProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'lldp-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'LLDP Profile', 'node-config-ids'=>'LLDPProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'bfd-profile'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.advance-routing-enabled=True', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'BFD Profile', 'node-config-ids'=>'BFDProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def gp_app_ipsec_crypto prop_get('gp-app-ipsec-crypto') end def gp_app_ipsec_crypto=(val) prop_set('gp-app-ipsec-crypto', val) end def ike_gateways prop_get('ike-gateways') end def ike_gateways=(val) prop_set('ike-gateways', val) end def ipsec_crypto prop_get('ipsec-crypto') end def ipsec_crypto=(val) prop_set('ipsec-crypto', val) end def ike_crypto prop_get('ike-crypto') end def ike_crypto=(val) prop_set('ike-crypto', val) end def tunnel_monitor prop_get('tunnel-monitor') end def tunnel_monitor=(val) prop_set('tunnel-monitor', val) end def interface_mgmt prop_get('interface-mgmt') end def interface_mgmt=(val) prop_set('interface-mgmt', val) end def zone_protection prop_get('zone-protection') end def zone_protection=(val) prop_set('zone-protection', val) end def qos_profile prop_get('qos-profile') end def qos_profile=(val) prop_set('qos-profile', val) end def lldp_profile prop_get('lldp-profile') end def lldp_profile=(val) prop_set('lldp-profile', val) end def bfd_profile prop_get('bfd-profile') end def bfd_profile=(val) prop_set('bfd-profile', val) end end def network_profiles @subclasses['network-profiles'] ||= NetworkProfiles.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'interfaces'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'network_interfaces', 'node-config-ids'=>'Interfaces', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'zones'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'Zones', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'vlans'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.network.vlans-disable=True', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'VLANs', 'node-config-ids'=>'VLAN', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'virtual-wires'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'VirtualWires', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'virtual-routers'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.network.vm.virtual-routers-disable=True', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'VirtualRouter', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ipsec-tunnels'=>{'node-type'=>'element', 'optional'=>'yes', 'prune-on-sdb'=>'cfg.platform.vm.network.ipsec-tunnels-disable=True', 'type'=>'enum', 'menu-tree-path'=>'IPSec Tunnels', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'node-config-ids'=>'IPSecTunnel', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'gre-tunnels'=>{'node-type'=>'element', 'optional'=>'yes', 'prune-on-sdb'=>'cfg.platform.vm.network.gre-tunnels-disable=True', 'type'=>'enum', 'menu-tree-path'=>'GRE Tunnels', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'node-config-ids'=>'GRETunnel', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dhcp'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.network.dhcp-disable=True', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'DHCP', 'node-config-ids'=>'DHCP', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dns-proxy'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.network.dns-proxy-disable=True', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'DNS Proxy', 'node-config-ids'=>'DNSProxy', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'secure-web-gateway'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.network.secure-web-gateway-disable=True', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Proxy', 'node-config-ids'=>'Proxy', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'qos'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'QoS', 'node-config-ids'=>'QoSInterface', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'lldp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'LLDP', 'node-config-ids'=>'LLDP', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-interface-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SD-WAN Interface Profile', 'node-config-ids'=>'SDWANInterfaceProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def interfaces prop_get('interfaces') end def interfaces=(val) prop_set('interfaces', val) end def zones prop_get('zones') end def zones=(val) prop_set('zones', val) end def vlans prop_get('vlans') end def vlans=(val) prop_set('vlans', val) end def virtual_wires prop_get('virtual-wires') end def virtual_wires=(val) prop_set('virtual-wires', val) end def virtual_routers prop_get('virtual-routers') end def virtual_routers=(val) prop_set('virtual-routers', val) end def ipsec_tunnels prop_get('ipsec-tunnels') end def ipsec_tunnels=(val) prop_set('ipsec-tunnels', val) end def gre_tunnels prop_get('gre-tunnels') end def gre_tunnels=(val) prop_set('gre-tunnels', val) end def dhcp prop_get('dhcp') end def dhcp=(val) prop_set('dhcp', val) end def dns_proxy prop_get('dns-proxy') end def dns_proxy=(val) prop_set('dns-proxy', val) end def secure_web_gateway prop_get('secure-web-gateway') end def secure_web_gateway=(val) prop_set('secure-web-gateway', val) end def qos prop_get('qos') end def qos=(val) prop_set('qos', val) end def lldp prop_get('lldp') end def lldp=(val) prop_set('lldp', val) end def sdwan_interface_profile prop_get('sdwan-interface-profile') end def sdwan_interface_profile=(val) prop_set('sdwan-interface-profile', val) end end def network @subclasses['network'] ||= Network.new(parent_instance: self, client: @client, create_children: @create_children) end class Device < ConfigClass def has_multiple_values?; false; end def _section :device end class Setup < ConfigClass def has_multiple_values?; false; end def _section :setup end @props = {'management'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_setup', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'operations'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_setup', 'menu-tree-path'=>'Operations', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'services'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_setup', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'interfaces'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_setup', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'telemetry'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_setup', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'content-id'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_setup', 'menu-tree-path'=>'Content-ID', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'wildfire'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_setup', 'menu-tree-path'=>'WildFire', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'session'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_setup', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'hsm'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_setup', 'menu-tree-path'=>'HSM', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def management prop_get('management') end def management=(val) prop_set('management', val) end def operations prop_get('operations') end def operations=(val) prop_set('operations', val) end def services prop_get('services') end def services=(val) prop_set('services', val) end def interfaces prop_get('interfaces') end def interfaces=(val) prop_set('interfaces', val) end def telemetry prop_get('telemetry') end def telemetry=(val) prop_set('telemetry', val) end def content_id prop_get('content-id') end def content_id=(val) prop_set('content-id', val) end def wildfire prop_get('wildfire') end def wildfire=(val) prop_set('wildfire', val) end def session prop_get('session') end def session=(val) prop_set('session', val) end def hsm prop_get('hsm') end def hsm=(val) prop_set('hsm', val) end end def setup @subclasses['setup'] ||= Setup.new(parent_instance: self, client: @client, create_children: @create_children) end class CertificateManagement < ConfigClass def has_multiple_values?; false; end def _section :'certificate-management' end @props = {'certificates'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'certificates', 'node-config-ids'=>'Certificate', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'certificate-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'CertificateProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ocsp-responder'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'OCSP Responder', 'node-config-ids'=>'OCSPResponder', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ssl-tls-service-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SSL/TLS Service Profile', 'help-topic'=>'ssl_tls_service_profile', 'node-config-ids'=>'SslTlsServiceProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'scep'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SCEP', 'node-config-ids'=>'SCEP', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ssl-decryption-exclusion'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SSL Decryption Exclusion', 'node-config-ids'=>'SslDecryptionExclusion', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ssh-service-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SSH Service Profile', 'help-topic'=>'ssh_service_profile', 'node-config-ids'=>'SshServiceProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def certificates prop_get('certificates') end def certificates=(val) prop_set('certificates', val) end def certificate_profile prop_get('certificate-profile') end def certificate_profile=(val) prop_set('certificate-profile', val) end def ocsp_responder prop_get('ocsp-responder') end def ocsp_responder=(val) prop_set('ocsp-responder', val) end def ssl_tls_service_profile prop_get('ssl-tls-service-profile') end def ssl_tls_service_profile=(val) prop_set('ssl-tls-service-profile', val) end def scep prop_get('scep') end def scep=(val) prop_set('scep', val) end def ssl_decryption_exclusion prop_get('ssl-decryption-exclusion') end def ssl_decryption_exclusion=(val) prop_set('ssl-decryption-exclusion', val) end def ssh_service_profile prop_get('ssh-service-profile') end def ssh_service_profile=(val) prop_set('ssh-service-profile', val) end end def certificate_management @subclasses['certificate-management'] ||= CertificateManagement.new(parent_instance: self, client: @client, create_children: @create_children) end class LogSettings < ConfigClass def has_multiple_values?; false; end def _section :'log-settings' end @props = {'system'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'system_log_settings', 'node-config-ids'=>'LogSettingsSystem,LogSettingsConfig,LogSettingsUserID,LogSettingsHIPMatch,LogSettingsCorrelation,LogSettingsGlobalProtect LogSettingsCCAlarms', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'config'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'config_log_settings', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'iptag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'IP-Tag', 'help-topic'=>'ip_tag_log_settings', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'user-id'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'User-ID', 'help-topic'=>'user_id_log_settings', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'hipmatch'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'HIP Match', 'help-topic'=>'hip_match_log_settings', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'globalprotect'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'GlobalProtect', 'help-topic'=>'globalprotect_log_settings', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'correlation'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Correlation', 'help-topic'=>'correlation_log_settings', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'cc-alarm'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Alarms', 'help-topic'=>'alarm_log_settings', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'manage-log'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Manage Logs', 'skip-menu-tree-display'=>'template', 'help-topic'=>'manage_logs_log_settings', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def system prop_get('system') end def system=(val) prop_set('system', val) end def config prop_get('config') end def config=(val) prop_set('config', val) end def iptag prop_get('iptag') end def iptag=(val) prop_set('iptag', val) end def user_id prop_get('user-id') end def user_id=(val) prop_set('user-id', val) end def hipmatch prop_get('hipmatch') end def hipmatch=(val) prop_set('hipmatch', val) end def globalprotect prop_get('globalprotect') end def globalprotect=(val) prop_set('globalprotect', val) end def correlation prop_get('correlation') end def correlation=(val) prop_set('correlation', val) end def cc_alarm prop_get('cc-alarm') end def cc_alarm=(val) prop_set('cc-alarm', val) end def manage_log prop_get('manage-log') end def manage_log=(val) prop_set('manage-log', val) end end def log_settings @subclasses['log-settings'] ||= LogSettings.new(parent_instance: self, client: @client, create_children: @create_children) end class ServerProfile < ConfigClass def has_multiple_values?; false; end def _section :'server-profile' end @props = {'snmp-trap'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'snmp_trap_settings', 'menu-tree-path'=>'SNMP Trap', 'node-config-ids'=>'ServerProfileSNMPTrap', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'syslog'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'syslog_settings', 'node-config-ids'=>'ServerProfileSyslog', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'email'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'email_settings', 'node-config-ids'=>'ServerProfileEmail', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'http'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'http_settings', 'menu-tree-path'=>'HTTP', 'node-config-ids'=>'ServerProfileHTTP', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'netflow'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'netflow_settings', 'node-config-ids'=>'ServerProfileNetflow', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'radius'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'server_radius', 'node-config-ids'=>'ServerProfileRadius', 'menu-tree-path'=>'RADIUS', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'scp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'scp_settings', 'menu-tree-path'=>'SCP', 'node-config-ids'=>'ServerProfileSCP', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'tacplus'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'server_tacplus', 'node-config-ids'=>'ServerProfileTacacs', 'menu-tree-path'=>'TACACS+', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ldap'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'server_ldap', 'menu-tree-path'=>'LDAP', 'node-config-ids'=>'ServerProfileLDAP', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'kerberos'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'server_kerberos', 'node-config-ids'=>'ServerProfileKerberos', 'skip-display'=>'fips-mode,cc-only-mode', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'saml_idp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'server_saml_idp', 'menu-tree-path'=>'SAML Identity Provider', 'node-config-ids'=>'ServerProfileSamlIdp', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dns'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.device.dns-disable=True', 'skip-display'=>'single-vsys-mode', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'server_dns', 'menu-tree-path'=>'DNS', 'node-config-ids'=>'ServerProfileDNS', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'mfa'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'server_mfa', 'menu-tree-path'=>'Multi Factor Authentication', 'node-config-ids'=>'ServerProfileMFA', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def snmp_trap prop_get('snmp-trap') end def snmp_trap=(val) prop_set('snmp-trap', val) end def syslog prop_get('syslog') end def syslog=(val) prop_set('syslog', val) end def email prop_get('email') end def email=(val) prop_set('email', val) end def http prop_get('http') end def http=(val) prop_set('http', val) end def netflow prop_get('netflow') end def netflow=(val) prop_set('netflow', val) end def radius prop_get('radius') end def radius=(val) prop_set('radius', val) end def scp prop_get('scp') end def scp=(val) prop_set('scp', val) end def tacplus prop_get('tacplus') end def tacplus=(val) prop_set('tacplus', val) end def ldap prop_get('ldap') end def ldap=(val) prop_set('ldap', val) end def kerberos prop_get('kerberos') end def kerberos=(val) prop_set('kerberos', val) end def saml_idp prop_get('saml_idp') end def saml_idp=(val) prop_set('saml_idp', val) end def dns prop_get('dns') end def dns=(val) prop_set('dns', val) end def mfa prop_get('mfa') end def mfa=(val) prop_set('mfa', val) end end def server_profile @subclasses['server-profile'] ||= ServerProfile.new(parent_instance: self, client: @client, create_children: @create_children) end class LocalUserDatabase < ConfigClass def has_multiple_values?; false; end def _section :'local-user-database' end @props = {'users'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'local_users', 'node-config-ids'=>'LocalUsers', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'user-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'local_user_groups', 'node-config-ids'=>'LocalUserGroups', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def users prop_get('users') end def users=(val) prop_set('users', val) end def user_groups prop_get('user-groups') end def user_groups=(val) prop_set('user-groups', val) end end def local_user_database @subclasses['local-user-database'] ||= LocalUserDatabase.new(parent_instance: self, client: @client, create_children: @create_children) end class PolicyRecommendations < ConfigClass def has_multiple_values?; false; end def _section :'policy-recommendations' end @props = {'iot'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'iot_policy_recommendation', 'menu-tree-path'=>'IoT', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'saas'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'saas_policy_recommendation', 'menu-tree-path'=>'SaaS', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def iot prop_get('iot') end def iot=(val) prop_set('iot', val) end def saas prop_get('saas') end def saas=(val) prop_set('saas', val) end end def policy_recommendations @subclasses['policy-recommendations'] ||= PolicyRecommendations.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'high-availability'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.device.high-availability-disable=True', 'node-config-ids'=>'HASetup', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'log-fwd-card'=>{'node-type'=>'element', 'node-config-ids'=>'LFCInterface', 'menu-tree-path'=>'Log Forwarding Card', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'config-audit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'administrators'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'admin_accounts', 'node-config-ids'=>'Administrator', 'enum'=>[{'value'=>'read-only'}, {'value'=>'disable'}]}, 'admin-roles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'AdminRoleHandler', 'enum'=>[{'value'=>'read-only'}, {'value'=>'disable'}]}, 'access-domain'=>{'node-type'=>'element', 'optional'=>'yes', 'skip-display'=>'single-vsys-mode', 'type'=>'enum', 'node-config-ids'=>'AccessDomain', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'authentication-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'AuthenticationProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'authentication-sequence'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'AuthSeqBase', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'user-identification'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_user_id', 'node-config-ids'=>'UserIdCollector,ServerMonitor,IncludeExcludeNetwork,UserIdConnSecurity,UserIdAgent,TSAgent,GroupMapping', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dhcp-syslog-server'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'IoT', 'node-config-ids'=>'IoT', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'data-redistribution'=>{'node-type'=>'element', 'optional'=>'yes', 'help-topic'=>'data_redistribution', 'menu-tree-path'=>'Data Redistribution', 'type'=>'enum', 'node-config-ids'=>'RDAgent,DataRedistributionCollector,DataRedistributionIPUserIncludeExcludeNetwork,DataRedistributionIPTagIncludeExcludeNetwork', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'device-quarantine'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Device Quarantine', 'help-topic'=>'device_quarantine', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'vm-info-source'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'VM Information Sources', 'node-config-ids'=>'VMInformationSources', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'troubleshooting'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Troubleshooting', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'virtual-systems'=>{'node-type'=>'element', 'optional'=>'yes', 'skip-display'=>'single-vsys-mode', 'type'=>'enum', 'node-config-ids'=>'VirtualSystem', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'shared-gateways'=>{'node-type'=>'element', 'optional'=>'yes', 'skip-display'=>'single-vsys-mode', 'type'=>'enum', 'node-config-ids'=>'SharedGateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'block-pages'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Response Pages', 'node-config-ids'=>'ResponsePageTopLevel', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'scheduled-log-export'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'log_export', 'node-config-ids'=>'ScheduledLogExport', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'software'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'global-protect-client'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'GlobalProtect Client', 'prune-on'=>'vpn-disable-mode', 'skip-display'=>'vpn-disable-mode', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dynamic-updates'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'DynamicUpdates', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'plugins'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'licenses'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'license', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'support'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'master-key'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Master Key and Diagnostics', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def high_availability prop_get('high-availability') end def high_availability=(val) prop_set('high-availability', val) end def log_fwd_card prop_get('log-fwd-card') end def log_fwd_card=(val) prop_set('log-fwd-card', val) end def config_audit prop_get('config-audit') end def config_audit=(val) prop_set('config-audit', val) end def administrators prop_get('administrators') end def administrators=(val) prop_set('administrators', val) end def admin_roles prop_get('admin-roles') end def admin_roles=(val) prop_set('admin-roles', val) end def access_domain prop_get('access-domain') end def access_domain=(val) prop_set('access-domain', val) end def authentication_profile prop_get('authentication-profile') end def authentication_profile=(val) prop_set('authentication-profile', val) end def authentication_sequence prop_get('authentication-sequence') end def authentication_sequence=(val) prop_set('authentication-sequence', val) end def user_identification prop_get('user-identification') end def user_identification=(val) prop_set('user-identification', val) end def dhcp_syslog_server prop_get('dhcp-syslog-server') end def dhcp_syslog_server=(val) prop_set('dhcp-syslog-server', val) end def data_redistribution prop_get('data-redistribution') end def data_redistribution=(val) prop_set('data-redistribution', val) end def device_quarantine prop_get('device-quarantine') end def device_quarantine=(val) prop_set('device-quarantine', val) end def vm_info_source prop_get('vm-info-source') end def vm_info_source=(val) prop_set('vm-info-source', val) end def troubleshooting prop_get('troubleshooting') end def troubleshooting=(val) prop_set('troubleshooting', val) end def virtual_systems prop_get('virtual-systems') end def virtual_systems=(val) prop_set('virtual-systems', val) end def shared_gateways prop_get('shared-gateways') end def shared_gateways=(val) prop_set('shared-gateways', val) end def block_pages prop_get('block-pages') end def block_pages=(val) prop_set('block-pages', val) end def scheduled_log_export prop_get('scheduled-log-export') end def scheduled_log_export=(val) prop_set('scheduled-log-export', val) end def software prop_get('software') end def software=(val) prop_set('software', val) end def global_protect_client prop_get('global-protect-client') end def global_protect_client=(val) prop_set('global-protect-client', val) end def dynamic_updates prop_get('dynamic-updates') end def dynamic_updates=(val) prop_set('dynamic-updates', val) end def plugins prop_get('plugins') end def plugins=(val) prop_set('plugins', val) end def licenses prop_get('licenses') end def licenses=(val) prop_set('licenses', val) end def support prop_get('support') end def support=(val) prop_set('support', val) end def master_key prop_get('master-key') end def master_key=(val) prop_set('master-key', val) end end def device @subclasses['device'] ||= Device.new(parent_instance: self, client: @client, create_children: @create_children) end class Operations < ConfigClass def has_multiple_values?; false; end def _section :operations end @props = {'reboot'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'generate-tech-support-file'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'generate-stats-dump-file'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'download-core-files'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'download-pcap-files'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}} def reboot prop_get('reboot') end def reboot=(val) prop_set('reboot', val) end def generate_tech_support_file prop_get('generate-tech-support-file') end def generate_tech_support_file=(val) prop_set('generate-tech-support-file', val) end def generate_stats_dump_file prop_get('generate-stats-dump-file') end def generate_stats_dump_file=(val) prop_set('generate-stats-dump-file', val) end def download_core_files prop_get('download-core-files') end def download_core_files=(val) prop_set('download-core-files', val) end def download_pcap_files prop_get('download-pcap-files') end def download_pcap_files=(val) prop_set('download-pcap-files', val) end end def operations @subclasses['operations'] ||= Operations.new(parent_instance: self, client: @client, create_children: @create_children) end class Privacy < ConfigClass def has_multiple_values?; false; end def _section :privacy end @props = {'show-full-ip-addresses'=>{'node-type'=>'element', 'menu-tree-path'=>'Show Full IP Addresses', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'show-user-names-in-logs-and-reports'=>{'node-type'=>'element', 'menu-tree-path'=>'Show Username In Logs And Reports', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'view-pcap-files'=>{'node-type'=>'element', 'menu-tree-path'=>'View PCAP Files', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}} def show_full_ip_addresses prop_get('show-full-ip-addresses') end def show_full_ip_addresses=(val) prop_set('show-full-ip-addresses', val) end def show_user_names_in_logs_and_reports prop_get('show-user-names-in-logs-and-reports') end def show_user_names_in_logs_and_reports=(val) prop_set('show-user-names-in-logs-and-reports', val) end def view_pcap_files prop_get('view-pcap-files') end def view_pcap_files=(val) prop_set('view-pcap-files', val) end end def privacy @subclasses['privacy'] ||= Privacy.new(parent_instance: self, client: @client, create_children: @create_children) end class Save < ConfigClass def has_multiple_values?; false; end def _section :save end @props = {'partial-save'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'save-for-other-admins'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'object-level-changes'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}} def partial_save prop_get('partial-save') end def partial_save=(val) prop_set('partial-save', val) end def save_for_other_admins prop_get('save-for-other-admins') end def save_for_other_admins=(val) prop_set('save-for-other-admins', val) end def object_level_changes prop_get('object-level-changes') end def object_level_changes=(val) prop_set('object-level-changes', val) end end def save @subclasses['save'] ||= Save.new(parent_instance: self, client: @client, create_children: @create_children) end class Commit < ConfigClass def has_multiple_values?; false; end def _section :commit end @props = {'device'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'commit-for-other-admins'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'object-level-changes'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}} def device prop_get('device') end def device=(val) prop_set('device', val) end def commit_for_other_admins prop_get('commit-for-other-admins') end def commit_for_other_admins=(val) prop_set('commit-for-other-admins', val) end def object_level_changes prop_get('object-level-changes') end def object_level_changes=(val) prop_set('object-level-changes', val) end end def commit @subclasses['commit'] ||= Commit.new(parent_instance: self, client: @client, create_children: @create_children) end class Global < ConfigClass def has_multiple_values?; false; end def _section :global end @props = {'system-alarms'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'system_alarms', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}} def system_alarms prop_get('system-alarms') end def system_alarms=(val) prop_set('system-alarms', val) end end def global @subclasses['global'] ||= Global.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'dashboard'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'acc'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'ACC', 'prune-on-sdb'=>'cfg.vm-license-type=vm50l,cfg.platform.model=PA-410', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'tasks'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}} def dashboard prop_get('dashboard') end def dashboard=(val) prop_set('dashboard', val) end def acc prop_get('acc') end def acc=(val) prop_set('acc', val) end def tasks prop_get('tasks') end def tasks=(val) prop_set('tasks', val) end end def webui @subclasses['webui'] ||= Webui.new(parent_instance: self, client: @client, create_children: @create_children) end class Xmlapi < ConfigClass def has_multiple_values?; false; end def _section :xmlapi end @props = {'report'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Report', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'log'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'config'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Configuration', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'op'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Operational Requests', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'commit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Commit', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'user-id'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'User-ID Agent', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'iot'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'IoT Agent', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'export'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Export', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'import'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Import', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}} def report prop_get('report') end def report=(val) prop_set('report', val) end def log prop_get('log') end def log=(val) prop_set('log', val) end def config prop_get('config') end def config=(val) prop_set('config', val) end def op prop_get('op') end def op=(val) prop_set('op', val) end def commit prop_get('commit') end def commit=(val) prop_set('commit', val) end def user_id prop_get('user-id') end def user_id=(val) prop_set('user-id', val) end def iot prop_get('iot') end def iot=(val) prop_set('iot', val) end def export prop_get('export') end def export=(val) prop_set('export', val) end def import prop_get('import') end def import=(val) prop_set('import', val) end end def xmlapi @subclasses['xmlapi'] ||= Xmlapi.new(parent_instance: self, client: @client, create_children: @create_children) end class Restapi < ConfigClass def has_multiple_values?; false; end def _section :restapi end class Objects < ConfigClass def has_multiple_values?; false; end def _section :objects end @props = {'addresses'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'address-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'regions'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dynamic-user-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'applications'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'application-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'application-filters'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'services'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'service-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'tags'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'devices'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'globalprotect-hip-objects'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'hip_objects', 'menu-tree-path'=>'GlobalProtect HIP Objects', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'globalprotect-hip-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'hip_profiles', 'menu-tree-path'=>'GlobalProtect HIP Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'external-dynamic-lists'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'external_dynamic_list', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'custom-data-patterns'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'custom-spyware-signatures'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'signatures_spyware', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'custom-vulnerability-signatures'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'signatures_vulnerability', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'custom-url-categories'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'help-topic'=>'custom_url_categories', 'menu-tree-path'=>'URL Category', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'antivirus-security-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'antivirus_profiles', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'anti-spyware-security-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'anti-spyware_profiles', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'vulnerability-protection-security-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'vulnerability_protection_profiles', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'url-filtering-security-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'url_filtering_profiles', 'skip-display'=>'shared-gateway', 'menu-tree-path'=>'URL Filtering Security Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'file-blocking-security-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'file_blocking_profiles', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'wildfire-analysis-security-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'wildfire_analysis_profiles', 'skip-display'=>'shared-gateway', 'menu-tree-path'=>'WildFire Analysis Security Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'data-filtering-security-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'data_filtering_profiles', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dos-protection-security-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'dos_profiles', 'menu-tree-path'=>'DoS Protection Security Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'gtp-protection-security-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'gtp_protection', 'menu-tree-path'=>'GTP Protection Security Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sctp-protection-security-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'sctp_protection', 'menu-tree-path'=>'SCTP Protection Secuirty Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'security-profile-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'log-forwarding-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'log_forwarding', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'authentication-enforcements'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'authentication', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'decryption-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'decryption_profile', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'packet-broker-profiles'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'prune-on-sdb'=>'cfg.general.prune-on-decrypt-brk', 'help-topic'=>'packet_broker_profile', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'schedules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-path-quality-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'sdwan-path-quality-profiles', 'skip-display'=>'shared-gateway', 'menu-tree-path'=>'SD-WAN Path Quality Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-saas-quality-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'sdwan-saas-quality-profiles', 'skip-display'=>'shared-gateway', 'menu-tree-path'=>'SD-WAN Saas Quality Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-traffic-distribution-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'sdwan-traffic-distribution-profiles', 'skip-display'=>'shared-gateway', 'menu-tree-path'=>'SD-WAN Traffic Distribution Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-error-correction-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'sdwan-error-correction-profiles', 'skip-display'=>'shared-gateway', 'menu-tree-path'=>'SD-WAN Error Correction Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def addresses prop_get('addresses') end def addresses=(val) prop_set('addresses', val) end def address_groups prop_get('address-groups') end def address_groups=(val) prop_set('address-groups', val) end def regions prop_get('regions') end def regions=(val) prop_set('regions', val) end def dynamic_user_groups prop_get('dynamic-user-groups') end def dynamic_user_groups=(val) prop_set('dynamic-user-groups', val) end def applications prop_get('applications') end def applications=(val) prop_set('applications', val) end def application_groups prop_get('application-groups') end def application_groups=(val) prop_set('application-groups', val) end def application_filters prop_get('application-filters') end def application_filters=(val) prop_set('application-filters', val) end def services prop_get('services') end def services=(val) prop_set('services', val) end def service_groups prop_get('service-groups') end def service_groups=(val) prop_set('service-groups', val) end def tags prop_get('tags') end def tags=(val) prop_set('tags', val) end def devices prop_get('devices') end def devices=(val) prop_set('devices', val) end def globalprotect_hip_objects prop_get('globalprotect-hip-objects') end def globalprotect_hip_objects=(val) prop_set('globalprotect-hip-objects', val) end def globalprotect_hip_profiles prop_get('globalprotect-hip-profiles') end def globalprotect_hip_profiles=(val) prop_set('globalprotect-hip-profiles', val) end def external_dynamic_lists prop_get('external-dynamic-lists') end def external_dynamic_lists=(val) prop_set('external-dynamic-lists', val) end def custom_data_patterns prop_get('custom-data-patterns') end def custom_data_patterns=(val) prop_set('custom-data-patterns', val) end def custom_spyware_signatures prop_get('custom-spyware-signatures') end def custom_spyware_signatures=(val) prop_set('custom-spyware-signatures', val) end def custom_vulnerability_signatures prop_get('custom-vulnerability-signatures') end def custom_vulnerability_signatures=(val) prop_set('custom-vulnerability-signatures', val) end def custom_url_categories prop_get('custom-url-categories') end def custom_url_categories=(val) prop_set('custom-url-categories', val) end def antivirus_security_profiles prop_get('antivirus-security-profiles') end def antivirus_security_profiles=(val) prop_set('antivirus-security-profiles', val) end def anti_spyware_security_profiles prop_get('anti-spyware-security-profiles') end def anti_spyware_security_profiles=(val) prop_set('anti-spyware-security-profiles', val) end def vulnerability_protection_security_profiles prop_get('vulnerability-protection-security-profiles') end def vulnerability_protection_security_profiles=(val) prop_set('vulnerability-protection-security-profiles', val) end def url_filtering_security_profiles prop_get('url-filtering-security-profiles') end def url_filtering_security_profiles=(val) prop_set('url-filtering-security-profiles', val) end def file_blocking_security_profiles prop_get('file-blocking-security-profiles') end def file_blocking_security_profiles=(val) prop_set('file-blocking-security-profiles', val) end def wildfire_analysis_security_profiles prop_get('wildfire-analysis-security-profiles') end def wildfire_analysis_security_profiles=(val) prop_set('wildfire-analysis-security-profiles', val) end def data_filtering_security_profiles prop_get('data-filtering-security-profiles') end def data_filtering_security_profiles=(val) prop_set('data-filtering-security-profiles', val) end def dos_protection_security_profiles prop_get('dos-protection-security-profiles') end def dos_protection_security_profiles=(val) prop_set('dos-protection-security-profiles', val) end def gtp_protection_security_profiles prop_get('gtp-protection-security-profiles') end def gtp_protection_security_profiles=(val) prop_set('gtp-protection-security-profiles', val) end def sctp_protection_security_profiles prop_get('sctp-protection-security-profiles') end def sctp_protection_security_profiles=(val) prop_set('sctp-protection-security-profiles', val) end def security_profile_groups prop_get('security-profile-groups') end def security_profile_groups=(val) prop_set('security-profile-groups', val) end def log_forwarding_profiles prop_get('log-forwarding-profiles') end def log_forwarding_profiles=(val) prop_set('log-forwarding-profiles', val) end def authentication_enforcements prop_get('authentication-enforcements') end def authentication_enforcements=(val) prop_set('authentication-enforcements', val) end def decryption_profiles prop_get('decryption-profiles') end def decryption_profiles=(val) prop_set('decryption-profiles', val) end def packet_broker_profiles prop_get('packet-broker-profiles') end def packet_broker_profiles=(val) prop_set('packet-broker-profiles', val) end def schedules prop_get('schedules') end def schedules=(val) prop_set('schedules', val) end def sdwan_path_quality_profiles prop_get('sdwan-path-quality-profiles') end def sdwan_path_quality_profiles=(val) prop_set('sdwan-path-quality-profiles', val) end def sdwan_saas_quality_profiles prop_get('sdwan-saas-quality-profiles') end def sdwan_saas_quality_profiles=(val) prop_set('sdwan-saas-quality-profiles', val) end def sdwan_traffic_distribution_profiles prop_get('sdwan-traffic-distribution-profiles') end def sdwan_traffic_distribution_profiles=(val) prop_set('sdwan-traffic-distribution-profiles', val) end def sdwan_error_correction_profiles prop_get('sdwan-error-correction-profiles') end def sdwan_error_correction_profiles=(val) prop_set('sdwan-error-correction-profiles', val) end end def objects @subclasses['objects'] ||= Objects.new(parent_instance: self, client: @client, create_children: @create_children) end class Policies < ConfigClass def has_multiple_values?; false; end def _section :policies end @props = {'security-rules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'policies_security', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'nat-rules'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.vm-mode=1', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'nat_rules', 'menu-tree-path'=>'NAT Rules', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'qos-rules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'qos_policies', 'skip-display'=>'shared-gateway', 'menu-tree-path'=>'QoS Rules', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'policy-based-forwarding-rules'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.vm-mode=1', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'decryption-rules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'help-topic'=>'decryption_rules', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'network-packet-broker-rules'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'prune-on-sdb'=>'cfg.general.prune-on-decrypt-brk', 'skip-display'=>'shared-gateway', 'help-topic'=>'network_packet_broker_rules', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'tunnel-inspection-rules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'help-topic'=>'tunnel_inspection_rules', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'application-override-rules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'help-topic'=>'application_override_rules', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'authentication-rules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'help-topic'=>'authentication_rules', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dos-rules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'help-topic'=>'dos_rules', 'menu-tree-path'=>'DoS Rules', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-rules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'help-topic'=>'sdwan-rules', 'menu-tree-path'=>'SD-WAN Rules', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def security_rules prop_get('security-rules') end def security_rules=(val) prop_set('security-rules', val) end def nat_rules prop_get('nat-rules') end def nat_rules=(val) prop_set('nat-rules', val) end def qos_rules prop_get('qos-rules') end def qos_rules=(val) prop_set('qos-rules', val) end def policy_based_forwarding_rules prop_get('policy-based-forwarding-rules') end def policy_based_forwarding_rules=(val) prop_set('policy-based-forwarding-rules', val) end def decryption_rules prop_get('decryption-rules') end def decryption_rules=(val) prop_set('decryption-rules', val) end def network_packet_broker_rules prop_get('network-packet-broker-rules') end def network_packet_broker_rules=(val) prop_set('network-packet-broker-rules', val) end def tunnel_inspection_rules prop_get('tunnel-inspection-rules') end def tunnel_inspection_rules=(val) prop_set('tunnel-inspection-rules', val) end def application_override_rules prop_get('application-override-rules') end def application_override_rules=(val) prop_set('application-override-rules', val) end def authentication_rules prop_get('authentication-rules') end def authentication_rules=(val) prop_set('authentication-rules', val) end def dos_rules prop_get('dos-rules') end def dos_rules=(val) prop_set('dos-rules', val) end def sdwan_rules prop_get('sdwan-rules') end def sdwan_rules=(val) prop_set('sdwan-rules', val) end end def policies @subclasses['policies'] ||= Policies.new(parent_instance: self, client: @client, create_children: @create_children) end class Network < ConfigClass def has_multiple_values?; false; end def _section :network end @props = {'aggregate-ethernet-interfaces'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'network_interfaces', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ethernet-interfaces'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'network_interfaces', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'vlan-interfaces'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'network_interfaces', 'menu-tree-path'=>'VLAN Interfaces', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'loopback-interfaces'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'network_interfaces', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'tunnel-interfaces'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'network_interfaces', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'zones'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'vlans'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.vm-mode=1', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'VLANs', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'virtual-wires'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'virtual-routers'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.vm-mode=1', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'logical-routers'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'bgp-routing-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'BGP Routing Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ipsec-tunnels'=>{'node-type'=>'element', 'optional'=>'yes', 'prune-on-sdb'=>'cfg.general.vm-mode=1', 'prune-on'=>'vpn-disable-mode', 'type'=>'enum', 'skip-display'=>'vpn-disable-mode', 'menu-tree-path'=>'IPSec Tunnels', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'gre-tunnels'=>{'node-type'=>'element', 'optional'=>'yes', 'prune-on-sdb'=>'cfg.general.vm-mode=1', 'prune-on'=>'vpn-disable-mode', 'type'=>'enum', 'skip-display'=>'vpn-disable-mode', 'menu-tree-path'=>'GRE Tunnels', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dhcp-servers'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.vm-mode=1', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'DHCP Servers', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dhcp-relays'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.vm-mode=1', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'DHCP Relays', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dns-proxies'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.vm-mode=1', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'DNS Proxies', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'globalprotect-portals'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'GlobalProtect Portals', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'globalprotect-gateways'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'GlobalProtect Gateways', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'globalprotect-mdm-servers'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'GlobalProtect MDM Servers', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'globalprotect-clientless-apps'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'GlobalProtect Clientless Apps', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'globalprotect-clientless-app-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'GlobalProtect Clientless App Groups', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'qos-interfaces'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'QoS Interfaces', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'lldp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'LLDP', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'globalprotect-ipsec-crypto-network-profiles'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.vm-mode=1', 'prune-on'=>'vpn-disable-mode', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'vpn-disable-mode', 'menu-tree-path'=>'GlobalProtect IPSec Crypto Network Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ike-gateway-network-profiles'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.vm-mode=1', 'prune-on'=>'vpn-disable-mode', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'vpn-disable-mode', 'menu-tree-path'=>'IKE Gateway Network Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ipsec-crypto-network-profiles'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.vm-mode=1', 'prune-on'=>'vpn-disable-mode', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'ipsec_crypto_profiles', 'skip-display'=>'vpn-disable-mode', 'menu-tree-path'=>'IPSec Crypto Network Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ike-crypto-network-profiles'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.vm-mode=1', 'prune-on'=>'vpn-disable-mode', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'ike_crypto_profiles', 'skip-display'=>'vpn-disable-mode', 'menu-tree-path'=>'IKE Crypto Network Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'tunnel-monitor-network-profiles'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.vm-mode=1', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'tunnel_monitor_profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'interface-management-network-profiles'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.vm-mode=1', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'interface_management_profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'zone-protection-network-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'zone_protection', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'qos-network-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'QoS Network Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'lldp-network-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'LLDP Network Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'bfd-network-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'BFD Network Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-interfaces'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SD-WAN Interfaces', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-interface-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SD-WAN Interface Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def aggregate_ethernet_interfaces prop_get('aggregate-ethernet-interfaces') end def aggregate_ethernet_interfaces=(val) prop_set('aggregate-ethernet-interfaces', val) end def ethernet_interfaces prop_get('ethernet-interfaces') end def ethernet_interfaces=(val) prop_set('ethernet-interfaces', val) end def vlan_interfaces prop_get('vlan-interfaces') end def vlan_interfaces=(val) prop_set('vlan-interfaces', val) end def loopback_interfaces prop_get('loopback-interfaces') end def loopback_interfaces=(val) prop_set('loopback-interfaces', val) end def tunnel_interfaces prop_get('tunnel-interfaces') end def tunnel_interfaces=(val) prop_set('tunnel-interfaces', val) end def zones prop_get('zones') end def zones=(val) prop_set('zones', val) end def vlans prop_get('vlans') end def vlans=(val) prop_set('vlans', val) end def virtual_wires prop_get('virtual-wires') end def virtual_wires=(val) prop_set('virtual-wires', val) end def virtual_routers prop_get('virtual-routers') end def virtual_routers=(val) prop_set('virtual-routers', val) end def logical_routers prop_get('logical-routers') end def logical_routers=(val) prop_set('logical-routers', val) end def bgp_routing_profiles prop_get('bgp-routing-profiles') end def bgp_routing_profiles=(val) prop_set('bgp-routing-profiles', val) end def ipsec_tunnels prop_get('ipsec-tunnels') end def ipsec_tunnels=(val) prop_set('ipsec-tunnels', val) end def gre_tunnels prop_get('gre-tunnels') end def gre_tunnels=(val) prop_set('gre-tunnels', val) end def dhcp_servers prop_get('dhcp-servers') end def dhcp_servers=(val) prop_set('dhcp-servers', val) end def dhcp_relays prop_get('dhcp-relays') end def dhcp_relays=(val) prop_set('dhcp-relays', val) end def dns_proxies prop_get('dns-proxies') end def dns_proxies=(val) prop_set('dns-proxies', val) end def globalprotect_portals prop_get('globalprotect-portals') end def globalprotect_portals=(val) prop_set('globalprotect-portals', val) end def globalprotect_gateways prop_get('globalprotect-gateways') end def globalprotect_gateways=(val) prop_set('globalprotect-gateways', val) end def globalprotect_mdm_servers prop_get('globalprotect-mdm-servers') end def globalprotect_mdm_servers=(val) prop_set('globalprotect-mdm-servers', val) end def globalprotect_clientless_apps prop_get('globalprotect-clientless-apps') end def globalprotect_clientless_apps=(val) prop_set('globalprotect-clientless-apps', val) end def globalprotect_clientless_app_groups prop_get('globalprotect-clientless-app-groups') end def globalprotect_clientless_app_groups=(val) prop_set('globalprotect-clientless-app-groups', val) end def qos_interfaces prop_get('qos-interfaces') end def qos_interfaces=(val) prop_set('qos-interfaces', val) end def lldp prop_get('lldp') end def lldp=(val) prop_set('lldp', val) end def globalprotect_ipsec_crypto_network_profiles prop_get('globalprotect-ipsec-crypto-network-profiles') end def globalprotect_ipsec_crypto_network_profiles=(val) prop_set('globalprotect-ipsec-crypto-network-profiles', val) end def ike_gateway_network_profiles prop_get('ike-gateway-network-profiles') end def ike_gateway_network_profiles=(val) prop_set('ike-gateway-network-profiles', val) end def ipsec_crypto_network_profiles prop_get('ipsec-crypto-network-profiles') end def ipsec_crypto_network_profiles=(val) prop_set('ipsec-crypto-network-profiles', val) end def ike_crypto_network_profiles prop_get('ike-crypto-network-profiles') end def ike_crypto_network_profiles=(val) prop_set('ike-crypto-network-profiles', val) end def tunnel_monitor_network_profiles prop_get('tunnel-monitor-network-profiles') end def tunnel_monitor_network_profiles=(val) prop_set('tunnel-monitor-network-profiles', val) end def interface_management_network_profiles prop_get('interface-management-network-profiles') end def interface_management_network_profiles=(val) prop_set('interface-management-network-profiles', val) end def zone_protection_network_profiles prop_get('zone-protection-network-profiles') end def zone_protection_network_profiles=(val) prop_set('zone-protection-network-profiles', val) end def qos_network_profiles prop_get('qos-network-profiles') end def qos_network_profiles=(val) prop_set('qos-network-profiles', val) end def lldp_network_profiles prop_get('lldp-network-profiles') end def lldp_network_profiles=(val) prop_set('lldp-network-profiles', val) end def bfd_network_profiles prop_get('bfd-network-profiles') end def bfd_network_profiles=(val) prop_set('bfd-network-profiles', val) end def sdwan_interfaces prop_get('sdwan-interfaces') end def sdwan_interfaces=(val) prop_set('sdwan-interfaces', val) end def sdwan_interface_profiles prop_get('sdwan-interface-profiles') end def sdwan_interface_profiles=(val) prop_set('sdwan-interface-profiles', val) end end def network @subclasses['network'] ||= Network.new(parent_instance: self, client: @client, create_children: @create_children) end class Device < ConfigClass def has_multiple_values?; false; end def _section :device end @props = {'log-interface-setting'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'snmp-trap-server-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SNMP Trap Server Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'syslog-server-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Syslog Server Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'email-server-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Email Server Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'http-server-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'HTTP Server Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ldap-server-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'LDAP Server Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'virtual-systems'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def log_interface_setting prop_get('log-interface-setting') end def log_interface_setting=(val) prop_set('log-interface-setting', val) end def snmp_trap_server_profiles prop_get('snmp-trap-server-profiles') end def snmp_trap_server_profiles=(val) prop_set('snmp-trap-server-profiles', val) end def syslog_server_profiles prop_get('syslog-server-profiles') end def syslog_server_profiles=(val) prop_set('syslog-server-profiles', val) end def email_server_profiles prop_get('email-server-profiles') end def email_server_profiles=(val) prop_set('email-server-profiles', val) end def http_server_profiles prop_get('http-server-profiles') end def http_server_profiles=(val) prop_set('http-server-profiles', val) end def ldap_server_profiles prop_get('ldap-server-profiles') end def ldap_server_profiles=(val) prop_set('ldap-server-profiles', val) end def virtual_systems prop_get('virtual-systems') end def virtual_systems=(val) prop_set('virtual-systems', val) end end def device @subclasses['device'] ||= Device.new(parent_instance: self, client: @client, create_children: @create_children) end class System < ConfigClass def has_multiple_values?; false; end def _section :system end @props = {'configuration'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def configuration prop_get('configuration') end def configuration=(val) prop_set('configuration', val) end end def system @subclasses['system'] ||= System.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def restapi @subclasses['restapi'] ||= Restapi.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'cli'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'superuser'}, {'value'=>'superreader'}, {'value'=>'deviceadmin'}, {'value'=>'devicereader'}]}} def cli prop_get('cli') end def cli=(val) prop_set('cli', val) end end def device @subclasses['device'] ||= Device.new(parent_instance: self, client: @client, create_children: @create_children) end class Vsys < ConfigClass def has_multiple_values?; false; end def _section :vsys end class Webui < ConfigClass def has_multiple_values?; false; end def _section :webui end class Monitor < ConfigClass def has_multiple_values?; false; end def _section :monitor end class Logs < ConfigClass def has_multiple_values?; false; end def _section :logs end @props = {'traffic'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'traffic_log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'threat'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'threat_log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'url'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'URL Filtering', 'help-topic'=>'url_log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'wildfire'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'WildFire Submissions', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'data-filtering'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'data_filter_log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'hipmatch'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'hip_match_log', 'menu-tree-path'=>'HIP Match', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'globalprotect'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'GlobalProtect', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'iptag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'ip_tag', 'menu-tree-path'=>'IP-Tag', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'userid'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'userid_log', 'menu-tree-path'=>'User-ID', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'decryption'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'decryption_log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'gtp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'gtp_log', 'menu-tree-path'=>'GTP', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'tunnel'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'tunnel_log', 'menu-tree-path'=>'Tunnel Inspection', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'sctp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'sctp_log', 'menu-tree-path'=>'SCTP', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'authentication'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'authentication_log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}} def traffic prop_get('traffic') end def traffic=(val) prop_set('traffic', val) end def threat prop_get('threat') end def threat=(val) prop_set('threat', val) end def url prop_get('url') end def url=(val) prop_set('url', val) end def wildfire prop_get('wildfire') end def wildfire=(val) prop_set('wildfire', val) end def data_filtering prop_get('data-filtering') end def data_filtering=(val) prop_set('data-filtering', val) end def hipmatch prop_get('hipmatch') end def hipmatch=(val) prop_set('hipmatch', val) end def globalprotect prop_get('globalprotect') end def globalprotect=(val) prop_set('globalprotect', val) end def iptag prop_get('iptag') end def iptag=(val) prop_set('iptag', val) end def userid prop_get('userid') end def userid=(val) prop_set('userid', val) end def decryption prop_get('decryption') end def decryption=(val) prop_set('decryption', val) end def gtp prop_get('gtp') end def gtp=(val) prop_set('gtp', val) end def tunnel prop_get('tunnel') end def tunnel=(val) prop_set('tunnel', val) end def sctp prop_get('sctp') end def sctp=(val) prop_set('sctp', val) end def authentication prop_get('authentication') end def authentication=(val) prop_set('authentication', val) end end def logs @subclasses['logs'] ||= Logs.new(parent_instance: self, client: @client, create_children: @create_children) end class AutomatedCorrelationEngine < ConfigClass def has_multiple_values?; false; end def _section :'automated-correlation-engine' end @props = {'correlation-objects'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'correlated-events'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}} def correlation_objects prop_get('correlation-objects') end def correlation_objects=(val) prop_set('correlation-objects', val) end def correlated_events prop_get('correlated-events') end def correlated_events=(val) prop_set('correlated-events', val) end end def automated_correlation_engine @subclasses['automated-correlation-engine'] ||= AutomatedCorrelationEngine.new(parent_instance: self, client: @client, create_children: @create_children) end class PdfReports < ConfigClass def has_multiple_values?; false; end def _section :'pdf-reports' end @props = {'manage-pdf-summary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Manage PDF Summary', 'help-topic'=>'manage_pdf_summary_report', 'node-config-ids'=>'ManagePdfSummary', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'pdf-summary-reports'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'PDF Summary Reports', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'user-activity-report'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'UserActivityReport', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'saas-application-usage-report'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SaaS Application Usage', 'node-config-ids'=>'SaasAppUsageReport', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'report-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'ReportGroup', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'email-scheduler'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'report_email', 'node-config-ids'=>'EmailScheduler', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def manage_pdf_summary prop_get('manage-pdf-summary') end def manage_pdf_summary=(val) prop_set('manage-pdf-summary', val) end def pdf_summary_reports prop_get('pdf-summary-reports') end def pdf_summary_reports=(val) prop_set('pdf-summary-reports', val) end def user_activity_report prop_get('user-activity-report') end def user_activity_report=(val) prop_set('user-activity-report', val) end def saas_application_usage_report prop_get('saas-application-usage-report') end def saas_application_usage_report=(val) prop_set('saas-application-usage-report', val) end def report_groups prop_get('report-groups') end def report_groups=(val) prop_set('report-groups', val) end def email_scheduler prop_get('email-scheduler') end def email_scheduler=(val) prop_set('email-scheduler', val) end end def pdf_reports @subclasses['pdf-reports'] ||= PdfReports.new(parent_instance: self, client: @client, create_children: @create_children) end class CustomReports < ConfigClass def has_multiple_values?; false; end def _section :'custom-reports' end @props = {'application-statistics'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'data-filtering-log'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'threat-log'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'threat-summary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'traffic-log'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'traffic-summary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'url-log'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'menu-tree-path'=>'URL Log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'url-summary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'menu-tree-path'=>'URL Summary', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'hipmatch'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'prune-on'=>'vpn-disable-mode', 'menu-tree-path'=>'HIP Match', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'globalprotect'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'menu-tree-path'=>'GlobalProtect', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'wildfire-log'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'menu-tree-path'=>'WildFire Log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'gtp-log'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'menu-tree-path'=>'GTP Log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'gtp-summary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'menu-tree-path'=>'GTP Summary', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'tunnel-log'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'tunnel-summary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'sctp-log'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'menu-tree-path'=>'SCTP Log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'sctp-summary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'menu-tree-path'=>'SCTP Summary', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'iptag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'menu-tree-path'=>'IP-Tag', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'userid'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'menu-tree-path'=>'User-ID', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'decryption-log'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'decryption-summary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'auth'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'yes', 'menu-tree-path'=>'Authentication', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}} def application_statistics prop_get('application-statistics') end def application_statistics=(val) prop_set('application-statistics', val) end def data_filtering_log prop_get('data-filtering-log') end def data_filtering_log=(val) prop_set('data-filtering-log', val) end def threat_log prop_get('threat-log') end def threat_log=(val) prop_set('threat-log', val) end def threat_summary prop_get('threat-summary') end def threat_summary=(val) prop_set('threat-summary', val) end def traffic_log prop_get('traffic-log') end def traffic_log=(val) prop_set('traffic-log', val) end def traffic_summary prop_get('traffic-summary') end def traffic_summary=(val) prop_set('traffic-summary', val) end def url_log prop_get('url-log') end def url_log=(val) prop_set('url-log', val) end def url_summary prop_get('url-summary') end def url_summary=(val) prop_set('url-summary', val) end def hipmatch prop_get('hipmatch') end def hipmatch=(val) prop_set('hipmatch', val) end def globalprotect prop_get('globalprotect') end def globalprotect=(val) prop_set('globalprotect', val) end def wildfire_log prop_get('wildfire-log') end def wildfire_log=(val) prop_set('wildfire-log', val) end def gtp_log prop_get('gtp-log') end def gtp_log=(val) prop_set('gtp-log', val) end def gtp_summary prop_get('gtp-summary') end def gtp_summary=(val) prop_set('gtp-summary', val) end def tunnel_log prop_get('tunnel-log') end def tunnel_log=(val) prop_set('tunnel-log', val) end def tunnel_summary prop_get('tunnel-summary') end def tunnel_summary=(val) prop_set('tunnel-summary', val) end def sctp_log prop_get('sctp-log') end def sctp_log=(val) prop_set('sctp-log', val) end def sctp_summary prop_get('sctp-summary') end def sctp_summary=(val) prop_set('sctp-summary', val) end def iptag prop_get('iptag') end def iptag=(val) prop_set('iptag', val) end def userid prop_get('userid') end def userid=(val) prop_set('userid', val) end def decryption_log prop_get('decryption-log') end def decryption_log=(val) prop_set('decryption-log', val) end def decryption_summary prop_get('decryption-summary') end def decryption_summary=(val) prop_set('decryption-summary', val) end def auth prop_get('auth') end def auth=(val) prop_set('auth', val) end end def custom_reports @subclasses['custom-reports'] ||= CustomReports.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'external-logs'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'External Logs', 'help-topic'=>'external_logs', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'app-scope'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'session-browser'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'block-ip-list'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Block IP List', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'view-custom-reports'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'View Scheduled Custom Reports', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}} def external_logs prop_get('external-logs') end def external_logs=(val) prop_set('external-logs', val) end def app_scope prop_get('app-scope') end def app_scope=(val) prop_set('app-scope', val) end def session_browser prop_get('session-browser') end def session_browser=(val) prop_set('session-browser', val) end def block_ip_list prop_get('block-ip-list') end def block_ip_list=(val) prop_set('block-ip-list', val) end def view_custom_reports prop_get('view-custom-reports') end def view_custom_reports=(val) prop_set('view-custom-reports', val) end end def monitor @subclasses['monitor'] ||= Monitor.new(parent_instance: self, client: @client, create_children: @create_children) end class Policies < ConfigClass def has_multiple_values?; false; end def _section :policies end @props = {'security-rulebase'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Security', 'help-topic'=>'policies_security', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'DeviceSecurityRules1,DeviceSecurityRules2,DeviceSecurityRules3,DeviceSecurityRules4,DeviceSecurityRules5,DeviceSecurityRules6', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'nat-rulebase'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.policies.nat-rulebase-disable=True', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'NAT', 'help-topic'=>'nat_rules', 'node-config-ids'=>'DeviceNATRules1,DeviceNATRules2,DeviceNATRules3', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'qos-rulebase'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'QoS', 'help-topic'=>'qos_policies', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'DeviceQOSRules1,DeviceQOSRules2,DeviceQOSRules3', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'pbf-rulebase'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.policies.pbf-rulebase-disable=True', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Policy Based Forwarding', 'node-config-ids'=>'DevicePBFRules1,DevicePBFRules2,DevicePBFRules3', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ssl-decryption-rulebase'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Decryption', 'skip-display'=>'shared-gateway', 'help-topic'=>'decryption_rules', 'node-config-ids'=>'DeviceDecryptionRules1,DeviceDecryptionRules2,DeviceDecryptionRules3', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'network-packet-broker-rulebase'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.prune-on-decrypt-brk=True', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Network Packet Broker', 'skip-display'=>'shared-gateway', 'help-topic'=>'network_packet_broker_rules', 'node-config-ids'=>'DeviceNPBRules1,DeviceNPBRules2,DeviceNPBRules3', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'tunnel-inspect-rulebase'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Tunnel Inspection', 'skip-display'=>'shared-gateway', 'help-topic'=>'tunnel_inspection_rules', 'node-config-ids'=>'DeviceTunnelInspectRules1,DeviceTunnelInspectRules2,DeviceTunnelInspectRules3', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'application-override-rulebase'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Application Override', 'skip-display'=>'shared-gateway', 'help-topic'=>'application_override_rules', 'node-config-ids'=>'DeviceAppOverrideRules1,DeviceAppOverrideRules2,DeviceAppOverrideRules3', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'authentication-rulebase'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Authentication', 'skip-display'=>'shared-gateway', 'help-topic'=>'authentication_rules', 'node-config-ids'=>'DeviceAuthenticationRules1,DeviceAuthenticationRules2,DeviceAuthenticationRules3', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dos-rulebase'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'DoS Protection', 'skip-display'=>'shared-gateway', 'help-topic'=>'dos_rules', 'node-config-ids'=>'DeviceDOSRules1,DeviceDOSRules2,DeviceDOSRules3', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-rulebase'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SD-WAN', 'help-topic'=>'sdwan_policies', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'DeviceSDWANRules1,DeviceSDWANRules2,DeviceSDWANRules3', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'rule-hit-count-reset'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Rule Hit Count Reset', 'help-topic'=>'rule_hit_count_reset', 'skip-display'=>'yes', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}} def security_rulebase prop_get('security-rulebase') end def security_rulebase=(val) prop_set('security-rulebase', val) end def nat_rulebase prop_get('nat-rulebase') end def nat_rulebase=(val) prop_set('nat-rulebase', val) end def qos_rulebase prop_get('qos-rulebase') end def qos_rulebase=(val) prop_set('qos-rulebase', val) end def pbf_rulebase prop_get('pbf-rulebase') end def pbf_rulebase=(val) prop_set('pbf-rulebase', val) end def ssl_decryption_rulebase prop_get('ssl-decryption-rulebase') end def ssl_decryption_rulebase=(val) prop_set('ssl-decryption-rulebase', val) end def network_packet_broker_rulebase prop_get('network-packet-broker-rulebase') end def network_packet_broker_rulebase=(val) prop_set('network-packet-broker-rulebase', val) end def tunnel_inspect_rulebase prop_get('tunnel-inspect-rulebase') end def tunnel_inspect_rulebase=(val) prop_set('tunnel-inspect-rulebase', val) end def application_override_rulebase prop_get('application-override-rulebase') end def application_override_rulebase=(val) prop_set('application-override-rulebase', val) end def authentication_rulebase prop_get('authentication-rulebase') end def authentication_rulebase=(val) prop_set('authentication-rulebase', val) end def dos_rulebase prop_get('dos-rulebase') end def dos_rulebase=(val) prop_set('dos-rulebase', val) end def sdwan_rulebase prop_get('sdwan-rulebase') end def sdwan_rulebase=(val) prop_set('sdwan-rulebase', val) end def rule_hit_count_reset prop_get('rule-hit-count-reset') end def rule_hit_count_reset=(val) prop_set('rule-hit-count-reset', val) end end def policies @subclasses['policies'] ||= Policies.new(parent_instance: self, client: @client, create_children: @create_children) end class Objects < ConfigClass def has_multiple_values?; false; end def _section :objects end class GlobalProtect < ConfigClass def has_multiple_values?; false; end def _section :'global-protect' end @props = {'hip-objects'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'hip_objects', 'menu-tree-path'=>'HIP Objects', 'node-config-ids'=>'HIPObjects', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'hip-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'hip_profiles', 'menu-tree-path'=>'HIP Profiles', 'node-config-ids'=>'HIPProfiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def hip_objects prop_get('hip-objects') end def hip_objects=(val) prop_set('hip-objects', val) end def hip_profiles prop_get('hip-profiles') end def hip_profiles=(val) prop_set('hip-profiles', val) end end def global_protect @subclasses['global-protect'] ||= GlobalProtect.new(parent_instance: self, client: @client, create_children: @create_children) end class CustomObjects < ConfigClass def has_multiple_values?; false; end def _section :'custom-objects' end @props = {'data-patterns'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'DataPatterns', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'spyware'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'signatures_spyware', 'node-config-ids'=>'CustomSpyware', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'vulnerability'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'signatures_vulnerability', 'node-config-ids'=>'CustomVulnerability', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'url-category'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'menu-tree-path'=>'URL Category', 'help-topic'=>'custom_url_categories', 'node-config-ids'=>'CustomURLCategory', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def data_patterns prop_get('data-patterns') end def data_patterns=(val) prop_set('data-patterns', val) end def spyware prop_get('spyware') end def spyware=(val) prop_set('spyware', val) end def vulnerability prop_get('vulnerability') end def vulnerability=(val) prop_set('vulnerability', val) end def url_category prop_get('url-category') end def url_category=(val) prop_set('url-category', val) end end def custom_objects @subclasses['custom-objects'] ||= CustomObjects.new(parent_instance: self, client: @client, create_children: @create_children) end class SecurityProfiles < ConfigClass def has_multiple_values?; false; end def _section :'security-profiles' end @props = {'antivirus'=>{'node-type'=>'element', 'menu-tree-path'=>'Antivirus', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'antivirus_profiles', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'AntiVirusProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'anti-spyware'=>{'node-type'=>'element', 'menu-tree-path'=>'Anti-Spyware', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'anti-spyware_profiles', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'AntiSpywareProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'vulnerability-protection'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'vulnerability_protection_profiles', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'VulnerabilityProtection', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'url-filtering'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'url_filtering_profiles', 'menu-tree-path'=>'URL Filtering', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'URLFiltering', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'file-blocking'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'file_blocking_profiles', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'FileBlocking', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'wildfire-analysis'=>{'node-type'=>'element', 'menu-tree-path'=>'WildFire Analysis', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'wildfire_analysis_profiles', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'WildFireAnalysis', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'data-filtering'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'data_filtering_profiles', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'DataFiltering', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dos-protection'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'dos_profiles', 'menu-tree-path'=>'DoS Protection', 'node-config-ids'=>'DoSProtection', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'gtp-protection'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'gtp_protection', 'menu-tree-path'=>'Mobile Network Protection', 'node-config-ids'=>'GTPProtection', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sctp-protection'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'sctp_protection', 'menu-tree-path'=>'SCTP Protection', 'node-config-ids'=>'SCTPProtection', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def antivirus prop_get('antivirus') end def antivirus=(val) prop_set('antivirus', val) end def anti_spyware prop_get('anti-spyware') end def anti_spyware=(val) prop_set('anti-spyware', val) end def vulnerability_protection prop_get('vulnerability-protection') end def vulnerability_protection=(val) prop_set('vulnerability-protection', val) end def url_filtering prop_get('url-filtering') end def url_filtering=(val) prop_set('url-filtering', val) end def file_blocking prop_get('file-blocking') end def file_blocking=(val) prop_set('file-blocking', val) end def wildfire_analysis prop_get('wildfire-analysis') end def wildfire_analysis=(val) prop_set('wildfire-analysis', val) end def data_filtering prop_get('data-filtering') end def data_filtering=(val) prop_set('data-filtering', val) end def dos_protection prop_get('dos-protection') end def dos_protection=(val) prop_set('dos-protection', val) end def gtp_protection prop_get('gtp-protection') end def gtp_protection=(val) prop_set('gtp-protection', val) end def sctp_protection prop_get('sctp-protection') end def sctp_protection=(val) prop_set('sctp-protection', val) end end def security_profiles @subclasses['security-profiles'] ||= SecurityProfiles.new(parent_instance: self, client: @client, create_children: @create_children) end class Decryption < ConfigClass def has_multiple_values?; false; end def _section :decryption end @props = {'decryption-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'decryption_profile', 'menu-tree-path'=>'Decryption Profile', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'DecryptionProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def decryption_profile prop_get('decryption-profile') end def decryption_profile=(val) prop_set('decryption-profile', val) end end def decryption @subclasses['decryption'] ||= Decryption.new(parent_instance: self, client: @client, create_children: @create_children) end class Sdwan < ConfigClass def has_multiple_values?; false; end def _section :sdwan end @props = {'sdwan-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Path Quality Profile', 'node-config-ids'=>'SDWANProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-saas-quality-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SaaS Quality Profile', 'node-config-ids'=>'SDWANSaaSQualityProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-dist-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Traffic Distribution Profile', 'node-config-ids'=>'SDWANDistProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-error-correction-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Error Correction Profile', 'node-config-ids'=>'SDWANErrorCorrectionProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def sdwan_profile prop_get('sdwan-profile') end def sdwan_profile=(val) prop_set('sdwan-profile', val) end def sdwan_saas_quality_profile prop_get('sdwan-saas-quality-profile') end def sdwan_saas_quality_profile=(val) prop_set('sdwan-saas-quality-profile', val) end def sdwan_dist_profile prop_get('sdwan-dist-profile') end def sdwan_dist_profile=(val) prop_set('sdwan-dist-profile', val) end def sdwan_error_correction_profile prop_get('sdwan-error-correction-profile') end def sdwan_error_correction_profile=(val) prop_set('sdwan-error-correction-profile', val) end end def sdwan @subclasses['sdwan'] ||= Sdwan.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'addresses'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'Address', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'address-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'AddressGroup', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'regions'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'Region', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dynamic-user-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'DynamicUserGroup', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'applications'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'Application', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'application-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'ApplicationGroup', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'application-filters'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'ApplicationFilter', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'services'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'Service', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'service-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'ServiceGroup', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'tags'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'Tag', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'devices'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'DeviceObject', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dynamic-block-lists'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'External Dynamic Lists', 'help-topic'=>'external_dynamic_list', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'DynamicBlockList', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'security-profile-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'SecurityProfileGroups', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'log-forwarding'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'log_forwarding', 'node-config-ids'=>'LogForwarding', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'authentication'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'authentication', 'node-config-ids'=>'AuthenticationObject', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'packet-broker-profile'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.prune-on-decrypt-brk', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'packet_broker_profile', 'menu-tree-path'=>'Packet Broker Profile', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'NetworkPacketBrokerProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'schedules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'node-config-ids'=>'Schedule', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def addresses prop_get('addresses') end def addresses=(val) prop_set('addresses', val) end def address_groups prop_get('address-groups') end def address_groups=(val) prop_set('address-groups', val) end def regions prop_get('regions') end def regions=(val) prop_set('regions', val) end def dynamic_user_groups prop_get('dynamic-user-groups') end def dynamic_user_groups=(val) prop_set('dynamic-user-groups', val) end def applications prop_get('applications') end def applications=(val) prop_set('applications', val) end def application_groups prop_get('application-groups') end def application_groups=(val) prop_set('application-groups', val) end def application_filters prop_get('application-filters') end def application_filters=(val) prop_set('application-filters', val) end def services prop_get('services') end def services=(val) prop_set('services', val) end def service_groups prop_get('service-groups') end def service_groups=(val) prop_set('service-groups', val) end def tags prop_get('tags') end def tags=(val) prop_set('tags', val) end def devices prop_get('devices') end def devices=(val) prop_set('devices', val) end def dynamic_block_lists prop_get('dynamic-block-lists') end def dynamic_block_lists=(val) prop_set('dynamic-block-lists', val) end def security_profile_groups prop_get('security-profile-groups') end def security_profile_groups=(val) prop_set('security-profile-groups', val) end def log_forwarding prop_get('log-forwarding') end def log_forwarding=(val) prop_set('log-forwarding', val) end def authentication prop_get('authentication') end def authentication=(val) prop_set('authentication', val) end def packet_broker_profile prop_get('packet-broker-profile') end def packet_broker_profile=(val) prop_set('packet-broker-profile', val) end def schedules prop_get('schedules') end def schedules=(val) prop_set('schedules', val) end end def objects @subclasses['objects'] ||= Objects.new(parent_instance: self, client: @client, create_children: @create_children) end class Network < ConfigClass def has_multiple_values?; false; end def _section :network end class GlobalProtect < ConfigClass def has_multiple_values?; false; end def _section :'global-protect' end @props = {'portals'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'portals_globalprotect', 'node-config-ids'=>'GlobalProtectPortal', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'gateways'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'gateways_globalprotect', 'node-config-ids'=>'GlobalProtectGatewayVSYS', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'mdm'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'MDM', 'help-topic'=>'mdm_globalprotect', 'node-config-ids'=>'GlobalProtectMDM', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'clientless-apps'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'clientless_apps', 'node-config-ids'=>'GlobalProtectClientlessApp', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'clientless-app-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'clientless_app_groups', 'node-config-ids'=>'GlobalProtectClientlessAppGroup', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def portals prop_get('portals') end def portals=(val) prop_set('portals', val) end def gateways prop_get('gateways') end def gateways=(val) prop_set('gateways', val) end def mdm prop_get('mdm') end def mdm=(val) prop_set('mdm', val) end def clientless_apps prop_get('clientless-apps') end def clientless_apps=(val) prop_set('clientless-apps', val) end def clientless_app_groups prop_get('clientless-app-groups') end def clientless_app_groups=(val) prop_set('clientless-app-groups', val) end end def global_protect @subclasses['global-protect'] ||= GlobalProtect.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'zones'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'Zones', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-interface-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SD-WAN Interface Profile', 'node-config-ids'=>'SDWANInterfaceProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def zones prop_get('zones') end def zones=(val) prop_set('zones', val) end def sdwan_interface_profile prop_get('sdwan-interface-profile') end def sdwan_interface_profile=(val) prop_set('sdwan-interface-profile', val) end end def network @subclasses['network'] ||= Network.new(parent_instance: self, client: @client, create_children: @create_children) end class Device < ConfigClass def has_multiple_values?; false; end def _section :device end class Setup < ConfigClass def has_multiple_values?; false; end def _section :setup end @props = {'management'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_setup', 'enum'=>[{'value'=>'read-only'}, {'value'=>'disable'}]}, 'operations'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_setup', 'menu-tree-path'=>'Operations', 'enum'=>[{'value'=>'read-only'}, {'value'=>'disable'}]}, 'services'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_setup', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'interfaces'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_setup', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'telemetry'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_setup', 'enum'=>[{'value'=>'read-only'}, {'value'=>'disable'}]}, 'content-id'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_setup', 'menu-tree-path'=>'Content-ID', 'enum'=>[{'value'=>'read-only'}, {'value'=>'disable'}]}, 'wildfire'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_setup', 'menu-tree-path'=>'WildFire', 'enum'=>[{'value'=>'read-only'}, {'value'=>'disable'}]}, 'session'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_setup', 'enum'=>[{'value'=>'read-only'}, {'value'=>'disable'}]}, 'hsm'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_setup', 'menu-tree-path'=>'HSM', 'enum'=>[{'value'=>'read-only'}, {'value'=>'disable'}]}} def management prop_get('management') end def management=(val) prop_set('management', val) end def operations prop_get('operations') end def operations=(val) prop_set('operations', val) end def services prop_get('services') end def services=(val) prop_set('services', val) end def interfaces prop_get('interfaces') end def interfaces=(val) prop_set('interfaces', val) end def telemetry prop_get('telemetry') end def telemetry=(val) prop_set('telemetry', val) end def content_id prop_get('content-id') end def content_id=(val) prop_set('content-id', val) end def wildfire prop_get('wildfire') end def wildfire=(val) prop_set('wildfire', val) end def session prop_get('session') end def session=(val) prop_set('session', val) end def hsm prop_get('hsm') end def hsm=(val) prop_set('hsm', val) end end def setup @subclasses['setup'] ||= Setup.new(parent_instance: self, client: @client, create_children: @create_children) end class CertificateManagement < ConfigClass def has_multiple_values?; false; end def _section :'certificate-management' end @props = {'certificates'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'certificates', 'node-config-ids'=>'Certificate', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'certificate-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'CertificateProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ocsp-responder'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'OCSP Responder', 'node-config-ids'=>'OCSPResponder', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ssl-tls-service-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SSL/TLS Service Profile', 'help-topic'=>'ssl_tls_service_profile', 'node-config-ids'=>'SslTlsServiceProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'scep'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SCEP', 'node-config-ids'=>'SCEP', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ssl-decryption-exclusion'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SSL Decryption Exclusion', 'node-config-ids'=>'SslDecryptionExclusion', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ssh-service-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SSH Service Profile', 'help-topic'=>'ssh_service_profile', 'node-config-ids'=>'SshServiceProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def certificates prop_get('certificates') end def certificates=(val) prop_set('certificates', val) end def certificate_profile prop_get('certificate-profile') end def certificate_profile=(val) prop_set('certificate-profile', val) end def ocsp_responder prop_get('ocsp-responder') end def ocsp_responder=(val) prop_set('ocsp-responder', val) end def ssl_tls_service_profile prop_get('ssl-tls-service-profile') end def ssl_tls_service_profile=(val) prop_set('ssl-tls-service-profile', val) end def scep prop_get('scep') end def scep=(val) prop_set('scep', val) end def ssl_decryption_exclusion prop_get('ssl-decryption-exclusion') end def ssl_decryption_exclusion=(val) prop_set('ssl-decryption-exclusion', val) end def ssh_service_profile prop_get('ssh-service-profile') end def ssh_service_profile=(val) prop_set('ssh-service-profile', val) end end def certificate_management @subclasses['certificate-management'] ||= CertificateManagement.new(parent_instance: self, client: @client, create_children: @create_children) end class LogSettings < ConfigClass def has_multiple_values?; false; end def _section :'log-settings' end @props = {'system'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'system_log_settings', 'node-config-ids'=>'LogSettingsSystem,LogSettingsConfig,LogSettingsUserID,LogSettingsHIPMatch,LogSettingsCorrelation,LogSettingsGlobalProtect LogSettingsCCAlarms', 'enum'=>[{'value'=>'read-only'}, {'value'=>'disable'}]}, 'config'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'config_log_settings', 'enum'=>[{'value'=>'read-only'}, {'value'=>'disable'}]}, 'iptag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'IP-Tag', 'help-topic'=>'ip_tag_log_settings', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'enum'=>[{'value'=>'read-only'}, {'value'=>'disable'}]}, 'user-id'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'User-ID', 'help-topic'=>'user_id_log_settings', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'enum'=>[{'value'=>'read-only'}, {'value'=>'disable'}]}, 'hipmatch'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'HIP Match', 'help-topic'=>'hip_match_log_settings', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'enum'=>[{'value'=>'read-only'}, {'value'=>'disable'}]}, 'globalprotect'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'GlobalProtect', 'help-topic'=>'globalprotect_log_settings', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'enum'=>[{'value'=>'read-only'}, {'value'=>'disable'}]}, 'correlation'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Correlation', 'help-topic'=>'correlation_log_settings', 'skip-display'=>'vpn-disable-mode', 'prune-on'=>'vpn-disable-mode', 'enum'=>[{'value'=>'read-only'}, {'value'=>'disable'}]}} def system prop_get('system') end def system=(val) prop_set('system', val) end def config prop_get('config') end def config=(val) prop_set('config', val) end def iptag prop_get('iptag') end def iptag=(val) prop_set('iptag', val) end def user_id prop_get('user-id') end def user_id=(val) prop_set('user-id', val) end def hipmatch prop_get('hipmatch') end def hipmatch=(val) prop_set('hipmatch', val) end def globalprotect prop_get('globalprotect') end def globalprotect=(val) prop_set('globalprotect', val) end def correlation prop_get('correlation') end def correlation=(val) prop_set('correlation', val) end end def log_settings @subclasses['log-settings'] ||= LogSettings.new(parent_instance: self, client: @client, create_children: @create_children) end class ServerProfile < ConfigClass def has_multiple_values?; false; end def _section :'server-profile' end @props = {'snmp-trap'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'snmp_trap_settings', 'menu-tree-path'=>'SNMP Trap', 'node-config-ids'=>'ServerProfileSNMPTrap', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'syslog'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'syslog_settings', 'node-config-ids'=>'ServerProfileSyslog', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'email'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'email_settings', 'node-config-ids'=>'ServerProfileEmail', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'http'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'http_settings', 'menu-tree-path'=>'HTTP', 'node-config-ids'=>'ServerProfileHTTP', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'netflow'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'netflow_settings', 'node-config-ids'=>'ServerProfileNetflow', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'radius'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'server_radius', 'node-config-ids'=>'ServerProfileRadius', 'menu-tree-path'=>'RADIUS', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'scp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'scp_settings', 'menu-tree-path'=>'SCP', 'node-config-ids'=>'ServerProfileSCP', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'tacplus'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'server_tacplus', 'node-config-ids'=>'ServerProfileTacacs', 'menu-tree-path'=>'TACACS+', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ldap'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'server_ldap', 'menu-tree-path'=>'LDAP', 'node-config-ids'=>'ServerProfileLDAP', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'kerberos'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'server_kerberos', 'node-config-ids'=>'ServerProfileKerberos', 'skip-display'=>'fips-mode,cc-only-mode', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'saml_idp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'server_saml_idp', 'menu-tree-path'=>'SAML Identity Provider', 'node-config-ids'=>'ServerProfileSamlIdp', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dns'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.device.dns-disable=True', 'skip-display'=>'single-vsys-mode', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'server_dns', 'menu-tree-path'=>'DNS', 'node-config-ids'=>'ServerProfileDNS', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'mfa'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'server_mfa', 'menu-tree-path'=>'Multi Factor Authentication', 'node-config-ids'=>'ServerProfileMFA', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def snmp_trap prop_get('snmp-trap') end def snmp_trap=(val) prop_set('snmp-trap', val) end def syslog prop_get('syslog') end def syslog=(val) prop_set('syslog', val) end def email prop_get('email') end def email=(val) prop_set('email', val) end def http prop_get('http') end def http=(val) prop_set('http', val) end def netflow prop_get('netflow') end def netflow=(val) prop_set('netflow', val) end def radius prop_get('radius') end def radius=(val) prop_set('radius', val) end def scp prop_get('scp') end def scp=(val) prop_set('scp', val) end def tacplus prop_get('tacplus') end def tacplus=(val) prop_set('tacplus', val) end def ldap prop_get('ldap') end def ldap=(val) prop_set('ldap', val) end def kerberos prop_get('kerberos') end def kerberos=(val) prop_set('kerberos', val) end def saml_idp prop_get('saml_idp') end def saml_idp=(val) prop_set('saml_idp', val) end def dns prop_get('dns') end def dns=(val) prop_set('dns', val) end def mfa prop_get('mfa') end def mfa=(val) prop_set('mfa', val) end end def server_profile @subclasses['server-profile'] ||= ServerProfile.new(parent_instance: self, client: @client, create_children: @create_children) end class LocalUserDatabase < ConfigClass def has_multiple_values?; false; end def _section :'local-user-database' end @props = {'users'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'local_users', 'node-config-ids'=>'LocalUsers', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'user-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'local_user_groups', 'node-config-ids'=>'LocalUserGroups', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def users prop_get('users') end def users=(val) prop_set('users', val) end def user_groups prop_get('user-groups') end def user_groups=(val) prop_set('user-groups', val) end end def local_user_database @subclasses['local-user-database'] ||= LocalUserDatabase.new(parent_instance: self, client: @client, create_children: @create_children) end class PolicyRecommendations < ConfigClass def has_multiple_values?; false; end def _section :'policy-recommendations' end @props = {'iot'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'iot_policy_recommendation', 'menu-tree-path'=>'IoT', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'saas'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'saas_policy_recommendation', 'menu-tree-path'=>'SaaS', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def iot prop_get('iot') end def iot=(val) prop_set('iot', val) end def saas prop_get('saas') end def saas=(val) prop_set('saas', val) end end def policy_recommendations @subclasses['policy-recommendations'] ||= PolicyRecommendations.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'administrators'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'admin_accounts', 'node-config-ids'=>'Administrator', 'enum'=>[{'value'=>'read-only'}, {'value'=>'disable'}]}, 'authentication-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'AuthenticationProfile', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'authentication-sequence'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'node-config-ids'=>'AuthSeqBase', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'user-identification'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'device_user_id', 'node-config-ids'=>'UserIdCollector,ServerMonitor,IncludeExcludeNetwork,UserIdConnSecurity,UserIdAgent,TSAgent,GroupMapping', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dhcp-syslog-server'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'IoT', 'node-config-ids'=>'IoT', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'data-redistribution'=>{'node-type'=>'element', 'optional'=>'yes', 'help-topic'=>'data_redistribution', 'menu-tree-path'=>'Data Redistribution', 'type'=>'enum', 'node-config-ids'=>'RDAgent,DataRedistributionCollector,DataRedistributionIPUserIncludeExcludeNetwork,DataRedistributionIPTagIncludeExcludeNetwork', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'device-quarantine'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Device Quarantine', 'help-topic'=>'device_quarantine', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'vm-info-source'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'VM Information Sources', 'node-config-ids'=>'VMInformationSources', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'troubleshooting'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Troubleshooting', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'block-pages'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Response Pages', 'node-config-ids'=>'ResponsePageTopLevel', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def administrators prop_get('administrators') end def administrators=(val) prop_set('administrators', val) end def authentication_profile prop_get('authentication-profile') end def authentication_profile=(val) prop_set('authentication-profile', val) end def authentication_sequence prop_get('authentication-sequence') end def authentication_sequence=(val) prop_set('authentication-sequence', val) end def user_identification prop_get('user-identification') end def user_identification=(val) prop_set('user-identification', val) end def dhcp_syslog_server prop_get('dhcp-syslog-server') end def dhcp_syslog_server=(val) prop_set('dhcp-syslog-server', val) end def data_redistribution prop_get('data-redistribution') end def data_redistribution=(val) prop_set('data-redistribution', val) end def device_quarantine prop_get('device-quarantine') end def device_quarantine=(val) prop_set('device-quarantine', val) end def vm_info_source prop_get('vm-info-source') end def vm_info_source=(val) prop_set('vm-info-source', val) end def troubleshooting prop_get('troubleshooting') end def troubleshooting=(val) prop_set('troubleshooting', val) end def block_pages prop_get('block-pages') end def block_pages=(val) prop_set('block-pages', val) end end def device @subclasses['device'] ||= Device.new(parent_instance: self, client: @client, create_children: @create_children) end class Operations < ConfigClass def has_multiple_values?; false; end def _section :operations end @props = {'reboot'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'generate-tech-support-file'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'generate-stats-dump-file'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'download-core-files'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'download-pcap-files'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}} def reboot prop_get('reboot') end def reboot=(val) prop_set('reboot', val) end def generate_tech_support_file prop_get('generate-tech-support-file') end def generate_tech_support_file=(val) prop_set('generate-tech-support-file', val) end def generate_stats_dump_file prop_get('generate-stats-dump-file') end def generate_stats_dump_file=(val) prop_set('generate-stats-dump-file', val) end def download_core_files prop_get('download-core-files') end def download_core_files=(val) prop_set('download-core-files', val) end def download_pcap_files prop_get('download-pcap-files') end def download_pcap_files=(val) prop_set('download-pcap-files', val) end end def operations @subclasses['operations'] ||= Operations.new(parent_instance: self, client: @client, create_children: @create_children) end class Privacy < ConfigClass def has_multiple_values?; false; end def _section :privacy end @props = {'show-full-ip-addresses'=>{'node-type'=>'element', 'menu-tree-path'=>'Show Full IP Addresses', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'show-user-names-in-logs-and-reports'=>{'node-type'=>'element', 'menu-tree-path'=>'Show Username In Logs And Reports', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'view-pcap-files'=>{'node-type'=>'element', 'menu-tree-path'=>'View PCAP Files', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}} def show_full_ip_addresses prop_get('show-full-ip-addresses') end def show_full_ip_addresses=(val) prop_set('show-full-ip-addresses', val) end def show_user_names_in_logs_and_reports prop_get('show-user-names-in-logs-and-reports') end def show_user_names_in_logs_and_reports=(val) prop_set('show-user-names-in-logs-and-reports', val) end def view_pcap_files prop_get('view-pcap-files') end def view_pcap_files=(val) prop_set('view-pcap-files', val) end end def privacy @subclasses['privacy'] ||= Privacy.new(parent_instance: self, client: @client, create_children: @create_children) end class Save < ConfigClass def has_multiple_values?; false; end def _section :save end @props = {'partial-save'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'save-for-other-admins'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'object-level-changes'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}} def partial_save prop_get('partial-save') end def partial_save=(val) prop_set('partial-save', val) end def save_for_other_admins prop_get('save-for-other-admins') end def save_for_other_admins=(val) prop_set('save-for-other-admins', val) end def object_level_changes prop_get('object-level-changes') end def object_level_changes=(val) prop_set('object-level-changes', val) end end def save @subclasses['save'] ||= Save.new(parent_instance: self, client: @client, create_children: @create_children) end class Commit < ConfigClass def has_multiple_values?; false; end def _section :commit end @props = {'virtual-systems'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'commit-for-other-admins'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}} def virtual_systems prop_get('virtual-systems') end def virtual_systems=(val) prop_set('virtual-systems', val) end def commit_for_other_admins prop_get('commit-for-other-admins') end def commit_for_other_admins=(val) prop_set('commit-for-other-admins', val) end end def commit @subclasses['commit'] ||= Commit.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'dashboard'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'acc'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'ACC', 'prune-on-sdb'=>'cfg.vm-license-type=vm50l,cfg.platform.model=PA-410', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'tasks'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}} def dashboard prop_get('dashboard') end def dashboard=(val) prop_set('dashboard', val) end def acc prop_get('acc') end def acc=(val) prop_set('acc', val) end def tasks prop_get('tasks') end def tasks=(val) prop_set('tasks', val) end end def webui @subclasses['webui'] ||= Webui.new(parent_instance: self, client: @client, create_children: @create_children) end class Xmlapi < ConfigClass def has_multiple_values?; false; end def _section :xmlapi end @props = {'report'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Report', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'log'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Log', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'config'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Configuration', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'op'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Operational Requests', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'commit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Commit', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'user-id'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'User-ID Agent', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'iot'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'IoT Agent', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'export'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Export', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}, 'import'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Import', 'enum'=>[{'value'=>'enable'}, {'value'=>'disable'}]}} def report prop_get('report') end def report=(val) prop_set('report', val) end def log prop_get('log') end def log=(val) prop_set('log', val) end def config prop_get('config') end def config=(val) prop_set('config', val) end def op prop_get('op') end def op=(val) prop_set('op', val) end def commit prop_get('commit') end def commit=(val) prop_set('commit', val) end def user_id prop_get('user-id') end def user_id=(val) prop_set('user-id', val) end def iot prop_get('iot') end def iot=(val) prop_set('iot', val) end def export prop_get('export') end def export=(val) prop_set('export', val) end def import prop_get('import') end def import=(val) prop_set('import', val) end end def xmlapi @subclasses['xmlapi'] ||= Xmlapi.new(parent_instance: self, client: @client, create_children: @create_children) end class Restapi < ConfigClass def has_multiple_values?; false; end def _section :restapi end class Objects < ConfigClass def has_multiple_values?; false; end def _section :objects end @props = {'addresses'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'address-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'regions'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dynamic-user-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'applications'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'application-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'application-filters'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'services'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'service-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'tags'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'devices'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'globalprotect-hip-objects'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'hip_objects', 'menu-tree-path'=>'GlobalProtect HIP Objects', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'globalprotect-hip-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'hip_profiles', 'menu-tree-path'=>'GlobalProtect HIP Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'external-dynamic-lists'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'external_dynamic_list', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'custom-data-patterns'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'custom-spyware-signatures'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'signatures_spyware', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'custom-vulnerability-signatures'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'signatures_vulnerability', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'custom-url-categories'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'help-topic'=>'custom_url_categories', 'menu-tree-path'=>'URL Category', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'antivirus-security-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'antivirus_profiles', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'anti-spyware-security-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'anti-spyware_profiles', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'vulnerability-protection-security-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'vulnerability_protection_profiles', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'url-filtering-security-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'url_filtering_profiles', 'skip-display'=>'shared-gateway', 'menu-tree-path'=>'URL Filtering Security Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'file-blocking-security-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'file_blocking_profiles', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'wildfire-analysis-security-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'wildfire_analysis_profiles', 'skip-display'=>'shared-gateway', 'menu-tree-path'=>'WildFire Analysis Security Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'data-filtering-security-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'data_filtering_profiles', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dos-protection-security-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'dos_profiles', 'menu-tree-path'=>'DoS Protection Security Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'gtp-protection-security-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'gtp_protection', 'menu-tree-path'=>'GTP Protection Security Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sctp-protection-security-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'sctp_protection', 'menu-tree-path'=>'SCTP Protection Secuirty Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'security-profile-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'log-forwarding-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'log_forwarding', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'authentication-enforcements'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'authentication', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'decryption-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'decryption_profile', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'packet-broker-profiles'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'prune-on-sdb'=>'cfg.general.prune-on-decrypt-brk', 'help-topic'=>'packet_broker_profile', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'schedules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-path-quality-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'sdwan-path-quality-profiles', 'skip-display'=>'shared-gateway', 'menu-tree-path'=>'SD-WAN Path Quality Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-saas-quality-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'sdwan-saas-quality-profiles', 'skip-display'=>'shared-gateway', 'menu-tree-path'=>'SD-WAN Saas Quality Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-traffic-distribution-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'sdwan-traffic-distribution-profiles', 'skip-display'=>'shared-gateway', 'menu-tree-path'=>'SD-WAN Traffic Distribution Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-error-correction-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'sdwan-error-correction-profiles', 'skip-display'=>'shared-gateway', 'menu-tree-path'=>'SD-WAN Error Correction Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def addresses prop_get('addresses') end def addresses=(val) prop_set('addresses', val) end def address_groups prop_get('address-groups') end def address_groups=(val) prop_set('address-groups', val) end def regions prop_get('regions') end def regions=(val) prop_set('regions', val) end def dynamic_user_groups prop_get('dynamic-user-groups') end def dynamic_user_groups=(val) prop_set('dynamic-user-groups', val) end def applications prop_get('applications') end def applications=(val) prop_set('applications', val) end def application_groups prop_get('application-groups') end def application_groups=(val) prop_set('application-groups', val) end def application_filters prop_get('application-filters') end def application_filters=(val) prop_set('application-filters', val) end def services prop_get('services') end def services=(val) prop_set('services', val) end def service_groups prop_get('service-groups') end def service_groups=(val) prop_set('service-groups', val) end def tags prop_get('tags') end def tags=(val) prop_set('tags', val) end def devices prop_get('devices') end def devices=(val) prop_set('devices', val) end def globalprotect_hip_objects prop_get('globalprotect-hip-objects') end def globalprotect_hip_objects=(val) prop_set('globalprotect-hip-objects', val) end def globalprotect_hip_profiles prop_get('globalprotect-hip-profiles') end def globalprotect_hip_profiles=(val) prop_set('globalprotect-hip-profiles', val) end def external_dynamic_lists prop_get('external-dynamic-lists') end def external_dynamic_lists=(val) prop_set('external-dynamic-lists', val) end def custom_data_patterns prop_get('custom-data-patterns') end def custom_data_patterns=(val) prop_set('custom-data-patterns', val) end def custom_spyware_signatures prop_get('custom-spyware-signatures') end def custom_spyware_signatures=(val) prop_set('custom-spyware-signatures', val) end def custom_vulnerability_signatures prop_get('custom-vulnerability-signatures') end def custom_vulnerability_signatures=(val) prop_set('custom-vulnerability-signatures', val) end def custom_url_categories prop_get('custom-url-categories') end def custom_url_categories=(val) prop_set('custom-url-categories', val) end def antivirus_security_profiles prop_get('antivirus-security-profiles') end def antivirus_security_profiles=(val) prop_set('antivirus-security-profiles', val) end def anti_spyware_security_profiles prop_get('anti-spyware-security-profiles') end def anti_spyware_security_profiles=(val) prop_set('anti-spyware-security-profiles', val) end def vulnerability_protection_security_profiles prop_get('vulnerability-protection-security-profiles') end def vulnerability_protection_security_profiles=(val) prop_set('vulnerability-protection-security-profiles', val) end def url_filtering_security_profiles prop_get('url-filtering-security-profiles') end def url_filtering_security_profiles=(val) prop_set('url-filtering-security-profiles', val) end def file_blocking_security_profiles prop_get('file-blocking-security-profiles') end def file_blocking_security_profiles=(val) prop_set('file-blocking-security-profiles', val) end def wildfire_analysis_security_profiles prop_get('wildfire-analysis-security-profiles') end def wildfire_analysis_security_profiles=(val) prop_set('wildfire-analysis-security-profiles', val) end def data_filtering_security_profiles prop_get('data-filtering-security-profiles') end def data_filtering_security_profiles=(val) prop_set('data-filtering-security-profiles', val) end def dos_protection_security_profiles prop_get('dos-protection-security-profiles') end def dos_protection_security_profiles=(val) prop_set('dos-protection-security-profiles', val) end def gtp_protection_security_profiles prop_get('gtp-protection-security-profiles') end def gtp_protection_security_profiles=(val) prop_set('gtp-protection-security-profiles', val) end def sctp_protection_security_profiles prop_get('sctp-protection-security-profiles') end def sctp_protection_security_profiles=(val) prop_set('sctp-protection-security-profiles', val) end def security_profile_groups prop_get('security-profile-groups') end def security_profile_groups=(val) prop_set('security-profile-groups', val) end def log_forwarding_profiles prop_get('log-forwarding-profiles') end def log_forwarding_profiles=(val) prop_set('log-forwarding-profiles', val) end def authentication_enforcements prop_get('authentication-enforcements') end def authentication_enforcements=(val) prop_set('authentication-enforcements', val) end def decryption_profiles prop_get('decryption-profiles') end def decryption_profiles=(val) prop_set('decryption-profiles', val) end def packet_broker_profiles prop_get('packet-broker-profiles') end def packet_broker_profiles=(val) prop_set('packet-broker-profiles', val) end def schedules prop_get('schedules') end def schedules=(val) prop_set('schedules', val) end def sdwan_path_quality_profiles prop_get('sdwan-path-quality-profiles') end def sdwan_path_quality_profiles=(val) prop_set('sdwan-path-quality-profiles', val) end def sdwan_saas_quality_profiles prop_get('sdwan-saas-quality-profiles') end def sdwan_saas_quality_profiles=(val) prop_set('sdwan-saas-quality-profiles', val) end def sdwan_traffic_distribution_profiles prop_get('sdwan-traffic-distribution-profiles') end def sdwan_traffic_distribution_profiles=(val) prop_set('sdwan-traffic-distribution-profiles', val) end def sdwan_error_correction_profiles prop_get('sdwan-error-correction-profiles') end def sdwan_error_correction_profiles=(val) prop_set('sdwan-error-correction-profiles', val) end end def objects @subclasses['objects'] ||= Objects.new(parent_instance: self, client: @client, create_children: @create_children) end class Policies < ConfigClass def has_multiple_values?; false; end def _section :policies end @props = {'security-rules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'policies_security', 'skip-display'=>'shared-gateway', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'nat-rules'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.vm-mode=1', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'nat_rules', 'menu-tree-path'=>'NAT Rules', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'qos-rules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-topic'=>'qos_policies', 'skip-display'=>'shared-gateway', 'menu-tree-path'=>'QoS Rules', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'policy-based-forwarding-rules'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.general.vm-mode=1', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'decryption-rules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'help-topic'=>'decryption_rules', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'network-packet-broker-rules'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'prune-on-sdb'=>'cfg.general.prune-on-decrypt-brk', 'skip-display'=>'shared-gateway', 'help-topic'=>'network_packet_broker_rules', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'tunnel-inspection-rules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'help-topic'=>'tunnel_inspection_rules', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'application-override-rules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'help-topic'=>'application_override_rules', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'authentication-rules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'help-topic'=>'authentication_rules', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'dos-rules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'help-topic'=>'dos_rules', 'menu-tree-path'=>'DoS Rules', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-rules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'skip-display'=>'shared-gateway', 'help-topic'=>'sdwan-rules', 'menu-tree-path'=>'SD-WAN Rules', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def security_rules prop_get('security-rules') end def security_rules=(val) prop_set('security-rules', val) end def nat_rules prop_get('nat-rules') end def nat_rules=(val) prop_set('nat-rules', val) end def qos_rules prop_get('qos-rules') end def qos_rules=(val) prop_set('qos-rules', val) end def policy_based_forwarding_rules prop_get('policy-based-forwarding-rules') end def policy_based_forwarding_rules=(val) prop_set('policy-based-forwarding-rules', val) end def decryption_rules prop_get('decryption-rules') end def decryption_rules=(val) prop_set('decryption-rules', val) end def network_packet_broker_rules prop_get('network-packet-broker-rules') end def network_packet_broker_rules=(val) prop_set('network-packet-broker-rules', val) end def tunnel_inspection_rules prop_get('tunnel-inspection-rules') end def tunnel_inspection_rules=(val) prop_set('tunnel-inspection-rules', val) end def application_override_rules prop_get('application-override-rules') end def application_override_rules=(val) prop_set('application-override-rules', val) end def authentication_rules prop_get('authentication-rules') end def authentication_rules=(val) prop_set('authentication-rules', val) end def dos_rules prop_get('dos-rules') end def dos_rules=(val) prop_set('dos-rules', val) end def sdwan_rules prop_get('sdwan-rules') end def sdwan_rules=(val) prop_set('sdwan-rules', val) end end def policies @subclasses['policies'] ||= Policies.new(parent_instance: self, client: @client, create_children: @create_children) end class Network < ConfigClass def has_multiple_values?; false; end def _section :network end @props = {'zones'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'globalprotect-portals'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'GlobalProtect Portals', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'globalprotect-gateways'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'GlobalProtect Gateways', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'globalprotect-mdm-servers'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'GlobalProtect MDM Servers', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'globalprotect-clientless-apps'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'GlobalProtect Clientless Apps', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'globalprotect-clientless-app-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'GlobalProtect Clientless App Groups', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'sdwan-interface-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SD-WAN Interface Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def zones prop_get('zones') end def zones=(val) prop_set('zones', val) end def globalprotect_portals prop_get('globalprotect-portals') end def globalprotect_portals=(val) prop_set('globalprotect-portals', val) end def globalprotect_gateways prop_get('globalprotect-gateways') end def globalprotect_gateways=(val) prop_set('globalprotect-gateways', val) end def globalprotect_mdm_servers prop_get('globalprotect-mdm-servers') end def globalprotect_mdm_servers=(val) prop_set('globalprotect-mdm-servers', val) end def globalprotect_clientless_apps prop_get('globalprotect-clientless-apps') end def globalprotect_clientless_apps=(val) prop_set('globalprotect-clientless-apps', val) end def globalprotect_clientless_app_groups prop_get('globalprotect-clientless-app-groups') end def globalprotect_clientless_app_groups=(val) prop_set('globalprotect-clientless-app-groups', val) end def sdwan_interface_profiles prop_get('sdwan-interface-profiles') end def sdwan_interface_profiles=(val) prop_set('sdwan-interface-profiles', val) end end def network @subclasses['network'] ||= Network.new(parent_instance: self, client: @client, create_children: @create_children) end class Device < ConfigClass def has_multiple_values?; false; end def _section :device end @props = {'log-interface-setting'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'snmp-trap-server-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'SNMP Trap Server Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'syslog-server-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Syslog Server Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'email-server-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'Email Server Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'http-server-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'HTTP Server Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'ldap-server-profiles'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'menu-tree-path'=>'LDAP Server Profiles', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}, 'virtual-systems'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def log_interface_setting prop_get('log-interface-setting') end def log_interface_setting=(val) prop_set('log-interface-setting', val) end def snmp_trap_server_profiles prop_get('snmp-trap-server-profiles') end def snmp_trap_server_profiles=(val) prop_set('snmp-trap-server-profiles', val) end def syslog_server_profiles prop_get('syslog-server-profiles') end def syslog_server_profiles=(val) prop_set('syslog-server-profiles', val) end def email_server_profiles prop_get('email-server-profiles') end def email_server_profiles=(val) prop_set('email-server-profiles', val) end def http_server_profiles prop_get('http-server-profiles') end def http_server_profiles=(val) prop_set('http-server-profiles', val) end def ldap_server_profiles prop_get('ldap-server-profiles') end def ldap_server_profiles=(val) prop_set('ldap-server-profiles', val) end def virtual_systems prop_get('virtual-systems') end def virtual_systems=(val) prop_set('virtual-systems', val) end end def device @subclasses['device'] ||= Device.new(parent_instance: self, client: @client, create_children: @create_children) end class System < ConfigClass def has_multiple_values?; false; end def _section :system end @props = {'configuration'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'enable'}, {'value'=>'read-only'}, {'value'=>'disable'}]}} def configuration prop_get('configuration') end def configuration=(val) prop_set('configuration', val) end end def system @subclasses['system'] ||= System.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def restapi @subclasses['restapi'] ||= Restapi.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'cli'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'vsysadmin'}, {'value'=>'vsysreader'}]}} def cli prop_get('cli') end def cli=(val) prop_set('cli', val) end end def vsys @subclasses['vsys'] ||= Vsys.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def role maybe_register_subclass('role', Role.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def admin_role maybe_register_subclass('admin-role', AdminRole.new(parent_instance: self, client: @client, create_children: @create_children)) end class Scep < XML::ConfigClass def has_multiple_values?; true; end def _section :scep end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class ScepChallenge < XML::ConfigClass def has_multiple_values?; true; end def _section :'scep-challenge' end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end class Dynamic < ConfigClass def has_multiple_values?; false; end def _section :dynamic end @props = {'otp-server-url'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^(http|https)://.+$', 'minlen'=>'0', 'maxlen'=>'255', 'help-string'=>'URL to get the One-Time-Password', 'uiHint-fieldLabel'=>'Server URL'}, 'username'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'help-string'=>'Username to authenticate to the SCEP server for procuring OTP'}, 'password'=>{'node-type'=>'element', 'type'=>'string', 'encrypt'=>'yes', 'minlen'=>'0', 'maxlen'=>'255', 'help-string'=>'Password to authenticate to the SCEP server for procuring OTP'}} # URL to get the One-Time-Password def otp_server_url prop_get('otp-server-url') end # URL to get the One-Time-Password def otp_server_url=(val) prop_set('otp-server-url', val) end # Username to authenticate to the SCEP server for procuring OTP def username prop_get('username') end # Username to authenticate to the SCEP server for procuring OTP def username=(val) prop_set('username', val) end # Password to authenticate to the SCEP server for procuring OTP def password prop_get('password') end # Password to authenticate to the SCEP server for procuring OTP def password=(val) prop_set('password', val) end end def dynamic @subclasses['dynamic'] ||= Dynamic.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'fixed'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'regex'=>'[^\']*', 'helpstring'=>'Challenge to use for SCEP server on mobile clients'}} def fixed prop_get('fixed') end def fixed=(val) prop_set('fixed', val) end end def scep_challenge maybe_register_subclass('scep-challenge', ScepChallenge.new(parent_instance: self, client: @client, create_children: @create_children)) end class Algorithm < XML::ConfigClass def has_multiple_values?; true; end def _section :algorithm end class Rsa < ConfigClass def has_multiple_values?; false; end def _section :rsa end @props = {'rsa-nbits'=>{'node-type'=>'element', 'type'=>'string', 'complete-handler'=>'generate-cert-nbits-complete-handler', 'help-string'=>'Length of the key'}} # Length of the key def rsa_nbits prop_get('rsa-nbits') end # Length of the key def rsa_nbits=(val) prop_set('rsa-nbits', val) end end def rsa @subclasses['rsa'] ||= Rsa.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def algorithm maybe_register_subclass('algorithm', Algorithm.new(parent_instance: self, client: @client, create_children: @create_children)) end class CertificateAttributes < XML::ConfigClass def has_multiple_values?; true; end def _section :'certificate-attributes' end @props = {'rfc822name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'0', 'maxlen'=>'255', 'help-string'=>'rfc822Name'}, 'dnsname'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'0', 'maxlen'=>'255', 'help-string'=>'dNSName'}, 'uniform-resource-identifier'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'help-string'=>'uniformResourceIdentifier'}} # rfc822Name def rfc822name prop_get('rfc822name') end # rfc822Name def rfc822name=(val) prop_set('rfc822name', val) end # dNSName def dnsname prop_get('dnsname') end # dNSName def dnsname=(val) prop_set('dnsname', val) end # uniformResourceIdentifier def uniform_resource_identifier prop_get('uniform-resource-identifier') end # uniformResourceIdentifier def uniform_resource_identifier=(val) prop_set('uniform-resource-identifier', val) end end def certificate_attributes maybe_register_subclass('certificate-attributes', CertificateAttributes.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'scep-url'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^(http|https)://.+$', 'minlen'=>'0', 'maxlen'=>'255', 'help-string'=>'The base URL for the SCEP server'}, 'scep-ca-cert'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'help-string'=>'SCEP Server CA Certificate'}, 'scep-client-cert'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'optional'=>'yes', 'help-string'=>'Client Certificate to use when connecting to SCEP Server over SSL'}, 'ca-identity-name'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'help-string'=>'Name of the SCEP server CA Identity'}, 'subject'=>{'node-type'=>'element', 'regex'=>'(.*)CN=(.*?)(.*)', 'type'=>'string', 'default'=>'CN=$USERNAME', 'minlen'=>'0', 'maxlen'=>'1024', 'help-string'=>'Representation of a X.500 name'}, 'digest'=>{'node-type'=>'element', 'type'=>'string', 'complete-handler'=>'generate-cert-digest-complete-handler', 'help-string'=>'Digest Algorithm for CSR'}, 'fingerprint'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'0', 'maxlen'=>'255', 'help-string'=>'Hex String to use as a fingerprint'}, 'use-as-digital-signature'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Use as digital signature', 'uiHint-fieldLabel'=>'Use as digital signature'}, 'use-for-key-encipherment'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Use for key encipherment', 'uiHint-fieldLabel'=>'Use for key encipherment'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # The base URL for the SCEP server def scep_url prop_get('scep-url') end # The base URL for the SCEP server def scep_url=(val) prop_set('scep-url', val) end # SCEP Server CA Certificate def scep_ca_cert prop_get('scep-ca-cert') end # SCEP Server CA Certificate def scep_ca_cert=(val) prop_set('scep-ca-cert', val) end # Client Certificate to use when connecting to SCEP Server over SSL def scep_client_cert prop_get('scep-client-cert') end # Client Certificate to use when connecting to SCEP Server over SSL def scep_client_cert=(val) prop_set('scep-client-cert', val) end # Name of the SCEP server CA Identity def ca_identity_name prop_get('ca-identity-name') end # Name of the SCEP server CA Identity def ca_identity_name=(val) prop_set('ca-identity-name', val) end # Representation of a X.500 name def subject prop_get('subject') end # Representation of a X.500 name def subject=(val) prop_set('subject', val) end # Digest Algorithm for CSR def digest prop_get('digest') end # Digest Algorithm for CSR def digest=(val) prop_set('digest', val) end # Hex String to use as a fingerprint def fingerprint prop_get('fingerprint') end # Hex String to use as a fingerprint def fingerprint=(val) prop_set('fingerprint', val) end # Use as digital signature def use_as_digital_signature prop_get('use-as-digital-signature') end # Use as digital signature def use_as_digital_signature=(val) prop_set('use-as-digital-signature', val) end # Use for key encipherment def use_for_key_encipherment prop_get('use-for-key-encipherment') end # Use for key encipherment def use_for_key_encipherment=(val) prop_set('use-for-key-encipherment', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def scep maybe_register_subclass('scep', Scep.new(parent_instance: self, client: @client, create_children: @create_children)) end class UserIdHub < ConfigClass def has_multiple_values?; false; end def _section :'user-id-hub' end @props = {'vsys'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'configure user-id hub.', 'subtype'=>'object-name', 'prune-on'=>'single-vsys-mode'}, 'ip-user-mapping'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes'}, 'user-group-mapping'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes'}} # configure user-id hub. def vsys prop_get('vsys') end # configure user-id hub. def vsys=(val) prop_set('vsys', val) end def ip_user_mapping prop_get('ip-user-mapping') end def ip_user_mapping=(val) prop_set('ip-user-mapping', val) end def user_group_mapping prop_get('user-group-mapping') end def user_group_mapping=(val) prop_set('user-group-mapping', val) end end def user_id_hub @subclasses['user-id-hub'] ||= UserIdHub.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def shared @subclasses['shared'] ||= Shared.new(parent_instance: self, client: @client, create_children: @create_children) end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Deviceconfig < ConfigClass def has_multiple_values?; false; end def _section :deviceconfig end class System < ConfigClass def has_multiple_values?; false; end def _section :system end class Type < ConfigClass def has_multiple_values?; false; end def _section :type end class Static < ConfigClass def has_multiple_values?; false; end def _section :static end @props = {} end def static @subclasses['static'] ||= Static.new(parent_instance: self, client: @client, create_children: @create_children) end class DhcpClient < ConfigClass def has_multiple_values?; false; end def _section :'dhcp-client' end @props = {'send-hostname'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes'}, 'send-client-id'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no'}, 'accept-dhcp-hostname'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no'}, 'accept-dhcp-domain'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no'}} def send_hostname prop_get('send-hostname') end def send_hostname=(val) prop_set('send-hostname', val) end def send_client_id prop_get('send-client-id') end def send_client_id=(val) prop_set('send-client-id', val) end def accept_dhcp_hostname prop_get('accept-dhcp-hostname') end def accept_dhcp_hostname=(val) prop_set('accept-dhcp-hostname', val) end def accept_dhcp_domain prop_get('accept-dhcp-domain') end def accept_dhcp_domain=(val) prop_set('accept-dhcp-domain', val) end end def dhcp_client @subclasses['dhcp-client'] ||= DhcpClient.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type @subclasses['type'] ||= Type.new(parent_instance: self, client: @client, create_children: @create_children) end class Aux1 < ConfigClass def has_multiple_values?; false; end def _section :'aux-1' end class Service < ConfigClass def has_multiple_values?; false; end def _section :service end @props = {'disable-http'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'disable-https'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'disable-telnet'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'disable-ssh'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'disable-icmp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'disable-snmp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'disable-userid-service'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'disable-userid-syslog-listener-ssl'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'disable-userid-syslog-listener-udp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'prune-on'=>'fips-mode'}, 'disable-http-ocsp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}} def disable_http prop_get('disable-http') end def disable_http=(val) prop_set('disable-http', val) end def disable_https prop_get('disable-https') end def disable_https=(val) prop_set('disable-https', val) end def disable_telnet prop_get('disable-telnet') end def disable_telnet=(val) prop_set('disable-telnet', val) end def disable_ssh prop_get('disable-ssh') end def disable_ssh=(val) prop_set('disable-ssh', val) end def disable_icmp prop_get('disable-icmp') end def disable_icmp=(val) prop_set('disable-icmp', val) end def disable_snmp prop_get('disable-snmp') end def disable_snmp=(val) prop_set('disable-snmp', val) end def disable_userid_service prop_get('disable-userid-service') end def disable_userid_service=(val) prop_set('disable-userid-service', val) end def disable_userid_syslog_listener_ssl prop_get('disable-userid-syslog-listener-ssl') end def disable_userid_syslog_listener_ssl=(val) prop_set('disable-userid-syslog-listener-ssl', val) end def disable_userid_syslog_listener_udp prop_get('disable-userid-syslog-listener-udp') end def disable_userid_syslog_listener_udp=(val) prop_set('disable-userid-syslog-listener-udp', val) end def disable_http_ocsp prop_get('disable-http-ocsp') end def disable_http_ocsp=(val) prop_set('disable-http-ocsp', val) end end def service @subclasses['service'] ||= Service.new(parent_instance: self, client: @client, create_children: @create_children) end class PermittedIp < XML::ConfigClass def has_multiple_values?; true; end def _section :'permitted-ip' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'ip address/prefix/Variable Object', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}}}} # ip address/prefix/Variable Object def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def permitted_ip maybe_register_subclass('permitted-ip', PermittedIp.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'speed-duplex'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'auto-negotiate', 'help-string'=>'Speed and duplex for the management interface', 'enum'=>[{'value'=>'auto-negotiate'}]}, 'ip-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'IP address for the management interface', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'netmask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'subtype'=>'var-ip-address', 'help-string'=>'IP netmask for the management interface'}, 'default-gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Default gateway', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'ipv6-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'IPv6 address for the management interface', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}}}, 'ipv6-default-gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'IPv6 Default gateway', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'mtu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'576', 'max'=>'1500', 'default'=>'1500', 'help-string'=>'Maximum Transmission Unit for the management interface'}} # Speed and duplex for the management interface def speed_duplex prop_get('speed-duplex') end # Speed and duplex for the management interface def speed_duplex=(val) prop_set('speed-duplex', val) end # IP address for the management interface def ip_address prop_get('ip-address') end # IP address for the management interface def ip_address=(val) prop_set('ip-address', val) end # IP netmask for the management interface def netmask prop_get('netmask') end # IP netmask for the management interface def netmask=(val) prop_set('netmask', val) end # Default gateway def default_gateway prop_get('default-gateway') end # Default gateway def default_gateway=(val) prop_set('default-gateway', val) end # IPv6 address for the management interface def ipv6_address prop_get('ipv6-address') end # IPv6 address for the management interface def ipv6_address=(val) prop_set('ipv6-address', val) end # IPv6 Default gateway def ipv6_default_gateway prop_get('ipv6-default-gateway') end # IPv6 Default gateway def ipv6_default_gateway=(val) prop_set('ipv6-default-gateway', val) end # Maximum Transmission Unit for the management interface def mtu prop_get('mtu') end # Maximum Transmission Unit for the management interface def mtu=(val) prop_set('mtu', val) end end def aux_1 @subclasses['aux-1'] ||= Aux1.new(parent_instance: self, client: @client, create_children: @create_children) end class Aux2 < ConfigClass def has_multiple_values?; false; end def _section :'aux-2' end class Service < ConfigClass def has_multiple_values?; false; end def _section :service end @props = {'disable-http'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'disable-https'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'disable-telnet'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'disable-ssh'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'disable-icmp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'disable-snmp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'disable-userid-service'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'disable-userid-syslog-listener-ssl'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'disable-userid-syslog-listener-udp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'prune-on'=>'fips-mode'}, 'disable-http-ocsp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}} def disable_http prop_get('disable-http') end def disable_http=(val) prop_set('disable-http', val) end def disable_https prop_get('disable-https') end def disable_https=(val) prop_set('disable-https', val) end def disable_telnet prop_get('disable-telnet') end def disable_telnet=(val) prop_set('disable-telnet', val) end def disable_ssh prop_get('disable-ssh') end def disable_ssh=(val) prop_set('disable-ssh', val) end def disable_icmp prop_get('disable-icmp') end def disable_icmp=(val) prop_set('disable-icmp', val) end def disable_snmp prop_get('disable-snmp') end def disable_snmp=(val) prop_set('disable-snmp', val) end def disable_userid_service prop_get('disable-userid-service') end def disable_userid_service=(val) prop_set('disable-userid-service', val) end def disable_userid_syslog_listener_ssl prop_get('disable-userid-syslog-listener-ssl') end def disable_userid_syslog_listener_ssl=(val) prop_set('disable-userid-syslog-listener-ssl', val) end def disable_userid_syslog_listener_udp prop_get('disable-userid-syslog-listener-udp') end def disable_userid_syslog_listener_udp=(val) prop_set('disable-userid-syslog-listener-udp', val) end def disable_http_ocsp prop_get('disable-http-ocsp') end def disable_http_ocsp=(val) prop_set('disable-http-ocsp', val) end end def service @subclasses['service'] ||= Service.new(parent_instance: self, client: @client, create_children: @create_children) end class PermittedIp < XML::ConfigClass def has_multiple_values?; true; end def _section :'permitted-ip' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'ip address/prefix/Variable Object', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}}}} # ip address/prefix/Variable Object def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def permitted_ip maybe_register_subclass('permitted-ip', PermittedIp.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'speed-duplex'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'auto-negotiate', 'help-string'=>'Speed and duplex for the management interface', 'enum'=>[{'value'=>'auto-negotiate'}]}, 'ip-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'IP address for the management interface', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'netmask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'subtype'=>'var-ip-address', 'help-string'=>'IP netmask for the management interface'}, 'default-gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Default gateway', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'ipv6-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'IPv6 address for the management interface', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}}}, 'ipv6-default-gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'IPv6 Default gateway', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'mtu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'576', 'max'=>'1500', 'default'=>'1500', 'help-string'=>'Maximum Transmission Unit for the management interface'}} # Speed and duplex for the management interface def speed_duplex prop_get('speed-duplex') end # Speed and duplex for the management interface def speed_duplex=(val) prop_set('speed-duplex', val) end # IP address for the management interface def ip_address prop_get('ip-address') end # IP address for the management interface def ip_address=(val) prop_set('ip-address', val) end # IP netmask for the management interface def netmask prop_get('netmask') end # IP netmask for the management interface def netmask=(val) prop_set('netmask', val) end # Default gateway def default_gateway prop_get('default-gateway') end # Default gateway def default_gateway=(val) prop_set('default-gateway', val) end # IPv6 address for the management interface def ipv6_address prop_get('ipv6-address') end # IPv6 address for the management interface def ipv6_address=(val) prop_set('ipv6-address', val) end # IPv6 Default gateway def ipv6_default_gateway prop_get('ipv6-default-gateway') end # IPv6 Default gateway def ipv6_default_gateway=(val) prop_set('ipv6-default-gateway', val) end # Maximum Transmission Unit for the management interface def mtu prop_get('mtu') end # Maximum Transmission Unit for the management interface def mtu=(val) prop_set('mtu', val) end end def aux_2 @subclasses['aux-2'] ||= Aux2.new(parent_instance: self, client: @client, create_children: @create_children) end class LogInterface < ConfigClass def has_multiple_values?; false; end def _section :'log-interface' end @props = {'ip-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'IP address for the log interface', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'netmask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'subtype'=>'ip-address', 'help-string'=>'IP netmask for the log interface'}, 'default-gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'log interface default gateway', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'ipv6-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'ipv6-only'=>'yes', 'help-string'=>'IPv6 address for the log interface', 'multi-types'=>{'ipspec'=>{'unicast-with-mask'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'ipv6-default-gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'log interface IPv6 default gateway', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'link-speed'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'auto', 'help-string'=>'Interface link speed', 'enum'=>[{'value'=>'auto', 'help-string'=>'Auto negotiation'}]}, 'link-duplex'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'auto', 'help-string'=>'Interface link duplex', 'enum'=>[{'value'=>'auto', 'help-string'=>'Auto negotiation'}]}, 'link-state'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'auto', 'help-string'=>'Interface link state', 'enum'=>[{'value'=>'auto', 'help-string'=>'Auto detect'}, {'value'=>'up', 'help-string'=>'Force to up'}, {'value'=>'down', 'help-string'=>'Force to down'}]}} # IP address for the log interface def ip_address prop_get('ip-address') end # IP address for the log interface def ip_address=(val) prop_set('ip-address', val) end # IP netmask for the log interface def netmask prop_get('netmask') end # IP netmask for the log interface def netmask=(val) prop_set('netmask', val) end # log interface default gateway def default_gateway prop_get('default-gateway') end # log interface default gateway def default_gateway=(val) prop_set('default-gateway', val) end # IPv6 address for the log interface def ipv6_address prop_get('ipv6-address') end # IPv6 address for the log interface def ipv6_address=(val) prop_set('ipv6-address', val) end # log interface IPv6 default gateway def ipv6_default_gateway prop_get('ipv6-default-gateway') end # log interface IPv6 default gateway def ipv6_default_gateway=(val) prop_set('ipv6-default-gateway', val) end # Interface link speed def link_speed prop_get('link-speed') end # Interface link speed def link_speed=(val) prop_set('link-speed', val) end # Interface link duplex def link_duplex prop_get('link-duplex') end # Interface link duplex def link_duplex=(val) prop_set('link-duplex', val) end # Interface link state def link_state prop_get('link-state') end # Interface link state def link_state=(val) prop_set('link-state', val) end end def log_interface @subclasses['log-interface'] ||= LogInterface.new(parent_instance: self, client: @client, create_children: @create_children) end class DnsSetting < ConfigClass def has_multiple_values?; false; end def _section :'dns-setting' end class Servers < ConfigClass def has_multiple_values?; false; end def _section :servers end @props = {'primary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Primary DNS server IP address or Variable object', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'secondary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Secondary DNS server IP address or Variable object', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # Primary DNS server IP address or Variable object def primary prop_get('primary') end # Primary DNS server IP address or Variable object def primary=(val) prop_set('primary', val) end # Secondary DNS server IP address or Variable object def secondary prop_get('secondary') end # Secondary DNS server IP address or Variable object def secondary=(val) prop_set('secondary', val) end end def servers @subclasses['servers'] ||= Servers.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'dns-proxy-object'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Dns proxy object to use for resolving fqdns'}} # Dns proxy object to use for resolving fqdns def dns_proxy_object prop_get('dns-proxy-object') end # Dns proxy object to use for resolving fqdns def dns_proxy_object=(val) prop_set('dns-proxy-object', val) end end def dns_setting @subclasses['dns-setting'] ||= DnsSetting.new(parent_instance: self, client: @client, create_children: @create_children) end class Panorama < ConfigClass def has_multiple_values?; false; end def _section :panorama end class CloudService < ConfigClass def has_multiple_values?; false; end def _section :'cloud-service' end @props = {} end def cloud_service @subclasses['cloud-service'] ||= CloudService.new(parent_instance: self, client: @client, create_children: @create_children) end class LocalPanorama < ConfigClass def has_multiple_values?; false; end def _section :'local-panorama' end @props = {'panorama-server'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^([$0-9a-zA-Z:./_-])+$', 'maxlen'=>'63', 'help-string'=>'Panorama server (IP address or FQDN or Variable object)'}, 'panorama-server-2'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^([$0-9a-zA-Z:./_-])+$', 'maxlen'=>'63', 'help-string'=>'Panorama server 2 (IP address or FQDN or Variable object)'}} # Panorama server (IP address or FQDN or Variable object) def panorama_server prop_get('panorama-server') end # Panorama server (IP address or FQDN or Variable object) def panorama_server=(val) prop_set('panorama-server', val) end # Panorama server 2 (IP address or FQDN or Variable object) def panorama_server_2 prop_get('panorama-server-2') end # Panorama server 2 (IP address or FQDN or Variable object) def panorama_server_2=(val) prop_set('panorama-server-2', val) end end def local_panorama @subclasses['local-panorama'] ||= LocalPanorama.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def panorama @subclasses['panorama'] ||= Panorama.new(parent_instance: self, client: @client, create_children: @create_children) end class NtpServers < ConfigClass def has_multiple_values?; false; end def _section :'ntp-servers' end class PrimaryNtpServer < ConfigClass def has_multiple_values?; false; end def _section :'primary-ntp-server' end class AuthenticationType < XML::ConfigClass def has_multiple_values?; true; end def _section :'authentication-type' end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end class SymmetricKey < ConfigClass def has_multiple_values?; false; end def _section :'symmetric-key' end class Algorithm < XML::ConfigClass def has_multiple_values?; true; end def _section :algorithm end class Md5 < ConfigClass def has_multiple_values?; false; end def _section :md5 end @props = {'authentication-key'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([!-~])+$', 'minlen'=>'6', 'maxlen'=>'32', 'help-string'=>'Symmetric Key MD5 String', 'encrypt'=>'yes'}} # Symmetric Key MD5 String def authentication_key prop_get('authentication-key') end # Symmetric Key MD5 String def authentication_key=(val) prop_set('authentication-key', val) end end def md5 @subclasses['md5'] ||= Md5.new(parent_instance: self, client: @client, create_children: @create_children) end class Sha1 < ConfigClass def has_multiple_values?; false; end def _section :sha1 end @props = {'authentication-key'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([0-9A-Fa-f])+$', 'minlen'=>'40', 'maxlen'=>'40', 'help-string'=>'Symmetric Key SHA1 Hexadecimal', 'encrypt'=>'yes', 'error-string'=>'Error: SHA1 authentication-key should be 40 hexadecimal characters'}} # Symmetric Key SHA1 Hexadecimal def authentication_key prop_get('authentication-key') end # Symmetric Key SHA1 Hexadecimal def authentication_key=(val) prop_set('authentication-key', val) end end def sha1 @subclasses['sha1'] ||= Sha1.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def algorithm maybe_register_subclass('algorithm', Algorithm.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'key-id'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65534', 'help-string'=>'Symmetric Key Number'}} # Symmetric Key Number def key_id prop_get('key-id') end # Symmetric Key Number def key_id=(val) prop_set('key-id', val) end end def symmetric_key @subclasses['symmetric-key'] ||= SymmetricKey.new(parent_instance: self, client: @client, create_children: @create_children) end class Autokey < ConfigClass def has_multiple_values?; false; end def _section :autokey end @props = {} end def autokey @subclasses['autokey'] ||= Autokey.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def authentication_type maybe_register_subclass('authentication-type', AuthenticationType.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'ntp-server-address'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([$0-9a-zA-Z:./_-])+$', 'maxlen'=>'63', 'help-string'=>'NTP Server IP Address or Domain Name'}} # NTP Server IP Address or Domain Name def ntp_server_address prop_get('ntp-server-address') end # NTP Server IP Address or Domain Name def ntp_server_address=(val) prop_set('ntp-server-address', val) end end def primary_ntp_server @subclasses['primary-ntp-server'] ||= PrimaryNtpServer.new(parent_instance: self, client: @client, create_children: @create_children) end class SecondaryNtpServer < ConfigClass def has_multiple_values?; false; end def _section :'secondary-ntp-server' end class AuthenticationType < XML::ConfigClass def has_multiple_values?; true; end def _section :'authentication-type' end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end class SymmetricKey < ConfigClass def has_multiple_values?; false; end def _section :'symmetric-key' end class Algorithm < XML::ConfigClass def has_multiple_values?; true; end def _section :algorithm end class Md5 < ConfigClass def has_multiple_values?; false; end def _section :md5 end @props = {'authentication-key'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([!-~])+$', 'minlen'=>'6', 'maxlen'=>'32', 'help-string'=>'Symmetric Key MD5 String', 'encrypt'=>'yes'}} # Symmetric Key MD5 String def authentication_key prop_get('authentication-key') end # Symmetric Key MD5 String def authentication_key=(val) prop_set('authentication-key', val) end end def md5 @subclasses['md5'] ||= Md5.new(parent_instance: self, client: @client, create_children: @create_children) end class Sha1 < ConfigClass def has_multiple_values?; false; end def _section :sha1 end @props = {'authentication-key'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([0-9A-Fa-f])+$', 'minlen'=>'40', 'maxlen'=>'40', 'help-string'=>'Symmetric Key SHA1 Hexadecimal', 'encrypt'=>'yes', 'error-string'=>'Error: SHA1 authentication-key should be 40 hexadecimal characters'}} # Symmetric Key SHA1 Hexadecimal def authentication_key prop_get('authentication-key') end # Symmetric Key SHA1 Hexadecimal def authentication_key=(val) prop_set('authentication-key', val) end end def sha1 @subclasses['sha1'] ||= Sha1.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def algorithm maybe_register_subclass('algorithm', Algorithm.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'key-id'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65534', 'help-string'=>'Symmetric Key Number'}} # Symmetric Key Number def key_id prop_get('key-id') end # Symmetric Key Number def key_id=(val) prop_set('key-id', val) end end def symmetric_key @subclasses['symmetric-key'] ||= SymmetricKey.new(parent_instance: self, client: @client, create_children: @create_children) end class Autokey < ConfigClass def has_multiple_values?; false; end def _section :autokey end @props = {} end def autokey @subclasses['autokey'] ||= Autokey.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def authentication_type maybe_register_subclass('authentication-type', AuthenticationType.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'ntp-server-address'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([$0-9a-zA-Z:./_-])+$', 'maxlen'=>'63', 'help-string'=>'NTP Server IP Address or Domain Name'}} # NTP Server IP Address or Domain Name def ntp_server_address prop_get('ntp-server-address') end # NTP Server IP Address or Domain Name def ntp_server_address=(val) prop_set('ntp-server-address', val) end end def secondary_ntp_server @subclasses['secondary-ntp-server'] ||= SecondaryNtpServer.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ntp_servers @subclasses['ntp-servers'] ||= NtpServers.new(parent_instance: self, client: @client, create_children: @create_children) end class HsmSettings < ConfigClass def has_multiple_values?; false; end def _section :'hsm-settings' end class Provider < ConfigClass def has_multiple_values?; false; end def _section :provider end class SafenetNetwork < ConfigClass def has_multiple_values?; false; end def _section :'safenet-network' end class HsmServer < XML::ConfigClass def has_multiple_values?; true; end def _section :'hsm-server' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'31', 'help-string'=>'hsm server name'}, 'server-address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'HSM server IP address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # hsm server name def name prop_get('@name') end # HSM server IP address def server_address prop_get('server-address') end # HSM server IP address def server_address=(val) prop_set('server-address', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def hsm_server maybe_register_subclass('hsm-server', HsmServer.new(parent_instance: self, client: @client, create_children: @create_children)) end class Ha < ConfigClass def has_multiple_values?; false; end def _section :ha end @props = {'auto-recovery-retry'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'500', 'default'=>'0', 'help-string'=>'The number of times HSM HA function will attempt to automatically recover a member that has failed to synchronize or has dropped from the HA group. Setting to a value of zero switches the feature off.'}, 'ha-group-name'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'31', 'help-string'=>'HA group name'}} # The number of times HSM HA function will attempt to automatically recover a member that has failed to synchronize or has dropped from the HA group. Setting to a value of zero switches the feature off. def auto_recovery_retry prop_get('auto-recovery-retry') end # The number of times HSM HA function will attempt to automatically recover a member that has failed to synchronize or has dropped from the HA group. Setting to a value of zero switches the feature off. def auto_recovery_retry=(val) prop_set('auto-recovery-retry', val) end # HA group name def ha_group_name prop_get('ha-group-name') end # HA group name def ha_group_name=(val) prop_set('ha-group-name', val) end end def ha @subclasses['ha'] ||= Ha.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def safenet_network @subclasses['safenet-network'] ||= SafenetNetwork.new(parent_instance: self, client: @client, create_children: @create_children) end class NcipherNshieldConnect < ConfigClass def has_multiple_values?; false; end def _section :'ncipher-nshield-connect' end class HsmServer < XML::ConfigClass def has_multiple_values?; true; end def _section :'hsm-server' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'31', 'help-string'=>'hsm server name'}, 'server-address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'HSM server IP address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # hsm server name def name prop_get('@name') end # HSM server IP address def server_address prop_get('server-address') end # HSM server IP address def server_address=(val) prop_set('server-address', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def hsm_server maybe_register_subclass('hsm-server', HsmServer.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'rfs-address'=>{'node-type'=>'element', 'type'=>'ipspec', 'unicast-only'=>'yes', 'help-string'=>'IP address of remote file system server'}} # IP address of remote file system server def rfs_address prop_get('rfs-address') end # IP address of remote file system server def rfs_address=(val) prop_set('rfs-address', val) end end def ncipher_nshield_connect @subclasses['ncipher-nshield-connect'] ||= NcipherNshieldConnect.new(parent_instance: self, client: @client, create_children: @create_children) end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def provider @subclasses['provider'] ||= Provider.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def hsm_settings @subclasses['hsm-settings'] ||= HsmSettings.new(parent_instance: self, client: @client, create_children: @create_children) end class Ssh < ConfigClass def has_multiple_values?; false; end def _section :ssh end class Profiles < ConfigClass def has_multiple_values?; false; end def _section :profiles end class HaProfiles < XML::ConfigClass def has_multiple_values?; true; end def _section :'ha-profiles' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Ciphers < XML::ConfigClass def has_multiple_values?; true; end def _section :ciphers end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'aes128-cbc', 'enum'=>[{'value'=>'aes128-cbc', 'optional'=>'yes', 'help-string'=>'AES 128 bit cipher with Cipher Block Chaining'}, {'value'=>'aes192-cbc', 'optional'=>'yes', 'help-string'=>'AES 192 bit cipher with Cipher Block Chaining'}, {'value'=>'aes256-cbc', 'optional'=>'yes', 'help-string'=>'AES 256 bit cipher with Cipher Block Chaining'}, {'value'=>'aes128-ctr', 'optional'=>'yes', 'help-string'=>'AES 128 bit cipher with Counter Mode'}, {'value'=>'aes192-ctr', 'optional'=>'yes', 'help-string'=>'AES 192 bit cipher with Counter Mode'}, {'value'=>'aes256-ctr', 'optional'=>'yes', 'help-string'=>'AES 256 bit cipher with Counter Mode'}, {'value'=>'aes128-gcm', 'optional'=>'yes', 'help-string'=>'AES 128 bit cipher with GCM'}, {'value'=>'aes256-gcm', 'optional'=>'yes', 'help-string'=>'AES 256 bit cipher with GCM'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def ciphers maybe_register_subclass('ciphers', Ciphers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Mac < XML::ConfigClass def has_multiple_values?; true; end def _section :mac end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'hmac-sha2-256', 'enum'=>[{'value'=>'hmac-sha1', 'optional'=>'yes', 'help-string'=>'MAC with SHA1 cryptographic hash'}, {'value'=>'hmac-sha2-256', 'optional'=>'yes', 'help-string'=>'MAC with SHA2-256 cryptographic hash'}, {'value'=>'hmac-sha2-512', 'optional'=>'yes', 'help-string'=>'MAC with SHA2-512 cryptographic hash'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def mac maybe_register_subclass('mac', Mac.new(parent_instance: self, client: @client, create_children: @create_children)) end class Kex < XML::ConfigClass def has_multiple_values?; true; end def _section :kex end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'diffie-hellman-group14-sha1', 'enum'=>[{'value'=>'diffie-hellman-group14-sha1', 'help-string'=>'Diffie Hellman group 14 with SHA1 hash'}, {'value'=>'ecdh-sha2-nistp256', 'help-string'=>'Elliptic Curve Diffie Hellman over NIST P-256 with SHA2-256 hash'}, {'value'=>'ecdh-sha2-nistp384', 'help-string'=>'Elliptic Curve Diffie Hellman over NIST P-384 with SHA2-384 hash'}, {'value'=>'ecdh-sha2-nistp521', 'help-string'=>'Elliptic Curve Diffie Hellman over NIST P-521 with SHA2-521 hash'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def kex maybe_register_subclass('kex', Kex.new(parent_instance: self, client: @client, create_children: @create_children)) end class DefaultHostkey < ConfigClass def has_multiple_values?; false; end def _section :'default-hostkey' end class KeyType < XML::ConfigClass def has_multiple_values?; true; end def _section :'key-type' end @props = {'ECDSA'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'256', 'help-string'=>'ECDSA key', 'enum'=>[{'value'=>'256', 'help-string'=>'ECDSA key of length 256'}, {'value'=>'384', 'help-string'=>'ECDSA key of length 384'}, {'value'=>'521', 'help-string'=>'ECDSA key of length 521'}]}, 'RSA'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'2048', 'help-string'=>'RSA key', 'enum'=>[{'value'=>'2048', 'help-string'=>'RSA key of length 2048'}, {'value'=>'3072', 'help-string'=>'RSA key of length 3072'}, {'value'=>'4096', 'help-string'=>'RSA key of length 4096'}]}} # ECDSA key def ECDSA prop_get('ECDSA') end # ECDSA key def ECDSA=(val) prop_set('ECDSA', val) end # RSA key def RSA prop_get('RSA') end # RSA key def RSA=(val) prop_set('RSA', val) end end def key_type maybe_register_subclass('key-type', KeyType.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def default_hostkey @subclasses['default-hostkey'] ||= DefaultHostkey.new(parent_instance: self, client: @client, create_children: @create_children) end class SessionRekey < ConfigClass def has_multiple_values?; false; end def _section :'session-rekey' end @props = {'data'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'default', 'help-string'=>'Set the data to be transmitted between each ssh rekeying', 'multi-types'=>{'rangedint'=>{'min'=>'10', 'max'=>'4000', 'help-string'=>'Maximum data in Megabytes to be transmitted between each rekeying'}, 'enum'=>[{'value'=>'default', 'help-string'=>'Set the default to cipher based rekeying, which is between 1GB to 4GB'}]}}, 'interval'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'default', 'help-string'=>'Set the time interval between each ssh rekeying', 'multi-types'=>{'rangedint'=>{'min'=>'10', 'max'=>'3600', 'help-string'=>'Maximum time interval in seconds between each rekeying'}, 'enum'=>[{'value'=>'default', 'help-string'=>'Set the default to no time based rekeying'}]}}, 'packets'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'default', 'help-string'=>'Set the number of packets to be transmitted between each ssh rekeying', 'multi-types'=>{'rangedint'=>{'min'=>'12', 'max'=>'27', 'help-string'=>'Maximum number of packets (2^n) to be transmitted between rekeying'}, 'enum'=>[{'value'=>'default', 'help-string'=>'Set the default number of packets (2^28)'}]}}} # Set the data to be transmitted between each ssh rekeying def data prop_get('data') end # Set the data to be transmitted between each ssh rekeying def data=(val) prop_set('data', val) end # Set the time interval between each ssh rekeying def interval prop_get('interval') end # Set the time interval between each ssh rekeying def interval=(val) prop_set('interval', val) end # Set the number of packets to be transmitted between each ssh rekeying def packets prop_get('packets') end # Set the number of packets to be transmitted between each ssh rekeying def packets=(val) prop_set('packets', val) end end def session_rekey @subclasses['session-rekey'] ||= SessionRekey.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string begin with letter: [0-9a-zA-Z._-]', 'regex'=>'^[a-zA-Z]{1}[0-9a-zA-Z._-]*$'}} # alphanumeric string begin with letter: [0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ha_profiles maybe_register_subclass('ha-profiles', HaProfiles.new(parent_instance: self, client: @client, create_children: @create_children)) end class MgmtProfiles < ConfigClass def has_multiple_values?; false; end def _section :'mgmt-profiles' end class ServerProfiles < XML::ConfigClass def has_multiple_values?; true; end def _section :'server-profiles' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Ciphers < XML::ConfigClass def has_multiple_values?; true; end def _section :ciphers end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'aes-128-cbc', 'enum'=>[{'value'=>'aes128-cbc', 'optional'=>'yes', 'help-string'=>'AES 128 bit cipher with Cipher Block Chaining'}, {'value'=>'aes192-cbc', 'optional'=>'yes', 'help-string'=>'AES 192 bit cipher with Cipher Block Chaining'}, {'value'=>'aes256-cbc', 'optional'=>'yes', 'help-string'=>'AES 256 bit cipher with Cipher Block Chaining'}, {'value'=>'aes128-ctr', 'optional'=>'yes', 'help-string'=>'AES 128 bit cipher with Counter Mode'}, {'value'=>'aes192-ctr', 'optional'=>'yes', 'help-string'=>'AES 192 bit cipher with Counter Mode'}, {'value'=>'aes256-ctr', 'optional'=>'yes', 'help-string'=>'AES 256 bit cipher with Counter Mode'}, {'value'=>'aes128-gcm', 'optional'=>'yes', 'help-string'=>'AES 128 bit cipher with GCM'}, {'value'=>'aes256-gcm', 'optional'=>'yes', 'help-string'=>'AES 256 bit cipher with GCM'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def ciphers maybe_register_subclass('ciphers', Ciphers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Mac < XML::ConfigClass def has_multiple_values?; true; end def _section :mac end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'hmac-sha2-256', 'enum'=>[{'value'=>'hmac-sha1', 'optional'=>'yes', 'help-string'=>'MAC with SHA1 cryptographic hash'}, {'value'=>'hmac-sha2-256', 'optional'=>'yes', 'help-string'=>'MAC with SHA2-256 cryptographic hash'}, {'value'=>'hmac-sha2-512', 'optional'=>'yes', 'help-string'=>'MAC with SHA2-512 cryptographic hash'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def mac maybe_register_subclass('mac', Mac.new(parent_instance: self, client: @client, create_children: @create_children)) end class Kex < XML::ConfigClass def has_multiple_values?; true; end def _section :kex end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'diffie-hellman-group14-sha1', 'enum'=>[{'value'=>'diffie-hellman-group14-sha1', 'help-string'=>'Diffie Hellman group 14 with SHA1 hash'}, {'value'=>'ecdh-sha2-nistp256', 'help-string'=>'Elliptic Curve Diffie Hellman over NIST P-256 with SHA2-256 hash'}, {'value'=>'ecdh-sha2-nistp384', 'help-string'=>'Elliptic Curve Diffie Hellman over NIST P-384 with SHA2-384 hash'}, {'value'=>'ecdh-sha2-nistp521', 'help-string'=>'Elliptic Curve Diffie Hellman over NIST P-521 with SHA2-521 hash'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def kex maybe_register_subclass('kex', Kex.new(parent_instance: self, client: @client, create_children: @create_children)) end class DefaultHostkey < ConfigClass def has_multiple_values?; false; end def _section :'default-hostkey' end class KeyType < XML::ConfigClass def has_multiple_values?; true; end def _section :'key-type' end class All < ConfigClass def has_multiple_values?; false; end def _section :all end @props = {} end def all @subclasses['all'] ||= All.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'ECDSA'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'256', 'help-string'=>'ECDSA key', 'enum'=>[{'value'=>'256', 'help-string'=>'ECDSA key of length 256'}, {'value'=>'384', 'help-string'=>'ECDSA key of length 384'}, {'value'=>'521', 'help-string'=>'ECDSA key of length 521'}]}, 'RSA'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'2048', 'help-string'=>'RSA key', 'enum'=>[{'value'=>'2048', 'help-string'=>'RSA key of length 2048'}, {'value'=>'3072', 'help-string'=>'RSA key of length 3072'}, {'value'=>'4096', 'help-string'=>'RSA key of length 4096'}]}} # ECDSA key def ECDSA prop_get('ECDSA') end # ECDSA key def ECDSA=(val) prop_set('ECDSA', val) end # RSA key def RSA prop_get('RSA') end # RSA key def RSA=(val) prop_set('RSA', val) end end def key_type maybe_register_subclass('key-type', KeyType.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def default_hostkey @subclasses['default-hostkey'] ||= DefaultHostkey.new(parent_instance: self, client: @client, create_children: @create_children) end class SessionRekey < ConfigClass def has_multiple_values?; false; end def _section :'session-rekey' end @props = {'data'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'default', 'help-string'=>'Set the data to be transmitted between each ssh rekeying', 'multi-types'=>{'rangedint'=>{'min'=>'10', 'max'=>'4000', 'help-string'=>'Maximum data in Megabytes to be transmitted between each rekeying'}, 'enum'=>[{'value'=>'default', 'help-string'=>'Set the default to cipher based rekeying, which is between 1GB to 4GB'}]}}, 'interval'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'default', 'help-string'=>'Set the time interval between each ssh rekeying', 'multi-types'=>{'rangedint'=>{'min'=>'10', 'max'=>'3600', 'help-string'=>'Maximum time interval in seconds between each rekeying'}, 'enum'=>[{'value'=>'default', 'help-string'=>'Set the default to no time based rekeying'}]}}, 'packets'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'default', 'help-string'=>'Set the number of packets to be transmitted between each ssh rekeying', 'multi-types'=>{'rangedint'=>{'min'=>'12', 'max'=>'27', 'help-string'=>'Maximum number of packets (2^n) to be transmitted between rekeying'}, 'enum'=>[{'value'=>'default', 'help-string'=>'Set the default number of packets (2^28)'}]}}} # Set the data to be transmitted between each ssh rekeying def data prop_get('data') end # Set the data to be transmitted between each ssh rekeying def data=(val) prop_set('data', val) end # Set the time interval between each ssh rekeying def interval prop_get('interval') end # Set the time interval between each ssh rekeying def interval=(val) prop_set('interval', val) end # Set the number of packets to be transmitted between each ssh rekeying def packets prop_get('packets') end # Set the number of packets to be transmitted between each ssh rekeying def packets=(val) prop_set('packets', val) end end def session_rekey @subclasses['session-rekey'] ||= SessionRekey.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string begin with letter: [0-9a-zA-Z._-]', 'regex'=>'^[a-zA-Z]{1}[0-9a-zA-Z._-]*$'}} # alphanumeric string begin with letter: [0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server_profiles maybe_register_subclass('server-profiles', ServerProfiles.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def mgmt_profiles @subclasses['mgmt-profiles'] ||= MgmtProfiles.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def profiles @subclasses['profiles'] ||= Profiles.new(parent_instance: self, client: @client, create_children: @create_children) end class Ha < ConfigClass def has_multiple_values?; false; end def _section :ha end @props = {'ha-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'HA profile to be used by HA SSH'}} # HA profile to be used by HA SSH def ha_profile prop_get('ha-profile') end # HA profile to be used by HA SSH def ha_profile=(val) prop_set('ha-profile', val) end end def ha @subclasses['ha'] ||= Ha.new(parent_instance: self, client: @client, create_children: @create_children) end class Mgmt < ConfigClass def has_multiple_values?; false; end def _section :mgmt end @props = {'server-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'Mgmt profile to be used by Mgmt SSH Server'}} # Mgmt profile to be used by Mgmt SSH Server def server_profile prop_get('server-profile') end # Mgmt profile to be used by Mgmt SSH Server def server_profile=(val) prop_set('server-profile', val) end end def mgmt @subclasses['mgmt'] ||= Mgmt.new(parent_instance: self, client: @client, create_children: @create_children) end class RegenerateHostkeys < ConfigClass def has_multiple_values?; false; end def _section :'regenerate-hostkeys' end class Ha < ConfigClass def has_multiple_values?; false; end def _section :ha end class KeyType < XML::ConfigClass def has_multiple_values?; true; end def _section :'key-type' end class ECDSA < ConfigClass def has_multiple_values?; false; end def _section :ECDSA end @props = {'key-length'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'256', 'help-string'=>'Length of SSH key', 'enum'=>[{'value'=>'256', 'help-string'=>'ECDSA key of length 256'}, {'value'=>'384', 'help-string'=>'ECDSA key of length 384'}, {'value'=>'521', 'help-string'=>'ECDSA key of length 521'}]}} # Length of SSH key def key_length prop_get('key-length') end # Length of SSH key def key_length=(val) prop_set('key-length', val) end end def ECDSA @subclasses['ECDSA'] ||= ECDSA.new(parent_instance: self, client: @client, create_children: @create_children) end class RSA < ConfigClass def has_multiple_values?; false; end def _section :RSA end @props = {'key-length'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'2048', 'help-string'=>'Length of SSH key', 'enum'=>[{'value'=>'2048', 'help-string'=>'RSA key of length 2048'}, {'value'=>'3072', 'help-string'=>'RSA key of length 3072'}, {'value'=>'4096', 'help-string'=>'RSA key of length 4096'}]}} # Length of SSH key def key_length prop_get('key-length') end # Length of SSH key def key_length=(val) prop_set('key-length', val) end end def RSA @subclasses['RSA'] ||= RSA.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def key_type maybe_register_subclass('key-type', KeyType.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def ha @subclasses['ha'] ||= Ha.new(parent_instance: self, client: @client, create_children: @create_children) end class Mgmt < ConfigClass def has_multiple_values?; false; end def _section :mgmt end class KeyType < XML::ConfigClass def has_multiple_values?; true; end def _section :'key-type' end class ECDSA < ConfigClass def has_multiple_values?; false; end def _section :ECDSA end @props = {'key-length'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'256', 'help-string'=>'Length of SSH key', 'enum'=>[{'value'=>'256', 'help-string'=>'ECDSA key of length 256'}, {'value'=>'384', 'help-string'=>'ECDSA key of length 384'}, {'value'=>'521', 'help-string'=>'ECDSA key of length 521'}]}} # Length of SSH key def key_length prop_get('key-length') end # Length of SSH key def key_length=(val) prop_set('key-length', val) end end def ECDSA @subclasses['ECDSA'] ||= ECDSA.new(parent_instance: self, client: @client, create_children: @create_children) end class RSA < ConfigClass def has_multiple_values?; false; end def _section :RSA end @props = {'key-length'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'2048', 'help-string'=>'Length of SSH key', 'enum'=>[{'value'=>'2048', 'help-string'=>'RSA key of length 2048'}, {'value'=>'3072', 'help-string'=>'RSA key of length 3072'}, {'value'=>'4096', 'help-string'=>'RSA key of length 4096'}]}} # Length of SSH key def key_length prop_get('key-length') end # Length of SSH key def key_length=(val) prop_set('key-length', val) end end def RSA @subclasses['RSA'] ||= RSA.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def key_type maybe_register_subclass('key-type', KeyType.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def mgmt @subclasses['mgmt'] ||= Mgmt.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def regenerate_hostkeys @subclasses['regenerate-hostkeys'] ||= RegenerateHostkeys.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ssh @subclasses['ssh'] ||= Ssh.new(parent_instance: self, client: @client, create_children: @create_children) end class DeviceTelemetry < ConfigClass def has_multiple_values?; false; end def _section :'device-telemetry' end @props = {'product-usage'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'device-health-performance'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'threat-prevention'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'region'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'128', 'help-string'=>'region name to send telemetry data', 'complete-handler'=>'device-telemetry-region-completer'}} def product_usage prop_get('product-usage') end def product_usage=(val) prop_set('product-usage', val) end def device_health_performance prop_get('device-health-performance') end def device_health_performance=(val) prop_set('device-health-performance', val) end def threat_prevention prop_get('threat-prevention') end def threat_prevention=(val) prop_set('threat-prevention', val) end # region name to send telemetry data def region prop_get('region') end # region name to send telemetry data def region=(val) prop_set('region', val) end end def device_telemetry @subclasses['device-telemetry'] ||= DeviceTelemetry.new(parent_instance: self, client: @client, create_children: @create_children) end class SnmpSetting < ConfigClass def has_multiple_values?; false; end def _section :'snmp-setting' end class SnmpSystem < ConfigClass def has_multiple_values?; false; end def _section :'snmp-system' end @props = {'location'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'256', 'help-string'=>'System location'}, 'contact'=>{'node-type'=>'element', 'optional'=>'yes', 'maxlen'=>'256', 'type'=>'string', 'help-string'=>'Contact information'}, 'send-event-specific-traps'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Use Event-specific Trap Definitions'}} # System location def location prop_get('location') end # System location def location=(val) prop_set('location', val) end # Contact information def contact prop_get('contact') end # Contact information def contact=(val) prop_set('contact', val) end # Use Event-specific Trap Definitions def send_event_specific_traps prop_get('send-event-specific-traps') end # Use Event-specific Trap Definitions def send_event_specific_traps=(val) prop_set('send-event-specific-traps', val) end end def snmp_system @subclasses['snmp-system'] ||= SnmpSystem.new(parent_instance: self, client: @client, create_children: @create_children) end class AccessSetting < ConfigClass def has_multiple_values?; false; end def _section :'access-setting' end class Version < XML::ConfigClass def has_multiple_values?; true; end def _section :version end class V2c < ConfigClass def has_multiple_values?; false; end def _section :v2c end @props = {'snmp-community-string'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'default'=>'public', 'maxlen'=>'255', 'help-string'=>'SNMP Community String'}} # SNMP Community String def snmp_community_string prop_get('snmp-community-string') end # SNMP Community String def snmp_community_string=(val) prop_set('snmp-community-string', val) end end def v2c @subclasses['v2c'] ||= V2c.new(parent_instance: self, client: @client, create_children: @create_children) end class V3 < ConfigClass def has_multiple_values?; false; end def _section :v3 end class Views < XML::ConfigClass def has_multiple_values?; true; end def _section :views end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class View < XML::ConfigClass def has_multiple_values?; true; end def _section :view end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'regex'=>'^[a-zA-Z0-9_-]+$', 'help-string'=>'Oid subtree name'}, 'oid'=>{'node-type'=>'element', 'maxlen'=>'255', 'type'=>'string', 'regex'=>'^[0-9\.]+$', 'help-string'=>'Oid of a mib node'}, 'option'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'include'}, {'value'=>'exclude'}]}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'maxlen'=>'255', 'type'=>'string', 'regex'=>'^0+[xX][0-9a-fA-F:.]+$', 'help-string'=>'Subtree mask in hex'}} # Oid subtree name def name prop_get('@name') end # Oid of a mib node def oid prop_get('oid') end # Oid of a mib node def oid=(val) prop_set('oid', val) end def option prop_get('option') end def option=(val) prop_set('option', val) end # Subtree mask in hex def mask prop_get('mask') end # Subtree mask in hex def mask=(val) prop_set('mask', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def view maybe_register_subclass('view', View.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'regex'=>'^[^ ]+$', 'help-string'=>'View name'}} # View name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def views maybe_register_subclass('views', Views.new(parent_instance: self, client: @client, create_children: @create_children)) end class Users < XML::ConfigClass def has_multiple_values?; true; end def _section :users end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'31', 'help-string'=>'User name'}, 'view'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Snmp View Name'}, 'authpwd'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'8', 'maxlen'=>'256', 'encrypt'=>'yes', 'help-string'=>'Authentication Protocol Password'}, 'privpwd'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'8', 'maxlen'=>'256', 'encrypt'=>'yes', 'help-string'=>'Privacy Protocol Password'}, 'authproto'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'SHA', 'help-string'=>'Authentication Protocol', 'enum'=>[{'value'=>'SHA'}, {'value'=>'SHA-224'}, {'value'=>'SHA-256'}, {'value'=>'SHA-384'}, {'value'=>'SHA-512'}]}, 'privproto'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'AES', 'help-string'=>'Privacy Protocol', 'enum'=>[{'value'=>'AES'}, {'value'=>'AES-192'}, {'value'=>'AES-256'}]}} # User name def name prop_get('@name') end # Snmp View Name def view prop_get('view') end # Snmp View Name def view=(val) prop_set('view', val) end # Authentication Protocol Password def authpwd prop_get('authpwd') end # Authentication Protocol Password def authpwd=(val) prop_set('authpwd', val) end # Privacy Protocol Password def privpwd prop_get('privpwd') end # Privacy Protocol Password def privpwd=(val) prop_set('privpwd', val) end # Authentication Protocol def authproto prop_get('authproto') end # Authentication Protocol def authproto=(val) prop_set('authproto', val) end # Privacy Protocol def privproto prop_get('privproto') end # Privacy Protocol def privproto=(val) prop_set('privproto', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def users maybe_register_subclass('users', Users.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def v3 @subclasses['v3'] ||= V3.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def version maybe_register_subclass('version', Version.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def access_setting @subclasses['access-setting'] ||= AccessSetting.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def snmp_setting @subclasses['snmp-setting'] ||= SnmpSetting.new(parent_instance: self, client: @client, create_children: @create_children) end class GeoLocation < ConfigClass def has_multiple_values?; false; end def _section :'geo-location' end @props = {'latitude'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^-?[0-9]+([.][0-9]+)?$', 'help-string'=>'latitude coordinate'}, 'longitude'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^-?[0-9]+([.][0-9]+)?$', 'help-string'=>'longitude coordinate'}} # latitude coordinate def latitude prop_get('latitude') end # latitude coordinate def latitude=(val) prop_set('latitude', val) end # longitude coordinate def longitude prop_get('longitude') end # longitude coordinate def longitude=(val) prop_set('longitude', val) end end def geo_location @subclasses['geo-location'] ||= GeoLocation.new(parent_instance: self, client: @client, create_children: @create_children) end class Service < ConfigClass def has_multiple_values?; false; end def _section :service end @props = {'disable-http'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'disable-https'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'disable-telnet'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'disable-ssh'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'disable-icmp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'disable-snmp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'disable-userid-service'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'disable-userid-syslog-listener-ssl'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'disable-userid-syslog-listener-udp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'prune-on'=>'fips-mode'}, 'disable-http-ocsp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}} def disable_http prop_get('disable-http') end def disable_http=(val) prop_set('disable-http', val) end def disable_https prop_get('disable-https') end def disable_https=(val) prop_set('disable-https', val) end def disable_telnet prop_get('disable-telnet') end def disable_telnet=(val) prop_set('disable-telnet', val) end def disable_ssh prop_get('disable-ssh') end def disable_ssh=(val) prop_set('disable-ssh', val) end def disable_icmp prop_get('disable-icmp') end def disable_icmp=(val) prop_set('disable-icmp', val) end def disable_snmp prop_get('disable-snmp') end def disable_snmp=(val) prop_set('disable-snmp', val) end def disable_userid_service prop_get('disable-userid-service') end def disable_userid_service=(val) prop_set('disable-userid-service', val) end def disable_userid_syslog_listener_ssl prop_get('disable-userid-syslog-listener-ssl') end def disable_userid_syslog_listener_ssl=(val) prop_set('disable-userid-syslog-listener-ssl', val) end def disable_userid_syslog_listener_udp prop_get('disable-userid-syslog-listener-udp') end def disable_userid_syslog_listener_udp=(val) prop_set('disable-userid-syslog-listener-udp', val) end def disable_http_ocsp prop_get('disable-http-ocsp') end def disable_http_ocsp=(val) prop_set('disable-http-ocsp', val) end end def service @subclasses['service'] ||= Service.new(parent_instance: self, client: @client, create_children: @create_children) end class PermittedIp < XML::ConfigClass def has_multiple_values?; true; end def _section :'permitted-ip' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'ip address/prefix/Variable Object', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}}}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}} # ip address/prefix/Variable Object def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def permitted_ip maybe_register_subclass('permitted-ip', PermittedIp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Route < ConfigClass def has_multiple_values?; false; end def _section :route end class Service < XML::ConfigClass def has_multiple_values?; true; end def _section :service end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Source < ConfigClass def has_multiple_values?; false; end def _section :source end @props = {'interface'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Source interface to use to reach destination'}, 'address'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Source IP address to use to reach destination'}} # Source interface to use to reach destination def interface prop_get('interface') end # Source interface to use to reach destination def interface=(val) prop_set('interface', val) end # Source IP address to use to reach destination def address prop_get('address') end # Source IP address to use to reach destination def address=(val) prop_set('address', val) end end def source @subclasses['source'] ||= Source.new(parent_instance: self, client: @client, create_children: @create_children) end class SourceV6 < ConfigClass def has_multiple_values?; false; end def _section :'source-v6' end @props = {'interface'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Source interface to use to reach destination'}, 'address'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'96', 'help-string'=>'Source IP address to use to reach destination'}} # Source interface to use to reach destination def interface prop_get('interface') end # Source interface to use to reach destination def interface=(val) prop_set('interface', val) end # Source IP address to use to reach destination def address prop_get('address') end # Source IP address to use to reach destination def address=(val) prop_set('address', val) end end def source_v6 @subclasses['source-v6'] ||= SourceV6.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'Service name'}} # Service name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def service maybe_register_subclass('service', Service.new(parent_instance: self, client: @client, create_children: @create_children)) end class Destination < XML::ConfigClass def has_multiple_values?; true; end def _section :destination end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Source < ConfigClass def has_multiple_values?; false; end def _section :source end @props = {'interface'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Source interface to use to reach destination'}, 'address'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'96', 'help-string'=>'Source IP address to use to reach destination'}} # Source interface to use to reach destination def interface prop_get('interface') end # Source interface to use to reach destination def interface=(val) prop_set('interface', val) end # Source IP address to use to reach destination def address prop_get('address') end # Source IP address to use to reach destination def address=(val) prop_set('address', val) end end def source @subclasses['source'] ||= Source.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'96', 'help-string'=>'Destination IP/FQDN', 'regex'=>'^([$0-9a-zA-Z.:/_-])+$'}} # Destination IP/FQDN def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def destination maybe_register_subclass('destination', Destination.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def route @subclasses['route'] ||= Route.new(parent_instance: self, client: @client, create_children: @create_children) end class LogLink < XML::ConfigClass def has_multiple_values?; true; end def _section :'log-link' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'name of link', 'regex'=>'[0-9a-zA-Z:@./_-]+'}, 'url'=>{'node-type'=>'element', 'optional'=>'yes', 'help-string'=>'URL format of link', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024'}} # name of link def name prop_get('@name') end # URL format of link def url prop_get('url') end # URL format of link def url=(val) prop_set('url', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def log_link maybe_register_subclass('log-link', LogLink.new(parent_instance: self, client: @client, create_children: @create_children)) end class LogExportSchedule < XML::ConfigClass def has_multiple_values?; true; end def _section :'log-export-schedule' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Protocol < XML::ConfigClass def has_multiple_values?; true; end def _section :protocol end class Ftp < ConfigClass def has_multiple_values?; false; end def _section :ftp end @props = {'hostname'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^[$a-zA-Z0-9._-]+$', 'maxlen'=>'63', 'help-string'=>'ftp hostname'}, 'port'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'ftp port'}, 'path'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[\.\+/,\{\}0-9a-zA-Z_-]+$', 'maxlen'=>'255', 'help-string'=>'ftp server path'}, 'username'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'ftp username', 'minlen'=>'1', 'maxlen'=>'255', 'regex'=>'[^\']*'}, 'password'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'ftp password', 'minlen'=>'0', 'maxlen'=>'255', 'regex'=>'[^\']*', 'encrypt'=>'yes'}, 'passive-mode'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Enable FTP Passive Mode'}} # ftp hostname def hostname prop_get('hostname') end # ftp hostname def hostname=(val) prop_set('hostname', val) end # ftp port def port prop_get('port') end # ftp port def port=(val) prop_set('port', val) end # ftp server path def path prop_get('path') end # ftp server path def path=(val) prop_set('path', val) end # ftp username def username prop_get('username') end # ftp username def username=(val) prop_set('username', val) end # ftp password def password prop_get('password') end # ftp password def password=(val) prop_set('password', val) end # Enable FTP Passive Mode def passive_mode prop_get('passive-mode') end # Enable FTP Passive Mode def passive_mode=(val) prop_set('passive-mode', val) end end def ftp @subclasses['ftp'] ||= Ftp.new(parent_instance: self, client: @client, create_children: @create_children) end class Scp < ConfigClass def has_multiple_values?; false; end def _section :scp end @props = {'hostname'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^[$a-zA-Z0-9._-]+$', 'maxlen'=>'63', 'help-string'=>'ftp hostname'}, 'port'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'scp port'}, 'path'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[\.\+/,\{\}0-9a-zA-Z_-]+$', 'maxlen'=>'255', 'help-string'=>'scp server path'}, 'username'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'scp username', 'minlen'=>'1', 'maxlen'=>'255', 'regex'=>'[^\']*'}, 'password'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'scp password', 'minlen'=>'0', 'maxlen'=>'255', 'regex'=>'[^\']*', 'encrypt'=>'yes'}} # ftp hostname def hostname prop_get('hostname') end # ftp hostname def hostname=(val) prop_set('hostname', val) end # scp port def port prop_get('port') end # scp port def port=(val) prop_set('port', val) end # scp server path def path prop_get('path') end # scp server path def path=(val) prop_set('path', val) end # scp username def username prop_get('username') end # scp username def username=(val) prop_set('username', val) end # scp password def password prop_get('password') end # scp password def password=(val) prop_set('password', val) end end def scp @subclasses['scp'] ||= Scp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def protocol maybe_register_subclass('protocol', Protocol.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'Schedule name'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'enable'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes'}, 'log-type'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'traffic'}, {'value'=>'threat'}, {'value'=>'gtp', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420'}, {'value'=>'sctp', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420'}, {'value'=>'tunnel'}, {'value'=>'userid'}, {'value'=>'iptag'}, {'value'=>'auth'}, {'value'=>'url'}, {'value'=>'data'}, {'value'=>'hipmatch'}, {'value'=>'wildfire'}, {'value'=>'decryption'}, {'value'=>'globalprotect'}]}, 'start-time'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3]):([0-5][0-9])', 'minlen'=>'5', 'maxlen'=>'5', 'help-string'=>'Time to start the scheduled export hh:mm (e.g. 03:30)'}} # Schedule name def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end def log_type prop_get('log-type') end def log_type=(val) prop_set('log-type', val) end # Time to start the scheduled export hh:mm (e.g. 03:30) def start_time prop_get('start-time') end # Time to start the scheduled export hh:mm (e.g. 03:30) def start_time=(val) prop_set('start-time', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def log_export_schedule maybe_register_subclass('log-export-schedule', LogExportSchedule.new(parent_instance: self, client: @client, create_children: @create_children)) end class UpdateSchedule < ConfigClass def has_multiple_values?; false; end def _section :'update-schedule' end class StatisticsService < ConfigClass def has_multiple_values?; false; end def _section :'statistics-service' end @props = {'application-reports'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Application Reports'}, 'threat-prevention-reports'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Threat Reports'}, 'threat-prevention-information'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Threat Prevention Information'}, 'threat-prevention-pcap'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Enable sending packet-captures with threat prevention information'}, 'passive-dns-monitoring'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Passive DNS Monitor'}, 'url-reports'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'URL Reports'}, 'health-performance-reports'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Health and Performance Reports'}, 'file-identification-reports'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'File Type Identification Reports'}} # Application Reports def application_reports prop_get('application-reports') end # Application Reports def application_reports=(val) prop_set('application-reports', val) end # Threat Reports def threat_prevention_reports prop_get('threat-prevention-reports') end # Threat Reports def threat_prevention_reports=(val) prop_set('threat-prevention-reports', val) end # Threat Prevention Information def threat_prevention_information prop_get('threat-prevention-information') end # Threat Prevention Information def threat_prevention_information=(val) prop_set('threat-prevention-information', val) end # Enable sending packet-captures with threat prevention information def threat_prevention_pcap prop_get('threat-prevention-pcap') end # Enable sending packet-captures with threat prevention information def threat_prevention_pcap=(val) prop_set('threat-prevention-pcap', val) end # Passive DNS Monitor def passive_dns_monitoring prop_get('passive-dns-monitoring') end # Passive DNS Monitor def passive_dns_monitoring=(val) prop_set('passive-dns-monitoring', val) end # URL Reports def url_reports prop_get('url-reports') end # URL Reports def url_reports=(val) prop_set('url-reports', val) end # Health and Performance Reports def health_performance_reports prop_get('health-performance-reports') end # Health and Performance Reports def health_performance_reports=(val) prop_set('health-performance-reports', val) end # File Type Identification Reports def file_identification_reports prop_get('file-identification-reports') end # File Type Identification Reports def file_identification_reports=(val) prop_set('file-identification-reports', val) end end def statistics_service @subclasses['statistics-service'] ||= StatisticsService.new(parent_instance: self, client: @client, create_children: @create_children) end class Threats < ConfigClass def has_multiple_values?; false; end def _section :threats end class Recurring < ConfigClass def has_multiple_values?; false; end def _section :recurring end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end class Every30Mins < ConfigClass def has_multiple_values?; false; end def _section :'every-30-mins' end @props = {'at'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'29', 'help-string'=>'Minutes past half-hour'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'download-only', 'help-string'=>'Download but do not install'}, {'value'=>'download-and-install', 'help-string'=>'Download and install'}]}, 'disable-new-content'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'help-string'=>'Disable new applications after installation'}} # Minutes past half-hour def at prop_get('at') end # Minutes past half-hour def at=(val) prop_set('at', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # Disable new applications after installation def disable_new_content prop_get('disable-new-content') end # Disable new applications after installation def disable_new_content=(val) prop_set('disable-new-content', val) end end def every_30_mins @subclasses['every-30-mins'] ||= Every30Mins.new(parent_instance: self, client: @client, create_children: @create_children) end class Hourly < ConfigClass def has_multiple_values?; false; end def _section :hourly end @props = {'at'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'59', 'help-string'=>'Minutes past hour'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'download-only', 'help-string'=>'Download but do not install'}, {'value'=>'download-and-install', 'help-string'=>'Download and install'}]}, 'disable-new-content'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'help-string'=>'Disable new applications after installation'}} # Minutes past hour def at prop_get('at') end # Minutes past hour def at=(val) prop_set('at', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # Disable new applications after installation def disable_new_content prop_get('disable-new-content') end # Disable new applications after installation def disable_new_content=(val) prop_set('disable-new-content', val) end end def hourly @subclasses['hourly'] ||= Hourly.new(parent_instance: self, client: @client, create_children: @create_children) end class Daily < ConfigClass def has_multiple_values?; false; end def _section :daily end @props = {'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3]):([0-5][0-9])', 'minlen'=>'5', 'maxlen'=>'5', 'help-string'=>'Time specification hh:mm (e.g. 20:10)'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'download-only', 'help-string'=>'Download but do not install'}, {'value'=>'download-and-install', 'help-string'=>'Download and install'}]}, 'disable-new-content'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'help-string'=>'Disable new applications after installation'}} # Time specification hh:mm (e.g. 20:10) def at prop_get('at') end # Time specification hh:mm (e.g. 20:10) def at=(val) prop_set('at', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # Disable new applications after installation def disable_new_content prop_get('disable-new-content') end # Disable new applications after installation def disable_new_content=(val) prop_set('disable-new-content', val) end end def daily @subclasses['daily'] ||= Daily.new(parent_instance: self, client: @client, create_children: @create_children) end class Weekly < ConfigClass def has_multiple_values?; false; end def _section :weekly end @props = {'day-of-week'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'sunday'}, {'value'=>'monday'}, {'value'=>'tuesday'}, {'value'=>'wednesday'}, {'value'=>'thursday'}, {'value'=>'friday'}, {'value'=>'saturday'}]}, 'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3]):([0-5][0-9])', 'minlen'=>'5', 'maxlen'=>'5', 'help-string'=>'Time specification hh:mm (e.g. 20:10)'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'download-only', 'help-string'=>'Download but do not install'}, {'value'=>'download-and-install', 'help-string'=>'Download and install'}]}, 'disable-new-content'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'help-string'=>'Disable new applications after installation'}} def day_of_week prop_get('day-of-week') end def day_of_week=(val) prop_set('day-of-week', val) end # Time specification hh:mm (e.g. 20:10) def at prop_get('at') end # Time specification hh:mm (e.g. 20:10) def at=(val) prop_set('at', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # Disable new applications after installation def disable_new_content prop_get('disable-new-content') end # Disable new applications after installation def disable_new_content=(val) prop_set('disable-new-content', val) end end def weekly @subclasses['weekly'] ||= Weekly.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'threshold'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'336', 'help-string'=>'ignore if release date is new (hours)'}, 'new-app-threshold'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'336', 'help-string'=>'ignore new apps if release date is new (hours)'}, 'sync-to-peer'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'help-string'=>'Synchronize content with HA peer after download/install'}} # ignore if release date is new (hours) def threshold prop_get('threshold') end # ignore if release date is new (hours) def threshold=(val) prop_set('threshold', val) end # ignore new apps if release date is new (hours) def new_app_threshold prop_get('new-app-threshold') end # ignore new apps if release date is new (hours) def new_app_threshold=(val) prop_set('new-app-threshold', val) end # Synchronize content with HA peer after download/install def sync_to_peer prop_get('sync-to-peer') end # Synchronize content with HA peer after download/install def sync_to_peer=(val) prop_set('sync-to-peer', val) end end def recurring @subclasses['recurring'] ||= Recurring.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def threats @subclasses['threats'] ||= Threats.new(parent_instance: self, client: @client, create_children: @create_children) end class AppProfile < ConfigClass def has_multiple_values?; false; end def _section :'app-profile' end class Recurring < ConfigClass def has_multiple_values?; false; end def _section :recurring end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end class Daily < ConfigClass def has_multiple_values?; false; end def _section :daily end @props = {'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3]):([0-5][0-9])', 'minlen'=>'5', 'maxlen'=>'5', 'help-string'=>'Time specification hh:mm (e.g. 20:10)'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'download-only', 'help-string'=>'Download but do not install'}, {'value'=>'download-and-install', 'help-string'=>'Download and install'}]}} # Time specification hh:mm (e.g. 20:10) def at prop_get('at') end # Time specification hh:mm (e.g. 20:10) def at=(val) prop_set('at', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end end def daily @subclasses['daily'] ||= Daily.new(parent_instance: self, client: @client, create_children: @create_children) end class Weekly < ConfigClass def has_multiple_values?; false; end def _section :weekly end @props = {'day-of-week'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'sunday'}, {'value'=>'monday'}, {'value'=>'tuesday'}, {'value'=>'wednesday'}, {'value'=>'thursday'}, {'value'=>'friday'}, {'value'=>'saturday'}]}, 'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3]):([0-5][0-9])', 'minlen'=>'5', 'maxlen'=>'5', 'help-string'=>'Time specification hh:mm (e.g. 20:10)'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'download-only', 'help-string'=>'Download but do not install'}, {'value'=>'download-and-install', 'help-string'=>'Download and install'}]}} def day_of_week prop_get('day-of-week') end def day_of_week=(val) prop_set('day-of-week', val) end # Time specification hh:mm (e.g. 20:10) def at prop_get('at') end # Time specification hh:mm (e.g. 20:10) def at=(val) prop_set('at', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end end def weekly @subclasses['weekly'] ||= Weekly.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'threshold'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'336', 'help-string'=>'ignore if release date is new (hours)'}, 'sync-to-peer'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'help-string'=>'Synchronize content with HA peer after download/install'}} # ignore if release date is new (hours) def threshold prop_get('threshold') end # ignore if release date is new (hours) def threshold=(val) prop_set('threshold', val) end # Synchronize content with HA peer after download/install def sync_to_peer prop_get('sync-to-peer') end # Synchronize content with HA peer after download/install def sync_to_peer=(val) prop_set('sync-to-peer', val) end end def recurring @subclasses['recurring'] ||= Recurring.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def app_profile @subclasses['app-profile'] ||= AppProfile.new(parent_instance: self, client: @client, create_children: @create_children) end class AntiVirus < ConfigClass def has_multiple_values?; false; end def _section :'anti-virus' end class Recurring < ConfigClass def has_multiple_values?; false; end def _section :recurring end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end class Hourly < ConfigClass def has_multiple_values?; false; end def _section :hourly end @props = {'at'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'59', 'help-string'=>'Minutes past hour'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'download-only', 'help-string'=>'Download but do not install'}, {'value'=>'download-and-install', 'help-string'=>'Download and install'}]}} # Minutes past hour def at prop_get('at') end # Minutes past hour def at=(val) prop_set('at', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end end def hourly @subclasses['hourly'] ||= Hourly.new(parent_instance: self, client: @client, create_children: @create_children) end class Daily < ConfigClass def has_multiple_values?; false; end def _section :daily end @props = {'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3]):([0-5][0-9])', 'minlen'=>'5', 'maxlen'=>'5', 'help-string'=>'Time specification hh:mm (e.g. 20:10)'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'download-only', 'help-string'=>'Download but do not install'}, {'value'=>'download-and-install', 'help-string'=>'Download and install'}]}} # Time specification hh:mm (e.g. 20:10) def at prop_get('at') end # Time specification hh:mm (e.g. 20:10) def at=(val) prop_set('at', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end end def daily @subclasses['daily'] ||= Daily.new(parent_instance: self, client: @client, create_children: @create_children) end class Weekly < ConfigClass def has_multiple_values?; false; end def _section :weekly end @props = {'day-of-week'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'sunday'}, {'value'=>'monday'}, {'value'=>'tuesday'}, {'value'=>'wednesday'}, {'value'=>'thursday'}, {'value'=>'friday'}, {'value'=>'saturday'}]}, 'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3]):([0-5][0-9])', 'minlen'=>'5', 'maxlen'=>'5', 'help-string'=>'Time specification hh:mm (e.g. 20:10)'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'download-only', 'help-string'=>'Download but do not install'}, {'value'=>'download-and-install', 'help-string'=>'Download and install'}]}} def day_of_week prop_get('day-of-week') end def day_of_week=(val) prop_set('day-of-week', val) end # Time specification hh:mm (e.g. 20:10) def at prop_get('at') end # Time specification hh:mm (e.g. 20:10) def at=(val) prop_set('at', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end end def weekly @subclasses['weekly'] ||= Weekly.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'threshold'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'336', 'help-string'=>'ignore if release date is new (hours)'}, 'sync-to-peer'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'help-string'=>'Synchronize content with HA peer after download/install'}} # ignore if release date is new (hours) def threshold prop_get('threshold') end # ignore if release date is new (hours) def threshold=(val) prop_set('threshold', val) end # Synchronize content with HA peer after download/install def sync_to_peer prop_get('sync-to-peer') end # Synchronize content with HA peer after download/install def sync_to_peer=(val) prop_set('sync-to-peer', val) end end def recurring @subclasses['recurring'] ||= Recurring.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def anti_virus @subclasses['anti-virus'] ||= AntiVirus.new(parent_instance: self, client: @client, create_children: @create_children) end class Wildfire < ConfigClass def has_multiple_values?; false; end def _section :wildfire end class Recurring < ConfigClass def has_multiple_values?; false; end def _section :recurring end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end class RealTime < ConfigClass def has_multiple_values?; false; end def _section :'real-time' end @props = {} end def real_time @subclasses['real-time'] ||= RealTime.new(parent_instance: self, client: @client, create_children: @create_children) end class EveryMin < ConfigClass def has_multiple_values?; false; end def _section :'every-min' end @props = {'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'download-only', 'help-string'=>'Download but do not install'}, {'value'=>'download-and-install', 'help-string'=>'Download and install'}]}, 'sync-to-peer'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'help-string'=>'Synchronize content with HA peer after download/install'}} def action prop_get('action') end def action=(val) prop_set('action', val) end # Synchronize content with HA peer after download/install def sync_to_peer prop_get('sync-to-peer') end # Synchronize content with HA peer after download/install def sync_to_peer=(val) prop_set('sync-to-peer', val) end end def every_min @subclasses['every-min'] ||= EveryMin.new(parent_instance: self, client: @client, create_children: @create_children) end class Every15Mins < ConfigClass def has_multiple_values?; false; end def _section :'every-15-mins' end @props = {'at'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'14', 'help-string'=>'Minutes past quarter-hour'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'download-only', 'help-string'=>'Download but do not install'}, {'value'=>'download-and-install', 'help-string'=>'Download and install'}]}, 'sync-to-peer'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'help-string'=>'Synchronize content with HA peer after download/install'}} # Minutes past quarter-hour def at prop_get('at') end # Minutes past quarter-hour def at=(val) prop_set('at', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # Synchronize content with HA peer after download/install def sync_to_peer prop_get('sync-to-peer') end # Synchronize content with HA peer after download/install def sync_to_peer=(val) prop_set('sync-to-peer', val) end end def every_15_mins @subclasses['every-15-mins'] ||= Every15Mins.new(parent_instance: self, client: @client, create_children: @create_children) end class Every30Mins < ConfigClass def has_multiple_values?; false; end def _section :'every-30-mins' end @props = {'at'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'29', 'help-string'=>'Minutes past half-hour'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'download-only', 'help-string'=>'Download but do not install'}, {'value'=>'download-and-install', 'help-string'=>'Download and install'}]}, 'sync-to-peer'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'help-string'=>'Synchronize content with HA peer after download/install'}} # Minutes past half-hour def at prop_get('at') end # Minutes past half-hour def at=(val) prop_set('at', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # Synchronize content with HA peer after download/install def sync_to_peer prop_get('sync-to-peer') end # Synchronize content with HA peer after download/install def sync_to_peer=(val) prop_set('sync-to-peer', val) end end def every_30_mins @subclasses['every-30-mins'] ||= Every30Mins.new(parent_instance: self, client: @client, create_children: @create_children) end class EveryHour < ConfigClass def has_multiple_values?; false; end def _section :'every-hour' end @props = {'at'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'59', 'help-string'=>'Minutes past hour'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'download-only', 'help-string'=>'Download but do not install'}, {'value'=>'download-and-install', 'help-string'=>'Download and install'}]}, 'sync-to-peer'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'help-string'=>'Synchronize content with HA peer after download/install'}} # Minutes past hour def at prop_get('at') end # Minutes past hour def at=(val) prop_set('at', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # Synchronize content with HA peer after download/install def sync_to_peer prop_get('sync-to-peer') end # Synchronize content with HA peer after download/install def sync_to_peer=(val) prop_set('sync-to-peer', val) end end def every_hour @subclasses['every-hour'] ||= EveryHour.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def recurring @subclasses['recurring'] ||= Recurring.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def wildfire @subclasses['wildfire'] ||= Wildfire.new(parent_instance: self, client: @client, create_children: @create_children) end class WfPrivate < ConfigClass def has_multiple_values?; false; end def _section :'wf-private' end class Recurring < ConfigClass def has_multiple_values?; false; end def _section :recurring end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end class Every5Mins < ConfigClass def has_multiple_values?; false; end def _section :'every-5-mins' end @props = {'at'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4', 'help-string'=>'Minutes Past five minutes'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'download-only', 'help-string'=>'Download but do not install'}, {'value'=>'download-and-install', 'help-string'=>'Download and install'}]}} # Minutes Past five minutes def at prop_get('at') end # Minutes Past five minutes def at=(val) prop_set('at', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end end def every_5_mins @subclasses['every-5-mins'] ||= Every5Mins.new(parent_instance: self, client: @client, create_children: @create_children) end class Every15Mins < ConfigClass def has_multiple_values?; false; end def _section :'every-15-mins' end @props = {'at'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'14', 'help-string'=>'Minutes Past Quarter-Hour'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'download-only', 'help-string'=>'Download but do not install'}, {'value'=>'download-and-install', 'help-string'=>'Download and install'}]}} # Minutes Past Quarter-Hour def at prop_get('at') end # Minutes Past Quarter-Hour def at=(val) prop_set('at', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end end def every_15_mins @subclasses['every-15-mins'] ||= Every15Mins.new(parent_instance: self, client: @client, create_children: @create_children) end class Every30Mins < ConfigClass def has_multiple_values?; false; end def _section :'every-30-mins' end @props = {'at'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'29', 'help-string'=>'Minutes Past Half-Hour'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'download-only', 'help-string'=>'Download but do not install'}, {'value'=>'download-and-install', 'help-string'=>'Download and install'}]}} # Minutes Past Half-Hour def at prop_get('at') end # Minutes Past Half-Hour def at=(val) prop_set('at', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end end def every_30_mins @subclasses['every-30-mins'] ||= Every30Mins.new(parent_instance: self, client: @client, create_children: @create_children) end class EveryHour < ConfigClass def has_multiple_values?; false; end def _section :'every-hour' end @props = {'at'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'59', 'help-string'=>'Minutes Past Hour'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'download-only', 'help-string'=>'Download but do not install'}, {'value'=>'download-and-install', 'help-string'=>'Download and install'}]}} # Minutes Past Hour def at prop_get('at') end # Minutes Past Hour def at=(val) prop_set('at', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end end def every_hour @subclasses['every-hour'] ||= EveryHour.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'sync-to-peer'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'help-string'=>'Synchronize content with HA peer after download/install'}} # Synchronize content with HA peer after download/install def sync_to_peer prop_get('sync-to-peer') end # Synchronize content with HA peer after download/install def sync_to_peer=(val) prop_set('sync-to-peer', val) end end def recurring @subclasses['recurring'] ||= Recurring.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def wf_private @subclasses['wf-private'] ||= WfPrivate.new(parent_instance: self, client: @client, create_children: @create_children) end class GlobalProtectClientlessVpn < ConfigClass def has_multiple_values?; false; end def _section :'global-protect-clientless-vpn' end class Recurring < ConfigClass def has_multiple_values?; false; end def _section :recurring end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end class Hourly < ConfigClass def has_multiple_values?; false; end def _section :hourly end @props = {'at'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'59', 'help-string'=>'Minutes past hour'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'download-and-install', 'help-string'=>'Download and install'}, {'value'=>'download-only', 'help-string'=>'Download but do not install'}]}} # Minutes past hour def at prop_get('at') end # Minutes past hour def at=(val) prop_set('at', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end end def hourly @subclasses['hourly'] ||= Hourly.new(parent_instance: self, client: @client, create_children: @create_children) end class Daily < ConfigClass def has_multiple_values?; false; end def _section :daily end @props = {'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3]):([0-5][0-9])', 'minlen'=>'5', 'maxlen'=>'5', 'help-string'=>'Time specification hh:mm (e.g. 20:10)'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'download-and-install', 'help-string'=>'Download and install'}, {'value'=>'download-only', 'help-string'=>'Download but do not install'}]}} # Time specification hh:mm (e.g. 20:10) def at prop_get('at') end # Time specification hh:mm (e.g. 20:10) def at=(val) prop_set('at', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end end def daily @subclasses['daily'] ||= Daily.new(parent_instance: self, client: @client, create_children: @create_children) end class Weekly < ConfigClass def has_multiple_values?; false; end def _section :weekly end @props = {'day-of-week'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'sunday'}, {'value'=>'monday'}, {'value'=>'tuesday'}, {'value'=>'wednesday'}, {'value'=>'thursday'}, {'value'=>'friday'}, {'value'=>'saturday'}]}, 'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3]):([0-5][0-9])', 'minlen'=>'5', 'maxlen'=>'5', 'help-string'=>'Time specification hh:mm (e.g. 20:10)'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'download-and-install', 'help-string'=>'Download and install'}, {'value'=>'download-only', 'help-string'=>'Download but do not install'}]}} def day_of_week prop_get('day-of-week') end def day_of_week=(val) prop_set('day-of-week', val) end # Time specification hh:mm (e.g. 20:10) def at prop_get('at') end # Time specification hh:mm (e.g. 20:10) def at=(val) prop_set('at', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end end def weekly @subclasses['weekly'] ||= Weekly.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def recurring @subclasses['recurring'] ||= Recurring.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def global_protect_clientless_vpn @subclasses['global-protect-clientless-vpn'] ||= GlobalProtectClientlessVpn.new(parent_instance: self, client: @client, create_children: @create_children) end class GlobalProtectDatafile < ConfigClass def has_multiple_values?; false; end def _section :'global-protect-datafile' end class Recurring < ConfigClass def has_multiple_values?; false; end def _section :recurring end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end class Hourly < ConfigClass def has_multiple_values?; false; end def _section :hourly end @props = {'at'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'59', 'help-string'=>'Minutes past hour'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'download-and-install', 'help-string'=>'Download and install'}, {'value'=>'download-only', 'help-string'=>'Download but do not install'}]}} # Minutes past hour def at prop_get('at') end # Minutes past hour def at=(val) prop_set('at', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end end def hourly @subclasses['hourly'] ||= Hourly.new(parent_instance: self, client: @client, create_children: @create_children) end class Daily < ConfigClass def has_multiple_values?; false; end def _section :daily end @props = {'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3]):([0-5][0-9])', 'minlen'=>'5', 'maxlen'=>'5', 'help-string'=>'Time specification hh:mm (e.g. 20:10)'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'download-and-install', 'help-string'=>'Download and install'}]}} # Time specification hh:mm (e.g. 20:10) def at prop_get('at') end # Time specification hh:mm (e.g. 20:10) def at=(val) prop_set('at', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end end def daily @subclasses['daily'] ||= Daily.new(parent_instance: self, client: @client, create_children: @create_children) end class Weekly < ConfigClass def has_multiple_values?; false; end def _section :weekly end @props = {'day-of-week'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'sunday'}, {'value'=>'monday'}, {'value'=>'tuesday'}, {'value'=>'wednesday'}, {'value'=>'thursday'}, {'value'=>'friday'}, {'value'=>'saturday'}]}, 'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3]):([0-5][0-9])', 'minlen'=>'5', 'maxlen'=>'5', 'help-string'=>'Time specification hh:mm (e.g. 20:10)'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'download-and-install', 'help-string'=>'Download and install'}, {'value'=>'download-only', 'help-string'=>'Download but do not install'}]}} def day_of_week prop_get('day-of-week') end def day_of_week=(val) prop_set('day-of-week', val) end # Time specification hh:mm (e.g. 20:10) def at prop_get('at') end # Time specification hh:mm (e.g. 20:10) def at=(val) prop_set('at', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end end def weekly @subclasses['weekly'] ||= Weekly.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def recurring @subclasses['recurring'] ||= Recurring.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def global_protect_datafile @subclasses['global-protect-datafile'] ||= GlobalProtectDatafile.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def update_schedule @subclasses['update-schedule'] ||= UpdateSchedule.new(parent_instance: self, client: @client, create_children: @create_children) end class MotdAndBanner < ConfigClass def has_multiple_values?; false; end def _section :'motd-and-banner' end @props = {'motd-enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable/disable message of the day'}, 'message'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'3200', 'help-string'=>'Message of the day'}, 'motd-do-not-display-again'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Allow do not display again'}, 'motd-title'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'default'=>'Message of the Day', 'help-string'=>'Title for message of the day'}, 'motd-color'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'color1'}, {'value'=>'color2'}, {'value'=>'color3'}, {'value'=>'color4'}, {'value'=>'color5'}, {'value'=>'color6'}, {'value'=>'color7'}, {'value'=>'color8'}, {'value'=>'color9'}, {'value'=>'color10'}, {'value'=>'color11'}, {'value'=>'color12'}, {'value'=>'color13'}, {'value'=>'color14'}, {'value'=>'color15'}, {'value'=>'color16'}, {'value'=>'color17'}]}, 'severity'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Icon', 'multi-types'=>{'enum'=>[{'value'=>'warning', 'help-string'=>'Warning'}, {'value'=>'question', 'help-string'=>'Help'}, {'value'=>'error', 'help-string'=>'Error'}, {'value'=>'info', 'help-string'=>'Information'}]}}, 'banner-header'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'3200', 'help-string'=>'Header banner text'}, 'banner-header-color'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'color1'}, {'value'=>'color2'}, {'value'=>'color3'}, {'value'=>'color4'}, {'value'=>'color5'}, {'value'=>'color6'}, {'value'=>'color7'}, {'value'=>'color8'}, {'value'=>'color9'}, {'value'=>'color10'}, {'value'=>'color11'}, {'value'=>'color12'}, {'value'=>'color13'}, {'value'=>'color14'}, {'value'=>'color15'}, {'value'=>'color16'}, {'value'=>'color17'}]}, 'banner-header-text-color'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'color1'}, {'value'=>'color2'}, {'value'=>'color3'}, {'value'=>'color4'}, {'value'=>'color5'}, {'value'=>'color6'}, {'value'=>'color7'}, {'value'=>'color8'}, {'value'=>'color9'}, {'value'=>'color10'}, {'value'=>'color11'}, {'value'=>'color12'}, {'value'=>'color13'}, {'value'=>'color14'}, {'value'=>'color15'}, {'value'=>'color16'}, {'value'=>'color17'}, {'value'=>'color18'}]}, 'banner-header-footer-match'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Same banner for header and footer'}, 'banner-footer'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'3200', 'help-string'=>'Footer banner text'}, 'banner-footer-color'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'color1'}, {'value'=>'color2'}, {'value'=>'color3'}, {'value'=>'color4'}, {'value'=>'color5'}, {'value'=>'color6'}, {'value'=>'color7'}, {'value'=>'color8'}, {'value'=>'color9'}, {'value'=>'color10'}, {'value'=>'color11'}, {'value'=>'color12'}, {'value'=>'color13'}, {'value'=>'color14'}, {'value'=>'color15'}, {'value'=>'color16'}, {'value'=>'color17'}]}, 'banner-footer-text-color'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'color1'}, {'value'=>'color2'}, {'value'=>'color3'}, {'value'=>'color4'}, {'value'=>'color5'}, {'value'=>'color6'}, {'value'=>'color7'}, {'value'=>'color8'}, {'value'=>'color9'}, {'value'=>'color10'}, {'value'=>'color11'}, {'value'=>'color12'}, {'value'=>'color13'}, {'value'=>'color14'}, {'value'=>'color15'}, {'value'=>'color16'}, {'value'=>'color17'}, {'value'=>'color18'}]}} # Enable/disable message of the day def motd_enable prop_get('motd-enable') end # Enable/disable message of the day def motd_enable=(val) prop_set('motd-enable', val) end # Message of the day def message prop_get('message') end # Message of the day def message=(val) prop_set('message', val) end # Allow do not display again def motd_do_not_display_again prop_get('motd-do-not-display-again') end # Allow do not display again def motd_do_not_display_again=(val) prop_set('motd-do-not-display-again', val) end # Title for message of the day def motd_title prop_get('motd-title') end # Title for message of the day def motd_title=(val) prop_set('motd-title', val) end def motd_color prop_get('motd-color') end def motd_color=(val) prop_set('motd-color', val) end # Icon def severity prop_get('severity') end # Icon def severity=(val) prop_set('severity', val) end # Header banner text def banner_header prop_get('banner-header') end # Header banner text def banner_header=(val) prop_set('banner-header', val) end def banner_header_color prop_get('banner-header-color') end def banner_header_color=(val) prop_set('banner-header-color', val) end def banner_header_text_color prop_get('banner-header-text-color') end def banner_header_text_color=(val) prop_set('banner-header-text-color', val) end # Same banner for header and footer def banner_header_footer_match prop_get('banner-header-footer-match') end # Same banner for header and footer def banner_header_footer_match=(val) prop_set('banner-header-footer-match', val) end # Footer banner text def banner_footer prop_get('banner-footer') end # Footer banner text def banner_footer=(val) prop_set('banner-footer', val) end def banner_footer_color prop_get('banner-footer-color') end def banner_footer_color=(val) prop_set('banner-footer-color', val) end def banner_footer_text_color prop_get('banner-footer-text-color') end def banner_footer_text_color=(val) prop_set('banner-footer-text-color', val) end end def motd_and_banner @subclasses['motd-and-banner'] ||= MotdAndBanner.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'login-banner'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'3200'}, 'ack-login-banner'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Force Admins to Acknowledge Login Banner'}, 'hostname'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[a-zA-Z0-9\._-]+$', 'minlen'=>'1', 'maxlen'=>'32'}, 'domain'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'256'}, 'tls-mode'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'exclude-tlsv1.3', 'help-string'=>'TLS mode for web server', 'in-tpl'=>'yes', 'enum'=>[{'value'=>'tlsv1.3-only', 'help-string'=>'TLSv1.3 Only'}, {'value'=>'mixed-mode', 'help-string'=>'Mixed mode'}, {'value'=>'exclude-tlsv1.3', 'help-string'=>'Exclude TLSv1.3'}]}, 'certificate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'complete-handler'=>'system-webserver-certificate-completer', 'help-string'=>'TLS certificate for web server in TLSv1.3 and mixed mode', 'in-tpl'=>'yes'}, 'speed-duplex'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'auto-negotiate', 'help-string'=>'Speed and duplex for the management interface', 'enum'=>[{'value'=>'auto-negotiate'}, {'value'=>'10Mbps-half-duplex'}, {'value'=>'10Mbps-full-duplex'}, {'value'=>'100Mbps-half-duplex'}, {'value'=>'100Mbps-full-duplex'}, {'value'=>'1Gbps-half-duplex'}, {'value'=>'1Gbps-full-duplex'}]}, 'mtu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'576', 'max'=>'1500', 'default'=>'1500', 'help-string'=>'Maximum Transmission Unit for the management interface'}, 'ip-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'IP address for the management interface', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'netmask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'subtype'=>'var-ip-address', 'help-string'=>'IP netmask for the management interface'}, 'default-gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'unicast-only'=>'yes', 'help-string'=>'Default gateway', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}}}, 'ipv6-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'unicast-with-mask'=>'yes', 'ipv6-only'=>'yes', 'help-string'=>'IPv6 address for the management interface', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}}}, 'ipv6-default-gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'unicast-only'=>'yes', 'type'=>'multiple', 'help-string'=>'IPv6 Default gateway', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}}}, 'authentication-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'complete-handler'=>'system-auth-profile-completer', 'help-string'=>'Authentication profile to use for non-local admins. Only RADIUS, TACACS+ and SAML methods are supported.'}, 'non-ui-authentication-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Authentication profile to use for non-local admins. Only RADIUS, TACACS+ are supported.'}, 'certificate-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'profile for verifying client certificates'}, 'syslog-certificate'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'client certificate for syslog'}, 'ssl-tls-service-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'255', 'help-string'=>'SSL TLS service profile'}, 'fqdn-refresh-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'14399', 'default'=>'30', 'help-string'=>'Minimal seconds for periodic FQDN refresh'}, 'fqdn-stale-entry-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'10080', 'default'=>'1440', 'help-string'=>'Minutes for FQDN stale entry'}, 'update-server'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^([0-9a-zA-Z:./_-])+$', 'maxlen'=>'63', 'help-string'=>'PaloAlto Networks update server'}, 'server-verification'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Verify update server identity'}, 'secure-proxy-server'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^([$0-9a-zA-Z.:/_-])+$', 'maxlen'=>'63', 'help-string'=>'Secure Proxy server to use'}, 'secure-proxy-port'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Port for secure proxy server'}, 'secure-proxy-user'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Secure Proxy user name to use'}, 'secure-proxy-password'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'encrypt'=>'yes', 'help-string'=>'Secure Proxy password to use'}, 'lcaas-use-proxy'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable proxy access to CDL'}, 'auto-renew-mkey-lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'17520', 'default'=>'720', 'prune-on'=>'fips-mode', 'help-string'=>'Automatically renew master key lifetime when it expires. Extended time in hours. 0 means disable auto-renew lifetime.'}, 'locale'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'system default locale', 'default'=>'en', 'complete-handler'=>'locale-name-completer', 'multi-types'=>{'string'=>{}, 'enum'=>[{'value'=>'en', 'help-string'=>'English'}, {'value'=>'es', 'help-string'=>'Spanish'}, {'value'=>'ja', 'help-string'=>'Japanese'}, {'value'=>'fr', 'help-string'=>'French'}, {'value'=>'zh_CN', 'help-string'=>'Chinese-Simplified'}, {'value'=>'zh_TW', 'help-string'=>'Chinese-Traditional'}, {'value'=>'ko', 'help-string'=>'Korean'}]}}, 'domain-lookup-url'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'512'}, 'ip-address-lookup-url'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'512'}, 'timezone'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'Africa/Abidjan'}, {'value'=>'Africa/Accra'}, {'value'=>'Africa/Addis_Ababa'}, {'value'=>'Africa/Algiers'}, {'value'=>'Africa/Asmara'}, {'value'=>'Africa/Asmera'}, {'value'=>'Africa/Bamako'}, {'value'=>'Africa/Bangui'}, {'value'=>'Africa/Banjul'}, {'value'=>'Africa/Bissau'}, {'value'=>'Africa/Blantyre'}, {'value'=>'Africa/Brazzaville'}, {'value'=>'Africa/Bujumbura'}, {'value'=>'Africa/Cairo'}, {'value'=>'Africa/Casablanca'}, {'value'=>'Africa/Ceuta'}, {'value'=>'Africa/Conakry'}, {'value'=>'Africa/Dakar'}, {'value'=>'Africa/Dar_es_Salaam'}, {'value'=>'Africa/Djibouti'}, {'value'=>'Africa/Douala'}, {'value'=>'Africa/El_Aaiun'}, {'value'=>'Africa/Freetown'}, {'value'=>'Africa/Gaborone'}, {'value'=>'Africa/Harare'}, {'value'=>'Africa/Johannesburg'}, {'value'=>'Africa/Kampala'}, {'value'=>'Africa/Khartoum'}, {'value'=>'Africa/Kigali'}, {'value'=>'Africa/Kinshasa'}, {'value'=>'Africa/Lagos'}, {'value'=>'Africa/Libreville'}, {'value'=>'Africa/Lome'}, {'value'=>'Africa/Luanda'}, {'value'=>'Africa/Lubumbashi'}, {'value'=>'Africa/Lusaka'}, {'value'=>'Africa/Malabo'}, {'value'=>'Africa/Maputo'}, {'value'=>'Africa/Maseru'}, {'value'=>'Africa/Mbabane'}, {'value'=>'Africa/Mogadishu'}, {'value'=>'Africa/Monrovia'}, {'value'=>'Africa/Nairobi'}, {'value'=>'Africa/Ndjamena'}, {'value'=>'Africa/Niamey'}, {'value'=>'Africa/Nouakchott'}, {'value'=>'Africa/Ouagadougou'}, {'value'=>'Africa/Porto-Novo'}, {'value'=>'Africa/Sao_Tome'}, {'value'=>'Africa/Timbuktu'}, {'value'=>'Africa/Tripoli'}, {'value'=>'Africa/Tunis'}, {'value'=>'Africa/Windhoek'}, {'value'=>'America/Adak'}, {'value'=>'America/Anchorage'}, {'value'=>'America/Anguilla'}, {'value'=>'America/Antigua'}, {'value'=>'America/Araguaina'}, {'value'=>'America/Argentina/Buenos_Aires'}, {'value'=>'America/Argentina/Catamarca'}, {'value'=>'America/Argentina/ComodRivadavia'}, {'value'=>'America/Argentina/Cordoba'}, {'value'=>'America/Argentina/Jujuy'}, {'value'=>'America/Argentina/La_Rioja'}, {'value'=>'America/Argentina/Mendoza'}, {'value'=>'America/Argentina/Rio_Gallegos'}, {'value'=>'America/Argentina/Salta'}, {'value'=>'America/Argentina/San_Juan'}, {'value'=>'America/Argentina/San_Luis'}, {'value'=>'America/Argentina/Tucuman'}, {'value'=>'America/Argentina/Ushuaia'}, {'value'=>'America/Aruba'}, {'value'=>'America/Asuncion'}, {'value'=>'America/Atikokan'}, {'value'=>'America/Atka'}, {'value'=>'America/Bahia'}, {'value'=>'America/Barbados'}, {'value'=>'America/Belem'}, {'value'=>'America/Belize'}, {'value'=>'America/Blanc-Sablon'}, {'value'=>'America/Boa_Vista'}, {'value'=>'America/Bogota'}, {'value'=>'America/Boise'}, {'value'=>'America/Buenos_Aires'}, {'value'=>'America/Cambridge_Bay'}, {'value'=>'America/Campo_Grande'}, {'value'=>'America/Cancun'}, {'value'=>'America/Caracas'}, {'value'=>'America/Catamarca'}, {'value'=>'America/Cayenne'}, {'value'=>'America/Cayman'}, {'value'=>'America/Chicago'}, {'value'=>'America/Chihuahua'}, {'value'=>'America/Coral_Harbour'}, {'value'=>'America/Cordoba'}, {'value'=>'America/Costa_Rica'}, {'value'=>'America/Cuiaba'}, {'value'=>'America/Curacao'}, {'value'=>'America/Danmarkshavn'}, {'value'=>'America/Dawson'}, {'value'=>'America/Dawson_Creek'}, {'value'=>'America/Denver'}, {'value'=>'America/Detroit'}, {'value'=>'America/Dominica'}, {'value'=>'America/Edmonton'}, {'value'=>'America/Eirunepe'}, {'value'=>'America/El_Salvador'}, {'value'=>'America/Ensenada'}, {'value'=>'America/Fortaleza'}, {'value'=>'America/Fort_Wayne'}, {'value'=>'America/Glace_Bay'}, {'value'=>'America/Godthab'}, {'value'=>'America/Goose_Bay'}, {'value'=>'America/Grand_Turk'}, {'value'=>'America/Grenada'}, {'value'=>'America/Guadeloupe'}, {'value'=>'America/Guatemala'}, {'value'=>'America/Guayaquil'}, {'value'=>'America/Guyana'}, {'value'=>'America/Halifax'}, {'value'=>'America/Havana'}, {'value'=>'America/Hermosillo'}, {'value'=>'America/Indiana/Indianapolis'}, {'value'=>'America/Indiana/Knox'}, {'value'=>'America/Indiana/Marengo'}, {'value'=>'America/Indiana/Petersburg'}, {'value'=>'America/Indianapolis'}, {'value'=>'America/Indiana/Tell_City'}, {'value'=>'America/Indiana/Vevay'}, {'value'=>'America/Indiana/Vincennes'}, {'value'=>'America/Indiana/Winamac'}, {'value'=>'America/Inuvik'}, {'value'=>'America/Iqaluit'}, {'value'=>'America/Jamaica'}, {'value'=>'America/Jujuy'}, {'value'=>'America/Juneau'}, {'value'=>'America/Kentucky/Louisville'}, {'value'=>'America/Kentucky/Monticello'}, {'value'=>'America/Knox_IN'}, {'value'=>'America/La_Paz'}, {'value'=>'America/Lima'}, {'value'=>'America/Los_Angeles'}, {'value'=>'America/Louisville'}, {'value'=>'America/Maceio'}, {'value'=>'America/Managua'}, {'value'=>'America/Manaus'}, {'value'=>'America/Marigot'}, {'value'=>'America/Martinique'}, {'value'=>'America/Mazatlan'}, {'value'=>'America/Mendoza'}, {'value'=>'America/Menominee'}, {'value'=>'America/Merida'}, {'value'=>'America/Mexico_City'}, {'value'=>'America/Miquelon'}, {'value'=>'America/Moncton'}, {'value'=>'America/Monterrey'}, {'value'=>'America/Montevideo'}, {'value'=>'America/Montreal'}, {'value'=>'America/Montserrat'}, {'value'=>'America/Nassau'}, {'value'=>'America/New_York'}, {'value'=>'America/Nipigon'}, {'value'=>'America/Nome'}, {'value'=>'America/Noronha'}, {'value'=>'America/North_Dakota/Center'}, {'value'=>'America/North_Dakota/New_Salem'}, {'value'=>'America/Panama'}, {'value'=>'America/Pangnirtung'}, {'value'=>'America/Paramaribo'}, {'value'=>'America/Phoenix'}, {'value'=>'America/Port-au-Prince'}, {'value'=>'America/Porto_Acre'}, {'value'=>'America/Port_of_Spain'}, {'value'=>'America/Porto_Velho'}, {'value'=>'America/Puerto_Rico'}, {'value'=>'America/Rainy_River'}, {'value'=>'America/Rankin_Inlet'}, {'value'=>'America/Recife'}, {'value'=>'America/Regina'}, {'value'=>'America/Resolute'}, {'value'=>'America/Rio_Branco'}, {'value'=>'America/Rosario'}, {'value'=>'America/Santarem'}, {'value'=>'America/Santiago'}, {'value'=>'America/Santo_Domingo'}, {'value'=>'America/Sao_Paulo'}, {'value'=>'America/Scoresbysund'}, {'value'=>'America/Shiprock'}, {'value'=>'America/St_Barthelemy'}, {'value'=>'America/St_Johns'}, {'value'=>'America/St_Kitts'}, {'value'=>'America/St_Lucia'}, {'value'=>'America/St_Thomas'}, {'value'=>'America/St_Vincent'}, {'value'=>'America/Swift_Current'}, {'value'=>'America/Tegucigalpa'}, {'value'=>'America/Thule'}, {'value'=>'America/Thunder_Bay'}, {'value'=>'America/Tijuana'}, {'value'=>'America/Toronto'}, {'value'=>'America/Tortola'}, {'value'=>'America/Vancouver'}, {'value'=>'America/Virgin'}, {'value'=>'America/Whitehorse'}, {'value'=>'America/Winnipeg'}, {'value'=>'America/Yakutat'}, {'value'=>'America/Yellowknife'}, {'value'=>'Antarctica/Casey'}, {'value'=>'Antarctica/Davis'}, {'value'=>'Antarctica/DumontDUrville'}, {'value'=>'Antarctica/Mawson'}, {'value'=>'Antarctica/McMurdo'}, {'value'=>'Antarctica/Palmer'}, {'value'=>'Antarctica/Rothera'}, {'value'=>'Antarctica/South_Pole'}, {'value'=>'Antarctica/Syowa'}, {'value'=>'Antarctica/Vostok'}, {'value'=>'Arctic/Longyearbyen'}, {'value'=>'Asia/Aden'}, {'value'=>'Asia/Almaty'}, {'value'=>'Asia/Amman'}, {'value'=>'Asia/Anadyr'}, {'value'=>'Asia/Aqtau'}, {'value'=>'Asia/Aqtobe'}, {'value'=>'Asia/Ashgabat'}, {'value'=>'Asia/Ashkhabad'}, {'value'=>'Asia/Baghdad'}, {'value'=>'Asia/Bahrain'}, {'value'=>'Asia/Baku'}, {'value'=>'Asia/Bangkok'}, {'value'=>'Asia/Beirut'}, {'value'=>'Asia/Bishkek'}, {'value'=>'Asia/Brunei'}, {'value'=>'Asia/Calcutta'}, {'value'=>'Asia/Choibalsan'}, {'value'=>'Asia/Chongqing'}, {'value'=>'Asia/Chungking'}, {'value'=>'Asia/Colombo'}, {'value'=>'Asia/Dacca'}, {'value'=>'Asia/Damascus'}, {'value'=>'Asia/Dhaka'}, {'value'=>'Asia/Dili'}, {'value'=>'Asia/Dubai'}, {'value'=>'Asia/Dushanbe'}, {'value'=>'Asia/Gaza'}, {'value'=>'Asia/Harbin'}, {'value'=>'Asia/Ho_Chi_Minh'}, {'value'=>'Asia/Hong_Kong'}, {'value'=>'Asia/Hovd'}, {'value'=>'Asia/Irkutsk'}, {'value'=>'Asia/Istanbul'}, {'value'=>'Asia/Jakarta'}, {'value'=>'Asia/Jayapura'}, {'value'=>'Asia/Jerusalem'}, {'value'=>'Asia/Kabul'}, {'value'=>'Asia/Kamchatka'}, {'value'=>'Asia/Karachi'}, {'value'=>'Asia/Kashgar'}, {'value'=>'Asia/Kathmandu'}, {'value'=>'Asia/Katmandu'}, {'value'=>'Asia/Kolkata'}, {'value'=>'Asia/Krasnoyarsk'}, {'value'=>'Asia/Kuala_Lumpur'}, {'value'=>'Asia/Kuching'}, {'value'=>'Asia/Kuwait'}, {'value'=>'Asia/Macao'}, {'value'=>'Asia/Macau'}, {'value'=>'Asia/Magadan'}, {'value'=>'Asia/Makassar'}, {'value'=>'Asia/Manila'}, {'value'=>'Asia/Muscat'}, {'value'=>'Asia/Nicosia'}, {'value'=>'Asia/Novokuznetsk'}, {'value'=>'Asia/Novosibirsk'}, {'value'=>'Asia/Omsk'}, {'value'=>'Asia/Oral'}, {'value'=>'Asia/Phnom_Penh'}, {'value'=>'Asia/Pontianak'}, {'value'=>'Asia/Pyongyang'}, {'value'=>'Asia/Qatar'}, {'value'=>'Asia/Qyzylorda'}, {'value'=>'Asia/Rangoon'}, {'value'=>'Asia/Riyadh'}, {'value'=>'Asia/Riyadh87'}, {'value'=>'Asia/Riyadh88'}, {'value'=>'Asia/Riyadh89'}, {'value'=>'Asia/Saigon'}, {'value'=>'Asia/Sakhalin'}, {'value'=>'Asia/Samarkand'}, {'value'=>'Asia/Seoul'}, {'value'=>'Asia/Shanghai'}, {'value'=>'Asia/Singapore'}, {'value'=>'Asia/Taipei'}, {'value'=>'Asia/Tashkent'}, {'value'=>'Asia/Tbilisi'}, {'value'=>'Asia/Tehran'}, {'value'=>'Asia/Tel_Aviv'}, {'value'=>'Asia/Thimbu'}, {'value'=>'Asia/Thimphu'}, {'value'=>'Asia/Tokyo'}, {'value'=>'Asia/Ujung_Pandang'}, {'value'=>'Asia/Ulaanbaatar'}, {'value'=>'Asia/Ulan_Bator'}, {'value'=>'Asia/Urumqi'}, {'value'=>'Asia/Vientiane'}, {'value'=>'Asia/Vladivostok'}, {'value'=>'Asia/Yakutsk'}, {'value'=>'Asia/Yekaterinburg'}, {'value'=>'Asia/Yerevan'}, {'value'=>'Atlantic/Azores'}, {'value'=>'Atlantic/Bermuda'}, {'value'=>'Atlantic/Canary'}, {'value'=>'Atlantic/Cape_Verde'}, {'value'=>'Atlantic/Faeroe'}, {'value'=>'Atlantic/Faroe'}, {'value'=>'Atlantic/Jan_Mayen'}, {'value'=>'Atlantic/Madeira'}, {'value'=>'Atlantic/Reykjavik'}, {'value'=>'Atlantic/South_Georgia'}, {'value'=>'Atlantic/Stanley'}, {'value'=>'Atlantic/St_Helena'}, {'value'=>'Australia/ACT'}, {'value'=>'Australia/Adelaide'}, {'value'=>'Australia/Brisbane'}, {'value'=>'Australia/Broken_Hill'}, {'value'=>'Australia/Canberra'}, {'value'=>'Australia/Currie'}, {'value'=>'Australia/Darwin'}, {'value'=>'Australia/Eucla'}, {'value'=>'Australia/Hobart'}, {'value'=>'Australia/LHI'}, {'value'=>'Australia/Lindeman'}, {'value'=>'Australia/Lord_Howe'}, {'value'=>'Australia/Melbourne'}, {'value'=>'Australia/North'}, {'value'=>'Australia/NSW'}, {'value'=>'Australia/Perth'}, {'value'=>'Australia/Queensland'}, {'value'=>'Australia/South'}, {'value'=>'Australia/Sydney'}, {'value'=>'Australia/Tasmania'}, {'value'=>'Australia/Victoria'}, {'value'=>'Australia/West'}, {'value'=>'Australia/Yancowinna'}, {'value'=>'Brazil/Acre'}, {'value'=>'Brazil/DeNoronha'}, {'value'=>'Brazil/East'}, {'value'=>'Brazil/West'}, {'value'=>'Canada/Atlantic'}, {'value'=>'Canada/Central'}, {'value'=>'Canada/Eastern'}, {'value'=>'Canada/East-Saskatchewan'}, {'value'=>'Canada/Mountain'}, {'value'=>'Canada/Newfoundland'}, {'value'=>'Canada/Pacific'}, {'value'=>'Canada/Saskatchewan'}, {'value'=>'Canada/Yukon'}, {'value'=>'CET'}, {'value'=>'Chile/Continental'}, {'value'=>'Chile/EasterIsland'}, {'value'=>'CST6CDT'}, {'value'=>'Cuba'}, {'value'=>'EET'}, {'value'=>'Egypt'}, {'value'=>'Eire'}, {'value'=>'EST'}, {'value'=>'EST5EDT'}, {'value'=>'Etc/GMT'}, {'value'=>'Etc/GMT0'}, {'value'=>'Etc/GMT-0'}, {'value'=>'Etc/GMT+0'}, {'value'=>'Etc/GMT-1'}, {'value'=>'Etc/GMT+1'}, {'value'=>'Etc/GMT-10'}, {'value'=>'Etc/GMT+10'}, {'value'=>'Etc/GMT-11'}, {'value'=>'Etc/GMT+11'}, {'value'=>'Etc/GMT-12'}, {'value'=>'Etc/GMT+12'}, {'value'=>'Etc/GMT-13'}, {'value'=>'Etc/GMT-14'}, {'value'=>'Etc/GMT-2'}, {'value'=>'Etc/GMT+2'}, {'value'=>'Etc/GMT-3'}, {'value'=>'Etc/GMT+3'}, {'value'=>'Etc/GMT-4'}, {'value'=>'Etc/GMT+4'}, {'value'=>'Etc/GMT-5'}, {'value'=>'Etc/GMT+5'}, {'value'=>'Etc/GMT-6'}, {'value'=>'Etc/GMT+6'}, {'value'=>'Etc/GMT-7'}, {'value'=>'Etc/GMT+7'}, {'value'=>'Etc/GMT-8'}, {'value'=>'Etc/GMT+8'}, {'value'=>'Etc/GMT-9'}, {'value'=>'Etc/GMT+9'}, {'value'=>'Etc/Greenwich'}, {'value'=>'Etc/UCT'}, {'value'=>'Etc/Universal'}, {'value'=>'Etc/UTC'}, {'value'=>'Etc/Zulu'}, {'value'=>'Europe/Amsterdam'}, {'value'=>'Europe/Andorra'}, {'value'=>'Europe/Athens'}, {'value'=>'Europe/Belfast'}, {'value'=>'Europe/Belgrade'}, {'value'=>'Europe/Berlin'}, {'value'=>'Europe/Bratislava'}, {'value'=>'Europe/Brussels'}, {'value'=>'Europe/Bucharest'}, {'value'=>'Europe/Budapest'}, {'value'=>'Europe/Chisinau'}, {'value'=>'Europe/Copenhagen'}, {'value'=>'Europe/Dublin'}, {'value'=>'Europe/Gibraltar'}, {'value'=>'Europe/Guernsey'}, {'value'=>'Europe/Helsinki'}, {'value'=>'Europe/Isle_of_Man'}, {'value'=>'Europe/Istanbul'}, {'value'=>'Europe/Jersey'}, {'value'=>'Europe/Kaliningrad'}, {'value'=>'Europe/Kiev'}, {'value'=>'Europe/Lisbon'}, {'value'=>'Europe/Ljubljana'}, {'value'=>'Europe/London'}, {'value'=>'Europe/Luxembourg'}, {'value'=>'Europe/Madrid'}, {'value'=>'Europe/Malta'}, {'value'=>'Europe/Mariehamn'}, {'value'=>'Europe/Minsk'}, {'value'=>'Europe/Monaco'}, {'value'=>'Europe/Moscow'}, {'value'=>'Europe/Nicosia'}, {'value'=>'Europe/Oslo'}, {'value'=>'Europe/Paris'}, {'value'=>'Europe/Podgorica'}, {'value'=>'Europe/Prague'}, {'value'=>'Europe/Riga'}, {'value'=>'Europe/Rome'}, {'value'=>'Europe/Samara'}, {'value'=>'Europe/San_Marino'}, {'value'=>'Europe/Sarajevo'}, {'value'=>'Europe/Simferopol'}, {'value'=>'Europe/Skopje'}, {'value'=>'Europe/Sofia'}, {'value'=>'Europe/Stockholm'}, {'value'=>'Europe/Tallinn'}, {'value'=>'Europe/Tirane'}, {'value'=>'Europe/Tiraspol'}, {'value'=>'Europe/Uzhgorod'}, {'value'=>'Europe/Vaduz'}, {'value'=>'Europe/Vatican'}, {'value'=>'Europe/Vienna'}, {'value'=>'Europe/Vilnius'}, {'value'=>'Europe/Volgograd'}, {'value'=>'Europe/Warsaw'}, {'value'=>'Europe/Zagreb'}, {'value'=>'Europe/Zaporozhye'}, {'value'=>'Europe/Zurich'}, {'value'=>'Factory'}, {'value'=>'GB'}, {'value'=>'GB-Eire'}, {'value'=>'GMT'}, {'value'=>'GMT0'}, {'value'=>'GMT-0'}, {'value'=>'GMT+0'}, {'value'=>'Greenwich'}, {'value'=>'Hongkong'}, {'value'=>'HST'}, {'value'=>'Iceland'}, {'value'=>'Indian/Antananarivo'}, {'value'=>'Indian/Chagos'}, {'value'=>'Indian/Christmas'}, {'value'=>'Indian/Cocos'}, {'value'=>'Indian/Comoro'}, {'value'=>'Indian/Kerguelen'}, {'value'=>'Indian/Mahe'}, {'value'=>'Indian/Maldives'}, {'value'=>'Indian/Mauritius'}, {'value'=>'Indian/Mayotte'}, {'value'=>'Indian/Reunion'}, {'value'=>'Iran'}, {'value'=>'Israel'}, {'value'=>'Jamaica'}, {'value'=>'Japan'}, {'value'=>'Kwajalein'}, {'value'=>'Libya'}, {'value'=>'MET'}, {'value'=>'Mexico/BajaNorte'}, {'value'=>'Mexico/BajaSur'}, {'value'=>'Mexico/General'}, {'value'=>'Mideast/Riyadh87'}, {'value'=>'Mideast/Riyadh88'}, {'value'=>'Mideast/Riyadh89'}, {'value'=>'MST'}, {'value'=>'MST7MDT'}, {'value'=>'Navajo'}, {'value'=>'NZ'}, {'value'=>'NZ-CHAT'}, {'value'=>'Pacific/Apia'}, {'value'=>'Pacific/Auckland'}, {'value'=>'Pacific/Chatham'}, {'value'=>'Pacific/Easter'}, {'value'=>'Pacific/Efate'}, {'value'=>'Pacific/Enderbury'}, {'value'=>'Pacific/Fakaofo'}, {'value'=>'Pacific/Fiji'}, {'value'=>'Pacific/Funafuti'}, {'value'=>'Pacific/Galapagos'}, {'value'=>'Pacific/Gambier'}, {'value'=>'Pacific/Guadalcanal'}, {'value'=>'Pacific/Guam'}, {'value'=>'Pacific/Honolulu'}, {'value'=>'Pacific/Johnston'}, {'value'=>'Pacific/Kiritimati'}, {'value'=>'Pacific/Kosrae'}, {'value'=>'Pacific/Kwajalein'}, {'value'=>'Pacific/Majuro'}, {'value'=>'Pacific/Marquesas'}, {'value'=>'Pacific/Midway'}, {'value'=>'Pacific/Nauru'}, {'value'=>'Pacific/Niue'}, {'value'=>'Pacific/Norfolk'}, {'value'=>'Pacific/Noumea'}, {'value'=>'Pacific/Pago_Pago'}, {'value'=>'Pacific/Palau'}, {'value'=>'Pacific/Pitcairn'}, {'value'=>'Pacific/Ponape'}, {'value'=>'Pacific/Port_Moresby'}, {'value'=>'Pacific/Rarotonga'}, {'value'=>'Pacific/Saipan'}, {'value'=>'Pacific/Samoa'}, {'value'=>'Pacific/Tahiti'}, {'value'=>'Pacific/Tarawa'}, {'value'=>'Pacific/Tongatapu'}, {'value'=>'Pacific/Truk'}, {'value'=>'Pacific/Wake'}, {'value'=>'Pacific/Wallis'}, {'value'=>'Pacific/Yap'}, {'value'=>'Poland'}, {'value'=>'Portugal'}, {'value'=>'PRC'}, {'value'=>'PST8PDT'}, {'value'=>'ROC'}, {'value'=>'ROK'}, {'value'=>'Singapore'}, {'value'=>'Turkey'}, {'value'=>'UCT'}, {'value'=>'Universal'}, {'value'=>'US/Alaska'}, {'value'=>'US/Aleutian'}, {'value'=>'US/Arizona'}, {'value'=>'US/Central'}, {'value'=>'US/Eastern'}, {'value'=>'US/East-Indiana'}, {'value'=>'US/Hawaii'}, {'value'=>'US/Indiana-Starke'}, {'value'=>'US/Michigan'}, {'value'=>'US/Mountain'}, {'value'=>'US/Pacific'}, {'value'=>'US/Samoa'}, {'value'=>'UTC'}, {'value'=>'WET'}, {'value'=>'W-SU'}, {'value'=>'Zulu'}]}} def login_banner prop_get('login-banner') end def login_banner=(val) prop_set('login-banner', val) end # Force Admins to Acknowledge Login Banner def ack_login_banner prop_get('ack-login-banner') end # Force Admins to Acknowledge Login Banner def ack_login_banner=(val) prop_set('ack-login-banner', val) end def hostname prop_get('hostname') end def hostname=(val) prop_set('hostname', val) end def domain prop_get('domain') end def domain=(val) prop_set('domain', val) end # TLS mode for web server def tls_mode prop_get('tls-mode') end # TLS mode for web server def tls_mode=(val) prop_set('tls-mode', val) end # TLS certificate for web server in TLSv1.3 and mixed mode def certificate prop_get('certificate') end # TLS certificate for web server in TLSv1.3 and mixed mode def certificate=(val) prop_set('certificate', val) end # Speed and duplex for the management interface def speed_duplex prop_get('speed-duplex') end # Speed and duplex for the management interface def speed_duplex=(val) prop_set('speed-duplex', val) end # Maximum Transmission Unit for the management interface def mtu prop_get('mtu') end # Maximum Transmission Unit for the management interface def mtu=(val) prop_set('mtu', val) end # IP address for the management interface def ip_address prop_get('ip-address') end # IP address for the management interface def ip_address=(val) prop_set('ip-address', val) end # IP netmask for the management interface def netmask prop_get('netmask') end # IP netmask for the management interface def netmask=(val) prop_set('netmask', val) end # Default gateway def default_gateway prop_get('default-gateway') end # Default gateway def default_gateway=(val) prop_set('default-gateway', val) end # IPv6 address for the management interface def ipv6_address prop_get('ipv6-address') end # IPv6 address for the management interface def ipv6_address=(val) prop_set('ipv6-address', val) end # IPv6 Default gateway def ipv6_default_gateway prop_get('ipv6-default-gateway') end # IPv6 Default gateway def ipv6_default_gateway=(val) prop_set('ipv6-default-gateway', val) end # Authentication profile to use for non-local admins. Only RADIUS, TACACS+ and SAML methods are supported. def authentication_profile prop_get('authentication-profile') end # Authentication profile to use for non-local admins. Only RADIUS, TACACS+ and SAML methods are supported. def authentication_profile=(val) prop_set('authentication-profile', val) end # Authentication profile to use for non-local admins. Only RADIUS, TACACS+ are supported. def non_ui_authentication_profile prop_get('non-ui-authentication-profile') end # Authentication profile to use for non-local admins. Only RADIUS, TACACS+ are supported. def non_ui_authentication_profile=(val) prop_set('non-ui-authentication-profile', val) end # profile for verifying client certificates def certificate_profile prop_get('certificate-profile') end # profile for verifying client certificates def certificate_profile=(val) prop_set('certificate-profile', val) end # client certificate for syslog def syslog_certificate prop_get('syslog-certificate') end # client certificate for syslog def syslog_certificate=(val) prop_set('syslog-certificate', val) end # SSL TLS service profile def ssl_tls_service_profile prop_get('ssl-tls-service-profile') end # SSL TLS service profile def ssl_tls_service_profile=(val) prop_set('ssl-tls-service-profile', val) end # Minimal seconds for periodic FQDN refresh def fqdn_refresh_time prop_get('fqdn-refresh-time') end # Minimal seconds for periodic FQDN refresh def fqdn_refresh_time=(val) prop_set('fqdn-refresh-time', val) end # Minutes for FQDN stale entry def fqdn_stale_entry_timeout prop_get('fqdn-stale-entry-timeout') end # Minutes for FQDN stale entry def fqdn_stale_entry_timeout=(val) prop_set('fqdn-stale-entry-timeout', val) end # PaloAlto Networks update server def update_server prop_get('update-server') end # PaloAlto Networks update server def update_server=(val) prop_set('update-server', val) end # Verify update server identity def server_verification prop_get('server-verification') end # Verify update server identity def server_verification=(val) prop_set('server-verification', val) end # Secure Proxy server to use def secure_proxy_server prop_get('secure-proxy-server') end # Secure Proxy server to use def secure_proxy_server=(val) prop_set('secure-proxy-server', val) end # Port for secure proxy server def secure_proxy_port prop_get('secure-proxy-port') end # Port for secure proxy server def secure_proxy_port=(val) prop_set('secure-proxy-port', val) end # Secure Proxy user name to use def secure_proxy_user prop_get('secure-proxy-user') end # Secure Proxy user name to use def secure_proxy_user=(val) prop_set('secure-proxy-user', val) end # Secure Proxy password to use def secure_proxy_password prop_get('secure-proxy-password') end # Secure Proxy password to use def secure_proxy_password=(val) prop_set('secure-proxy-password', val) end # Enable proxy access to CDL def lcaas_use_proxy prop_get('lcaas-use-proxy') end # Enable proxy access to CDL def lcaas_use_proxy=(val) prop_set('lcaas-use-proxy', val) end # Automatically renew master key lifetime when it expires. Extended time in hours. 0 means disable auto-renew lifetime. def auto_renew_mkey_lifetime prop_get('auto-renew-mkey-lifetime') end # Automatically renew master key lifetime when it expires. Extended time in hours. 0 means disable auto-renew lifetime. def auto_renew_mkey_lifetime=(val) prop_set('auto-renew-mkey-lifetime', val) end # system default locale def locale prop_get('locale') end # system default locale def locale=(val) prop_set('locale', val) end def domain_lookup_url prop_get('domain-lookup-url') end def domain_lookup_url=(val) prop_set('domain-lookup-url', val) end def ip_address_lookup_url prop_get('ip-address-lookup-url') end def ip_address_lookup_url=(val) prop_set('ip-address-lookup-url', val) end def timezone prop_get('timezone') end def timezone=(val) prop_set('timezone', val) end end def system @subclasses['system'] ||= System.new(parent_instance: self, client: @client, create_children: @create_children) end class Setting < ConfigClass def has_multiple_values?; false; end def _section :setting end class Nat < ConfigClass def has_multiple_values?; false; end def _section :nat end @props = {'reserve-ip'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'reserve translated IP for specified time'}, 'reserve-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'604800', 'default'=>'120', 'help-string'=>'reserve time value in seconds'}, 'dipp-oversub'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-string'=>'DIPP oversubscription ratio', 'enum'=>[{'value'=>'1x', 'help-string'=>'No oversubscription'}, {'value'=>'2x', 'help-string'=>'2 times oversubscription'}, {'value'=>'4x', 'help-string'=>'4 times oversubscription'}, {'value'=>'8x', 'help-string'=>'8 times oversubscription'}]}} # reserve translated IP for specified time def reserve_ip prop_get('reserve-ip') end # reserve translated IP for specified time def reserve_ip=(val) prop_set('reserve-ip', val) end # reserve time value in seconds def reserve_time prop_get('reserve-time') end # reserve time value in seconds def reserve_time=(val) prop_set('reserve-time', val) end # DIPP oversubscription ratio def dipp_oversub prop_get('dipp-oversub') end # DIPP oversubscription ratio def dipp_oversub=(val) prop_set('dipp-oversub', val) end end def nat @subclasses['nat'] ||= Nat.new(parent_instance: self, client: @client, create_children: @create_children) end class JumboFrame < ConfigClass def has_multiple_values?; false; end def _section :'jumbo-frame' end @props = {'mtu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'9192', 'min'=>'512', 'max'=>'9216', 'help-string'=>'device MTU excluding Ethernet header'}} # device MTU excluding Ethernet header def mtu prop_get('mtu') end # device MTU excluding Ethernet header def mtu=(val) prop_set('mtu', val) end end def jumbo_frame @subclasses['jumbo-frame'] ||= JumboFrame.new(parent_instance: self, client: @client, create_children: @create_children) end class Icmpv6RateLimit < ConfigClass def has_multiple_values?; false; end def _section :'icmpv6-rate-limit' end @props = {'bucket-size'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'100', 'min'=>'10', 'max'=>'65535', 'help-string'=>'token-bucket size for ICMPv6 error rate limiting'}, 'packet-rate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'100', 'min'=>'1', 'max'=>'65535', 'help-string'=>'ICMPv6 error packet limit per second'}} # token-bucket size for ICMPv6 error rate limiting def bucket_size prop_get('bucket-size') end # token-bucket size for ICMPv6 error rate limiting def bucket_size=(val) prop_set('bucket-size', val) end # ICMPv6 error packet limit per second def packet_rate prop_get('packet-rate') end # ICMPv6 error packet limit per second def packet_rate=(val) prop_set('packet-rate', val) end end def icmpv6_rate_limit @subclasses['icmpv6-rate-limit'] ||= Icmpv6RateLimit.new(parent_instance: self, client: @client, create_children: @create_children) end class Nat64 < ConfigClass def has_multiple_values?; false; end def _section :nat64 end @props = {'ipv6-min-network-mtu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1280', 'max'=>'9216', 'default'=>'1280', 'help-string'=>'NAT64 minimum IPv6 MTU in the network'}} # NAT64 minimum IPv6 MTU in the network def ipv6_min_network_mtu prop_get('ipv6-min-network-mtu') end # NAT64 minimum IPv6 MTU in the network def ipv6_min_network_mtu=(val) prop_set('ipv6-min-network-mtu', val) end end def nat64 @subclasses['nat64'] ||= Nat64.new(parent_instance: self, client: @client, create_children: @create_children) end class Packet < ConfigClass def has_multiple_values?; false; end def _section :packet end @props = {'ip-frag-limit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'enable/disable ip frag packet limit'}} # enable/disable ip frag packet limit def ip_frag_limit prop_get('ip-frag-limit') end # enable/disable ip frag packet limit def ip_frag_limit=(val) prop_set('ip-frag-limit', val) end end def packet @subclasses['packet'] ||= Packet.new(parent_instance: self, client: @client, create_children: @create_children) end class Util < ConfigClass def has_multiple_values?; false; end def _section :util end @props = {'assert-crash-once'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable/disable assert crash only one'}} # enable/disable assert crash only one def assert_crash_once prop_get('assert-crash-once') end # enable/disable assert crash only one def assert_crash_once=(val) prop_set('assert-crash-once', val) end end def util @subclasses['util'] ||= Util.new(parent_instance: self, client: @client, create_children: @create_children) end class PanUrlDb < ConfigClass def has_multiple_values?; false; end def _section :'pan-url-db' end @props = {'cloud-static-list'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'1023', 'help-string'=>'Cloud list separated by commas'}, 'timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'300', 'min'=>'1', 'max'=>'300', 'help-string'=>'Timeout for request to cloud'}} # Cloud list separated by commas def cloud_static_list prop_get('cloud-static-list') end # Cloud list separated by commas def cloud_static_list=(val) prop_set('cloud-static-list', val) end # Timeout for request to cloud def timeout prop_get('timeout') end # Timeout for request to cloud def timeout=(val) prop_set('timeout', val) end end def pan_url_db @subclasses['pan-url-db'] ||= PanUrlDb.new(parent_instance: self, client: @client, create_children: @create_children) end class Hawkeye < ConfigClass def has_multiple_values?; false; end def _section :hawkeye end @props = {'public-cloud-server'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^([$a-zA-Z0-9./_-])+$', 'default'=>'hawkeye.services-edge.paloaltonetworks.com', 'maxlen'=>'1023', 'help-string'=>'Hawkeye FQDN/Server. Default hawkeye.services-edge.paloaltonetworks.com'}} # Hawkeye FQDN/Server. Default hawkeye.services-edge.paloaltonetworks.com def public_cloud_server prop_get('public-cloud-server') end # Hawkeye FQDN/Server. Default hawkeye.services-edge.paloaltonetworks.com def public_cloud_server=(val) prop_set('public-cloud-server', val) end end def hawkeye @subclasses['hawkeye'] ||= Hawkeye.new(parent_instance: self, client: @client, create_children: @create_children) end class GlobalProtect < ConfigClass def has_multiple_values?; false; end def _section :'global-protect' end @props = {'timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'30', 'min'=>'3', 'max'=>'150', 'help-string'=>'timeout in seconds for global-protect gateways'}, 'enable-external-gateway-priority'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'enable external gateway priority by source location for best gateway selection'}, 'location'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'100', 'help-string'=>'location for portal/gateway with max length 100'}, 'tasks'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'1000', 'min'=>'10', 'max'=>'100000', 'help-string'=>'number of task threads for GlobalProtect server; default 1000'}, 'auth-requests'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'4096', 'min'=>'1024', 'max'=>'8192', 'help-string'=>'number of concurrent requests to authentication daemon; default 4096'}} # timeout in seconds for global-protect gateways def timeout prop_get('timeout') end # timeout in seconds for global-protect gateways def timeout=(val) prop_set('timeout', val) end # enable external gateway priority by source location for best gateway selection def enable_external_gateway_priority prop_get('enable-external-gateway-priority') end # enable external gateway priority by source location for best gateway selection def enable_external_gateway_priority=(val) prop_set('enable-external-gateway-priority', val) end # location for portal/gateway with max length 100 def location prop_get('location') end # location for portal/gateway with max length 100 def location=(val) prop_set('location', val) end # number of task threads for GlobalProtect server; default 1000 def tasks prop_get('tasks') end # number of task threads for GlobalProtect server; default 1000 def tasks=(val) prop_set('tasks', val) end # number of concurrent requests to authentication daemon; default 4096 def auth_requests prop_get('auth-requests') end # number of concurrent requests to authentication daemon; default 4096 def auth_requests=(val) prop_set('auth-requests', val) end end def global_protect @subclasses['global-protect'] ||= GlobalProtect.new(parent_instance: self, client: @client, create_children: @create_children) end class L3Service < ConfigClass def has_multiple_values?; false; end def _section :'l3-service' end @props = {'timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'30', 'min'=>'3', 'max'=>'125', 'help-string'=>'timeout in seconds for l3 services'}} # timeout in seconds for l3 services def timeout prop_get('timeout') end # timeout in seconds for l3 services def timeout=(val) prop_set('timeout', val) end end def l3_service @subclasses['l3-service'] ||= L3Service.new(parent_instance: self, client: @client, create_children: @create_children) end class CaptivePortal < ConfigClass def has_multiple_values?; false; end def _section :'captive-portal' end @props = {'number-workers'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'2', 'min'=>'2', 'max'=>'12', 'help-string'=>'number of captive-portal workers'}, 'disable-token'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'disable token caculation when do captive-portal'}} # number of captive-portal workers def number_workers prop_get('number-workers') end # number of captive-portal workers def number_workers=(val) prop_set('number-workers', val) end # disable token caculation when do captive-portal def disable_token prop_get('disable-token') end # disable token caculation when do captive-portal def disable_token=(val) prop_set('disable-token', val) end end def captive_portal @subclasses['captive-portal'] ||= CaptivePortal.new(parent_instance: self, client: @client, create_children: @create_children) end class Application < ConfigClass def has_multiple_values?; false; end def _section :application end class Traceroute < ConfigClass def has_multiple_values?; false; end def _section :traceroute end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'enable/disable application identification for traceroute'}, 'ttl-threshold'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255', 'default'=>'30', 'help-string'=>'set the TTL threshold value for traceroute identification'}} # enable/disable application identification for traceroute def enable prop_get('enable') end # enable/disable application identification for traceroute def enable=(val) prop_set('enable', val) end # set the TTL threshold value for traceroute identification def ttl_threshold prop_get('ttl-threshold') end # set the TTL threshold value for traceroute identification def ttl_threshold=(val) prop_set('ttl-threshold', val) end end def traceroute @subclasses['traceroute'] ||= Traceroute.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'identify-unknown-traffic-by-port'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'set if unknown traffic should be identified by source or destination port'}, 'dump-unknown'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'on', 'help-string'=>'set if unknown application capture should be enabled', 'enum'=>[{'value'=>'on', 'help-string'=>'Turn on unknown application dump'}, {'value'=>'off', 'help-string'=>'Turn off unknown application dump'}]}, 'cache'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'set if application cache should be enabled'}, 'use-cache-for-identification'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set to use the App-ID cache result for identification'}, 'cache-threshold'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'16', 'min'=>'1', 'max'=>'65535', 'help-string'=>'set application cache threshold'}, 'supernode'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'set if supernode detection should be enabled'}, 'heuristics'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'set if heuristics detection should be enabled'}, 'notify-user'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'set if user should be notified when web-application is blocked'}, 'bypass-exceed-queue'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'whether to skip inspection of session if queue limit is exceeded'}} # set if unknown traffic should be identified by source or destination port def identify_unknown_traffic_by_port prop_get('identify-unknown-traffic-by-port') end # set if unknown traffic should be identified by source or destination port def identify_unknown_traffic_by_port=(val) prop_set('identify-unknown-traffic-by-port', val) end # set if unknown application capture should be enabled def dump_unknown prop_get('dump-unknown') end # set if unknown application capture should be enabled def dump_unknown=(val) prop_set('dump-unknown', val) end # set if application cache should be enabled def cache prop_get('cache') end # set if application cache should be enabled def cache=(val) prop_set('cache', val) end # Set to use the App-ID cache result for identification def use_cache_for_identification prop_get('use-cache-for-identification') end # Set to use the App-ID cache result for identification def use_cache_for_identification=(val) prop_set('use-cache-for-identification', val) end # set application cache threshold def cache_threshold prop_get('cache-threshold') end # set application cache threshold def cache_threshold=(val) prop_set('cache-threshold', val) end # set if supernode detection should be enabled def supernode prop_get('supernode') end # set if supernode detection should be enabled def supernode=(val) prop_set('supernode', val) end # set if heuristics detection should be enabled def heuristics prop_get('heuristics') end # set if heuristics detection should be enabled def heuristics=(val) prop_set('heuristics', val) end # set if user should be notified when web-application is blocked def notify_user prop_get('notify-user') end # set if user should be notified when web-application is blocked def notify_user=(val) prop_set('notify-user', val) end # whether to skip inspection of session if queue limit is exceeded def bypass_exceed_queue prop_get('bypass-exceed-queue') end # whether to skip inspection of session if queue limit is exceeded def bypass_exceed_queue=(val) prop_set('bypass-exceed-queue', val) end end def application @subclasses['application'] ||= Application.new(parent_instance: self, client: @client, create_children: @create_children) end class Autofocus < ConfigClass def has_multiple_values?; false; end def _section :autofocus end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable AutoFocus service'}, 'autofocus-url'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'1024', 'default'=>'https://autofocus.paloaltonetworks.com:10443', 'help-string'=>'URL for AutoFocus server'}, 'query-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'15', 'max'=>'3600', 'default'=>'15', 'help-string'=>'Query time out in seconds'}} # Enable AutoFocus service def enabled prop_get('enabled') end # Enable AutoFocus service def enabled=(val) prop_set('enabled', val) end # URL for AutoFocus server def autofocus_url prop_get('autofocus-url') end # URL for AutoFocus server def autofocus_url=(val) prop_set('autofocus-url', val) end # Query time out in seconds def query_timeout prop_get('query-timeout') end # Query time out in seconds def query_timeout=(val) prop_set('query-timeout', val) end end def autofocus @subclasses['autofocus'] ||= Autofocus.new(parent_instance: self, client: @client, create_children: @create_children) end class Wildfire < ConfigClass def has_multiple_values?; false; end def _section :wildfire end class FileSizeLimit < XML::ConfigClass def has_multiple_values?; true; end def _section :'file-size-limit' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'file type'}, 'size-limit'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'file size limit', 'complete-handler'=>'wf-file-size-limit-completer'}} # file type def name prop_get('@name') end # file size limit def size_limit prop_get('size-limit') end # file size limit def size_limit=(val) prop_set('size-limit', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def file_size_limit maybe_register_subclass('file-size-limit', FileSizeLimit.new(parent_instance: self, client: @client, create_children: @create_children)) end class SessionInfoSelect < ConfigClass def has_multiple_values?; false; end def _section :'session-info-select' end @props = {'exclude-src-ip'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'exclude source IP address'}, 'exclude-src-port'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'exclude source port'}, 'exclude-dest-ip'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'exclude destination IP address'}, 'exclude-dest-port'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'exclude destination port'}, 'exclude-vsys-id'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'exclude vsys id'}, 'exclude-app-name'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'exclude application name'}, 'exclude-username'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'exclude user name'}, 'exclude-url'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'exclude url'}, 'exclude-filename'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'exclude file name'}, 'exclude-email-sender'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'exclude email sender'}, 'exclude-email-recipient'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'exclude email recipient'}, 'exclude-email-subject'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'exclude email subject'}} # exclude source IP address def exclude_src_ip prop_get('exclude-src-ip') end # exclude source IP address def exclude_src_ip=(val) prop_set('exclude-src-ip', val) end # exclude source port def exclude_src_port prop_get('exclude-src-port') end # exclude source port def exclude_src_port=(val) prop_set('exclude-src-port', val) end # exclude destination IP address def exclude_dest_ip prop_get('exclude-dest-ip') end # exclude destination IP address def exclude_dest_ip=(val) prop_set('exclude-dest-ip', val) end # exclude destination port def exclude_dest_port prop_get('exclude-dest-port') end # exclude destination port def exclude_dest_port=(val) prop_set('exclude-dest-port', val) end # exclude vsys id def exclude_vsys_id prop_get('exclude-vsys-id') end # exclude vsys id def exclude_vsys_id=(val) prop_set('exclude-vsys-id', val) end # exclude application name def exclude_app_name prop_get('exclude-app-name') end # exclude application name def exclude_app_name=(val) prop_set('exclude-app-name', val) end # exclude user name def exclude_username prop_get('exclude-username') end # exclude user name def exclude_username=(val) prop_set('exclude-username', val) end # exclude url def exclude_url prop_get('exclude-url') end # exclude url def exclude_url=(val) prop_set('exclude-url', val) end # exclude file name def exclude_filename prop_get('exclude-filename') end # exclude file name def exclude_filename=(val) prop_set('exclude-filename', val) end # exclude email sender def exclude_email_sender prop_get('exclude-email-sender') end # exclude email sender def exclude_email_sender=(val) prop_set('exclude-email-sender', val) end # exclude email recipient def exclude_email_recipient prop_get('exclude-email-recipient') end # exclude email recipient def exclude_email_recipient=(val) prop_set('exclude-email-recipient', val) end # exclude email subject def exclude_email_subject prop_get('exclude-email-subject') end # exclude email subject def exclude_email_subject=(val) prop_set('exclude-email-subject', val) end end def session_info_select @subclasses['session-info-select'] ||= SessionInfoSelect.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'file-idle-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'90', 'min'=>'5', 'max'=>'180', 'help-string'=>'set file caching idle timeout (second)'}, 'file-upload-rate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'150', 'platform-max'=>'cfg.general.fb.max-fbfiles-per-min', 'help-string'=>'set max number of files uploaded per minute'}, 'public-cloud-server'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^([$a-zA-Z0-9./_-])+$', 'minlen'=>'1', 'maxlen'=>'63', 'default'=>'wildfire.paloaltonetworks.com', 'help-string'=>'IP address or hostname for cloud server. Default is wildfire.paloaltonetworks.com'}, 'private-cloud-server'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^([:/$a-zA-Z0-9./_-])+$', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'IP address or hostname for private cloud server'}, 'real-time-cloud-server'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^([a-zA-Z0-9./_-])+$', 'minlen'=>'1', 'maxlen'=>'63', 'default'=>'realtimesignatures.service.paloaltonetworks.com', 'help-string'=>'IP address or hostname. Default is realtimesignatures.service.paloaltonetworks.com'}, 'real-time-hold'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable wfrt hold mode'}, 'real-time-hold-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'1000', 'min'=>'1', 'max'=>'5000', 'help-string'=>'Maximum time to wait for wfrt av verdict in milliseconds'}, 'real-time-hold-timeout-action'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'allow', 'help-string'=>'Select action to apply when wfrt av verdict timeout is hit', 'enum'=>[{'value'=>'allow'}, {'value'=>'reset-both'}]}, 'private-cloud-use-proxy'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Use global proxy, when configured, to connect to private cloud server.'}, 'disable-signature-verify'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'disable file signature verification'}, 'report-benign-file'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'collect reports from cloud for benign files'}, 'report-grayware-file'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'collect reports from cloud for grayware files'}} # set file caching idle timeout (second) def file_idle_timeout prop_get('file-idle-timeout') end # set file caching idle timeout (second) def file_idle_timeout=(val) prop_set('file-idle-timeout', val) end # set max number of files uploaded per minute def file_upload_rate prop_get('file-upload-rate') end # set max number of files uploaded per minute def file_upload_rate=(val) prop_set('file-upload-rate', val) end # IP address or hostname for cloud server. Default is wildfire.paloaltonetworks.com def public_cloud_server prop_get('public-cloud-server') end # IP address or hostname for cloud server. Default is wildfire.paloaltonetworks.com def public_cloud_server=(val) prop_set('public-cloud-server', val) end # IP address or hostname for private cloud server def private_cloud_server prop_get('private-cloud-server') end # IP address or hostname for private cloud server def private_cloud_server=(val) prop_set('private-cloud-server', val) end # IP address or hostname. Default is realtimesignatures.service.paloaltonetworks.com def real_time_cloud_server prop_get('real-time-cloud-server') end # IP address or hostname. Default is realtimesignatures.service.paloaltonetworks.com def real_time_cloud_server=(val) prop_set('real-time-cloud-server', val) end # Enable wfrt hold mode def real_time_hold prop_get('real-time-hold') end # Enable wfrt hold mode def real_time_hold=(val) prop_set('real-time-hold', val) end # Maximum time to wait for wfrt av verdict in milliseconds def real_time_hold_timeout prop_get('real-time-hold-timeout') end # Maximum time to wait for wfrt av verdict in milliseconds def real_time_hold_timeout=(val) prop_set('real-time-hold-timeout', val) end # Select action to apply when wfrt av verdict timeout is hit def real_time_hold_timeout_action prop_get('real-time-hold-timeout-action') end # Select action to apply when wfrt av verdict timeout is hit def real_time_hold_timeout_action=(val) prop_set('real-time-hold-timeout-action', val) end # Use global proxy, when configured, to connect to private cloud server. def private_cloud_use_proxy prop_get('private-cloud-use-proxy') end # Use global proxy, when configured, to connect to private cloud server. def private_cloud_use_proxy=(val) prop_set('private-cloud-use-proxy', val) end # disable file signature verification def disable_signature_verify prop_get('disable-signature-verify') end # disable file signature verification def disable_signature_verify=(val) prop_set('disable-signature-verify', val) end # collect reports from cloud for benign files def report_benign_file prop_get('report-benign-file') end # collect reports from cloud for benign files def report_benign_file=(val) prop_set('report-benign-file', val) end # collect reports from cloud for grayware files def report_grayware_file prop_get('report-grayware-file') end # collect reports from cloud for grayware files def report_grayware_file=(val) prop_set('report-grayware-file', val) end end def wildfire @subclasses['wildfire'] ||= Wildfire.new(parent_instance: self, client: @client, create_children: @create_children) end class Ctd < ConfigClass def has_multiple_values?; false; end def _section :ctd end @props = {'x-forwarded-for'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'0', 'help-string'=>'Select parsing mode for x-forwarded-for attribute', 'enum'=>[{'value'=>'0', 'help-string'=>'Disabled'}, {'value'=>'1', 'help-string'=>'Enabled for User-ID'}, {'value'=>'2', 'help-string'=>'Enabled for Security Policy'}]}, 'strip-x-fwd-for'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'whether to strip x-forwarded-for in http header'}, 'url-coach-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'15', 'min'=>'1', 'max'=>'86400', 'help-string'=>'set url coach continue timeout(minutes)'}, 'url-admin-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'15', 'min'=>'1', 'max'=>'86400', 'help-string'=>'set url admin continue timeout(minutes)'}, 'url-lockout-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'30', 'min'=>'1', 'max'=>'86400', 'help-string'=>'set url admin override lockout timeout(minutes)'}, 'url-wait-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'2', 'min'=>'1', 'max'=>'60', 'help-string'=>'set url category query timeout(seconds)'}, 'cap-portal-ask-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'2', 'min'=>'0', 'max'=>'65535', 'help-string'=>'set captive portal rate limit timeout(seconds)'}, 'cap-portal-ask-requests'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'5', 'min'=>'1', 'max'=>'32', 'help-string'=>'set captive portal rate limit max request count'}, 'cap-portal-max-session'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'2500', 'min'=>'0', 'max'=>'8192', 'help-string'=>'set maximum captive portal sessions'}, 'cap-portal-html-redirect'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'whether to redirect with html meta header'}, 'http-proxy-use-transaction'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'whether to use transaction for stats for http proxy sessions'}, 'tcp-bypass-exceed-queue'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'whether to skip inspection of TCP session if queue limit is exceeded'}, 'udp-bypass-exceed-queue'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'whether to skip inspection of UDP session if queue limit is exceeded'}, 'allow-http-range'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'whether to allow HTTP partial response'}, 'extended-capture-segment'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'5', 'min'=>'1', 'max'=>'50', 'help-string'=>'number of segment of threat packet capture.'}, 'track-filename'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'keep on tracking filenames without considering profile'}, 'hash-signature-allow'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'whether to do hashing for virus signatures'}, 'decode-filter-max-depth'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'4', 'min'=>'1', 'max'=>'7', 'help-string'=>'set number of levels for decode filter'}, 'hold-client-request'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'whether to hold client request for URL category lookup'}, 'header-insert-cleartext-proxy'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Use cleartext proxy for HTTP header insertion'}, 'block-on-cleartext-proxy-failure'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Block session when cleartext proxy fails to start'}, 'cloud-dns-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'100', 'min'=>'0', 'max'=>'60000', 'help-string'=>'set cloud DNS signature query timeout in milliseconds'}, 'cloud-dns-privacy-mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'set cloud DNS telemetry mask source ip address'}, 'cloudapp-implicit-policy-enforce'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enforce security policy for all cloud apps when not referenced in security policy.'}, 'shm-quota-threshold'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'50', 'min'=>'50', 'max'=>'80', 'help-string'=>'Threshold for quota from other services'}, 'shared-memory-quota-dlp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'40', 'min'=>'0', 'max'=>'100', 'help-string'=>'Quota for DLP'}, 'shared-memory-quota-iot'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'20', 'min'=>'0', 'max'=>'100', 'help-string'=>'Quota for IOT'}, 'shared-memory-quota-ace'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'20', 'min'=>'0', 'max'=>'100', 'help-string'=>'Quota for ACE'}, 'shared-memory-quota-url-cat'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'20', 'min'=>'0', 'max'=>'100', 'help-string'=>'Quota for URLCAT'}, 'siptcp-cleartext-proxy'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'1', 'help-string'=>'Select Cleartext proxy mode for SIP TCP', 'enum'=>[{'value'=>'0', 'help-string'=>'Always Off'}, {'value'=>'1', 'help-string'=>'Always enabled'}, {'value'=>'2', 'help-string'=>'Automatically enable proxy when needed'}]}, 'http2-cleartext-proxy'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'whether to enable/disable cleartext proxy for HTTP/2'}} # Select parsing mode for x-forwarded-for attribute def x_forwarded_for prop_get('x-forwarded-for') end # Select parsing mode for x-forwarded-for attribute def x_forwarded_for=(val) prop_set('x-forwarded-for', val) end # whether to strip x-forwarded-for in http header def strip_x_fwd_for prop_get('strip-x-fwd-for') end # whether to strip x-forwarded-for in http header def strip_x_fwd_for=(val) prop_set('strip-x-fwd-for', val) end # set url coach continue timeout(minutes) def url_coach_timeout prop_get('url-coach-timeout') end # set url coach continue timeout(minutes) def url_coach_timeout=(val) prop_set('url-coach-timeout', val) end # set url admin continue timeout(minutes) def url_admin_timeout prop_get('url-admin-timeout') end # set url admin continue timeout(minutes) def url_admin_timeout=(val) prop_set('url-admin-timeout', val) end # set url admin override lockout timeout(minutes) def url_lockout_timeout prop_get('url-lockout-timeout') end # set url admin override lockout timeout(minutes) def url_lockout_timeout=(val) prop_set('url-lockout-timeout', val) end # set url category query timeout(seconds) def url_wait_timeout prop_get('url-wait-timeout') end # set url category query timeout(seconds) def url_wait_timeout=(val) prop_set('url-wait-timeout', val) end # set captive portal rate limit timeout(seconds) def cap_portal_ask_timeout prop_get('cap-portal-ask-timeout') end # set captive portal rate limit timeout(seconds) def cap_portal_ask_timeout=(val) prop_set('cap-portal-ask-timeout', val) end # set captive portal rate limit max request count def cap_portal_ask_requests prop_get('cap-portal-ask-requests') end # set captive portal rate limit max request count def cap_portal_ask_requests=(val) prop_set('cap-portal-ask-requests', val) end # set maximum captive portal sessions def cap_portal_max_session prop_get('cap-portal-max-session') end # set maximum captive portal sessions def cap_portal_max_session=(val) prop_set('cap-portal-max-session', val) end # whether to redirect with html meta header def cap_portal_html_redirect prop_get('cap-portal-html-redirect') end # whether to redirect with html meta header def cap_portal_html_redirect=(val) prop_set('cap-portal-html-redirect', val) end # whether to use transaction for stats for http proxy sessions def http_proxy_use_transaction prop_get('http-proxy-use-transaction') end # whether to use transaction for stats for http proxy sessions def http_proxy_use_transaction=(val) prop_set('http-proxy-use-transaction', val) end # whether to skip inspection of TCP session if queue limit is exceeded def tcp_bypass_exceed_queue prop_get('tcp-bypass-exceed-queue') end # whether to skip inspection of TCP session if queue limit is exceeded def tcp_bypass_exceed_queue=(val) prop_set('tcp-bypass-exceed-queue', val) end # whether to skip inspection of UDP session if queue limit is exceeded def udp_bypass_exceed_queue prop_get('udp-bypass-exceed-queue') end # whether to skip inspection of UDP session if queue limit is exceeded def udp_bypass_exceed_queue=(val) prop_set('udp-bypass-exceed-queue', val) end # whether to allow HTTP partial response def allow_http_range prop_get('allow-http-range') end # whether to allow HTTP partial response def allow_http_range=(val) prop_set('allow-http-range', val) end # number of segment of threat packet capture. def extended_capture_segment prop_get('extended-capture-segment') end # number of segment of threat packet capture. def extended_capture_segment=(val) prop_set('extended-capture-segment', val) end # keep on tracking filenames without considering profile def track_filename prop_get('track-filename') end # keep on tracking filenames without considering profile def track_filename=(val) prop_set('track-filename', val) end # whether to do hashing for virus signatures def hash_signature_allow prop_get('hash-signature-allow') end # whether to do hashing for virus signatures def hash_signature_allow=(val) prop_set('hash-signature-allow', val) end # set number of levels for decode filter def decode_filter_max_depth prop_get('decode-filter-max-depth') end # set number of levels for decode filter def decode_filter_max_depth=(val) prop_set('decode-filter-max-depth', val) end # whether to hold client request for URL category lookup def hold_client_request prop_get('hold-client-request') end # whether to hold client request for URL category lookup def hold_client_request=(val) prop_set('hold-client-request', val) end # Use cleartext proxy for HTTP header insertion def header_insert_cleartext_proxy prop_get('header-insert-cleartext-proxy') end # Use cleartext proxy for HTTP header insertion def header_insert_cleartext_proxy=(val) prop_set('header-insert-cleartext-proxy', val) end # Block session when cleartext proxy fails to start def block_on_cleartext_proxy_failure prop_get('block-on-cleartext-proxy-failure') end # Block session when cleartext proxy fails to start def block_on_cleartext_proxy_failure=(val) prop_set('block-on-cleartext-proxy-failure', val) end # set cloud DNS signature query timeout in milliseconds def cloud_dns_timeout prop_get('cloud-dns-timeout') end # set cloud DNS signature query timeout in milliseconds def cloud_dns_timeout=(val) prop_set('cloud-dns-timeout', val) end # set cloud DNS telemetry mask source ip address def cloud_dns_privacy_mask prop_get('cloud-dns-privacy-mask') end # set cloud DNS telemetry mask source ip address def cloud_dns_privacy_mask=(val) prop_set('cloud-dns-privacy-mask', val) end # Enforce security policy for all cloud apps when not referenced in security policy. def cloudapp_implicit_policy_enforce prop_get('cloudapp-implicit-policy-enforce') end # Enforce security policy for all cloud apps when not referenced in security policy. def cloudapp_implicit_policy_enforce=(val) prop_set('cloudapp-implicit-policy-enforce', val) end # Threshold for quota from other services def shm_quota_threshold prop_get('shm-quota-threshold') end # Threshold for quota from other services def shm_quota_threshold=(val) prop_set('shm-quota-threshold', val) end # Quota for DLP def shared_memory_quota_dlp prop_get('shared-memory-quota-dlp') end # Quota for DLP def shared_memory_quota_dlp=(val) prop_set('shared-memory-quota-dlp', val) end # Quota for IOT def shared_memory_quota_iot prop_get('shared-memory-quota-iot') end # Quota for IOT def shared_memory_quota_iot=(val) prop_set('shared-memory-quota-iot', val) end # Quota for ACE def shared_memory_quota_ace prop_get('shared-memory-quota-ace') end # Quota for ACE def shared_memory_quota_ace=(val) prop_set('shared-memory-quota-ace', val) end # Quota for URLCAT def shared_memory_quota_url_cat prop_get('shared-memory-quota-url-cat') end # Quota for URLCAT def shared_memory_quota_url_cat=(val) prop_set('shared-memory-quota-url-cat', val) end # Select Cleartext proxy mode for SIP TCP def siptcp_cleartext_proxy prop_get('siptcp-cleartext-proxy') end # Select Cleartext proxy mode for SIP TCP def siptcp_cleartext_proxy=(val) prop_set('siptcp-cleartext-proxy', val) end # whether to enable/disable cleartext proxy for HTTP/2 def http2_cleartext_proxy prop_get('http2-cleartext-proxy') end # whether to enable/disable cleartext proxy for HTTP/2 def http2_cleartext_proxy=(val) prop_set('http2-cleartext-proxy', val) end end def ctd @subclasses['ctd'] ||= Ctd.new(parent_instance: self, client: @client, create_children: @create_children) end class InlineUrlSetting < ConfigClass def has_multiple_values?; false; end def _section :'inline-url-setting' end @props = {'max-latency'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'2500', 'min'=>'1', 'max'=>'240000', 'help-string'=>'Timeout for request to cloud in millisecond. (Timeout unit would be every 100ms)'}, 'allow-on-max-latency'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Action when timeout for request to cloud reached'}, 'log-scan'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Log Traffic Not Scanned'}} # Timeout for request to cloud in millisecond. (Timeout unit would be every 100ms) def max_latency prop_get('max-latency') end # Timeout for request to cloud in millisecond. (Timeout unit would be every 100ms) def max_latency=(val) prop_set('max-latency', val) end # Action when timeout for request to cloud reached def allow_on_max_latency prop_get('allow-on-max-latency') end # Action when timeout for request to cloud reached def allow_on_max_latency=(val) prop_set('allow-on-max-latency', val) end # Log Traffic Not Scanned def log_scan prop_get('log-scan') end # Log Traffic Not Scanned def log_scan=(val) prop_set('log-scan', val) end end def inline_url_setting @subclasses['inline-url-setting'] ||= InlineUrlSetting.new(parent_instance: self, client: @client, create_children: @create_children) end class InlineSpywareSetting < ConfigClass def has_multiple_values?; false; end def _section :'inline-spyware-setting' end @props = {'max-latency'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'200', 'min'=>'1', 'max'=>'240000', 'help-string'=>'Timeout for request to cloud in millisecond. (Timeout unit would be every 100ms)'}, 'allow-on-max-latency'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Action when timeout for request to cloud reached'}, 'log-scan'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Log Traffic Not Scanned'}} # Timeout for request to cloud in millisecond. (Timeout unit would be every 100ms) def max_latency prop_get('max-latency') end # Timeout for request to cloud in millisecond. (Timeout unit would be every 100ms) def max_latency=(val) prop_set('max-latency', val) end # Action when timeout for request to cloud reached def allow_on_max_latency prop_get('allow-on-max-latency') end # Action when timeout for request to cloud reached def allow_on_max_latency=(val) prop_set('allow-on-max-latency', val) end # Log Traffic Not Scanned def log_scan prop_get('log-scan') end # Log Traffic Not Scanned def log_scan=(val) prop_set('log-scan', val) end end def inline_spyware_setting @subclasses['inline-spyware-setting'] ||= InlineSpywareSetting.new(parent_instance: self, client: @client, create_children: @create_children) end class SslDecrypt < ConfigClass def has_multiple_values?; false; end def _section :'ssl-decrypt' end @props = {'url-wait'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'set if wait for url category if not in cache'}, 'url-proxy'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'set if proxy for ssl sessions if ip\'s url category is blocked'}, 'notify-user'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'set if user notification should be enabled'}, 'answer-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'86400', 'min'=>'1', 'max'=>'86400', 'help-string'=>'set user reply timeout value in seconds'}, 'crl'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'set whether to use CRL to check certificate status'}, 'ocsp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'set whether to use OCSP to check certificate status'}, 'crl-receive-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'60', 'default'=>'5', 'help-string'=>'set CRL receive timeout value in seconds'}, 'ocsp-receive-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'60', 'default'=>'5', 'help-string'=>'set OCSP receive timeout value in seconds'}, 'cert-status-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'60', 'default'=>'5', 'help-string'=>'set cert status query timeout value in seconds'}, 'session-cache-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'10', 'max'=>'86400', 'default'=>'3600', 'help-string'=>'set session cache timeout value in seconds'}, 'tcp-use-ts'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'set whether to use TCP timestamps'}, 'zero-window-track'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'set whether to track TCP zero window condition'}, 'fwd-proxy-server-cert-key-size-rsa'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'0', 'help-string'=>'select the rsa public key size for forward proxy', 'enum'=>[{'value'=>'0', 'help-string'=>'Defined by destination host'}, {'value'=>'1024', 'help-string'=>'1024-bit RSA'}, {'value'=>'2048', 'help-string'=>'2048-bit RSA'}, {'value'=>'3072', 'help-string'=>'3072-bit RSA'}, {'value'=>'4096', 'help-string'=>'4096-bit RSA'}]}, 'fwd-proxy-server-cert-key-size-ecdsa'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'0', 'help-string'=>'select the ecdsa public key size for forward proxy', 'enum'=>[{'value'=>'0', 'help-string'=>'Defined by destination host'}, {'value'=>'256', 'help-string'=>'256-bit ECDSA'}, {'value'=>'384', 'help-string'=>'384-bit ECDSA'}]}, 'default-elliptic-curve'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'256', 'help-string'=>'default ECC curve for key exchange', 'enum'=>[{'value'=>'192', 'help-string'=>'secp192r1, aka prime192v1'}, {'value'=>'224', 'help-string'=>'secp224r1'}, {'value'=>'256', 'help-string'=>'secp256r1, aka prime256v1'}, {'value'=>'384', 'help-string'=>'secp384r1'}, {'value'=>'521', 'help-string'=>'secp521r1'}]}, 'fptcp-rwin-max'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'524288', 'max'=>'8388608', 'default'=>'524288', 'help-string'=>'Maximum TCP receive window for proxy TCP sessions in bytes'}, 'scan-handshake'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Send handshake messages to CTD for inspection'}} # set if wait for url category if not in cache def url_wait prop_get('url-wait') end # set if wait for url category if not in cache def url_wait=(val) prop_set('url-wait', val) end # set if proxy for ssl sessions if ip's url category is blocked def url_proxy prop_get('url-proxy') end # set if proxy for ssl sessions if ip's url category is blocked def url_proxy=(val) prop_set('url-proxy', val) end # set if user notification should be enabled def notify_user prop_get('notify-user') end # set if user notification should be enabled def notify_user=(val) prop_set('notify-user', val) end # set user reply timeout value in seconds def answer_timeout prop_get('answer-timeout') end # set user reply timeout value in seconds def answer_timeout=(val) prop_set('answer-timeout', val) end # set whether to use CRL to check certificate status def crl prop_get('crl') end # set whether to use CRL to check certificate status def crl=(val) prop_set('crl', val) end # set whether to use OCSP to check certificate status def ocsp prop_get('ocsp') end # set whether to use OCSP to check certificate status def ocsp=(val) prop_set('ocsp', val) end # set CRL receive timeout value in seconds def crl_receive_timeout prop_get('crl-receive-timeout') end # set CRL receive timeout value in seconds def crl_receive_timeout=(val) prop_set('crl-receive-timeout', val) end # set OCSP receive timeout value in seconds def ocsp_receive_timeout prop_get('ocsp-receive-timeout') end # set OCSP receive timeout value in seconds def ocsp_receive_timeout=(val) prop_set('ocsp-receive-timeout', val) end # set cert status query timeout value in seconds def cert_status_timeout prop_get('cert-status-timeout') end # set cert status query timeout value in seconds def cert_status_timeout=(val) prop_set('cert-status-timeout', val) end # set session cache timeout value in seconds def session_cache_timeout prop_get('session-cache-timeout') end # set session cache timeout value in seconds def session_cache_timeout=(val) prop_set('session-cache-timeout', val) end # set whether to use TCP timestamps def tcp_use_ts prop_get('tcp-use-ts') end # set whether to use TCP timestamps def tcp_use_ts=(val) prop_set('tcp-use-ts', val) end # set whether to track TCP zero window condition def zero_window_track prop_get('zero-window-track') end # set whether to track TCP zero window condition def zero_window_track=(val) prop_set('zero-window-track', val) end # select the rsa public key size for forward proxy def fwd_proxy_server_cert_key_size_rsa prop_get('fwd-proxy-server-cert-key-size-rsa') end # select the rsa public key size for forward proxy def fwd_proxy_server_cert_key_size_rsa=(val) prop_set('fwd-proxy-server-cert-key-size-rsa', val) end # select the ecdsa public key size for forward proxy def fwd_proxy_server_cert_key_size_ecdsa prop_get('fwd-proxy-server-cert-key-size-ecdsa') end # select the ecdsa public key size for forward proxy def fwd_proxy_server_cert_key_size_ecdsa=(val) prop_set('fwd-proxy-server-cert-key-size-ecdsa', val) end # default ECC curve for key exchange def default_elliptic_curve prop_get('default-elliptic-curve') end # default ECC curve for key exchange def default_elliptic_curve=(val) prop_set('default-elliptic-curve', val) end # Maximum TCP receive window for proxy TCP sessions in bytes def fptcp_rwin_max prop_get('fptcp-rwin-max') end # Maximum TCP receive window for proxy TCP sessions in bytes def fptcp_rwin_max=(val) prop_set('fptcp-rwin-max', val) end # Send handshake messages to CTD for inspection def scan_handshake prop_get('scan-handshake') end # Send handshake messages to CTD for inspection def scan_handshake=(val) prop_set('scan-handshake', val) end end def ssl_decrypt @subclasses['ssl-decrypt'] ||= SslDecrypt.new(parent_instance: self, client: @client, create_children: @create_children) end class Session < ConfigClass def has_multiple_values?; false; end def _section :session end @props = {'timeout-tcp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'3600', 'min'=>'1', 'max'=>'15999999', 'help-string'=>'set tcp timeout value in seconds'}, 'timeout-udp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'30', 'min'=>'1', 'max'=>'15999999', 'help-string'=>'set udp timeout value in seconds'}, 'timeout-icmp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'6', 'min'=>'1', 'max'=>'15999999', 'help-string'=>'set icmp timeout value in seconds'}, 'timeout-default'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'30', 'min'=>'1', 'max'=>'15999999', 'help-string'=>'set session default timeout value in seconds'}, 'timeout-tcpinit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'5', 'min'=>'1', 'max'=>'60', 'help-string'=>'set tcp initial session timeout (before SYN-ACK is received) value in seconds'}, 'timeout-tcphandshake'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'10', 'min'=>'1', 'max'=>'60', 'help-string'=>'set tcp handshake session timeout (before 3-way handshaking is completed) value in seconds'}, 'timeout-tcp-half-closed'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'120', 'min'=>'1', 'max'=>'604800', 'help-string'=>'set session tcp half close timeout (after receiving first FIN/RST) value in seconds'}, 'timeout-tcp-time-wait'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'15', 'min'=>'1', 'max'=>'600', 'help-string'=>'set session tcp time wait timeout (after receiving second FIN/RST) value in seconds'}, 'timeout-tcp-unverified-rst'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'30', 'min'=>'1', 'max'=>'600', 'help-string'=>'set session tcp timeout value after receiving a RST with unverified sequence number in seconds'}, 'timeout-captive-portal'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'30', 'min'=>'1', 'max'=>'15999999', 'help-string'=>'set captive-portal session timeout value in seconds'}, 'timeout-discard-tcp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'15999999', 'default'=>'90', 'help-string'=>'set timeout of tcp session in discard state'}, 'timeout-discard-udp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'15999999', 'default'=>'60', 'help-string'=>'set timeout of udp session in discard state'}, 'timeout-discard-default'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'15999999', 'default'=>'60', 'help-string'=>'set timeout of non-tcp/udp session in discard state'}, 'icmp-unreachable-rate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'200', 'help-string'=>'set maximum number of ICMP unreachable messages sent per second'}, 'timeout-scan'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'5', 'max'=>'30', 'default'=>'10', 'help-string'=>'application trickling timeout value in seconds'}, 'scan-threshold'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'50', 'max'=>'99', 'default'=>'80', 'help-string'=>'resource utilization threshold to trigger session scan'}, 'scan-scaling-factor'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'8', 'min'=>'2', 'max'=>'16', 'help-string'=>'set scan scaling factor'}, 'accelerated-aging-enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'enable/disable accelerated session aging'}, 'accelerated-aging-threshold'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'80', 'min'=>'50', 'max'=>'99', 'help-string'=>'set accelerated aging threshold in percentage of session utilization'}, 'accelerated-aging-scaling-factor'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'2', 'min'=>'2', 'max'=>'16', 'help-string'=>'set accelerated session aging scaling factor (power of 2)'}, 'packet-buffer-protection-enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'enable/disable packet buffer protection'}, 'packet-buffer-protection-monitor-only'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable/disable packet buffer protection monitor only mode'}, 'packet-buffer-protection-alert'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'50', 'min'=>'0', 'max'=>'99', 'help-string'=>'percentage of packet buffer utilization'}, 'packet-buffer-protection-activate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'80', 'min'=>'0', 'max'=>'99', 'help-string'=>'percentage of packet buffer utilization'}, 'packet-buffer-protection-block-countdown'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'80', 'min'=>'0', 'max'=>'99', 'help-string'=>'percentage above which the block timer is counting down'}, 'packet-buffer-protection-block-hold-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'60', 'min'=>'0', 'max'=>'65535', 'help-string'=>'time the session continues to be abusive to packet buffers'}, 'packet-buffer-protection-block-duration-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'3600', 'min'=>'1', 'max'=>'15999999', 'help-string'=>'time the session is blocked after being abusive to packet buffers'}, 'packet-buffer-protection-use-latency'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'use buffering latency to make packet buffer protection decision'}, 'packet-buffer-protection-latency-alert'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'50', 'min'=>'1', 'max'=>'20000', 'help-string'=>'buffering latency that triggers pbp alert (in milliseconds)'}, 'packet-buffer-protection-latency-activate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'200', 'min'=>'1', 'max'=>'20000', 'help-string'=>'buffering latency that triggers Random Early Drop (RED) (in milliseconds)'}, 'packet-buffer-protection-latency-block-countdown'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'500', 'min'=>'1', 'max'=>'20000', 'help-string'=>'buffering latency that triggers block countdown timer'}, 'packet-buffer-protection-latency-max-tolerate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'500', 'min'=>'1', 'max'=>'20000', 'help-string'=>'buffering latency that triggers 100% packet drop for abusive traffic'}, 'tcp-reject-non-syn'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'reject non-SYN TCP packet for session setup'}, 'tcp-retransmit-scan'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable/disable tcp retransmit scan '}, 'offload'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'enable/disable hardware session offloading'}, 'ipv6-firewalling'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'enable/disable IPv6 firewalling'}, 'erspan'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable/disable ERSPAN'}, 'express-mode'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable/disable express-mode', 'prune-on-sdb'=>'cfg.platform.model=PA-VM,cfg.platform.model=PA-500,cfg.platform.model=PA-5050,cfg.platform.model=PA-5020,cfg.platform.model=PA-5060,cfg.platform.model=PA-200,cfg.platform.model=PA-3050,cfg.platform.model=PA-3020,cfg.platform.model=PA-7050,cfg.platform.model=PA-7080,cfg.platform.model=PA-820,cfg.platform.model=PA-850,cfg.platform.model=PA-220,cfg.platform.model=PA-5220,cfg.platform.model=PA-5250,cfg.platform.model=PA-5260,cfg.platform.model=PA-3220,cfg.platform.model=PA-3260,cfg.platform.model=PA-200R,cfg.platform.model=PA-3220-ZTP,cfg.platform.model=PA-3250-ZTP,cfg.platform.model=PA-3260-ZTP,cfg.platform.model=PA-820-ZTP,cfg.platform.model=PA-850-ZTP,cfg.platform.model=PA-220-ZTP,cfg.platform.model=PA-220R-ZTP,cfg.platform.model=PA-410,cfg.platform.model=PA-415,cfg.platform.model=PA-440,cfg.platform.model=PA-445,cfg.platform.model=PA-450,cfg.platform.model=PA-460,cfg.platform.model=PA-5400,cfg.platform.model=PA-3410,cfg.platform.model=PA-3420,cfg.platform.model=PA-3430,cfg.platform.model=PA-3440,cfg.platform.model=PA-1410,cfg.platform.model=PA-1420,cfg.platform.model=PA-5410,cfg.platform.model=PA-5420,cfg.platform.model=PA-5430,cfg.platform.model=PA-5440,cfg.platform.model=PA-5450'}, 'resource-limit-behavior'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'drop', 'help-string'=>'behavior when resource limit is reached', 'enum'=>[{'value'=>'bypass'}, {'value'=>'drop'}]}, 'multicast-route-setup-buffering'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable/disable multicast packet queue for pending multicast route'}, 'max-pending-mcast-pkts-per-session'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'default'=>'1000', 'help-string'=>'Max number of multicast packets queued per session'}, 'timeout-sctp-init'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'5', 'min'=>'1', 'max'=>'120', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420,cfg.platform.model=PA-1410,cfg.platform.model=PA-1420', 'help-string'=>'set sctp init timeout value in seconds'}, 'timeout-sctp-cookie'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'60', 'min'=>'1', 'max'=>'120', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420,cfg.platform.model=PA-1410,cfg.platform.model=PA-1420', 'help-string'=>'set sctp init cookie timeout value in seconds'}, 'timeout-discard-sctp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'30', 'min'=>'1', 'max'=>'600', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420,cfg.platform.model=PA-1410,cfg.platform.model=PA-1420', 'help-string'=>'set sctp discard timeout value in seconds'}, 'timeout-sctp-shutdown'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'60', 'min'=>'1', 'max'=>'600', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420,cfg.platform.model=PA-1410,cfg.platform.model=PA-1420', 'help-string'=>'set sctp shutdown timeout value in seconds'}, 'timeout-sctp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'3600', 'min'=>'1', 'max'=>'86400', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420,cfg.platform.model=PA-1410,cfg.platform.model=PA-1420', 'help-string'=>'set sctp timeout value in seconds'}, 'timeout-5gc-delete'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'15', 'min'=>'15', 'max'=>'1800', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420,cfg.platform.model=PA-1410,cfg.platform.model=PA-1420', 'help-string'=>'set 5gc delete timeout value in seconds'}, 'dhcp-bcast-session-on'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable/disable session setup for DHCP packets at DHCP server/replay interfaces.'}} # set tcp timeout value in seconds def timeout_tcp prop_get('timeout-tcp') end # set tcp timeout value in seconds def timeout_tcp=(val) prop_set('timeout-tcp', val) end # set udp timeout value in seconds def timeout_udp prop_get('timeout-udp') end # set udp timeout value in seconds def timeout_udp=(val) prop_set('timeout-udp', val) end # set icmp timeout value in seconds def timeout_icmp prop_get('timeout-icmp') end # set icmp timeout value in seconds def timeout_icmp=(val) prop_set('timeout-icmp', val) end # set session default timeout value in seconds def timeout_default prop_get('timeout-default') end # set session default timeout value in seconds def timeout_default=(val) prop_set('timeout-default', val) end # set tcp initial session timeout (before SYN-ACK is received) value in seconds def timeout_tcpinit prop_get('timeout-tcpinit') end # set tcp initial session timeout (before SYN-ACK is received) value in seconds def timeout_tcpinit=(val) prop_set('timeout-tcpinit', val) end # set tcp handshake session timeout (before 3-way handshaking is completed) value in seconds def timeout_tcphandshake prop_get('timeout-tcphandshake') end # set tcp handshake session timeout (before 3-way handshaking is completed) value in seconds def timeout_tcphandshake=(val) prop_set('timeout-tcphandshake', val) end # set session tcp half close timeout (after receiving first FIN/RST) value in seconds def timeout_tcp_half_closed prop_get('timeout-tcp-half-closed') end # set session tcp half close timeout (after receiving first FIN/RST) value in seconds def timeout_tcp_half_closed=(val) prop_set('timeout-tcp-half-closed', val) end # set session tcp time wait timeout (after receiving second FIN/RST) value in seconds def timeout_tcp_time_wait prop_get('timeout-tcp-time-wait') end # set session tcp time wait timeout (after receiving second FIN/RST) value in seconds def timeout_tcp_time_wait=(val) prop_set('timeout-tcp-time-wait', val) end # set session tcp timeout value after receiving a RST with unverified sequence number in seconds def timeout_tcp_unverified_rst prop_get('timeout-tcp-unverified-rst') end # set session tcp timeout value after receiving a RST with unverified sequence number in seconds def timeout_tcp_unverified_rst=(val) prop_set('timeout-tcp-unverified-rst', val) end # set captive-portal session timeout value in seconds def timeout_captive_portal prop_get('timeout-captive-portal') end # set captive-portal session timeout value in seconds def timeout_captive_portal=(val) prop_set('timeout-captive-portal', val) end # set timeout of tcp session in discard state def timeout_discard_tcp prop_get('timeout-discard-tcp') end # set timeout of tcp session in discard state def timeout_discard_tcp=(val) prop_set('timeout-discard-tcp', val) end # set timeout of udp session in discard state def timeout_discard_udp prop_get('timeout-discard-udp') end # set timeout of udp session in discard state def timeout_discard_udp=(val) prop_set('timeout-discard-udp', val) end # set timeout of non-tcp/udp session in discard state def timeout_discard_default prop_get('timeout-discard-default') end # set timeout of non-tcp/udp session in discard state def timeout_discard_default=(val) prop_set('timeout-discard-default', val) end # set maximum number of ICMP unreachable messages sent per second def icmp_unreachable_rate prop_get('icmp-unreachable-rate') end # set maximum number of ICMP unreachable messages sent per second def icmp_unreachable_rate=(val) prop_set('icmp-unreachable-rate', val) end # application trickling timeout value in seconds def timeout_scan prop_get('timeout-scan') end # application trickling timeout value in seconds def timeout_scan=(val) prop_set('timeout-scan', val) end # resource utilization threshold to trigger session scan def scan_threshold prop_get('scan-threshold') end # resource utilization threshold to trigger session scan def scan_threshold=(val) prop_set('scan-threshold', val) end # set scan scaling factor def scan_scaling_factor prop_get('scan-scaling-factor') end # set scan scaling factor def scan_scaling_factor=(val) prop_set('scan-scaling-factor', val) end # enable/disable accelerated session aging def accelerated_aging_enable prop_get('accelerated-aging-enable') end # enable/disable accelerated session aging def accelerated_aging_enable=(val) prop_set('accelerated-aging-enable', val) end # set accelerated aging threshold in percentage of session utilization def accelerated_aging_threshold prop_get('accelerated-aging-threshold') end # set accelerated aging threshold in percentage of session utilization def accelerated_aging_threshold=(val) prop_set('accelerated-aging-threshold', val) end # set accelerated session aging scaling factor (power of 2) def accelerated_aging_scaling_factor prop_get('accelerated-aging-scaling-factor') end # set accelerated session aging scaling factor (power of 2) def accelerated_aging_scaling_factor=(val) prop_set('accelerated-aging-scaling-factor', val) end # enable/disable packet buffer protection def packet_buffer_protection_enable prop_get('packet-buffer-protection-enable') end # enable/disable packet buffer protection def packet_buffer_protection_enable=(val) prop_set('packet-buffer-protection-enable', val) end # enable/disable packet buffer protection monitor only mode def packet_buffer_protection_monitor_only prop_get('packet-buffer-protection-monitor-only') end # enable/disable packet buffer protection monitor only mode def packet_buffer_protection_monitor_only=(val) prop_set('packet-buffer-protection-monitor-only', val) end # percentage of packet buffer utilization def packet_buffer_protection_alert prop_get('packet-buffer-protection-alert') end # percentage of packet buffer utilization def packet_buffer_protection_alert=(val) prop_set('packet-buffer-protection-alert', val) end # percentage of packet buffer utilization def packet_buffer_protection_activate prop_get('packet-buffer-protection-activate') end # percentage of packet buffer utilization def packet_buffer_protection_activate=(val) prop_set('packet-buffer-protection-activate', val) end # percentage above which the block timer is counting down def packet_buffer_protection_block_countdown prop_get('packet-buffer-protection-block-countdown') end # percentage above which the block timer is counting down def packet_buffer_protection_block_countdown=(val) prop_set('packet-buffer-protection-block-countdown', val) end # time the session continues to be abusive to packet buffers def packet_buffer_protection_block_hold_time prop_get('packet-buffer-protection-block-hold-time') end # time the session continues to be abusive to packet buffers def packet_buffer_protection_block_hold_time=(val) prop_set('packet-buffer-protection-block-hold-time', val) end # time the session is blocked after being abusive to packet buffers def packet_buffer_protection_block_duration_time prop_get('packet-buffer-protection-block-duration-time') end # time the session is blocked after being abusive to packet buffers def packet_buffer_protection_block_duration_time=(val) prop_set('packet-buffer-protection-block-duration-time', val) end # use buffering latency to make packet buffer protection decision def packet_buffer_protection_use_latency prop_get('packet-buffer-protection-use-latency') end # use buffering latency to make packet buffer protection decision def packet_buffer_protection_use_latency=(val) prop_set('packet-buffer-protection-use-latency', val) end # buffering latency that triggers pbp alert (in milliseconds) def packet_buffer_protection_latency_alert prop_get('packet-buffer-protection-latency-alert') end # buffering latency that triggers pbp alert (in milliseconds) def packet_buffer_protection_latency_alert=(val) prop_set('packet-buffer-protection-latency-alert', val) end # buffering latency that triggers Random Early Drop (RED) (in milliseconds) def packet_buffer_protection_latency_activate prop_get('packet-buffer-protection-latency-activate') end # buffering latency that triggers Random Early Drop (RED) (in milliseconds) def packet_buffer_protection_latency_activate=(val) prop_set('packet-buffer-protection-latency-activate', val) end # buffering latency that triggers block countdown timer def packet_buffer_protection_latency_block_countdown prop_get('packet-buffer-protection-latency-block-countdown') end # buffering latency that triggers block countdown timer def packet_buffer_protection_latency_block_countdown=(val) prop_set('packet-buffer-protection-latency-block-countdown', val) end # buffering latency that triggers 100% packet drop for abusive traffic def packet_buffer_protection_latency_max_tolerate prop_get('packet-buffer-protection-latency-max-tolerate') end # buffering latency that triggers 100% packet drop for abusive traffic def packet_buffer_protection_latency_max_tolerate=(val) prop_set('packet-buffer-protection-latency-max-tolerate', val) end # reject non-SYN TCP packet for session setup def tcp_reject_non_syn prop_get('tcp-reject-non-syn') end # reject non-SYN TCP packet for session setup def tcp_reject_non_syn=(val) prop_set('tcp-reject-non-syn', val) end # enable/disable tcp retransmit scan def tcp_retransmit_scan prop_get('tcp-retransmit-scan') end # enable/disable tcp retransmit scan def tcp_retransmit_scan=(val) prop_set('tcp-retransmit-scan', val) end # enable/disable hardware session offloading def offload prop_get('offload') end # enable/disable hardware session offloading def offload=(val) prop_set('offload', val) end # enable/disable IPv6 firewalling def ipv6_firewalling prop_get('ipv6-firewalling') end # enable/disable IPv6 firewalling def ipv6_firewalling=(val) prop_set('ipv6-firewalling', val) end # enable/disable ERSPAN def erspan prop_get('erspan') end # enable/disable ERSPAN def erspan=(val) prop_set('erspan', val) end # enable/disable express-mode def express_mode prop_get('express-mode') end # enable/disable express-mode def express_mode=(val) prop_set('express-mode', val) end # behavior when resource limit is reached def resource_limit_behavior prop_get('resource-limit-behavior') end # behavior when resource limit is reached def resource_limit_behavior=(val) prop_set('resource-limit-behavior', val) end # enable/disable multicast packet queue for pending multicast route def multicast_route_setup_buffering prop_get('multicast-route-setup-buffering') end # enable/disable multicast packet queue for pending multicast route def multicast_route_setup_buffering=(val) prop_set('multicast-route-setup-buffering', val) end # Max number of multicast packets queued per session def max_pending_mcast_pkts_per_session prop_get('max-pending-mcast-pkts-per-session') end # Max number of multicast packets queued per session def max_pending_mcast_pkts_per_session=(val) prop_set('max-pending-mcast-pkts-per-session', val) end # set sctp init timeout value in seconds def timeout_sctp_init prop_get('timeout-sctp-init') end # set sctp init timeout value in seconds def timeout_sctp_init=(val) prop_set('timeout-sctp-init', val) end # set sctp init cookie timeout value in seconds def timeout_sctp_cookie prop_get('timeout-sctp-cookie') end # set sctp init cookie timeout value in seconds def timeout_sctp_cookie=(val) prop_set('timeout-sctp-cookie', val) end # set sctp discard timeout value in seconds def timeout_discard_sctp prop_get('timeout-discard-sctp') end # set sctp discard timeout value in seconds def timeout_discard_sctp=(val) prop_set('timeout-discard-sctp', val) end # set sctp shutdown timeout value in seconds def timeout_sctp_shutdown prop_get('timeout-sctp-shutdown') end # set sctp shutdown timeout value in seconds def timeout_sctp_shutdown=(val) prop_set('timeout-sctp-shutdown', val) end # set sctp timeout value in seconds def timeout_sctp prop_get('timeout-sctp') end # set sctp timeout value in seconds def timeout_sctp=(val) prop_set('timeout-sctp', val) end # set 5gc delete timeout value in seconds def timeout_5gc_delete prop_get('timeout-5gc-delete') end # set 5gc delete timeout value in seconds def timeout_5gc_delete=(val) prop_set('timeout-5gc-delete', val) end # enable/disable session setup for DHCP packets at DHCP server/replay interfaces. def dhcp_bcast_session_on prop_get('dhcp-bcast-session-on') end # enable/disable session setup for DHCP packets at DHCP server/replay interfaces. def dhcp_bcast_session_on=(val) prop_set('dhcp-bcast-session-on', val) end end def session @subclasses['session'] ||= Session.new(parent_instance: self, client: @client, create_children: @create_children) end class Tcp < ConfigClass def has_multiple_values?; false; end def _section :tcp end @props = {'bypass-exceed-oo-queue'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'whether to skip inspection of session if out-of-order packets limit is exceeded'}, 'allow-challenge-ack'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Allow arbitrary ACK in response to SYN'}, 'check-timestamp-option'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'whether to drop packets with invalid timestamp option'}, 'asymmetric-path'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'drop', 'optional'=>'yes', 'help-string'=>'actions for TCP sliding window tracking errors, also control enable/disable TCP sequence number check for FIN/RST', 'enum'=>[{'value'=>'drop', 'help-string'=>'drop offending packets that violated TCP sliding window tracking, enable TCP sequence number check for FIN/RST'}, {'value'=>'bypass', 'help-string'=>'bypass inspection for the session that has TCP sliding window tracking errors'}]}, 'urgent-data'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'clear', 'help-string'=>'clear urgent flag in TCP header', 'enum'=>[{'value'=>'clear', 'help-string'=>'always clear urgent data pointers'}, {'value'=>'oobinline', 'help-string'=>'assume host process OOB data inline with normal data'}]}, 'drop-zero-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'whether to drop TCP packet if flag becomes zero after clear urgent flag'}, 'strip-mptcp-option'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'whether to strip MPTCP option'}} # whether to skip inspection of session if out-of-order packets limit is exceeded def bypass_exceed_oo_queue prop_get('bypass-exceed-oo-queue') end # whether to skip inspection of session if out-of-order packets limit is exceeded def bypass_exceed_oo_queue=(val) prop_set('bypass-exceed-oo-queue', val) end # Allow arbitrary ACK in response to SYN def allow_challenge_ack prop_get('allow-challenge-ack') end # Allow arbitrary ACK in response to SYN def allow_challenge_ack=(val) prop_set('allow-challenge-ack', val) end # whether to drop packets with invalid timestamp option def check_timestamp_option prop_get('check-timestamp-option') end # whether to drop packets with invalid timestamp option def check_timestamp_option=(val) prop_set('check-timestamp-option', val) end # actions for TCP sliding window tracking errors, also control enable/disable TCP sequence number check for FIN/RST def asymmetric_path prop_get('asymmetric-path') end # actions for TCP sliding window tracking errors, also control enable/disable TCP sequence number check for FIN/RST def asymmetric_path=(val) prop_set('asymmetric-path', val) end # clear urgent flag in TCP header def urgent_data prop_get('urgent-data') end # clear urgent flag in TCP header def urgent_data=(val) prop_set('urgent-data', val) end # whether to drop TCP packet if flag becomes zero after clear urgent flag def drop_zero_flag prop_get('drop-zero-flag') end # whether to drop TCP packet if flag becomes zero after clear urgent flag def drop_zero_flag=(val) prop_set('drop-zero-flag', val) end # whether to strip MPTCP option def strip_mptcp_option prop_get('strip-mptcp-option') end # whether to strip MPTCP option def strip_mptcp_option=(val) prop_set('strip-mptcp-option', val) end end def tcp @subclasses['tcp'] ||= Tcp.new(parent_instance: self, client: @client, create_children: @create_children) end class Zip < ConfigClass def has_multiple_values?; false; end def _section :zip end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'enable/disable zip engine'}, 'mode'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'auto', 'help-string'=>'whether to use hardware or software zip engine, or both', 'enum'=>[{'value'=>'hw', 'help-string'=>'hardware zip engine'}, {'value'=>'sw', 'help-string'=>'software zip engine'}, {'value'=>'auto', 'help-string'=>'automatically switch between hw and sw zip engines'}]}} # enable/disable zip engine def enable prop_get('enable') end # enable/disable zip engine def enable=(val) prop_set('enable', val) end # whether to use hardware or software zip engine, or both def mode prop_get('mode') end # whether to use hardware or software zip engine, or both def mode=(val) prop_set('mode', val) end end def zip @subclasses['zip'] ||= Zip.new(parent_instance: self, client: @client, create_children: @create_children) end class Http2 < ConfigClass def has_multiple_values?; false; end def _section :http2 end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'enable/disable http/2 inspection'}, 'stream-closed-buffer-threshold'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'10', 'min'=>'1', 'max'=>'100', 'help-string'=>'set closed stream session ring buffer threshold'}, 'server-push'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'enable/disable http/2 server push support'}, 'connection-logging'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable/disable http/2 connection logging'}} # enable/disable http/2 inspection def enable prop_get('enable') end # enable/disable http/2 inspection def enable=(val) prop_set('enable', val) end # set closed stream session ring buffer threshold def stream_closed_buffer_threshold prop_get('stream-closed-buffer-threshold') end # set closed stream session ring buffer threshold def stream_closed_buffer_threshold=(val) prop_set('stream-closed-buffer-threshold', val) end # enable/disable http/2 server push support def server_push prop_get('server-push') end # enable/disable http/2 server push support def server_push=(val) prop_set('server-push', val) end # enable/disable http/2 connection logging def connection_logging prop_get('connection-logging') end # enable/disable http/2 connection logging def connection_logging=(val) prop_set('connection-logging', val) end end def http2 @subclasses['http2'] ||= Http2.new(parent_instance: self, client: @client, create_children: @create_children) end class DnsOverHttps < ConfigClass def has_multiple_values?; false; end def _section :'dns-over-https' end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'enable/disable DNS-over-HTTPS (DoH) inspection'}} # enable/disable DNS-over-HTTPS (DoH) inspection def enable prop_get('enable') end # enable/disable DNS-over-HTTPS (DoH) inspection def enable=(val) prop_set('enable', val) end end def dns_over_https @subclasses['dns-over-https'] ||= DnsOverHttps.new(parent_instance: self, client: @client, create_children: @create_children) end class Pow < ConfigClass def has_multiple_values?; false; end def _section :pow end @props = {'wqe-tag-check'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'enable/disable wqe sess id tag check'}, 'wqe-inuse-check'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'enable/disable wqe in use check '}, 'wqe-swbuf-check'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'enable/disable wqe swbuf trailer check '}, 'wqe-swbuf-track'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable/disable wqe swbuf stack trace'}, 'wqe-hexspeak'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'enable/disable wqe hexspeak '}, 'wqe-swbuf-ref'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'enable/disable wqe swbuf ref in clone'}} # enable/disable wqe sess id tag check def wqe_tag_check prop_get('wqe-tag-check') end # enable/disable wqe sess id tag check def wqe_tag_check=(val) prop_set('wqe-tag-check', val) end # enable/disable wqe in use check def wqe_inuse_check prop_get('wqe-inuse-check') end # enable/disable wqe in use check def wqe_inuse_check=(val) prop_set('wqe-inuse-check', val) end # enable/disable wqe swbuf trailer check def wqe_swbuf_check prop_get('wqe-swbuf-check') end # enable/disable wqe swbuf trailer check def wqe_swbuf_check=(val) prop_set('wqe-swbuf-check', val) end # enable/disable wqe swbuf stack trace def wqe_swbuf_track prop_get('wqe-swbuf-track') end # enable/disable wqe swbuf stack trace def wqe_swbuf_track=(val) prop_set('wqe-swbuf-track', val) end # enable/disable wqe hexspeak def wqe_hexspeak prop_get('wqe-hexspeak') end # enable/disable wqe hexspeak def wqe_hexspeak=(val) prop_set('wqe-hexspeak', val) end # enable/disable wqe swbuf ref in clone def wqe_swbuf_ref prop_get('wqe-swbuf-ref') end # enable/disable wqe swbuf ref in clone def wqe_swbuf_ref=(val) prop_set('wqe-swbuf-ref', val) end end def pow @subclasses['pow'] ||= Pow.new(parent_instance: self, client: @client, create_children: @create_children) end class Config < ConfigClass def has_multiple_values?; false; end def _section :config end @props = {'rematch'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'rematch all sessions with new config policy'}, 'append-ending-token'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'append end token implicitly custom/edl-urls'}} # rematch all sessions with new config policy def rematch prop_get('rematch') end # rematch all sessions with new config policy def rematch=(val) prop_set('rematch', val) end # append end token implicitly custom/edl-urls def append_ending_token prop_get('append-ending-token') end # append end token implicitly custom/edl-urls def append_ending_token=(val) prop_set('append-ending-token', val) end end def config @subclasses['config'] ||= Config.new(parent_instance: self, client: @client, create_children: @create_children) end class Logging < ConfigClass def has_multiple_values?; false; end def _section :logging end class EnhancedApplicationLogging < ConfigClass def has_multiple_values?; false; end def _section :'enhanced-application-logging' end class DisableApplication < XML::ConfigClass def has_multiple_values?; true; end def _section :'disable-application' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def disable_application maybe_register_subclass('disable-application', DisableApplication.new(parent_instance: self, client: @client, create_children: @create_children)) end class DisableGlobal < ConfigClass def has_multiple_values?; false; end def _section :'disable-global' end class All < ConfigClass def has_multiple_values?; false; end def _section :all end @props = {} end def all @subclasses['all'] ||= All.new(parent_instance: self, client: @client, create_children: @create_children) end class Arp < ConfigClass def has_multiple_values?; false; end def _section :arp end @props = {} end def arp @subclasses['arp'] ||= Arp.new(parent_instance: self, client: @client, create_children: @create_children) end class NonSynTcp < ConfigClass def has_multiple_values?; false; end def _section :'non-syn-tcp' end @props = {} end def non_syn_tcp @subclasses['non-syn-tcp'] ||= NonSynTcp.new(parent_instance: self, client: @client, create_children: @create_children) end class ExtTraffic < ConfigClass def has_multiple_values?; false; end def _section :'ext-traffic' end @props = {} end def ext_traffic @subclasses['ext-traffic'] ||= ExtTraffic.new(parent_instance: self, client: @client, create_children: @create_children) end class HipReport < ConfigClass def has_multiple_values?; false; end def _section :'hip-report' end @props = {} end def hip_report @subclasses['hip-report'] ||= HipReport.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def disable_global @subclasses['disable-global'] ||= DisableGlobal.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable/disable enhanced-application-logging'}} # enable/disable enhanced-application-logging def enable prop_get('enable') end # enable/disable enhanced-application-logging def enable=(val) prop_set('enable', val) end end def enhanced_application_logging @subclasses['enhanced-application-logging'] ||= EnhancedApplicationLogging.new(parent_instance: self, client: @client, create_children: @create_children) end class LoggingServiceForwarding < ConfigClass def has_multiple_values?; false; end def _section :'logging-service-forwarding' end @props = {'enable'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'enable-duplicate-logging'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'logging-service-regions'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Logging Service log-forwarding region selection', 'complete-handler'=>'lcaas-region-complete-handler'}, 'ls-connection-count'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'1', 'max'=>'20', 'default'=>'5', 'help-string'=>'Connection count to logging service'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end def enable_duplicate_logging prop_get('enable-duplicate-logging') end def enable_duplicate_logging=(val) prop_set('enable-duplicate-logging', val) end # Logging Service log-forwarding region selection def logging_service_regions prop_get('logging-service-regions') end # Logging Service log-forwarding region selection def logging_service_regions=(val) prop_set('logging-service-regions', val) end # Connection count to logging service def ls_connection_count prop_get('ls-connection-count') end # Connection count to logging service def ls_connection_count=(val) prop_set('ls-connection-count', val) end end def logging_service_forwarding @subclasses['logging-service-forwarding'] ||= LoggingServiceForwarding.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'max-log-rate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'50000', 'min'=>'0', 'max'=>'50000', 'help-string'=>'set max. logging rate'}, 'max-packet-rate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'2560', 'min'=>'0', 'max'=>'2560', 'help-string'=>'set max. packet logging rate'}, 'log-suppression'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'yes', 'help-string'=>'enable/disable log suppression', 'enum'=>[{'value'=>'yes'}, {'value'=>'no'}]}} # set max. logging rate def max_log_rate prop_get('max-log-rate') end # set max. logging rate def max_log_rate=(val) prop_set('max-log-rate', val) end # set max. packet logging rate def max_packet_rate prop_get('max-packet-rate') end # set max. packet logging rate def max_packet_rate=(val) prop_set('max-packet-rate', val) end # enable/disable log suppression def log_suppression prop_get('log-suppression') end # enable/disable log suppression def log_suppression=(val) prop_set('log-suppression', val) end end def logging @subclasses['logging'] ||= Logging.new(parent_instance: self, client: @client, create_children: @create_children) end class Management < ConfigClass def has_multiple_values?; false; end def _section :management end class SecureConnClient < ConfigClass def has_multiple_values?; false; end def _section :'secure-conn-client' end class CertificateType < ConfigClass def has_multiple_values?; false; end def _section :'certificate-type' end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end class Local < ConfigClass def has_multiple_values?; false; end def _section :local end @props = {'certificate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'255', 'help-string'=>'Custom certificate used in management connections to Panorama and Log collectors'}, 'certificate-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'optional'=>'yes'}} # Custom certificate used in management connections to Panorama and Log collectors def certificate prop_get('certificate') end # Custom certificate used in management connections to Panorama and Log collectors def certificate=(val) prop_set('certificate', val) end def certificate_profile prop_get('certificate-profile') end def certificate_profile=(val) prop_set('certificate-profile', val) end end def local @subclasses['local'] ||= Local.new(parent_instance: self, client: @client, create_children: @create_children) end class Scep < ConfigClass def has_multiple_values?; false; end def _section :scep end @props = {'scep-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'optional'=>'yes', 'help-string'=>'SCEP profile name'}, 'certificate-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'optional'=>'yes'}} # SCEP profile name def scep_profile prop_get('scep-profile') end # SCEP profile name def scep_profile=(val) prop_set('scep-profile', val) end def certificate_profile prop_get('certificate-profile') end def certificate_profile=(val) prop_set('certificate-profile', val) end end def scep @subclasses['scep'] ||= Scep.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def certificate_type @subclasses['certificate-type'] ||= CertificateType.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'check-server-identity'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Check server certificate Subject common name(IP/FQDN) with the configured panorama servers. Default setting: \'no\''}, 'enable-secure-wildfire-communication'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Use the secure-client certificate settings for Wildfire connections. Default setting : \'no\'', 'optional'=>'yes'}, 'enable-secure-pandb-communication'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Use the secure-client certificate settings for pandb connections. Default setting : \'no\'', 'optional'=>'yes'}, 'enable-secure-panorama-communication'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Use the secure-client certificate settings for panorama connections. Default setting : \'no\'', 'optional'=>'yes'}, 'enable-secure-lc-communication'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Use the secure-client certificate settings for log collector connections. Default setting : \'no\'', 'optional'=>'yes'}, 'enable-secure-user-id-communication'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Use the secure-client certificate settings for User Identification connections. Default setting : \'no\'', 'optional'=>'yes'}} # Check server certificate Subject common name(IP/FQDN) with the configured panorama servers. Default setting: 'no' def check_server_identity prop_get('check-server-identity') end # Check server certificate Subject common name(IP/FQDN) with the configured panorama servers. Default setting: 'no' def check_server_identity=(val) prop_set('check-server-identity', val) end # Use the secure-client certificate settings for Wildfire connections. Default setting : 'no' def enable_secure_wildfire_communication prop_get('enable-secure-wildfire-communication') end # Use the secure-client certificate settings for Wildfire connections. Default setting : 'no' def enable_secure_wildfire_communication=(val) prop_set('enable-secure-wildfire-communication', val) end # Use the secure-client certificate settings for pandb connections. Default setting : 'no' def enable_secure_pandb_communication prop_get('enable-secure-pandb-communication') end # Use the secure-client certificate settings for pandb connections. Default setting : 'no' def enable_secure_pandb_communication=(val) prop_set('enable-secure-pandb-communication', val) end # Use the secure-client certificate settings for panorama connections. Default setting : 'no' def enable_secure_panorama_communication prop_get('enable-secure-panorama-communication') end # Use the secure-client certificate settings for panorama connections. Default setting : 'no' def enable_secure_panorama_communication=(val) prop_set('enable-secure-panorama-communication', val) end # Use the secure-client certificate settings for log collector connections. Default setting : 'no' def enable_secure_lc_communication prop_get('enable-secure-lc-communication') end # Use the secure-client certificate settings for log collector connections. Default setting : 'no' def enable_secure_lc_communication=(val) prop_set('enable-secure-lc-communication', val) end # Use the secure-client certificate settings for User Identification connections. Default setting : 'no' def enable_secure_user_id_communication prop_get('enable-secure-user-id-communication') end # Use the secure-client certificate settings for User Identification connections. Default setting : 'no' def enable_secure_user_id_communication=(val) prop_set('enable-secure-user-id-communication', val) end end def secure_conn_client @subclasses['secure-conn-client'] ||= SecureConnClient.new(parent_instance: self, client: @client, create_children: @create_children) end class SecureConnServer < ConfigClass def has_multiple_values?; false; end def _section :'secure-conn-server' end @props = {'ssl-tls-service-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'optional'=>'yes', 'help-string'=>'SSL TLS service profile'}, 'certificate-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'255', 'help-string'=>'profile for verifying client certificates'}, 'enable-secure-user-id-communication'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Use the secure server settings for User Identification connections. Default setting : \'no\'', 'optional'=>'yes'}} # SSL TLS service profile def ssl_tls_service_profile prop_get('ssl-tls-service-profile') end # SSL TLS service profile def ssl_tls_service_profile=(val) prop_set('ssl-tls-service-profile', val) end # profile for verifying client certificates def certificate_profile prop_get('certificate-profile') end # profile for verifying client certificates def certificate_profile=(val) prop_set('certificate-profile', val) end # Use the secure server settings for User Identification connections. Default setting : 'no' def enable_secure_user_id_communication prop_get('enable-secure-user-id-communication') end # Use the secure server settings for User Identification connections. Default setting : 'no' def enable_secure_user_id_communication=(val) prop_set('enable-secure-user-id-communication', val) end end def secure_conn_server @subclasses['secure-conn-server'] ||= SecureConnServer.new(parent_instance: self, client: @client, create_children: @create_children) end class QuotaSettings < ConfigClass def has_multiple_values?; false; end def _section :'quota-settings' end class ChassisQuota < ConfigClass def has_multiple_values?; false; end def _section :'chassis-quota' end class LogCard < ConfigClass def has_multiple_values?; false; end def _section :'log-card' end @props = {'traffic'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'traffic logs quota percentage'}, 'threat'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'threat logs quota percentage'}, 'trsum'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'traffic summary quota percentage'}, 'thsum'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'threat summary quota percentage'}, 'urlsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'url summary quota percentage'}, 'hourlytrsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Hourly traffic summary quota percentage'}, 'dailytrsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Daily traffic summary quota percentage'}, 'weeklytrsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Weekly traffic summary quota percentage'}, 'hourlythsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Hourly threat summary quota percentage'}, 'dailythsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Daily threat summary quota percentage'}, 'weeklythsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Weekly threat summary quota percentage'}, 'hourlyurlsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Hourly url summary quota percentage'}, 'dailyurlsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Daily url summary quota percentage'}, 'weeklyurlsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Weekly url summary quota percentage'}, 'threat-pcaps'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'threat packet capture quota percentage'}, 'hipmatch'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Hip match quota percentage'}, 'userid'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'User ID logs quota percentage'}, 'iptag'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'IP-Tag logs quota percentage'}, 'auth'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Authentication logs quota percentage'}, 'gtp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Tunnel and GTP logs quota percentage'}, 'gtpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Tunnel and GTP summary quota percentage'}, 'hourlygtpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Hourly Tunnel and GTP summary quota percentage'}, 'dailygtpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Daily Tunnel and GTP summary quota percentage'}, 'weeklygtpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Weekly Tunnel and GTP summary quota percentage'}, 'decryption'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'decryption logs quota percentage'}, 'desum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'decryption summary quota percentage'}, 'hourlydesum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Hourly decryption summary quota percentage'}, 'dailydesum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Daily decryption summary quota percentage'}, 'weeklydesum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Weekly decryption summary quota percentage'}, 'globalprotect'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'globalprotect logs quota percentage'}, 'sctp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'SCTP logs quota percentage'}, 'sctpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'SCTP summary quota percentage'}, 'hourlysctpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Hourly SCTP summary quota percentage'}, 'dailysctpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Daily SCTP summary quota percentage'}, 'weeklysctpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Weekly SCTP summary quota percentage'}} # traffic logs quota percentage def traffic prop_get('traffic') end # traffic logs quota percentage def traffic=(val) prop_set('traffic', val) end # threat logs quota percentage def threat prop_get('threat') end # threat logs quota percentage def threat=(val) prop_set('threat', val) end # traffic summary quota percentage def trsum prop_get('trsum') end # traffic summary quota percentage def trsum=(val) prop_set('trsum', val) end # threat summary quota percentage def thsum prop_get('thsum') end # threat summary quota percentage def thsum=(val) prop_set('thsum', val) end # url summary quota percentage def urlsum prop_get('urlsum') end # url summary quota percentage def urlsum=(val) prop_set('urlsum', val) end # Hourly traffic summary quota percentage def hourlytrsum prop_get('hourlytrsum') end # Hourly traffic summary quota percentage def hourlytrsum=(val) prop_set('hourlytrsum', val) end # Daily traffic summary quota percentage def dailytrsum prop_get('dailytrsum') end # Daily traffic summary quota percentage def dailytrsum=(val) prop_set('dailytrsum', val) end # Weekly traffic summary quota percentage def weeklytrsum prop_get('weeklytrsum') end # Weekly traffic summary quota percentage def weeklytrsum=(val) prop_set('weeklytrsum', val) end # Hourly threat summary quota percentage def hourlythsum prop_get('hourlythsum') end # Hourly threat summary quota percentage def hourlythsum=(val) prop_set('hourlythsum', val) end # Daily threat summary quota percentage def dailythsum prop_get('dailythsum') end # Daily threat summary quota percentage def dailythsum=(val) prop_set('dailythsum', val) end # Weekly threat summary quota percentage def weeklythsum prop_get('weeklythsum') end # Weekly threat summary quota percentage def weeklythsum=(val) prop_set('weeklythsum', val) end # Hourly url summary quota percentage def hourlyurlsum prop_get('hourlyurlsum') end # Hourly url summary quota percentage def hourlyurlsum=(val) prop_set('hourlyurlsum', val) end # Daily url summary quota percentage def dailyurlsum prop_get('dailyurlsum') end # Daily url summary quota percentage def dailyurlsum=(val) prop_set('dailyurlsum', val) end # Weekly url summary quota percentage def weeklyurlsum prop_get('weeklyurlsum') end # Weekly url summary quota percentage def weeklyurlsum=(val) prop_set('weeklyurlsum', val) end # threat packet capture quota percentage def threat_pcaps prop_get('threat-pcaps') end # threat packet capture quota percentage def threat_pcaps=(val) prop_set('threat-pcaps', val) end # Hip match quota percentage def hipmatch prop_get('hipmatch') end # Hip match quota percentage def hipmatch=(val) prop_set('hipmatch', val) end # User ID logs quota percentage def userid prop_get('userid') end # User ID logs quota percentage def userid=(val) prop_set('userid', val) end # IP-Tag logs quota percentage def iptag prop_get('iptag') end # IP-Tag logs quota percentage def iptag=(val) prop_set('iptag', val) end # Authentication logs quota percentage def auth prop_get('auth') end # Authentication logs quota percentage def auth=(val) prop_set('auth', val) end # Tunnel and GTP logs quota percentage def gtp prop_get('gtp') end # Tunnel and GTP logs quota percentage def gtp=(val) prop_set('gtp', val) end # Tunnel and GTP summary quota percentage def gtpsum prop_get('gtpsum') end # Tunnel and GTP summary quota percentage def gtpsum=(val) prop_set('gtpsum', val) end # Hourly Tunnel and GTP summary quota percentage def hourlygtpsum prop_get('hourlygtpsum') end # Hourly Tunnel and GTP summary quota percentage def hourlygtpsum=(val) prop_set('hourlygtpsum', val) end # Daily Tunnel and GTP summary quota percentage def dailygtpsum prop_get('dailygtpsum') end # Daily Tunnel and GTP summary quota percentage def dailygtpsum=(val) prop_set('dailygtpsum', val) end # Weekly Tunnel and GTP summary quota percentage def weeklygtpsum prop_get('weeklygtpsum') end # Weekly Tunnel and GTP summary quota percentage def weeklygtpsum=(val) prop_set('weeklygtpsum', val) end # decryption logs quota percentage def decryption prop_get('decryption') end # decryption logs quota percentage def decryption=(val) prop_set('decryption', val) end # decryption summary quota percentage def desum prop_get('desum') end # decryption summary quota percentage def desum=(val) prop_set('desum', val) end # Hourly decryption summary quota percentage def hourlydesum prop_get('hourlydesum') end # Hourly decryption summary quota percentage def hourlydesum=(val) prop_set('hourlydesum', val) end # Daily decryption summary quota percentage def dailydesum prop_get('dailydesum') end # Daily decryption summary quota percentage def dailydesum=(val) prop_set('dailydesum', val) end # Weekly decryption summary quota percentage def weeklydesum prop_get('weeklydesum') end # Weekly decryption summary quota percentage def weeklydesum=(val) prop_set('weeklydesum', val) end # globalprotect logs quota percentage def globalprotect prop_get('globalprotect') end # globalprotect logs quota percentage def globalprotect=(val) prop_set('globalprotect', val) end # SCTP logs quota percentage def sctp prop_get('sctp') end # SCTP logs quota percentage def sctp=(val) prop_set('sctp', val) end # SCTP summary quota percentage def sctpsum prop_get('sctpsum') end # SCTP summary quota percentage def sctpsum=(val) prop_set('sctpsum', val) end # Hourly SCTP summary quota percentage def hourlysctpsum prop_get('hourlysctpsum') end # Hourly SCTP summary quota percentage def hourlysctpsum=(val) prop_set('hourlysctpsum', val) end # Daily SCTP summary quota percentage def dailysctpsum prop_get('dailysctpsum') end # Daily SCTP summary quota percentage def dailysctpsum=(val) prop_set('dailysctpsum', val) end # Weekly SCTP summary quota percentage def weeklysctpsum prop_get('weeklysctpsum') end # Weekly SCTP summary quota percentage def weeklysctpsum=(val) prop_set('weeklysctpsum', val) end end def log_card @subclasses['log-card'] ||= LogCard.new(parent_instance: self, client: @client, create_children: @create_children) end class MgmtCard < ConfigClass def has_multiple_values?; false; end def _section :'mgmt-card' end @props = {'config'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'configuration logs quota percentage'}, 'system'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'system logs quota percentage'}, 'alarm'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'alarm logs quota percentage'}, 'appstat'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'application statistics quota percentage'}, 'hip-reports'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'host information profile quota percentage'}, 'application-pcaps'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'application packet capture quota percentage'}, 'debug-filter-pcaps'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'debug filter packet capture quota percentage'}, 'dlp-logs'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'data filter packet capture quota percentage'}} # configuration logs quota percentage def config prop_get('config') end # configuration logs quota percentage def config=(val) prop_set('config', val) end # system logs quota percentage def system prop_get('system') end # system logs quota percentage def system=(val) prop_set('system', val) end # alarm logs quota percentage def alarm prop_get('alarm') end # alarm logs quota percentage def alarm=(val) prop_set('alarm', val) end # application statistics quota percentage def appstat prop_get('appstat') end # application statistics quota percentage def appstat=(val) prop_set('appstat', val) end # host information profile quota percentage def hip_reports prop_get('hip-reports') end # host information profile quota percentage def hip_reports=(val) prop_set('hip-reports', val) end # application packet capture quota percentage def application_pcaps prop_get('application-pcaps') end # application packet capture quota percentage def application_pcaps=(val) prop_set('application-pcaps', val) end # debug filter packet capture quota percentage def debug_filter_pcaps prop_get('debug-filter-pcaps') end # debug filter packet capture quota percentage def debug_filter_pcaps=(val) prop_set('debug-filter-pcaps', val) end # data filter packet capture quota percentage def dlp_logs prop_get('dlp-logs') end # data filter packet capture quota percentage def dlp_logs=(val) prop_set('dlp-logs', val) end end def mgmt_card @subclasses['mgmt-card'] ||= MgmtCard.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def chassis_quota @subclasses['chassis-quota'] ||= ChassisQuota.new(parent_instance: self, client: @client, create_children: @create_children) end class ChassisLogExpirationPeriod < ConfigClass def has_multiple_values?; false; end def _section :'chassis-log-expiration-period' end class LogCard < ConfigClass def has_multiple_values?; false; end def _section :'log-card' end @props = {'traffic'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for traffic logs'}, 'threat'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for threat logs'}, 'decryption'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for decryption logs'}, 'trsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for trsum logs'}, 'urlsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for urlsum logs'}, 'thsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for thsum logs'}, 'desum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for desum logs'}, 'hourlytrsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for hourlytrsum logs'}, 'dailytrsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for dailytrsum logs'}, 'weeklytrsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for weeklytrsum logs'}, 'hourlythsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for hourlythsum logs'}, 'dailythsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for dailythsum logs'}, 'weeklythsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for weeklythsum logs'}, 'hourlyurlsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for hourlyurlsum logs'}, 'dailyurlsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for dailyurlsum logs'}, 'weeklyurlsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for weeklyurlsum logs'}, 'hourlydesum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for hourlydesum logs'}, 'dailydesum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for dailydesum logs'}, 'weeklydesum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for weeklydesum logs'}, 'threat-pcaps'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for threat-pcaps logs'}, 'hipmatch'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for hipmatch logs'}, 'userid'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for User-ID logs'}, 'auth'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for authentication logs'}, 'iptag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for iptag logs'}, 'gtp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for tunnel and gtp logs'}, 'gtpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for tunnel and gtp summary logs'}, 'hourlygtpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for hourly tunnel and gtp summary logs'}, 'dailygtpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for daily tunnel and gtp summary logs'}, 'weeklygtpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for weekly tunnel and gtp summary logs'}, 'globalprotect'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for globalprotect logs'}, 'sctp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420,cfg.platform.model=PA-1410,cfg.platform.model=PA-1420', 'help-string'=>'expiration period for sctp logs'}, 'sctpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420,cfg.platform.model=PA-1410,cfg.platform.model=PA-1420', 'help-string'=>'expiration period for sctp summary logs'}, 'hourlysctpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420,cfg.platform.model=PA-1410,cfg.platform.model=PA-1420', 'help-string'=>'expiration period for hourly sctp summmary logs'}, 'dailysctpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420,cfg.platform.model=PA-1410,cfg.platform.model=PA-1420', 'help-string'=>'expiration period for daily sctp summary logs'}, 'weeklysctpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420,cfg.platform.model=PA-1410,cfg.platform.model=PA-1420', 'help-string'=>'expiration period for weekly sctp summary logs'}} # expiration period for traffic logs def traffic prop_get('traffic') end # expiration period for traffic logs def traffic=(val) prop_set('traffic', val) end # expiration period for threat logs def threat prop_get('threat') end # expiration period for threat logs def threat=(val) prop_set('threat', val) end # expiration period for decryption logs def decryption prop_get('decryption') end # expiration period for decryption logs def decryption=(val) prop_set('decryption', val) end # expiration period for trsum logs def trsum prop_get('trsum') end # expiration period for trsum logs def trsum=(val) prop_set('trsum', val) end # expiration period for urlsum logs def urlsum prop_get('urlsum') end # expiration period for urlsum logs def urlsum=(val) prop_set('urlsum', val) end # expiration period for thsum logs def thsum prop_get('thsum') end # expiration period for thsum logs def thsum=(val) prop_set('thsum', val) end # expiration period for desum logs def desum prop_get('desum') end # expiration period for desum logs def desum=(val) prop_set('desum', val) end # expiration period for hourlytrsum logs def hourlytrsum prop_get('hourlytrsum') end # expiration period for hourlytrsum logs def hourlytrsum=(val) prop_set('hourlytrsum', val) end # expiration period for dailytrsum logs def dailytrsum prop_get('dailytrsum') end # expiration period for dailytrsum logs def dailytrsum=(val) prop_set('dailytrsum', val) end # expiration period for weeklytrsum logs def weeklytrsum prop_get('weeklytrsum') end # expiration period for weeklytrsum logs def weeklytrsum=(val) prop_set('weeklytrsum', val) end # expiration period for hourlythsum logs def hourlythsum prop_get('hourlythsum') end # expiration period for hourlythsum logs def hourlythsum=(val) prop_set('hourlythsum', val) end # expiration period for dailythsum logs def dailythsum prop_get('dailythsum') end # expiration period for dailythsum logs def dailythsum=(val) prop_set('dailythsum', val) end # expiration period for weeklythsum logs def weeklythsum prop_get('weeklythsum') end # expiration period for weeklythsum logs def weeklythsum=(val) prop_set('weeklythsum', val) end # expiration period for hourlyurlsum logs def hourlyurlsum prop_get('hourlyurlsum') end # expiration period for hourlyurlsum logs def hourlyurlsum=(val) prop_set('hourlyurlsum', val) end # expiration period for dailyurlsum logs def dailyurlsum prop_get('dailyurlsum') end # expiration period for dailyurlsum logs def dailyurlsum=(val) prop_set('dailyurlsum', val) end # expiration period for weeklyurlsum logs def weeklyurlsum prop_get('weeklyurlsum') end # expiration period for weeklyurlsum logs def weeklyurlsum=(val) prop_set('weeklyurlsum', val) end # expiration period for hourlydesum logs def hourlydesum prop_get('hourlydesum') end # expiration period for hourlydesum logs def hourlydesum=(val) prop_set('hourlydesum', val) end # expiration period for dailydesum logs def dailydesum prop_get('dailydesum') end # expiration period for dailydesum logs def dailydesum=(val) prop_set('dailydesum', val) end # expiration period for weeklydesum logs def weeklydesum prop_get('weeklydesum') end # expiration period for weeklydesum logs def weeklydesum=(val) prop_set('weeklydesum', val) end # expiration period for threat-pcaps logs def threat_pcaps prop_get('threat-pcaps') end # expiration period for threat-pcaps logs def threat_pcaps=(val) prop_set('threat-pcaps', val) end # expiration period for hipmatch logs def hipmatch prop_get('hipmatch') end # expiration period for hipmatch logs def hipmatch=(val) prop_set('hipmatch', val) end # expiration period for User-ID logs def userid prop_get('userid') end # expiration period for User-ID logs def userid=(val) prop_set('userid', val) end # expiration period for authentication logs def auth prop_get('auth') end # expiration period for authentication logs def auth=(val) prop_set('auth', val) end # expiration period for iptag logs def iptag prop_get('iptag') end # expiration period for iptag logs def iptag=(val) prop_set('iptag', val) end # expiration period for tunnel and gtp logs def gtp prop_get('gtp') end # expiration period for tunnel and gtp logs def gtp=(val) prop_set('gtp', val) end # expiration period for tunnel and gtp summary logs def gtpsum prop_get('gtpsum') end # expiration period for tunnel and gtp summary logs def gtpsum=(val) prop_set('gtpsum', val) end # expiration period for hourly tunnel and gtp summary logs def hourlygtpsum prop_get('hourlygtpsum') end # expiration period for hourly tunnel and gtp summary logs def hourlygtpsum=(val) prop_set('hourlygtpsum', val) end # expiration period for daily tunnel and gtp summary logs def dailygtpsum prop_get('dailygtpsum') end # expiration period for daily tunnel and gtp summary logs def dailygtpsum=(val) prop_set('dailygtpsum', val) end # expiration period for weekly tunnel and gtp summary logs def weeklygtpsum prop_get('weeklygtpsum') end # expiration period for weekly tunnel and gtp summary logs def weeklygtpsum=(val) prop_set('weeklygtpsum', val) end # expiration period for globalprotect logs def globalprotect prop_get('globalprotect') end # expiration period for globalprotect logs def globalprotect=(val) prop_set('globalprotect', val) end # expiration period for sctp logs def sctp prop_get('sctp') end # expiration period for sctp logs def sctp=(val) prop_set('sctp', val) end # expiration period for sctp summary logs def sctpsum prop_get('sctpsum') end # expiration period for sctp summary logs def sctpsum=(val) prop_set('sctpsum', val) end # expiration period for hourly sctp summmary logs def hourlysctpsum prop_get('hourlysctpsum') end # expiration period for hourly sctp summmary logs def hourlysctpsum=(val) prop_set('hourlysctpsum', val) end # expiration period for daily sctp summary logs def dailysctpsum prop_get('dailysctpsum') end # expiration period for daily sctp summary logs def dailysctpsum=(val) prop_set('dailysctpsum', val) end # expiration period for weekly sctp summary logs def weeklysctpsum prop_get('weeklysctpsum') end # expiration period for weekly sctp summary logs def weeklysctpsum=(val) prop_set('weeklysctpsum', val) end end def log_card @subclasses['log-card'] ||= LogCard.new(parent_instance: self, client: @client, create_children: @create_children) end class MgmtCard < ConfigClass def has_multiple_values?; false; end def _section :'mgmt-card' end @props = {'config'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for config logs'}, 'system'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for system logs'}, 'alarm'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for alarm logs'}, 'appstat'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for appstat logs'}, 'hip-reports'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for hip-reports logs'}, 'application-pcaps'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for application-pcaps logs'}, 'debug-filter-pcaps'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for debug-filter-pcaps logs'}, 'dlp-logs'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for dlp-logs'}} # expiration period for config logs def config prop_get('config') end # expiration period for config logs def config=(val) prop_set('config', val) end # expiration period for system logs def system prop_get('system') end # expiration period for system logs def system=(val) prop_set('system', val) end # expiration period for alarm logs def alarm prop_get('alarm') end # expiration period for alarm logs def alarm=(val) prop_set('alarm', val) end # expiration period for appstat logs def appstat prop_get('appstat') end # expiration period for appstat logs def appstat=(val) prop_set('appstat', val) end # expiration period for hip-reports logs def hip_reports prop_get('hip-reports') end # expiration period for hip-reports logs def hip_reports=(val) prop_set('hip-reports', val) end # expiration period for application-pcaps logs def application_pcaps prop_get('application-pcaps') end # expiration period for application-pcaps logs def application_pcaps=(val) prop_set('application-pcaps', val) end # expiration period for debug-filter-pcaps logs def debug_filter_pcaps prop_get('debug-filter-pcaps') end # expiration period for debug-filter-pcaps logs def debug_filter_pcaps=(val) prop_set('debug-filter-pcaps', val) end # expiration period for dlp-logs def dlp_logs prop_get('dlp-logs') end # expiration period for dlp-logs def dlp_logs=(val) prop_set('dlp-logs', val) end end def mgmt_card @subclasses['mgmt-card'] ||= MgmtCard.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def chassis_log_expiration_period @subclasses['chassis-log-expiration-period'] ||= ChassisLogExpirationPeriod.new(parent_instance: self, client: @client, create_children: @create_children) end class LogExpirationPeriod < ConfigClass def has_multiple_values?; false; end def _section :'log-expiration-period' end @props = {'traffic'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for traffic logs'}, 'threat'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for threat logs'}, 'decryption'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for decryption logs'}, 'config'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for config logs'}, 'system'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for system logs'}, 'alarm'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for alarm logs'}, 'appstat'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for appstat logs'}, 'trsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for trsum logs'}, 'thsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for trsum logs'}, 'urlsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for urlsum logs'}, 'desum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for desum logs'}, 'hipmatch'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for hipmatch logs'}, 'hourlytrsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for hourlytrsum logs'}, 'dailytrsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for dailytrsum logs'}, 'weeklytrsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for weeklytrsum logs'}, 'hourlythsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for hourlythsum logs'}, 'dailythsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for dailythsum logs'}, 'weeklythsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for weeklythsum logs'}, 'hourlyurlsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for hourlyurlsum logs'}, 'dailyurlsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for dailyurlsum logs'}, 'weeklyurlsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for weeklyurlsum logs'}, 'threat-pcaps'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for threat-pcaps logs'}, 'gtp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for tunnel and gtp logs'}, 'gtpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for tunnel and gtp summary logs'}, 'hourlygtpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for hourly tunnel and gtp summmary logs'}, 'dailygtpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for daily tunnel and gtp summary logs'}, 'weeklygtpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for weekly tunnel and gtp summary logs'}, 'hourlydesum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for hourlydesum logs'}, 'dailydesum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for dailydesum logs'}, 'weeklydesum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for weeklydesum logs'}, 'sctp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for sctp logs'}, 'sctpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for sctp summary logs'}, 'hourlysctpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for hourly sctp summmary logs'}, 'dailysctpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for daily sctp summary logs'}, 'weeklysctpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for weekly sctp summary logs'}, 'userid'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for User-ID logs'}, 'iptag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for iptag logs'}, 'auth'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for authentication logs'}, 'globalprotect'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for globalprotect logs'}, 'dlp-logs'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for dlp-logs logs'}, 'application-pcaps'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for application-pcaps logs'}, 'debug-filter-pcaps'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for debug-filter-pcaps logs'}, 'hip-reports'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for hip-reports logs'}} # expiration period for traffic logs def traffic prop_get('traffic') end # expiration period for traffic logs def traffic=(val) prop_set('traffic', val) end # expiration period for threat logs def threat prop_get('threat') end # expiration period for threat logs def threat=(val) prop_set('threat', val) end # expiration period for decryption logs def decryption prop_get('decryption') end # expiration period for decryption logs def decryption=(val) prop_set('decryption', val) end # expiration period for config logs def config prop_get('config') end # expiration period for config logs def config=(val) prop_set('config', val) end # expiration period for system logs def system prop_get('system') end # expiration period for system logs def system=(val) prop_set('system', val) end # expiration period for alarm logs def alarm prop_get('alarm') end # expiration period for alarm logs def alarm=(val) prop_set('alarm', val) end # expiration period for appstat logs def appstat prop_get('appstat') end # expiration period for appstat logs def appstat=(val) prop_set('appstat', val) end # expiration period for trsum logs def trsum prop_get('trsum') end # expiration period for trsum logs def trsum=(val) prop_set('trsum', val) end # expiration period for trsum logs def thsum prop_get('thsum') end # expiration period for trsum logs def thsum=(val) prop_set('thsum', val) end # expiration period for urlsum logs def urlsum prop_get('urlsum') end # expiration period for urlsum logs def urlsum=(val) prop_set('urlsum', val) end # expiration period for desum logs def desum prop_get('desum') end # expiration period for desum logs def desum=(val) prop_set('desum', val) end # expiration period for hipmatch logs def hipmatch prop_get('hipmatch') end # expiration period for hipmatch logs def hipmatch=(val) prop_set('hipmatch', val) end # expiration period for hourlytrsum logs def hourlytrsum prop_get('hourlytrsum') end # expiration period for hourlytrsum logs def hourlytrsum=(val) prop_set('hourlytrsum', val) end # expiration period for dailytrsum logs def dailytrsum prop_get('dailytrsum') end # expiration period for dailytrsum logs def dailytrsum=(val) prop_set('dailytrsum', val) end # expiration period for weeklytrsum logs def weeklytrsum prop_get('weeklytrsum') end # expiration period for weeklytrsum logs def weeklytrsum=(val) prop_set('weeklytrsum', val) end # expiration period for hourlythsum logs def hourlythsum prop_get('hourlythsum') end # expiration period for hourlythsum logs def hourlythsum=(val) prop_set('hourlythsum', val) end # expiration period for dailythsum logs def dailythsum prop_get('dailythsum') end # expiration period for dailythsum logs def dailythsum=(val) prop_set('dailythsum', val) end # expiration period for weeklythsum logs def weeklythsum prop_get('weeklythsum') end # expiration period for weeklythsum logs def weeklythsum=(val) prop_set('weeklythsum', val) end # expiration period for hourlyurlsum logs def hourlyurlsum prop_get('hourlyurlsum') end # expiration period for hourlyurlsum logs def hourlyurlsum=(val) prop_set('hourlyurlsum', val) end # expiration period for dailyurlsum logs def dailyurlsum prop_get('dailyurlsum') end # expiration period for dailyurlsum logs def dailyurlsum=(val) prop_set('dailyurlsum', val) end # expiration period for weeklyurlsum logs def weeklyurlsum prop_get('weeklyurlsum') end # expiration period for weeklyurlsum logs def weeklyurlsum=(val) prop_set('weeklyurlsum', val) end # expiration period for threat-pcaps logs def threat_pcaps prop_get('threat-pcaps') end # expiration period for threat-pcaps logs def threat_pcaps=(val) prop_set('threat-pcaps', val) end # expiration period for tunnel and gtp logs def gtp prop_get('gtp') end # expiration period for tunnel and gtp logs def gtp=(val) prop_set('gtp', val) end # expiration period for tunnel and gtp summary logs def gtpsum prop_get('gtpsum') end # expiration period for tunnel and gtp summary logs def gtpsum=(val) prop_set('gtpsum', val) end # expiration period for hourly tunnel and gtp summmary logs def hourlygtpsum prop_get('hourlygtpsum') end # expiration period for hourly tunnel and gtp summmary logs def hourlygtpsum=(val) prop_set('hourlygtpsum', val) end # expiration period for daily tunnel and gtp summary logs def dailygtpsum prop_get('dailygtpsum') end # expiration period for daily tunnel and gtp summary logs def dailygtpsum=(val) prop_set('dailygtpsum', val) end # expiration period for weekly tunnel and gtp summary logs def weeklygtpsum prop_get('weeklygtpsum') end # expiration period for weekly tunnel and gtp summary logs def weeklygtpsum=(val) prop_set('weeklygtpsum', val) end # expiration period for hourlydesum logs def hourlydesum prop_get('hourlydesum') end # expiration period for hourlydesum logs def hourlydesum=(val) prop_set('hourlydesum', val) end # expiration period for dailydesum logs def dailydesum prop_get('dailydesum') end # expiration period for dailydesum logs def dailydesum=(val) prop_set('dailydesum', val) end # expiration period for weeklydesum logs def weeklydesum prop_get('weeklydesum') end # expiration period for weeklydesum logs def weeklydesum=(val) prop_set('weeklydesum', val) end # expiration period for sctp logs def sctp prop_get('sctp') end # expiration period for sctp logs def sctp=(val) prop_set('sctp', val) end # expiration period for sctp summary logs def sctpsum prop_get('sctpsum') end # expiration period for sctp summary logs def sctpsum=(val) prop_set('sctpsum', val) end # expiration period for hourly sctp summmary logs def hourlysctpsum prop_get('hourlysctpsum') end # expiration period for hourly sctp summmary logs def hourlysctpsum=(val) prop_set('hourlysctpsum', val) end # expiration period for daily sctp summary logs def dailysctpsum prop_get('dailysctpsum') end # expiration period for daily sctp summary logs def dailysctpsum=(val) prop_set('dailysctpsum', val) end # expiration period for weekly sctp summary logs def weeklysctpsum prop_get('weeklysctpsum') end # expiration period for weekly sctp summary logs def weeklysctpsum=(val) prop_set('weeklysctpsum', val) end # expiration period for User-ID logs def userid prop_get('userid') end # expiration period for User-ID logs def userid=(val) prop_set('userid', val) end # expiration period for iptag logs def iptag prop_get('iptag') end # expiration period for iptag logs def iptag=(val) prop_set('iptag', val) end # expiration period for authentication logs def auth prop_get('auth') end # expiration period for authentication logs def auth=(val) prop_set('auth', val) end # expiration period for globalprotect logs def globalprotect prop_get('globalprotect') end # expiration period for globalprotect logs def globalprotect=(val) prop_set('globalprotect', val) end # expiration period for dlp-logs logs def dlp_logs prop_get('dlp-logs') end # expiration period for dlp-logs logs def dlp_logs=(val) prop_set('dlp-logs', val) end # expiration period for application-pcaps logs def application_pcaps prop_get('application-pcaps') end # expiration period for application-pcaps logs def application_pcaps=(val) prop_set('application-pcaps', val) end # expiration period for debug-filter-pcaps logs def debug_filter_pcaps prop_get('debug-filter-pcaps') end # expiration period for debug-filter-pcaps logs def debug_filter_pcaps=(val) prop_set('debug-filter-pcaps', val) end # expiration period for hip-reports logs def hip_reports prop_get('hip-reports') end # expiration period for hip-reports logs def hip_reports=(val) prop_set('hip-reports', val) end end def log_expiration_period @subclasses['log-expiration-period'] ||= LogExpirationPeriod.new(parent_instance: self, client: @client, create_children: @create_children) end class DiskQuota < ConfigClass def has_multiple_values?; false; end def _section :'disk-quota' end @props = {'traffic'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'traffic logs quota percentage'}, 'threat'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'threat logs quota percentage'}, 'config'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'configuration logs quota percentage'}, 'system'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'system logs quota percentage'}, 'globalprotect'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'globalprotect logs quota percentage'}, 'desum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'decryption summary quota percentage'}, 'decryption'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'decryption logs quota percentage'}, 'alarm'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'alarm logs quota percentage'}, 'appstat'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'application statistics quota percentage'}, 'trsum'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'traffic summary quota percentage'}, 'thsum'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'threat summary quota percentage'}, 'urlsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'url summary quota percentage'}, 'hipmatch'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Hip match quota percentage'}, 'hourlytrsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Hourly traffic summary quota percentage'}, 'dailytrsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Daily traffic summary quota percentage'}, 'weeklytrsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Weekly traffic summary quota percentage'}, 'hourlythsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Hourly threat summary quota percentage'}, 'dailythsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Daily threat summary quota percentage'}, 'weeklythsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Weekly threat summary quota percentage'}, 'hourlyurlsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Hourly url summary quota percentage'}, 'dailyurlsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Daily url summary quota percentage'}, 'weeklyurlsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Weekly url summary quota percentage'}, 'threat-pcaps'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'threat packet capture quota percentage'}, 'gtp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Tunnel and GTP logs quota percentage'}, 'gtpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Tunnel and GTP summary quota percentage'}, 'hourlygtpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Hourly Tunnel and GTP summary quota percentage'}, 'dailygtpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Daily Tunnel and GTP summary quota percentage'}, 'weeklygtpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Weekly Tunnel and GTP summary quota percentage'}, 'hourlydesum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Hourly decryption summary quota percentage'}, 'dailydesum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Daily decryption summary quota percentage'}, 'weeklydesum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Weekly decryption summary quota percentage'}, 'sctp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'SCTP logs quota percentage'}, 'sctpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'SCTP summary quota percentage'}, 'hourlysctpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Hourly SCTP summary quota percentage'}, 'dailysctpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Daily SCTP summary quota percentage'}, 'weeklysctpsum'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Weekly SCTP summary quota percentage'}, 'userid'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'User ID logs quota percentage'}, 'auth'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'Authentication logs quota percentage'}, 'iptag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'IP Tag logs quota percentage'}, 'dlp-logs'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'DLP log data quota percentage'}, 'application-pcaps'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'application packet capture quota percentage'}, 'debug-filter-pcaps'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'debug filter packet capture quota percentage'}, 'hip-reports'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'host information profile quota percentage'}} # traffic logs quota percentage def traffic prop_get('traffic') end # traffic logs quota percentage def traffic=(val) prop_set('traffic', val) end # threat logs quota percentage def threat prop_get('threat') end # threat logs quota percentage def threat=(val) prop_set('threat', val) end # configuration logs quota percentage def config prop_get('config') end # configuration logs quota percentage def config=(val) prop_set('config', val) end # system logs quota percentage def system prop_get('system') end # system logs quota percentage def system=(val) prop_set('system', val) end # globalprotect logs quota percentage def globalprotect prop_get('globalprotect') end # globalprotect logs quota percentage def globalprotect=(val) prop_set('globalprotect', val) end # decryption summary quota percentage def desum prop_get('desum') end # decryption summary quota percentage def desum=(val) prop_set('desum', val) end # decryption logs quota percentage def decryption prop_get('decryption') end # decryption logs quota percentage def decryption=(val) prop_set('decryption', val) end # alarm logs quota percentage def alarm prop_get('alarm') end # alarm logs quota percentage def alarm=(val) prop_set('alarm', val) end # application statistics quota percentage def appstat prop_get('appstat') end # application statistics quota percentage def appstat=(val) prop_set('appstat', val) end # traffic summary quota percentage def trsum prop_get('trsum') end # traffic summary quota percentage def trsum=(val) prop_set('trsum', val) end # threat summary quota percentage def thsum prop_get('thsum') end # threat summary quota percentage def thsum=(val) prop_set('thsum', val) end # url summary quota percentage def urlsum prop_get('urlsum') end # url summary quota percentage def urlsum=(val) prop_set('urlsum', val) end # Hip match quota percentage def hipmatch prop_get('hipmatch') end # Hip match quota percentage def hipmatch=(val) prop_set('hipmatch', val) end # Hourly traffic summary quota percentage def hourlytrsum prop_get('hourlytrsum') end # Hourly traffic summary quota percentage def hourlytrsum=(val) prop_set('hourlytrsum', val) end # Daily traffic summary quota percentage def dailytrsum prop_get('dailytrsum') end # Daily traffic summary quota percentage def dailytrsum=(val) prop_set('dailytrsum', val) end # Weekly traffic summary quota percentage def weeklytrsum prop_get('weeklytrsum') end # Weekly traffic summary quota percentage def weeklytrsum=(val) prop_set('weeklytrsum', val) end # Hourly threat summary quota percentage def hourlythsum prop_get('hourlythsum') end # Hourly threat summary quota percentage def hourlythsum=(val) prop_set('hourlythsum', val) end # Daily threat summary quota percentage def dailythsum prop_get('dailythsum') end # Daily threat summary quota percentage def dailythsum=(val) prop_set('dailythsum', val) end # Weekly threat summary quota percentage def weeklythsum prop_get('weeklythsum') end # Weekly threat summary quota percentage def weeklythsum=(val) prop_set('weeklythsum', val) end # Hourly url summary quota percentage def hourlyurlsum prop_get('hourlyurlsum') end # Hourly url summary quota percentage def hourlyurlsum=(val) prop_set('hourlyurlsum', val) end # Daily url summary quota percentage def dailyurlsum prop_get('dailyurlsum') end # Daily url summary quota percentage def dailyurlsum=(val) prop_set('dailyurlsum', val) end # Weekly url summary quota percentage def weeklyurlsum prop_get('weeklyurlsum') end # Weekly url summary quota percentage def weeklyurlsum=(val) prop_set('weeklyurlsum', val) end # threat packet capture quota percentage def threat_pcaps prop_get('threat-pcaps') end # threat packet capture quota percentage def threat_pcaps=(val) prop_set('threat-pcaps', val) end # Tunnel and GTP logs quota percentage def gtp prop_get('gtp') end # Tunnel and GTP logs quota percentage def gtp=(val) prop_set('gtp', val) end # Tunnel and GTP summary quota percentage def gtpsum prop_get('gtpsum') end # Tunnel and GTP summary quota percentage def gtpsum=(val) prop_set('gtpsum', val) end # Hourly Tunnel and GTP summary quota percentage def hourlygtpsum prop_get('hourlygtpsum') end # Hourly Tunnel and GTP summary quota percentage def hourlygtpsum=(val) prop_set('hourlygtpsum', val) end # Daily Tunnel and GTP summary quota percentage def dailygtpsum prop_get('dailygtpsum') end # Daily Tunnel and GTP summary quota percentage def dailygtpsum=(val) prop_set('dailygtpsum', val) end # Weekly Tunnel and GTP summary quota percentage def weeklygtpsum prop_get('weeklygtpsum') end # Weekly Tunnel and GTP summary quota percentage def weeklygtpsum=(val) prop_set('weeklygtpsum', val) end # Hourly decryption summary quota percentage def hourlydesum prop_get('hourlydesum') end # Hourly decryption summary quota percentage def hourlydesum=(val) prop_set('hourlydesum', val) end # Daily decryption summary quota percentage def dailydesum prop_get('dailydesum') end # Daily decryption summary quota percentage def dailydesum=(val) prop_set('dailydesum', val) end # Weekly decryption summary quota percentage def weeklydesum prop_get('weeklydesum') end # Weekly decryption summary quota percentage def weeklydesum=(val) prop_set('weeklydesum', val) end # SCTP logs quota percentage def sctp prop_get('sctp') end # SCTP logs quota percentage def sctp=(val) prop_set('sctp', val) end # SCTP summary quota percentage def sctpsum prop_get('sctpsum') end # SCTP summary quota percentage def sctpsum=(val) prop_set('sctpsum', val) end # Hourly SCTP summary quota percentage def hourlysctpsum prop_get('hourlysctpsum') end # Hourly SCTP summary quota percentage def hourlysctpsum=(val) prop_set('hourlysctpsum', val) end # Daily SCTP summary quota percentage def dailysctpsum prop_get('dailysctpsum') end # Daily SCTP summary quota percentage def dailysctpsum=(val) prop_set('dailysctpsum', val) end # Weekly SCTP summary quota percentage def weeklysctpsum prop_get('weeklysctpsum') end # Weekly SCTP summary quota percentage def weeklysctpsum=(val) prop_set('weeklysctpsum', val) end # User ID logs quota percentage def userid prop_get('userid') end # User ID logs quota percentage def userid=(val) prop_set('userid', val) end # Authentication logs quota percentage def auth prop_get('auth') end # Authentication logs quota percentage def auth=(val) prop_set('auth', val) end # IP Tag logs quota percentage def iptag prop_get('iptag') end # IP Tag logs quota percentage def iptag=(val) prop_set('iptag', val) end # DLP log data quota percentage def dlp_logs prop_get('dlp-logs') end # DLP log data quota percentage def dlp_logs=(val) prop_set('dlp-logs', val) end # application packet capture quota percentage def application_pcaps prop_get('application-pcaps') end # application packet capture quota percentage def application_pcaps=(val) prop_set('application-pcaps', val) end # debug filter packet capture quota percentage def debug_filter_pcaps prop_get('debug-filter-pcaps') end # debug filter packet capture quota percentage def debug_filter_pcaps=(val) prop_set('debug-filter-pcaps', val) end # host information profile quota percentage def hip_reports prop_get('hip-reports') end # host information profile quota percentage def hip_reports=(val) prop_set('hip-reports', val) end end def disk_quota @subclasses['disk-quota'] ||= DiskQuota.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def quota_settings @subclasses['quota-settings'] ||= QuotaSettings.new(parent_instance: self, client: @client, create_children: @create_children) end class DisablePredefinedReports < XML::ConfigClass def has_multiple_values?; true; end def _section :'disable-predefined-reports' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'help-string'=>'report element'}} # report element def member prop_get('member') end # report element def member=(val) prop_set('member', val) end end def disable_predefined_reports maybe_register_subclass('disable-predefined-reports', DisablePredefinedReports.new(parent_instance: self, client: @client, create_children: @create_children)) end class DisablePredefinedCorrelationObjs < XML::ConfigClass def has_multiple_values?; true; end def _section :'disable-predefined-correlation-objs' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'32', 'help-string'=>'Correlation objects'}} # Correlation objects def member prop_get('member') end # Correlation objects def member=(val) prop_set('member', val) end end def disable_predefined_correlation_objs maybe_register_subclass('disable-predefined-correlation-objs', DisablePredefinedCorrelationObjs.new(parent_instance: self, client: @client, create_children: @create_children)) end class CommonCriteria < ConfigClass def has_multiple_values?; false; end def _section :'common-criteria' end class SkipConfigurationLogsFor < XML::ConfigClass def has_multiple_values?; true; end def _section :'skip-configuration-logs-for' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def skip_configuration_logs_for maybe_register_subclass('skip-configuration-logs-for', SkipConfigurationLogsFor.new(parent_instance: self, client: @client, create_children: @create_children)) end class SelfTestSchedule < ConfigClass def has_multiple_values?; false; end def _section :'self-test-schedule' end class Crypto < ConfigClass def has_multiple_values?; false; end def _section :crypto end class StartTime < XML::ConfigClass def has_multiple_values?; true; end def _section :'start-time' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3]):([0-5][0-9])', 'minlen'=>'5', 'maxlen'=>'5', 'help-string'=>'Time to start daily self-test hh:mm (e.g. 03:30). Maximum 100.'}} # Time to start daily self-test hh:mm (e.g. 03:30). Maximum 100. def member prop_get('member') end # Time to start daily self-test hh:mm (e.g. 03:30). Maximum 100. def member=(val) prop_set('member', val) end end def start_time maybe_register_subclass('start-time', StartTime.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def crypto @subclasses['crypto'] ||= Crypto.new(parent_instance: self, client: @client, create_children: @create_children) end class SoftwareIntegrity < ConfigClass def has_multiple_values?; false; end def _section :'software-integrity' end class StartTime < XML::ConfigClass def has_multiple_values?; true; end def _section :'start-time' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3]):([0-5][0-9])', 'minlen'=>'5', 'maxlen'=>'5', 'help-string'=>'Time to start daily self-test hh:mm (e.g. 03:30). Maximum 100.'}} # Time to start daily self-test hh:mm (e.g. 03:30). Maximum 100. def member prop_get('member') end # Time to start daily self-test hh:mm (e.g. 03:30). Maximum 100. def member=(val) prop_set('member', val) end end def start_time maybe_register_subclass('start-time', StartTime.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def software_integrity @subclasses['software-integrity'] ||= SoftwareIntegrity.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def self_test_schedule @subclasses['self-test-schedule'] ||= SelfTestSchedule.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable-cconly-logs'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable logging of Common-Criteria only logs'}, 'enable-packet-drop-logs'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable logging of dropped packets'}, 'skip-authentication-success-logs'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Do not log successful authentication'}, 'skip-authentication-failure-logs'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Do not log unsuccessful authentication attempts'}, 'enable-tls-session-logging'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable logging TLS sessions'}, 'enable-ocsp-crl-logs'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable CA (OCSP/CRL) Session Establishment Logging'}, 'enable-ike-logging'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable IKE session Logging'}} # Enable logging of Common-Criteria only logs def enable_cconly_logs prop_get('enable-cconly-logs') end # Enable logging of Common-Criteria only logs def enable_cconly_logs=(val) prop_set('enable-cconly-logs', val) end # Enable logging of dropped packets def enable_packet_drop_logs prop_get('enable-packet-drop-logs') end # Enable logging of dropped packets def enable_packet_drop_logs=(val) prop_set('enable-packet-drop-logs', val) end # Do not log successful authentication def skip_authentication_success_logs prop_get('skip-authentication-success-logs') end # Do not log successful authentication def skip_authentication_success_logs=(val) prop_set('skip-authentication-success-logs', val) end # Do not log unsuccessful authentication attempts def skip_authentication_failure_logs prop_get('skip-authentication-failure-logs') end # Do not log unsuccessful authentication attempts def skip_authentication_failure_logs=(val) prop_set('skip-authentication-failure-logs', val) end # Enable logging TLS sessions def enable_tls_session_logging prop_get('enable-tls-session-logging') end # Enable logging TLS sessions def enable_tls_session_logging=(val) prop_set('enable-tls-session-logging', val) end # Enable CA (OCSP/CRL) Session Establishment Logging def enable_ocsp_crl_logs prop_get('enable-ocsp-crl-logs') end # Enable CA (OCSP/CRL) Session Establishment Logging def enable_ocsp_crl_logs=(val) prop_set('enable-ocsp-crl-logs', val) end # Enable IKE session Logging def enable_ike_logging prop_get('enable-ike-logging') end # Enable IKE session Logging def enable_ike_logging=(val) prop_set('enable-ike-logging', val) end end def common_criteria @subclasses['common-criteria'] ||= CommonCriteria.new(parent_instance: self, client: @client, create_children: @create_children) end class Api < ConfigClass def has_multiple_values?; false; end def _section :api end class Key < ConfigClass def has_multiple_values?; false; end def _section :key end @props = {'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'api key lifetime in minutes', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'525600'}, 'enum'=>[{'value'=>'0', 'help-string'=>'never'}]}}} # api key lifetime in minutes def lifetime prop_get('lifetime') end # api key lifetime in minutes def lifetime=(val) prop_set('lifetime', val) end end def key @subclasses['key'] ||= Key.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def api @subclasses['api'] ||= Api.new(parent_instance: self, client: @client, create_children: @create_children) end class AdminLockout < ConfigClass def has_multiple_values?; false; end def _section :'admin-lockout' end @props = {'failed-attempts'=>{'node-type'=>'element', 'prune-on'=>'fips-mode', 'default'=>'0', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'10', 'help-string'=>'Number of failed login attempts to trigger lock-out'}, 'lockout-time'=>{'node-type'=>'element', 'prune-on'=>'fips-mode', 'default'=>'0', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'60', 'help-string'=>'Number of minutes to lock-out'}} # Number of failed login attempts to trigger lock-out def failed_attempts prop_get('failed-attempts') end # Number of failed login attempts to trigger lock-out def failed_attempts=(val) prop_set('failed-attempts', val) end # Number of minutes to lock-out def lockout_time prop_get('lockout-time') end # Number of minutes to lock-out def lockout_time=(val) prop_set('lockout-time', val) end end def admin_lockout @subclasses['admin-lockout'] ||= AdminLockout.new(parent_instance: self, client: @client, create_children: @create_children) end class AdminSession < ConfigClass def has_multiple_values?; false; end def _section :'admin-session' end @props = {'max-session-count'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4', 'default'=>'0', 'prune-on'=>'fips-mode', 'help-string'=>'Set the maximum number of sessions administrators are allowed'}, 'max-session-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4', 'default'=>'0', 'prune-on'=>'fips-mode', 'help-string'=>'Set the maximum session time (0, 60-1499 minutes)', 'regex'=>'^((0)|([6-9][0-9])|([1-9][0-9][0-9])|(1[0-4][0-9][0-9]))$'}} # Set the maximum number of sessions administrators are allowed def max_session_count prop_get('max-session-count') end # Set the maximum number of sessions administrators are allowed def max_session_count=(val) prop_set('max-session-count', val) end # Set the maximum session time (0, 60-1499 minutes) def max_session_time prop_get('max-session-time') end # Set the maximum session time (0, 60-1499 minutes) def max_session_time=(val) prop_set('max-session-time', val) end end def admin_session @subclasses['admin-session'] ||= AdminSession.new(parent_instance: self, client: @client, create_children: @create_children) end class BrowseActivityReportSetting < ConfigClass def has_multiple_values?; false; end def _section :'browse-activity-report-setting' end @props = {'average-browse-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'300', 'default'=>'60', 'help-string'=>'Average time in seconds for a browse session'}, 'page-load-threshold'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'60', 'default'=>'20', 'help-string'=>'Average time in seconds to load a URL page'}} # Average time in seconds for a browse session def average_browse_time prop_get('average-browse-time') end # Average time in seconds for a browse session def average_browse_time=(val) prop_set('average-browse-time', val) end # Average time in seconds to load a URL page def page_load_threshold prop_get('page-load-threshold') end # Average time in seconds to load a URL page def page_load_threshold=(val) prop_set('page-load-threshold', val) end end def browse_activity_report_setting @subclasses['browse-activity-report-setting'] ||= BrowseActivityReportSetting.new(parent_instance: self, client: @client, create_children: @create_children) end class DeviceMonitoring < ConfigClass def has_multiple_values?; false; end def _section :'device-monitoring' end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable device monitoring'}} # Enable device monitoring def enabled prop_get('enabled') end # Enable device monitoring def enabled=(val) prop_set('enabled', val) end end def device_monitoring @subclasses['device-monitoring'] ||= DeviceMonitoring.new(parent_instance: self, client: @client, create_children: @create_children) end class CommonCriteriaAlarmGeneration < ConfigClass def has_multiple_values?; false; end def _section :'common-criteria-alarm-generation' end class SecurityPolicyLimits < ConfigClass def has_multiple_values?; false; end def _section :'security-policy-limits' end @props = {'count'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295'}, 'time-interval'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'30', 'max'=>'86400'}} def count prop_get('count') end def count=(val) prop_set('count', val) end def time_interval prop_get('time-interval') end def time_interval=(val) prop_set('time-interval', val) end end def security_policy_limits @subclasses['security-policy-limits'] ||= SecurityPolicyLimits.new(parent_instance: self, client: @client, create_children: @create_children) end class RuleGroupLimits < ConfigClass def has_multiple_values?; false; end def _section :'rule-group-limits' end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'count'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295'}, 'time-interval'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'30', 'max'=>'86400'}} def count prop_get('count') end def count=(val) prop_set('count', val) end def time_interval prop_get('time-interval') end def time_interval=(val) prop_set('time-interval', val) end end def rule_group_limits @subclasses['rule-group-limits'] ||= RuleGroupLimits.new(parent_instance: self, client: @client, create_children: @create_children) end class LogDatabasesAlarmThreshold < ConfigClass def has_multiple_values?; false; end def _section :'log-databases-alarm-threshold' end @props = {'traffic'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'0', 'max'=>'100', 'default'=>'90', 'help-string'=>'traffic logs database % full threshold value for alarm generation'}, 'threat'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'0', 'max'=>'100', 'default'=>'90', 'help-string'=>'threat logs database % full threshold value for alarm generation'}, 'config'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'0', 'max'=>'100', 'default'=>'90', 'help-string'=>'configuration logs database % full threshold value for alarm generation'}, 'system'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'0', 'max'=>'100', 'default'=>'90', 'help-string'=>'system logs database % full threshold value for alarm generation'}, 'alarm'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'0', 'max'=>'100', 'default'=>'90', 'help-string'=>'alarm logs database % full threshold value for alarm generation'}, 'hipmatch'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'0', 'max'=>'100', 'default'=>'90', 'help-string'=>'hipmatch logs database % full threshold value for alarm generation'}, 'userid'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'0', 'max'=>'100', 'default'=>'90', 'help-string'=>'User-ID logs database % full threshold value for alarm generation'}, 'iptag'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'0', 'max'=>'100', 'default'=>'90', 'help-string'=>'IP-TAG logs database % full threshold value for alarm generation'}, 'auth'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'0', 'max'=>'100', 'default'=>'90', 'help-string'=>'authentication logs database % full threshold value for alarm generation'}, 'gtp'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'0', 'max'=>'100', 'default'=>'90', 'help-string'=>'tunnel and gtp logs database % full threshold value for alarm generation'}, 'sctp'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'0', 'max'=>'100', 'default'=>'90', 'help-string'=>'SCTP logs database % full threshold value for alarm generation'}, 'globalprotect'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'0', 'max'=>'100', 'default'=>'90', 'help-string'=>'Globalprotect logs database % full threshold value for alarm generation'}, 'decryption'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'0', 'max'=>'100', 'default'=>'90', 'help-string'=>'decryption logs database % full threshold value for alarm generation'}} # traffic logs database % full threshold value for alarm generation def traffic prop_get('traffic') end # traffic logs database % full threshold value for alarm generation def traffic=(val) prop_set('traffic', val) end # threat logs database % full threshold value for alarm generation def threat prop_get('threat') end # threat logs database % full threshold value for alarm generation def threat=(val) prop_set('threat', val) end # configuration logs database % full threshold value for alarm generation def config prop_get('config') end # configuration logs database % full threshold value for alarm generation def config=(val) prop_set('config', val) end # system logs database % full threshold value for alarm generation def system prop_get('system') end # system logs database % full threshold value for alarm generation def system=(val) prop_set('system', val) end # alarm logs database % full threshold value for alarm generation def alarm prop_get('alarm') end # alarm logs database % full threshold value for alarm generation def alarm=(val) prop_set('alarm', val) end # hipmatch logs database % full threshold value for alarm generation def hipmatch prop_get('hipmatch') end # hipmatch logs database % full threshold value for alarm generation def hipmatch=(val) prop_set('hipmatch', val) end # User-ID logs database % full threshold value for alarm generation def userid prop_get('userid') end # User-ID logs database % full threshold value for alarm generation def userid=(val) prop_set('userid', val) end # IP-TAG logs database % full threshold value for alarm generation def iptag prop_get('iptag') end # IP-TAG logs database % full threshold value for alarm generation def iptag=(val) prop_set('iptag', val) end # authentication logs database % full threshold value for alarm generation def auth prop_get('auth') end # authentication logs database % full threshold value for alarm generation def auth=(val) prop_set('auth', val) end # tunnel and gtp logs database % full threshold value for alarm generation def gtp prop_get('gtp') end # tunnel and gtp logs database % full threshold value for alarm generation def gtp=(val) prop_set('gtp', val) end # SCTP logs database % full threshold value for alarm generation def sctp prop_get('sctp') end # SCTP logs database % full threshold value for alarm generation def sctp=(val) prop_set('sctp', val) end # Globalprotect logs database % full threshold value for alarm generation def globalprotect prop_get('globalprotect') end # Globalprotect logs database % full threshold value for alarm generation def globalprotect=(val) prop_set('globalprotect', val) end # decryption logs database % full threshold value for alarm generation def decryption prop_get('decryption') end # decryption logs database % full threshold value for alarm generation def decryption=(val) prop_set('decryption', val) end end def log_databases_alarm_threshold @subclasses['log-databases-alarm-threshold'] ||= LogDatabasesAlarmThreshold.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable-alarm-generation'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable CC alarms generation'}, 'enable-cli-alarm-notification'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable alarms notification on admin console'}, 'enable-web-alarm-notification'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable alarms notification on Web'}, 'enable-audible-alarms'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable audio sound for alarms'}, 'encrypt-decrypt-fail-count'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'help-string'=>'Encryption/Decryption failure count notification threshold'}} # Enable CC alarms generation def enable_alarm_generation prop_get('enable-alarm-generation') end # Enable CC alarms generation def enable_alarm_generation=(val) prop_set('enable-alarm-generation', val) end # Enable alarms notification on admin console def enable_cli_alarm_notification prop_get('enable-cli-alarm-notification') end # Enable alarms notification on admin console def enable_cli_alarm_notification=(val) prop_set('enable-cli-alarm-notification', val) end # Enable alarms notification on Web def enable_web_alarm_notification prop_get('enable-web-alarm-notification') end # Enable alarms notification on Web def enable_web_alarm_notification=(val) prop_set('enable-web-alarm-notification', val) end # Enable audio sound for alarms def enable_audible_alarms prop_get('enable-audible-alarms') end # Enable audio sound for alarms def enable_audible_alarms=(val) prop_set('enable-audible-alarms', val) end # Encryption/Decryption failure count notification threshold def encrypt_decrypt_fail_count prop_get('encrypt-decrypt-fail-count') end # Encryption/Decryption failure count notification threshold def encrypt_decrypt_fail_count=(val) prop_set('encrypt-decrypt-fail-count', val) end end def common_criteria_alarm_generation @subclasses['common-criteria-alarm-generation'] ||= CommonCriteriaAlarmGeneration.new(parent_instance: self, client: @client, create_children: @create_children) end class Initcfg < ConfigClass def has_multiple_values?; false; end def _section :initcfg end class Type < ConfigClass def has_multiple_values?; false; end def _section :type end class Static < ConfigClass def has_multiple_values?; false; end def _section :static end @props = {} end def static @subclasses['static'] ||= Static.new(parent_instance: self, client: @client, create_children: @create_children) end class DhcpClient < ConfigClass def has_multiple_values?; false; end def _section :'dhcp-client' end @props = {'send-hostname'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes'}, 'send-client-id'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no'}, 'accept-dhcp-hostname'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no'}, 'accept-dhcp-domain'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no'}} def send_hostname prop_get('send-hostname') end def send_hostname=(val) prop_set('send-hostname', val) end def send_client_id prop_get('send-client-id') end def send_client_id=(val) prop_set('send-client-id', val) end def accept_dhcp_hostname prop_get('accept-dhcp-hostname') end def accept_dhcp_hostname=(val) prop_set('accept-dhcp-hostname', val) end def accept_dhcp_domain prop_get('accept-dhcp-domain') end def accept_dhcp_domain=(val) prop_set('accept-dhcp-domain', val) end end def dhcp_client @subclasses['dhcp-client'] ||= DhcpClient.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type @subclasses['type'] ||= Type.new(parent_instance: self, client: @client, create_children: @create_children) end class CloudService < ConfigClass def has_multiple_values?; false; end def _section :'cloud-service' end @props = {} end def cloud_service @subclasses['cloud-service'] ||= CloudService.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'ip-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec'}, 'netmask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'subtype'=>'ip-address'}, 'default-gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-only'=>'yes'}, 'panorama-server'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^([0-9a-zA-Z:./_-])+$', 'maxlen'=>'63'}, 'panorama-server-2'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^([0-9a-zA-Z:./_-])+$', 'maxlen'=>'63'}, 'hostname'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[a-zA-Z0-9\._-]+$', 'minlen'=>'1', 'maxlen'=>'32'}, 'dns-primary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^([0-9a-zA-Z:./_-])+$', 'maxlen'=>'63'}, 'dns-secondary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^([0-9a-zA-Z:./_-])+$', 'maxlen'=>'63'}, 'ipv6-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-with-mask'=>'yes', 'ipv6-only'=>'yes'}, 'ipv6-default-gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-only'=>'yes'}, 'auth-key'=>{'node-type'=>'element', 'optional'=>'yes', 'maxlen'=>'255', 'type'=>'string'}, 'dgname'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string'}, 'cgname'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string'}, 'cluster-name'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63'}, 'certificate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string'}, 'certpassphrase'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string'}, 'certkeyfile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string'}, 'username'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string'}, 'userpassword'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string'}, 'tplname'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63'}, 'agent-name'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'64'}, 'hostInfo-agentId'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'64'}, 'hostInfo-hostName'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'64'}, 'public-key'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'(([A-Za-z0-9+/]{4})*([A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{2}==)?){1}', 'maxlen'=>'2048'}, 'op-command-modes'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'64'}, 'vm-auth-key'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string'}} def ip_address prop_get('ip-address') end def ip_address=(val) prop_set('ip-address', val) end def netmask prop_get('netmask') end def netmask=(val) prop_set('netmask', val) end def default_gateway prop_get('default-gateway') end def default_gateway=(val) prop_set('default-gateway', val) end def panorama_server prop_get('panorama-server') end def panorama_server=(val) prop_set('panorama-server', val) end def panorama_server_2 prop_get('panorama-server-2') end def panorama_server_2=(val) prop_set('panorama-server-2', val) end def hostname prop_get('hostname') end def hostname=(val) prop_set('hostname', val) end def dns_primary prop_get('dns-primary') end def dns_primary=(val) prop_set('dns-primary', val) end def dns_secondary prop_get('dns-secondary') end def dns_secondary=(val) prop_set('dns-secondary', val) end def ipv6_address prop_get('ipv6-address') end def ipv6_address=(val) prop_set('ipv6-address', val) end def ipv6_default_gateway prop_get('ipv6-default-gateway') end def ipv6_default_gateway=(val) prop_set('ipv6-default-gateway', val) end def auth_key prop_get('auth-key') end def auth_key=(val) prop_set('auth-key', val) end def dgname prop_get('dgname') end def dgname=(val) prop_set('dgname', val) end def cgname prop_get('cgname') end def cgname=(val) prop_set('cgname', val) end def cluster_name prop_get('cluster-name') end def cluster_name=(val) prop_set('cluster-name', val) end def certificate prop_get('certificate') end def certificate=(val) prop_set('certificate', val) end def certpassphrase prop_get('certpassphrase') end def certpassphrase=(val) prop_set('certpassphrase', val) end def certkeyfile prop_get('certkeyfile') end def certkeyfile=(val) prop_set('certkeyfile', val) end def username prop_get('username') end def username=(val) prop_set('username', val) end def userpassword prop_get('userpassword') end def userpassword=(val) prop_set('userpassword', val) end def tplname prop_get('tplname') end def tplname=(val) prop_set('tplname', val) end def agent_name prop_get('agent-name') end def agent_name=(val) prop_set('agent-name', val) end def hostInfo_agentId prop_get('hostInfo-agentId') end def hostInfo_agentId=(val) prop_set('hostInfo-agentId', val) end def hostInfo_hostName prop_get('hostInfo-hostName') end def hostInfo_hostName=(val) prop_set('hostInfo-hostName', val) end def public_key prop_get('public-key') end def public_key=(val) prop_set('public-key', val) end def op_command_modes prop_get('op-command-modes') end def op_command_modes=(val) prop_set('op-command-modes', val) end def vm_auth_key prop_get('vm-auth-key') end def vm_auth_key=(val) prop_set('vm-auth-key', val) end end def initcfg @subclasses['initcfg'] ||= Initcfg.new(parent_instance: self, client: @client, create_children: @create_children) end class AuditTracking < ConfigClass def has_multiple_values?; false; end def _section :'audit-tracking' end @props = {'op-commands'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'ui-actions'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'send-syslog'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string'}} def op_commands prop_get('op-commands') end def op_commands=(val) prop_set('op-commands', val) end def ui_actions prop_get('ui-actions') end def ui_actions=(val) prop_set('ui-actions', val) end def send_syslog prop_get('send-syslog') end def send_syslog=(val) prop_set('send-syslog', val) end end def audit_tracking @subclasses['audit-tracking'] ||= AuditTracking.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'idle-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'default administrative session idle timeout in minutes', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'1440', 'help-string'=>'minutes'}, 'enum'=>[{'value'=>'0', 'help-string'=>'never timeout'}]}}, 'appusage-lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'60', 'max'=>'365', 'help-string'=>'application usage data storage time in days'}, 'hostname-type-in-syslog'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'FQDN', 'help-string'=>'Choose type to send in hostname field in syslog header', 'enum'=>[{'value'=>'none', 'help-string'=>'Do not send hostname in syslog header'}, {'value'=>'FQDN', 'help-string'=>'Send FQDN field in header'}, {'value'=>'hostname', 'help-string'=>'Send hostname in header if available otherwise send \'-\' '}, {'value'=>'ipv4-address', 'help-string'=>'Send IPv4 address in header if available otherwise send \'-\''}, {'value'=>'ipv6-address', 'help-string'=>'Send IPv6 address in header if available otherwise send \'-\''}]}, 'report-run-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3]):00', 'minlen'=>'5', 'maxlen'=>'5', 'default'=>'02:00', 'help-string'=>'Time of day to run the scheduled reports hh:mm (e.g. 23:00)'}, 'report-expiration-period'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'Expiration-period for reports (in days)'}, 'threat-vault-access'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Turn threat-vault access on or off'}, 'support-utf8-for-log-output'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Support output log in UTF-8'}, 'auto-acquire-commit-lock'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Automatically add a commit lock when modifying configuration'}, 'disable-commit-recovery'=>{'node-type'=>'element', 'default'=>'no', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Disable automated commit recovery feature'}, 'commit-recovery-retry'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'5', 'default'=>'1', 'help-string'=>'Set number of attempts allowed for checking connectivity'}, 'commit-recovery-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'3', 'max'=>'30', 'default'=>'10', 'help-string'=>'Set a timeout interval between retries'}, 'rule-hit-count'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable/Disable Policy rule hit-count feature'}, 'wildcard-topdown-match-mode'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set/Unset wildcard topdown match mode, by default it is longest-prefix match mode'}, 'rule-require-tag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Require Tag on policies'}, 'rule-require-description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Require description on policies'}, 'rule-fail-commit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Fail commit if policies have no tag/description'}, 'rule-require-audit-comment'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Require audit comment on policies'}, 'rule-audit-comment-regex'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'256', 'help-string'=>'Audit Comment Regular Expression'}, 'appusage-policy'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable/Disable Policy Application usage feature', 'prune-on-sdb'=>'cfg.vm-license-type=vm50l'}, 'canonicalize-block-allow-list'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Enable/Disable canonicalization before matching url to block/allow list'}, 'enable-high-speed-log-forwarding'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Enable higher forwarding speeds when logs are being forwarding'}, 'traffic-stop-on-logdb-full'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Stop traffic if logdb is full with unexported logs'}, 'enable-log-high-dp-load'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Issue a progressive system log if one or more dataplane CPUs are under severe load'}, 'enable-certificate-expiration-check'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Check for expired certificates and stop using them'}, 'max-rows-in-csv-export'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'1048576', 'default'=>'65535', 'help-string'=>'maximum number of rows in exported csv files'}, 'max-rows-in-pdf-report'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'1048576', 'default'=>'5000', 'help-string'=>'maximum number of rows in user activity report'}, 'max-audit-versions'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'1048576', 'default'=>'100', 'help-string'=>'maximum number of audited versions of config to preserve'}, 'panorama-tcp-receive-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'240', 'help-string'=>'Receive timeout for TCP connection to Panorama'}, 'panorama-tcp-send-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'240', 'help-string'=>'Send timeout for TCP connection to Panorama'}, 'panorama-ssl-send-retries'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'64', 'help-string'=>'Retry count for SSL sends to Panorama'}} # default administrative session idle timeout in minutes def idle_timeout prop_get('idle-timeout') end # default administrative session idle timeout in minutes def idle_timeout=(val) prop_set('idle-timeout', val) end # application usage data storage time in days def appusage_lifetime prop_get('appusage-lifetime') end # application usage data storage time in days def appusage_lifetime=(val) prop_set('appusage-lifetime', val) end # Choose type to send in hostname field in syslog header def hostname_type_in_syslog prop_get('hostname-type-in-syslog') end # Choose type to send in hostname field in syslog header def hostname_type_in_syslog=(val) prop_set('hostname-type-in-syslog', val) end # Time of day to run the scheduled reports hh:mm (e.g. 23:00) def report_run_time prop_get('report-run-time') end # Time of day to run the scheduled reports hh:mm (e.g. 23:00) def report_run_time=(val) prop_set('report-run-time', val) end # Expiration-period for reports (in days) def report_expiration_period prop_get('report-expiration-period') end # Expiration-period for reports (in days) def report_expiration_period=(val) prop_set('report-expiration-period', val) end # Turn threat-vault access on or off def threat_vault_access prop_get('threat-vault-access') end # Turn threat-vault access on or off def threat_vault_access=(val) prop_set('threat-vault-access', val) end # Support output log in UTF-8 def support_utf8_for_log_output prop_get('support-utf8-for-log-output') end # Support output log in UTF-8 def support_utf8_for_log_output=(val) prop_set('support-utf8-for-log-output', val) end # Automatically add a commit lock when modifying configuration def auto_acquire_commit_lock prop_get('auto-acquire-commit-lock') end # Automatically add a commit lock when modifying configuration def auto_acquire_commit_lock=(val) prop_set('auto-acquire-commit-lock', val) end # Disable automated commit recovery feature def disable_commit_recovery prop_get('disable-commit-recovery') end # Disable automated commit recovery feature def disable_commit_recovery=(val) prop_set('disable-commit-recovery', val) end # Set number of attempts allowed for checking connectivity def commit_recovery_retry prop_get('commit-recovery-retry') end # Set number of attempts allowed for checking connectivity def commit_recovery_retry=(val) prop_set('commit-recovery-retry', val) end # Set a timeout interval between retries def commit_recovery_timeout prop_get('commit-recovery-timeout') end # Set a timeout interval between retries def commit_recovery_timeout=(val) prop_set('commit-recovery-timeout', val) end # Enable/Disable Policy rule hit-count feature def rule_hit_count prop_get('rule-hit-count') end # Enable/Disable Policy rule hit-count feature def rule_hit_count=(val) prop_set('rule-hit-count', val) end # Set/Unset wildcard topdown match mode, by default it is longest-prefix match mode def wildcard_topdown_match_mode prop_get('wildcard-topdown-match-mode') end # Set/Unset wildcard topdown match mode, by default it is longest-prefix match mode def wildcard_topdown_match_mode=(val) prop_set('wildcard-topdown-match-mode', val) end # Require Tag on policies def rule_require_tag prop_get('rule-require-tag') end # Require Tag on policies def rule_require_tag=(val) prop_set('rule-require-tag', val) end # Require description on policies def rule_require_description prop_get('rule-require-description') end # Require description on policies def rule_require_description=(val) prop_set('rule-require-description', val) end # Fail commit if policies have no tag/description def rule_fail_commit prop_get('rule-fail-commit') end # Fail commit if policies have no tag/description def rule_fail_commit=(val) prop_set('rule-fail-commit', val) end # Require audit comment on policies def rule_require_audit_comment prop_get('rule-require-audit-comment') end # Require audit comment on policies def rule_require_audit_comment=(val) prop_set('rule-require-audit-comment', val) end # Audit Comment Regular Expression def rule_audit_comment_regex prop_get('rule-audit-comment-regex') end # Audit Comment Regular Expression def rule_audit_comment_regex=(val) prop_set('rule-audit-comment-regex', val) end # Enable/Disable Policy Application usage feature def appusage_policy prop_get('appusage-policy') end # Enable/Disable Policy Application usage feature def appusage_policy=(val) prop_set('appusage-policy', val) end # Enable/Disable canonicalization before matching url to block/allow list def canonicalize_block_allow_list prop_get('canonicalize-block-allow-list') end # Enable/Disable canonicalization before matching url to block/allow list def canonicalize_block_allow_list=(val) prop_set('canonicalize-block-allow-list', val) end # Enable higher forwarding speeds when logs are being forwarding def enable_high_speed_log_forwarding prop_get('enable-high-speed-log-forwarding') end # Enable higher forwarding speeds when logs are being forwarding def enable_high_speed_log_forwarding=(val) prop_set('enable-high-speed-log-forwarding', val) end # Stop traffic if logdb is full with unexported logs def traffic_stop_on_logdb_full prop_get('traffic-stop-on-logdb-full') end # Stop traffic if logdb is full with unexported logs def traffic_stop_on_logdb_full=(val) prop_set('traffic-stop-on-logdb-full', val) end # Issue a progressive system log if one or more dataplane CPUs are under severe load def enable_log_high_dp_load prop_get('enable-log-high-dp-load') end # Issue a progressive system log if one or more dataplane CPUs are under severe load def enable_log_high_dp_load=(val) prop_set('enable-log-high-dp-load', val) end # Check for expired certificates and stop using them def enable_certificate_expiration_check prop_get('enable-certificate-expiration-check') end # Check for expired certificates and stop using them def enable_certificate_expiration_check=(val) prop_set('enable-certificate-expiration-check', val) end # maximum number of rows in exported csv files def max_rows_in_csv_export prop_get('max-rows-in-csv-export') end # maximum number of rows in exported csv files def max_rows_in_csv_export=(val) prop_set('max-rows-in-csv-export', val) end # maximum number of rows in user activity report def max_rows_in_pdf_report prop_get('max-rows-in-pdf-report') end # maximum number of rows in user activity report def max_rows_in_pdf_report=(val) prop_set('max-rows-in-pdf-report', val) end # maximum number of audited versions of config to preserve def max_audit_versions prop_get('max-audit-versions') end # maximum number of audited versions of config to preserve def max_audit_versions=(val) prop_set('max-audit-versions', val) end # Receive timeout for TCP connection to Panorama def panorama_tcp_receive_timeout prop_get('panorama-tcp-receive-timeout') end # Receive timeout for TCP connection to Panorama def panorama_tcp_receive_timeout=(val) prop_set('panorama-tcp-receive-timeout', val) end # Send timeout for TCP connection to Panorama def panorama_tcp_send_timeout prop_get('panorama-tcp-send-timeout') end # Send timeout for TCP connection to Panorama def panorama_tcp_send_timeout=(val) prop_set('panorama-tcp-send-timeout', val) end # Retry count for SSL sends to Panorama def panorama_ssl_send_retries prop_get('panorama-ssl-send-retries') end # Retry count for SSL sends to Panorama def panorama_ssl_send_retries=(val) prop_set('panorama-ssl-send-retries', val) end end def management @subclasses['management'] ||= Management.new(parent_instance: self, client: @client, create_children: @create_children) end class Logrcvr < ConfigClass def has_multiple_values?; false; end def _section :logrcvr end @props = {'container-page-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'60', 'default'=>'5', 'help-string'=>'Container page timeout in secs'}} # Container page timeout in secs def container_page_timeout prop_get('container-page-timeout') end # Container page timeout in secs def container_page_timeout=(val) prop_set('container-page-timeout', val) end end def logrcvr @subclasses['logrcvr'] ||= Logrcvr.new(parent_instance: self, client: @client, create_children: @create_children) end class Vpn < ConfigClass def has_multiple_values?; false; end def _section :vpn end class Ikev2 < ConfigClass def has_multiple_values?; false; end def _section :ikev2 end @props = {'cookie-threshold'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'500', 'min'=>'0', 'max'=>'65535', 'help-string'=>'Enable cookie if the number of half opened SA is over the threshold'}, 'max-half-opened-sa'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'65535', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Maximum number of half opened SA'}, 'certificate-cache-size'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'500', 'min'=>'0', 'max'=>'4000', 'help-string'=>'Maximum number of certificates in cache used for http peer certificates'}} # Enable cookie if the number of half opened SA is over the threshold def cookie_threshold prop_get('cookie-threshold') end # Enable cookie if the number of half opened SA is over the threshold def cookie_threshold=(val) prop_set('cookie-threshold', val) end # Maximum number of half opened SA def max_half_opened_sa prop_get('max-half-opened-sa') end # Maximum number of half opened SA def max_half_opened_sa=(val) prop_set('max-half-opened-sa', val) end # Maximum number of certificates in cache used for http peer certificates def certificate_cache_size prop_get('certificate-cache-size') end # Maximum number of certificates in cache used for http peer certificates def certificate_cache_size=(val) prop_set('certificate-cache-size', val) end end def ikev2 @subclasses['ikev2'] ||= Ikev2.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def vpn @subclasses['vpn'] ||= Vpn.new(parent_instance: self, client: @client, create_children: @create_children) end class CustomLogo < ConfigClass def has_multiple_values?; false; end def _section :'custom-logo' end class LoginScreen < ConfigClass def has_multiple_values?; false; end def _section :'login-screen' end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'256', 'help-string'=>'File name'}, 'content'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'base64', 'maxlen'=>'500000', 'help-string'=>'Upload custom login-screen page(base64 encoded).'}} # File name def name prop_get('name') end # File name def name=(val) prop_set('name', val) end # Upload custom login-screen page(base64 encoded). def content prop_get('content') end # Upload custom login-screen page(base64 encoded). def content=(val) prop_set('content', val) end end def login_screen @subclasses['login-screen'] ||= LoginScreen.new(parent_instance: self, client: @client, create_children: @create_children) end class MainUi < ConfigClass def has_multiple_values?; false; end def _section :'main-ui' end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'256', 'help-string'=>'File name'}, 'content'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'base64', 'maxlen'=>'500000', 'help-string'=>'Upload custom main-ui page(base64 encoded).'}} # File name def name prop_get('name') end # File name def name=(val) prop_set('name', val) end # Upload custom main-ui page(base64 encoded). def content prop_get('content') end # Upload custom main-ui page(base64 encoded). def content=(val) prop_set('content', val) end end def main_ui @subclasses['main-ui'] ||= MainUi.new(parent_instance: self, client: @client, create_children: @create_children) end class PdfReportHeader < ConfigClass def has_multiple_values?; false; end def _section :'pdf-report-header' end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'256', 'help-string'=>'File name'}, 'content'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'base64', 'maxlen'=>'500000', 'help-string'=>'Upload custom pdf-report-header page(base64 encoded).'}} # File name def name prop_get('name') end # File name def name=(val) prop_set('name', val) end # Upload custom pdf-report-header page(base64 encoded). def content prop_get('content') end # Upload custom pdf-report-header page(base64 encoded). def content=(val) prop_set('content', val) end end def pdf_report_header @subclasses['pdf-report-header'] ||= PdfReportHeader.new(parent_instance: self, client: @client, create_children: @create_children) end class PdfReportFooter < ConfigClass def has_multiple_values?; false; end def _section :'pdf-report-footer' end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'256', 'help-string'=>'File name'}, 'content'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'base64', 'maxlen'=>'500000', 'help-string'=>'Upload custom pdf-report-footer page(base64 encoded).'}} # File name def name prop_get('name') end # File name def name=(val) prop_set('name', val) end # Upload custom pdf-report-footer page(base64 encoded). def content prop_get('content') end # Upload custom pdf-report-footer page(base64 encoded). def content=(val) prop_set('content', val) end end def pdf_report_footer @subclasses['pdf-report-footer'] ||= PdfReportFooter.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'hide-panorama-header-background'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} def hide_panorama_header_background prop_get('hide-panorama-header-background') end def hide_panorama_header_background=(val) prop_set('hide-panorama-header-background', val) end end def custom_logo @subclasses['custom-logo'] ||= CustomLogo.new(parent_instance: self, client: @client, create_children: @create_children) end class Iot < ConfigClass def has_multiple_values?; false; end def _section :iot end class Edge < ConfigClass def has_multiple_values?; false; end def _section :edge end @props = {'enable-3rd-party'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'disable-device-cert'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'address'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'IP address or hostname for the edge cloud service', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'regex'=>'^([a-zA-Z0-9./_-])+$', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'Host name'}}}} def enable_3rd_party prop_get('enable-3rd-party') end def enable_3rd_party=(val) prop_set('enable-3rd-party', val) end def disable_device_cert prop_get('disable-device-cert') end def disable_device_cert=(val) prop_set('disable-device-cert', val) end # IP address or hostname for the edge cloud service def address prop_get('address') end # IP address or hostname for the edge cloud service def address=(val) prop_set('address', val) end end def edge @subclasses['edge'] ||= Edge.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def iot @subclasses['iot'] ||= Iot.new(parent_instance: self, client: @client, create_children: @create_children) end class Cloudapp < ConfigClass def has_multiple_values?; false; end def _section :cloudapp end class CloudappSrvrAddr < ConfigClass def has_multiple_values?; false; end def _section :'cloudapp-srvr-addr' end @props = {'address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'IP address or hostname for the cloud appid service', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'regex'=>'^([a-zA-Z0-9./_-])+$', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'Host name'}}}} # IP address or hostname for the cloud appid service def address prop_get('address') end # IP address or hostname for the cloud appid service def address=(val) prop_set('address', val) end end def cloudapp_srvr_addr @subclasses['cloudapp-srvr-addr'] ||= CloudappSrvrAddr.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'disable'=>{'node-type'=>'element', 'type'=>'bool', 'help-string'=>'prevent icd from automatically fetching cloud app data', 'optional'=>'yes', 'default'=>'no'}} # prevent icd from automatically fetching cloud app data def disable prop_get('disable') end # prevent icd from automatically fetching cloud app data def disable=(val) prop_set('disable', val) end end def cloudapp @subclasses['cloudapp'] ||= Cloudapp.new(parent_instance: self, client: @client, create_children: @create_children) end class DhcpSyslogServer < XML::ConfigClass def has_multiple_values?; true; end def _section :'dhcp-syslog-server' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256', 'subtype'=>'object-name', 'optional'=>'yes'}, 'enabled'=>{'node-type'=>'element', 'type'=>'bool', 'help-string'=>'To enable or disable DHCP log collection', 'optional'=>'yes', 'default'=>'no'}, 'ip-address'=>{'node-type'=>'element', 'type'=>'ipspec', 'unicast-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes', 'help-string'=>'IP address for the DHCP server'}, 'protocol'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'SSL', 'enum'=>[{'value'=>'SSL'}, {'value'=>'TCP'}, {'value'=>'UDP'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end # To enable or disable DHCP log collection def enabled prop_get('enabled') end # To enable or disable DHCP log collection def enabled=(val) prop_set('enabled', val) end # IP address for the DHCP server def ip_address prop_get('ip-address') end # IP address for the DHCP server def ip_address=(val) prop_set('ip-address', val) end def protocol prop_get('protocol') end def protocol=(val) prop_set('protocol', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def dhcp_syslog_server maybe_register_subclass('dhcp-syslog-server', DhcpSyslogServer.new(parent_instance: self, client: @client, create_children: @create_children)) end class CloudUserid < ConfigClass def has_multiple_values?; false; end def _section :'cloud-userid' end @props = {'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes'}, 'address'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'IP address or hostname for the edge cloud userid service', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'regex'=>'^([a-zA-Z0-9./_-])+$', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'Host name'}}}} def disabled prop_get('disabled') end def disabled=(val) prop_set('disabled', val) end # IP address or hostname for the edge cloud userid service def address prop_get('address') end # IP address or hostname for the edge cloud userid service def address=(val) prop_set('address', val) end end def cloud_userid @subclasses['cloud-userid'] ||= CloudUserid.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'auto-mac-detect'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.setting.auto-mac-detect-disable=True', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Using detected VM interface MAC as PANOS interface MAC'}, 'gtp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420,cfg.platform.model=PA-1410,cfg.platform.model=PA-1420'}, 'mobile-security-policy'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'tunnel-acceleration'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'to accelerate GTP-U, GRE and VxLAN traffic'}, 'net-inspection'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable net inspection'}, 'sctp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420,cfg.platform.model=PA-1410,cfg.platform.model=PA-1420'}, 'advance-routing'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable Advanced Routing Module'}} # Using detected VM interface MAC as PANOS interface MAC def auto_mac_detect prop_get('auto-mac-detect') end # Using detected VM interface MAC as PANOS interface MAC def auto_mac_detect=(val) prop_set('auto-mac-detect', val) end def gtp prop_get('gtp') end def gtp=(val) prop_set('gtp', val) end def mobile_security_policy prop_get('mobile-security-policy') end def mobile_security_policy=(val) prop_set('mobile-security-policy', val) end # to accelerate GTP-U, GRE and VxLAN traffic def tunnel_acceleration prop_get('tunnel-acceleration') end # to accelerate GTP-U, GRE and VxLAN traffic def tunnel_acceleration=(val) prop_set('tunnel-acceleration', val) end # enable net inspection def net_inspection prop_get('net-inspection') end # enable net inspection def net_inspection=(val) prop_set('net-inspection', val) end def sctp prop_get('sctp') end def sctp=(val) prop_set('sctp', val) end # Enable Advanced Routing Module def advance_routing prop_get('advance-routing') end # Enable Advanced Routing Module def advance_routing=(val) prop_set('advance-routing', val) end end def setting @subclasses['setting'] ||= Setting.new(parent_instance: self, client: @client, create_children: @create_children) end class HighAvailability < ConfigClass def has_multiple_values?; false; end def _section :'high-availability' end class Interface < ConfigClass def has_multiple_values?; false; end def _section :interface end class Ha1 < ConfigClass def has_multiple_values?; false; end def _section :ha1 end class Encryption < ConfigClass def has_multiple_values?; false; end def _section :encryption end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} def enabled prop_get('enabled') end def enabled=(val) prop_set('enabled', val) end end def encryption @subclasses['encryption'] ||= Encryption.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'port'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Interface name', 'optional'=>'yes', 'multi-types'=>{'string'=>{'prune-on-sdb'=>'cfg.platform.vm.high-availability.interface.ha1.port-disable=True'}, 'enum'=>[{'value'=>'dedicated-ha1', 'help-string'=>'Dedicated out of band HA1 interface for ha1'}, {'value'=>'ha1-a', 'help-string'=>'Dedicated out of band HA1-A interface for ha1'}, {'value'=>'ha1-b', 'help-string'=>'Dedicated out of band HA1-B interface for ha1'}, {'value'=>'aux-1', 'help-string'=>'Non-dedicated out of band AUX-1 interface for ha1'}, {'value'=>'aux-2', 'help-string'=>'Non-dedicated out of band AUX-2 interface for ha1'}, {'value'=>'management', 'help-string'=>'Non-dedicated out of band MGT interface for ha1'}]}}, 'link-speed'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'help-string'=>'Interface link speed', 'enum'=>[{'value'=>'auto', 'help-string'=>'Auto negotiation'}, {'value'=>'10', 'help-string'=>'10Mbps'}, {'value'=>'100', 'help-string'=>'100Mbps'}, {'value'=>'1000', 'help-string'=>'1000Mbps'}]}, 'link-duplex'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'help-string'=>'Interface link duplex', 'enum'=>[{'value'=>'auto', 'help-string'=>'Auto negotiation'}, {'value'=>'full', 'help-string'=>'Full duplex'}, {'value'=>'half', 'help-string'=>'Half duplex'}]}, 'ip-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'IPv4/IPv6 address for the HA1 interface', 'multi-types'=>{'ipspec'=>{'disallow-loopback'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'netmask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'IPv4 netmask for the HA1 interface'}, 'gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'IPv4/IPv6 Gateway for the HA1 interface', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'disallow-loopback'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'monitor-hold-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1000', 'max'=>'60000', 'default'=>'3000', 'help-string'=>'hold time in milliseconds to allow ha1 link flapping, default 3000'}} # Interface name def port prop_get('port') end # Interface name def port=(val) prop_set('port', val) end # Interface link speed def link_speed prop_get('link-speed') end # Interface link speed def link_speed=(val) prop_set('link-speed', val) end # Interface link duplex def link_duplex prop_get('link-duplex') end # Interface link duplex def link_duplex=(val) prop_set('link-duplex', val) end # IPv4/IPv6 address for the HA1 interface def ip_address prop_get('ip-address') end # IPv4/IPv6 address for the HA1 interface def ip_address=(val) prop_set('ip-address', val) end # IPv4 netmask for the HA1 interface def netmask prop_get('netmask') end # IPv4 netmask for the HA1 interface def netmask=(val) prop_set('netmask', val) end # IPv4/IPv6 Gateway for the HA1 interface def gateway prop_get('gateway') end # IPv4/IPv6 Gateway for the HA1 interface def gateway=(val) prop_set('gateway', val) end # hold time in milliseconds to allow ha1 link flapping, default 3000 def monitor_hold_time prop_get('monitor-hold-time') end # hold time in milliseconds to allow ha1 link flapping, default 3000 def monitor_hold_time=(val) prop_set('monitor-hold-time', val) end end def ha1 @subclasses['ha1'] ||= Ha1.new(parent_instance: self, client: @client, create_children: @create_children) end class Ha1Backup < ConfigClass def has_multiple_values?; false; end def _section :'ha1-backup' end @props = {'port'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'Interface name', 'multi-types'=>{'string'=>{}, 'enum'=>[{'value'=>'dedicated-ha1', 'help-string'=>'Dedicated out of band HA1 interface for ha1-backup'}, {'value'=>'ha1-a', 'help-string'=>'Dedicated out of band HA1-A interface for ha1-backup'}, {'value'=>'ha1-b', 'help-string'=>'Dedicated out of band HA1-B interface for ha1-backup'}, {'value'=>'aux-1', 'help-string'=>'Non-dedicated out of band AUX-1 interface for ha1-backup'}, {'value'=>'aux-2', 'help-string'=>'Non-dedicated out of band AUX-2 interface for ha1-backup'}, {'value'=>'management', 'help-string'=>'Non-dedicated out of band MGT interface for ha1-backup'}]}}, 'link-speed'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'help-string'=>'Interface link speed', 'enum'=>[{'value'=>'auto', 'help-string'=>'Auto negotiation'}, {'value'=>'10', 'help-string'=>'10Mbps'}, {'value'=>'100', 'help-string'=>'100Mbps'}, {'value'=>'1000', 'help-string'=>'1000Mbps'}]}, 'link-duplex'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'help-string'=>'Interface link duplex', 'enum'=>[{'value'=>'auto', 'help-string'=>'Auto negotiation'}, {'value'=>'full', 'help-string'=>'Full duplex'}, {'value'=>'half', 'help-string'=>'Half duplex'}]}, 'ip-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'IPv4/IPv6 address for the HA1 interface', 'multi-types'=>{'ipspec'=>{'disallow-loopback'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'netmask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'IPv4 netmask for the HA1 interface'}, 'gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'IPv4/IPv6 Gateway for the HA1 interface', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'disallow-loopback'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # Interface name def port prop_get('port') end # Interface name def port=(val) prop_set('port', val) end # Interface link speed def link_speed prop_get('link-speed') end # Interface link speed def link_speed=(val) prop_set('link-speed', val) end # Interface link duplex def link_duplex prop_get('link-duplex') end # Interface link duplex def link_duplex=(val) prop_set('link-duplex', val) end # IPv4/IPv6 address for the HA1 interface def ip_address prop_get('ip-address') end # IPv4/IPv6 address for the HA1 interface def ip_address=(val) prop_set('ip-address', val) end # IPv4 netmask for the HA1 interface def netmask prop_get('netmask') end # IPv4 netmask for the HA1 interface def netmask=(val) prop_set('netmask', val) end # IPv4/IPv6 Gateway for the HA1 interface def gateway prop_get('gateway') end # IPv4/IPv6 Gateway for the HA1 interface def gateway=(val) prop_set('gateway', val) end end def ha1_backup @subclasses['ha1-backup'] ||= Ha1Backup.new(parent_instance: self, client: @client, create_children: @create_children) end class Ha2 < ConfigClass def has_multiple_values?; false; end def _section :ha2 end @props = {'port'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'Interface name', 'multi-types'=>{'string'=>{}, 'enum'=>[{'value'=>'dedicated-ha2', 'help-string'=>'Dedicated HA2 interface'}, {'value'=>'hsci', 'help-string'=>'High Speed Chassis Interconnect (HSCI) dedicated for HA2 and HA3 interfaces'}]}}, 'link-speed'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'help-string'=>'Interface link speed', 'enum'=>[{'value'=>'auto', 'help-string'=>'Auto negotiation'}, {'value'=>'10', 'help-string'=>'10Mbps'}, {'value'=>'100', 'help-string'=>'100Mbps'}, {'value'=>'1000', 'help-string'=>'1000Mbps'}]}, 'link-duplex'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'help-string'=>'Interface link duplex', 'enum'=>[{'value'=>'auto', 'help-string'=>'Auto negotiation'}, {'value'=>'full', 'help-string'=>'Full duplex'}, {'value'=>'half', 'help-string'=>'Half duplex'}]}, 'ip-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'IPv4/IPv6 address for the HA2 interface', 'multi-types'=>{'ipspec'=>{'disallow-loopback'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'netmask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'IPv4 netmask for the HA2 interface'}, 'gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'IPv4/IPv6 Gateway for the HA2 interface', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'disallow-loopback'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # Interface name def port prop_get('port') end # Interface name def port=(val) prop_set('port', val) end # Interface link speed def link_speed prop_get('link-speed') end # Interface link speed def link_speed=(val) prop_set('link-speed', val) end # Interface link duplex def link_duplex prop_get('link-duplex') end # Interface link duplex def link_duplex=(val) prop_set('link-duplex', val) end # IPv4/IPv6 address for the HA2 interface def ip_address prop_get('ip-address') end # IPv4/IPv6 address for the HA2 interface def ip_address=(val) prop_set('ip-address', val) end # IPv4 netmask for the HA2 interface def netmask prop_get('netmask') end # IPv4 netmask for the HA2 interface def netmask=(val) prop_set('netmask', val) end # IPv4/IPv6 Gateway for the HA2 interface def gateway prop_get('gateway') end # IPv4/IPv6 Gateway for the HA2 interface def gateway=(val) prop_set('gateway', val) end end def ha2 @subclasses['ha2'] ||= Ha2.new(parent_instance: self, client: @client, create_children: @create_children) end class Ha2Backup < ConfigClass def has_multiple_values?; false; end def _section :'ha2-backup' end @props = {'port'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'Interface name', 'multi-types'=>{'string'=>{}, 'enum'=>[{'value'=>'dedicated-ha2', 'help-string'=>'Dedicated HA2 interface'}, {'value'=>'hsci', 'help-string'=>'High Speed Chassis Interconnect (HSCI) dedicated for HA2 and HA3 interfaces'}]}}, 'link-speed'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'help-string'=>'Interface link speed', 'enum'=>[{'value'=>'auto', 'help-string'=>'Auto negotiation'}, {'value'=>'10', 'help-string'=>'10Mbps'}, {'value'=>'100', 'help-string'=>'100Mbps'}, {'value'=>'1000', 'help-string'=>'1000Mbps'}]}, 'link-duplex'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'help-string'=>'Interface link duplex', 'enum'=>[{'value'=>'auto', 'help-string'=>'Auto negotiation'}, {'value'=>'full', 'help-string'=>'Full duplex'}, {'value'=>'half', 'help-string'=>'Half duplex'}]}, 'ip-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'IPv4/IPv6 address for the HA2 interface', 'multi-types'=>{'ipspec'=>{'disallow-loopback'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'netmask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'IPv4 netmask for the HA2 interface'}, 'gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'IPv4/IPv6 Gateway for the HA2 interface', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'disallow-loopback'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # Interface name def port prop_get('port') end # Interface name def port=(val) prop_set('port', val) end # Interface link speed def link_speed prop_get('link-speed') end # Interface link speed def link_speed=(val) prop_set('link-speed', val) end # Interface link duplex def link_duplex prop_get('link-duplex') end # Interface link duplex def link_duplex=(val) prop_set('link-duplex', val) end # IPv4/IPv6 address for the HA2 interface def ip_address prop_get('ip-address') end # IPv4/IPv6 address for the HA2 interface def ip_address=(val) prop_set('ip-address', val) end # IPv4 netmask for the HA2 interface def netmask prop_get('netmask') end # IPv4 netmask for the HA2 interface def netmask=(val) prop_set('netmask', val) end # IPv4/IPv6 Gateway for the HA2 interface def gateway prop_get('gateway') end # IPv4/IPv6 Gateway for the HA2 interface def gateway=(val) prop_set('gateway', val) end end def ha2_backup @subclasses['ha2-backup'] ||= Ha2Backup.new(parent_instance: self, client: @client, create_children: @create_children) end class Ha3 < ConfigClass def has_multiple_values?; false; end def _section :ha3 end @props = {'port'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Interface name', 'multi-types'=>{'string'=>{}, 'enum'=>[{'value'=>'hsci', 'help-string'=>'High Speed Chassis Interconnect (HSCI) dedicated for HA2 and HA3 interfaces'}]}}} # Interface name def port prop_get('port') end # Interface name def port=(val) prop_set('port', val) end end def ha3 @subclasses['ha3'] ||= Ha3.new(parent_instance: self, client: @client, create_children: @create_children) end class Ha4 < ConfigClass def has_multiple_values?; false; end def _section :ha4 end @props = {'port'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'Interface name', 'multi-types'=>{'string'=>{}}}, 'ip-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'IPv4/IPv6 address for the HA4 interface', 'multi-types'=>{'ipspec'=>{'disallow-loopback'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'netmask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'IPv4 netmask for the HA4 interface'}} # Interface name def port prop_get('port') end # Interface name def port=(val) prop_set('port', val) end # IPv4/IPv6 address for the HA4 interface def ip_address prop_get('ip-address') end # IPv4/IPv6 address for the HA4 interface def ip_address=(val) prop_set('ip-address', val) end # IPv4 netmask for the HA4 interface def netmask prop_get('netmask') end # IPv4 netmask for the HA4 interface def netmask=(val) prop_set('netmask', val) end end def ha4 @subclasses['ha4'] ||= Ha4.new(parent_instance: self, client: @client, create_children: @create_children) end class Ha4Backup < ConfigClass def has_multiple_values?; false; end def _section :'ha4-backup' end @props = {'port'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'Interface name', 'multi-types'=>{'string'=>{}}}, 'ip-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'IPv4/IPv6 address for the HA4-backup interface', 'multi-types'=>{'ipspec'=>{'disallow-loopback'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'netmask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'subtype'=>'ip-address', 'help-string'=>'IPv4 netmask for the HA4-backup interface'}} # Interface name def port prop_get('port') end # Interface name def port=(val) prop_set('port', val) end # IPv4/IPv6 address for the HA4-backup interface def ip_address prop_get('ip-address') end # IPv4/IPv6 address for the HA4-backup interface def ip_address=(val) prop_set('ip-address', val) end # IPv4 netmask for the HA4-backup interface def netmask prop_get('netmask') end # IPv4 netmask for the HA4-backup interface def netmask=(val) prop_set('netmask', val) end end def ha4_backup @subclasses['ha4-backup'] ||= Ha4Backup.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def interface @subclasses['interface'] ||= Interface.new(parent_instance: self, client: @client, create_children: @create_children) end class Cluster < ConfigClass def has_multiple_values?; false; end def _section :cluster end class ClusterMembers < XML::ConfigClass def has_multiple_values?; true; end def _section :'cluster-members' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'64', 'help-string'=>'Member device serial number'}, 'ha4-ip-address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'IPv4/IPv6 address for the cluster member HA4 interface', 'multi-types'=>{'ipspec'=>{'disallow-loopback'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'ha4-backup-ip-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'IPv4/IPv6 address for the cluster member HA4-backup interface', 'multi-types'=>{'ipspec'=>{'disallow-loopback'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'session-synchronization'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'enabled', 'optional'=>'yes', 'help-string'=>'Enable/disable session synchronization from current device to given member', 'enum'=>[{'value'=>'enabled', 'help-string'=>'Enable cluster session synchronization'}, {'value'=>'disabled', 'help-string'=>'Disable cluster session synchronization'}]}, 'comments'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'128', 'help-string'=>'Provide cluster member specific comments'}} # Member device serial number def name prop_get('@name') end # IPv4/IPv6 address for the cluster member HA4 interface def ha4_ip_address prop_get('ha4-ip-address') end # IPv4/IPv6 address for the cluster member HA4 interface def ha4_ip_address=(val) prop_set('ha4-ip-address', val) end # IPv4/IPv6 address for the cluster member HA4-backup interface def ha4_backup_ip_address prop_get('ha4-backup-ip-address') end # IPv4/IPv6 address for the cluster member HA4-backup interface def ha4_backup_ip_address=(val) prop_set('ha4-backup-ip-address', val) end # Enable/disable session synchronization from current device to given member def session_synchronization prop_get('session-synchronization') end # Enable/disable session synchronization from current device to given member def session_synchronization=(val) prop_set('session-synchronization', val) end # Provide cluster member specific comments def comments prop_get('comments') end # Provide cluster member specific comments def comments=(val) prop_set('comments', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def cluster_members maybe_register_subclass('cluster-members', ClusterMembers.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable/disable cluster participation'}, 'cluster-id'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'ID to identify members of same cluster', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'99'}, 'string'=>{'maxlen'=>'63'}}}, 'cluster-synchronization-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'30', 'default'=>'0', 'help-string'=>'Cluster synchronization completion wait timeout in minutes (default 0 minutes)'}, 'cluster-keepalive-threshold'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'5000', 'max'=>'60000', 'default'=>'10000', 'help-string'=>'Interval in milliseconds to wait before declaring keep-alive failure (default 10000 milliseconds)'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'128', 'help-string'=>'Cluster description'}, 'suspend-on-slot-failure'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'disabled', 'optional'=>'yes', 'help-string'=>'Determine if HA cluster should be suspended on any slot failure.', 'enum'=>[{'value'=>'enabled', 'help-string'=>'Suspend HA cluster on any slot failure'}, {'value'=>'disabled', 'help-string'=>'Best effort to keep cluster functional on slot failure'}]}, 'monitor-fail-hold-down-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'60', 'default'=>'1', 'help-string'=>'Interval in minutes to stay in cluster-non-functional or ha-non-functional state following a link/path monitor failure, default 1'}} # Enable/disable cluster participation def enabled prop_get('enabled') end # Enable/disable cluster participation def enabled=(val) prop_set('enabled', val) end # ID to identify members of same cluster def cluster_id prop_get('cluster-id') end # ID to identify members of same cluster def cluster_id=(val) prop_set('cluster-id', val) end # Cluster synchronization completion wait timeout in minutes (default 0 minutes) def cluster_synchronization_timeout prop_get('cluster-synchronization-timeout') end # Cluster synchronization completion wait timeout in minutes (default 0 minutes) def cluster_synchronization_timeout=(val) prop_set('cluster-synchronization-timeout', val) end # Interval in milliseconds to wait before declaring keep-alive failure (default 10000 milliseconds) def cluster_keepalive_threshold prop_get('cluster-keepalive-threshold') end # Interval in milliseconds to wait before declaring keep-alive failure (default 10000 milliseconds) def cluster_keepalive_threshold=(val) prop_set('cluster-keepalive-threshold', val) end # Cluster description def description prop_get('description') end # Cluster description def description=(val) prop_set('description', val) end # Determine if HA cluster should be suspended on any slot failure. def suspend_on_slot_failure prop_get('suspend-on-slot-failure') end # Determine if HA cluster should be suspended on any slot failure. def suspend_on_slot_failure=(val) prop_set('suspend-on-slot-failure', val) end # Interval in minutes to stay in cluster-non-functional or ha-non-functional state following a link/path monitor failure, default 1 def monitor_fail_hold_down_time prop_get('monitor-fail-hold-down-time') end # Interval in minutes to stay in cluster-non-functional or ha-non-functional state following a link/path monitor failure, default 1 def monitor_fail_hold_down_time=(val) prop_set('monitor-fail-hold-down-time', val) end end def cluster @subclasses['cluster'] ||= Cluster.new(parent_instance: self, client: @client, create_children: @create_children) end class Group < ConfigClass def has_multiple_values?; false; end def _section :group end class ElectionOption < ConfigClass def has_multiple_values?; false; end def _section :'election-option' end class Timers < ConfigClass def has_multiple_values?; false; end def _section :timers end class Recommended < ConfigClass def has_multiple_values?; false; end def _section :recommended end @props = {} end def recommended @subclasses['recommended'] ||= Recommended.new(parent_instance: self, client: @client, create_children: @create_children) end class Aggressive < ConfigClass def has_multiple_values?; false; end def _section :aggressive end @props = {} end def aggressive @subclasses['aggressive'] ||= Aggressive.new(parent_instance: self, client: @client, create_children: @create_children) end class Advanced < ConfigClass def has_multiple_values?; false; end def _section :advanced end @props = {'promotion-hold-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'60000', 'default'=>'2000', 'help-string'=>'Interval in milliseconds to state change from Passive to Active or Active-Secondary to Active-Primary, default 2000'}, 'hello-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'8000', 'max'=>'60000', 'default'=>'8000', 'help-string'=>'Interval in milliseconds to send Hello messages, default 8000'}, 'heartbeat-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1000', 'max'=>'60000', 'default'=>'2000', 'help-string'=>'Interval in milliseconds to send Heartbeat pings, default 2000'}, 'flap-max'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'3', 'help-string'=>'Flaps before entering suspended state min=disable, max=infinite default =3', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'16', 'default'=>'3'}, 'enum'=>[{'value'=>'infinite', 'help-string'=>'Keep flapping infinitely'}, {'value'=>'disable', 'help-string'=>'Directly go to suspended state'}]}}, 'preemption-hold-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'60', 'default'=>'1', 'help-string'=>'Interval in minutes to stay Passive before preempting Active device or to stay Active-Secondary before preempting Active-Primary device, default 1'}, 'monitor-fail-hold-up-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'60000', 'default'=>'0', 'help-string'=>'Interval in milliseconds to wait before honoring a path or link monitor failure on this device, default 0'}, 'additional-master-hold-up-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'60000', 'default'=>'500', 'help-string'=>'Interval in milliseconds to wait before honoring a path or link monitor failure on the Active or Active-Primary device, default 500'}} # Interval in milliseconds to state change from Passive to Active or Active-Secondary to Active-Primary, default 2000 def promotion_hold_time prop_get('promotion-hold-time') end # Interval in milliseconds to state change from Passive to Active or Active-Secondary to Active-Primary, default 2000 def promotion_hold_time=(val) prop_set('promotion-hold-time', val) end # Interval in milliseconds to send Hello messages, default 8000 def hello_interval prop_get('hello-interval') end # Interval in milliseconds to send Hello messages, default 8000 def hello_interval=(val) prop_set('hello-interval', val) end # Interval in milliseconds to send Heartbeat pings, default 2000 def heartbeat_interval prop_get('heartbeat-interval') end # Interval in milliseconds to send Heartbeat pings, default 2000 def heartbeat_interval=(val) prop_set('heartbeat-interval', val) end # Flaps before entering suspended state min=disable, max=infinite default =3 def flap_max prop_get('flap-max') end # Flaps before entering suspended state min=disable, max=infinite default =3 def flap_max=(val) prop_set('flap-max', val) end # Interval in minutes to stay Passive before preempting Active device or to stay Active-Secondary before preempting Active-Primary device, default 1 def preemption_hold_time prop_get('preemption-hold-time') end # Interval in minutes to stay Passive before preempting Active device or to stay Active-Secondary before preempting Active-Primary device, default 1 def preemption_hold_time=(val) prop_set('preemption-hold-time', val) end # Interval in milliseconds to wait before honoring a path or link monitor failure on this device, default 0 def monitor_fail_hold_up_time prop_get('monitor-fail-hold-up-time') end # Interval in milliseconds to wait before honoring a path or link monitor failure on this device, default 0 def monitor_fail_hold_up_time=(val) prop_set('monitor-fail-hold-up-time', val) end # Interval in milliseconds to wait before honoring a path or link monitor failure on the Active or Active-Primary device, default 500 def additional_master_hold_up_time prop_get('additional-master-hold-up-time') end # Interval in milliseconds to wait before honoring a path or link monitor failure on the Active or Active-Primary device, default 500 def additional_master_hold_up_time=(val) prop_set('additional-master-hold-up-time', val) end end def advanced @subclasses['advanced'] ||= Advanced.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def timers @subclasses['timers'] ||= Timers.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'device-priority'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'highest: 0, lowest: 255', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'255'}, 'string'=>{'maxlen'=>'63'}}}, 'preemptive'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Configure on both HA peers to allow preemption by Passive or Active-Secondary device based on device-priority, default no'}, 'heartbeat-backup'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.cloud-ha-support=True', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Use management port as backup path for heartbeat messages'}} # highest: 0, lowest: 255 def device_priority prop_get('device-priority') end # highest: 0, lowest: 255 def device_priority=(val) prop_set('device-priority', val) end # Configure on both HA peers to allow preemption by Passive or Active-Secondary device based on device-priority, default no def preemptive prop_get('preemptive') end # Configure on both HA peers to allow preemption by Passive or Active-Secondary device based on device-priority, default no def preemptive=(val) prop_set('preemptive', val) end # Use management port as backup path for heartbeat messages def heartbeat_backup prop_get('heartbeat-backup') end # Use management port as backup path for heartbeat messages def heartbeat_backup=(val) prop_set('heartbeat-backup', val) end end def election_option @subclasses['election-option'] ||= ElectionOption.new(parent_instance: self, client: @client, create_children: @create_children) end class StateSynchronization < ConfigClass def has_multiple_values?; false; end def _section :'state-synchronization' end class Ha2KeepAlive < ConfigClass def has_multiple_values?; false; end def _section :'ha2-keep-alive' end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable or disable feature'}, 'action'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.cloud-ha-support=True', 'optional'=>'yes', 'type'=>'enum', 'default'=>'log-only', 'help-string'=>'System response on keep-alive failure', 'enum'=>[{'value'=>'log-only', 'help-string'=>'Log keep-alive failures only (default)'}, {'value'=>'split-datapath', 'help-string'=>'Disable state-synchronization on failure'}]}, 'threshold'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'5000', 'max'=>'60000', 'default'=>'10000', 'help-string'=>'Keep-alive failure duration in msecs before failure declared (default 10000 msecs)'}} # Enable or disable feature def enabled prop_get('enabled') end # Enable or disable feature def enabled=(val) prop_set('enabled', val) end # System response on keep-alive failure def action prop_get('action') end # System response on keep-alive failure def action=(val) prop_set('action', val) end # Keep-alive failure duration in msecs before failure declared (default 10000 msecs) def threshold prop_get('threshold') end # Keep-alive failure duration in msecs before failure declared (default 10000 msecs) def threshold=(val) prop_set('threshold', val) end end def ha2_keep_alive @subclasses['ha2-keep-alive'] ||= Ha2KeepAlive.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'transport'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'ethernet', 'help-string'=>'transport layer configuration', 'enum'=>[{'value'=>'ethernet', 'prune-on-sdb'=>'cfg.platform.vm.ha2-transport-eth-disable=True', 'help-string'=>'Layer2 transport via Ethernet'}, {'value'=>'ip', 'help-string'=>'Layer3 transport via IP protocol 99'}, {'value'=>'udp', 'help-string'=>'Layer4 transport via UDP/29281'}]}} def enabled prop_get('enabled') end def enabled=(val) prop_set('enabled', val) end # transport layer configuration def transport prop_get('transport') end # transport layer configuration def transport=(val) prop_set('transport', val) end end def state_synchronization @subclasses['state-synchronization'] ||= StateSynchronization.new(parent_instance: self, client: @client, create_children: @create_children) end class ConfigurationSynchronization < ConfigClass def has_multiple_values?; false; end def _section :'configuration-synchronization' end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}} def enabled prop_get('enabled') end def enabled=(val) prop_set('enabled', val) end end def configuration_synchronization @subclasses['configuration-synchronization'] ||= ConfigurationSynchronization.new(parent_instance: self, client: @client, create_children: @create_children) end class Mode < ConfigClass def has_multiple_values?; false; end def _section :mode end class ActivePassive < ConfigClass def has_multiple_values?; false; end def _section :'active-passive' end @props = {'passive-link-state'=>{'node-type'=>'element', 'optional'=>'yes', 'prune-on-sdb'=>'cfg.platform.cloud-ha-support=True', 'default'=>'shutdown', 'type'=>'enum', 'help-string'=>'Link mode of data-plane interfaces while in Passive state', 'enum'=>[{'value'=>'shutdown', 'help-string'=>'Link put into powered off state'}, {'value'=>'auto', 'help-string'=>'Link put into automatically configured mode'}]}, 'monitor-fail-hold-down-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'60', 'default'=>'1', 'help-string'=>'Interval in minutes to stay in non-functional state following a link/path monitor failure, default 1'}} # Link mode of data-plane interfaces while in Passive state def passive_link_state prop_get('passive-link-state') end # Link mode of data-plane interfaces while in Passive state def passive_link_state=(val) prop_set('passive-link-state', val) end # Interval in minutes to stay in non-functional state following a link/path monitor failure, default 1 def monitor_fail_hold_down_time prop_get('monitor-fail-hold-down-time') end # Interval in minutes to stay in non-functional state following a link/path monitor failure, default 1 def monitor_fail_hold_down_time=(val) prop_set('monitor-fail-hold-down-time', val) end end def active_passive @subclasses['active-passive'] ||= ActivePassive.new(parent_instance: self, client: @client, create_children: @create_children) end class ActiveActive < ConfigClass def has_multiple_values?; false; end def _section :'active-active' end class NetworkConfiguration < ConfigClass def has_multiple_values?; false; end def _section :'network-configuration' end class Sync < ConfigClass def has_multiple_values?; false; end def _section :sync end @props = {'virtual-router'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Synchronize virtual router configuration'}, 'logical-router'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Synchronize logical router configuration'}, 'qos'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Synchronize interface QoS configuration'}} # Synchronize virtual router configuration def virtual_router prop_get('virtual-router') end # Synchronize virtual router configuration def virtual_router=(val) prop_set('virtual-router', val) end # Synchronize logical router configuration def logical_router prop_get('logical-router') end # Synchronize logical router configuration def logical_router=(val) prop_set('logical-router', val) end # Synchronize interface QoS configuration def qos prop_get('qos') end # Synchronize interface QoS configuration def qos=(val) prop_set('qos', val) end end def sync @subclasses['sync'] ||= Sync.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def network_configuration @subclasses['network-configuration'] ||= NetworkConfiguration.new(parent_instance: self, client: @client, create_children: @create_children) end class VirtualAddress < XML::ConfigClass def has_multiple_values?; true; end def _section :'virtual-address' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Ip < XML::ConfigClass def has_multiple_values?; true; end def _section :ip end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Floating < ConfigClass def has_multiple_values?; false; end def _section :floating end class DevicePriority < ConfigClass def has_multiple_values?; false; end def _section :'device-priority' end @props = {'device-0'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255', 'help-string'=>'Device 0 priority, highest: 0, lowest: 255', 'optional'=>'yes'}, 'device-1'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255', 'help-string'=>'Device 1 priority, highest: 0, lowest: 255', 'optional'=>'yes'}, 'failover-on-link-down'=>{'node-type'=>'element', 'optional'=>'yes', 'help-string'=>'Failover address if link state is down', 'type'=>'bool', 'default'=>'yes'}} # Device 0 priority, highest: 0, lowest: 255 def device_0 prop_get('device-0') end # Device 0 priority, highest: 0, lowest: 255 def device_0=(val) prop_set('device-0', val) end # Device 1 priority, highest: 0, lowest: 255 def device_1 prop_get('device-1') end # Device 1 priority, highest: 0, lowest: 255 def device_1=(val) prop_set('device-1', val) end # Failover address if link state is down def failover_on_link_down prop_get('failover-on-link-down') end # Failover address if link state is down def failover_on_link_down=(val) prop_set('failover-on-link-down', val) end end def device_priority @subclasses['device-priority'] ||= DevicePriority.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'bind-to-active-primary'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Floating IP bound to the Active-Primary device'}} # Floating IP bound to the Active-Primary device def bind_to_active_primary prop_get('bind-to-active-primary') end # Floating IP bound to the Active-Primary device def bind_to_active_primary=(val) prop_set('bind-to-active-primary', val) end end def floating @subclasses['floating'] ||= Floating.new(parent_instance: self, client: @client, create_children: @create_children) end class ArpLoadSharing < ConfigClass def has_multiple_values?; false; end def _section :'arp-load-sharing' end class IpModulo < ConfigClass def has_multiple_values?; false; end def _section :'ip-modulo' end @props = {} end def ip_modulo @subclasses['ip-modulo'] ||= IpModulo.new(parent_instance: self, client: @client, create_children: @create_children) end class IpHash < ConfigClass def has_multiple_values?; false; end def _section :'ip-hash' end @props = {'hash-seed'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'help-string'=>'User-specified hash seed'}} # User-specified hash seed def hash_seed prop_get('hash-seed') end # User-specified hash seed def hash_seed=(val) prop_set('hash-seed', val) end end def ip_hash @subclasses['ip-hash'] ||= IpHash.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def arp_load_sharing @subclasses['arp-load-sharing'] ||= ArpLoadSharing.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'IP address or address object'}} # IP address or address object def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ip maybe_register_subclass('ip', Ip.new(parent_instance: self, client: @client, create_children: @create_children)) end class Ipv6 < XML::ConfigClass def has_multiple_values?; true; end def _section :ipv6 end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Floating < ConfigClass def has_multiple_values?; false; end def _section :floating end class DevicePriority < ConfigClass def has_multiple_values?; false; end def _section :'device-priority' end @props = {'device-0'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255', 'help-string'=>'Device 0 priority, highest: 0, lowest: 255', 'optional'=>'yes'}, 'device-1'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255', 'help-string'=>'Device 1 priority, highest: 0, lowest: 255', 'optional'=>'yes'}, 'failover-on-link-down'=>{'node-type'=>'element', 'optional'=>'yes', 'help-string'=>'Failover address if link state is down', 'type'=>'bool', 'default'=>'yes'}} # Device 0 priority, highest: 0, lowest: 255 def device_0 prop_get('device-0') end # Device 0 priority, highest: 0, lowest: 255 def device_0=(val) prop_set('device-0', val) end # Device 1 priority, highest: 0, lowest: 255 def device_1 prop_get('device-1') end # Device 1 priority, highest: 0, lowest: 255 def device_1=(val) prop_set('device-1', val) end # Failover address if link state is down def failover_on_link_down prop_get('failover-on-link-down') end # Failover address if link state is down def failover_on_link_down=(val) prop_set('failover-on-link-down', val) end end def device_priority @subclasses['device-priority'] ||= DevicePriority.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'bind-to-active-primary'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Floating IP bound to the Active-Primary device'}} # Floating IP bound to the Active-Primary device def bind_to_active_primary prop_get('bind-to-active-primary') end # Floating IP bound to the Active-Primary device def bind_to_active_primary=(val) prop_set('bind-to-active-primary', val) end end def floating @subclasses['floating'] ||= Floating.new(parent_instance: self, client: @client, create_children: @create_children) end class ArpLoadSharing < ConfigClass def has_multiple_values?; false; end def _section :'arp-load-sharing' end class IpModulo < ConfigClass def has_multiple_values?; false; end def _section :'ip-modulo' end @props = {} end def ip_modulo @subclasses['ip-modulo'] ||= IpModulo.new(parent_instance: self, client: @client, create_children: @create_children) end class IpHash < ConfigClass def has_multiple_values?; false; end def _section :'ip-hash' end @props = {'hash-seed'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'help-string'=>'User-specified hash seed'}} # User-specified hash seed def hash_seed prop_get('hash-seed') end # User-specified hash seed def hash_seed=(val) prop_set('hash-seed', val) end end def ip_hash @subclasses['ip-hash'] ||= IpHash.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def arp_load_sharing @subclasses['arp-load-sharing'] ||= ArpLoadSharing.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'IPv6 address or address object'}} # IPv6 address or address object def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ipv6 maybe_register_subclass('ipv6', Ipv6.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'Layer3 interface name'}} # Layer3 interface name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def virtual_address maybe_register_subclass('virtual-address', VirtualAddress.new(parent_instance: self, client: @client, create_children: @create_children)) end class SessionOwnerSelection < ConfigClass def has_multiple_values?; false; end def _section :'session-owner-selection' end class PrimaryDevice < ConfigClass def has_multiple_values?; false; end def _section :'primary-device' end @props = {} end def primary_device @subclasses['primary-device'] ||= PrimaryDevice.new(parent_instance: self, client: @client, create_children: @create_children) end class FirstPacket < ConfigClass def has_multiple_values?; false; end def _section :'first-packet' end class SessionSetup < ConfigClass def has_multiple_values?; false; end def _section :'session-setup' end class PrimaryDevice < ConfigClass def has_multiple_values?; false; end def _section :'primary-device' end @props = {} end def primary_device @subclasses['primary-device'] ||= PrimaryDevice.new(parent_instance: self, client: @client, create_children: @create_children) end class FirstPacket < ConfigClass def has_multiple_values?; false; end def _section :'first-packet' end @props = {} end def first_packet @subclasses['first-packet'] ||= FirstPacket.new(parent_instance: self, client: @client, create_children: @create_children) end class IpModulo < ConfigClass def has_multiple_values?; false; end def _section :'ip-modulo' end @props = {} end def ip_modulo @subclasses['ip-modulo'] ||= IpModulo.new(parent_instance: self, client: @client, create_children: @create_children) end class IpHash < ConfigClass def has_multiple_values?; false; end def _section :'ip-hash' end @props = {'hash-key'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'source-and-destination', 'help-string'=>'Address(es) to use as hash key', 'enum'=>[{'value'=>'source', 'help-string'=>'Source address only'}, {'value'=>'source-and-destination', 'help-string'=>'Source and destination addresses'}]}, 'hash-seed'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'default'=>'0', 'help-string'=>'User-specified hash seed'}} # Address(es) to use as hash key def hash_key prop_get('hash-key') end # Address(es) to use as hash key def hash_key=(val) prop_set('hash-key', val) end # User-specified hash seed def hash_seed prop_get('hash-seed') end # User-specified hash seed def hash_seed=(val) prop_set('hash-seed', val) end end def ip_hash @subclasses['ip-hash'] ||= IpHash.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def session_setup @subclasses['session-setup'] ||= SessionSetup.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def first_packet @subclasses['first-packet'] ||= FirstPacket.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def session_owner_selection @subclasses['session-owner-selection'] ||= SessionOwnerSelection.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'device-id'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Device ID in HA group, 0 or 1 or variable', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'0', 'help-string'=>'Higher priority device'}, {'value'=>'1', 'help-string'=>'Lower priority device'}]}}, 'tentative-hold-time'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'60', 'help-string'=>'Interval in seconds to stay in Tentative state following a link/path monitor recovery or before moving to an Active state, default 60 secs', 'multi-types'=>{'rangedint'=>{'min'=>'10', 'max'=>'600', 'help-string'=>'Interval in seconds'}, 'enum'=>[{'value'=>'disabled', 'help-string'=>'disable tentative-hold-time functionality'}]}}} # Device ID in HA group, 0 or 1 or variable def device_id prop_get('device-id') end # Device ID in HA group, 0 or 1 or variable def device_id=(val) prop_set('device-id', val) end # Interval in seconds to stay in Tentative state following a link/path monitor recovery or before moving to an Active state, default 60 secs def tentative_hold_time prop_get('tentative-hold-time') end # Interval in seconds to stay in Tentative state following a link/path monitor recovery or before moving to an Active state, default 60 secs def tentative_hold_time=(val) prop_set('tentative-hold-time', val) end end def active_active @subclasses['active-active'] ||= ActiveActive.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def mode @subclasses['mode'] ||= Mode.new(parent_instance: self, client: @client, create_children: @create_children) end class Monitoring < ConfigClass def has_multiple_values?; false; end def _section :monitoring end class PathMonitoring < ConfigClass def has_multiple_values?; false; end def _section :'path-monitoring' end class PathGroup < ConfigClass def has_multiple_values?; false; end def _section :'path-group' end class VirtualWire < XML::ConfigClass def has_multiple_values?; true; end def _section :'virtual-wire' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class DestinationIpGroup < XML::ConfigClass def has_multiple_values?; true; end def _section :'destination-ip-group' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class DestinationIp < XML::ConfigClass def has_multiple_values?; true; end def _section :'destination-ip' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'IPv4/6 address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # IPv4/6 address def member prop_get('member') end # IPv4/6 address def member=(val) prop_set('member', val) end end def destination_ip maybe_register_subclass('destination-ip', DestinationIp.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31'}, 'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'failure-condition'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'any', 'help-string'=>'Condition to determine failure, default any (failure on any monitored IP)', 'enum'=>[{'value'=>'any'}, {'value'=>'all'}]}} def name prop_get('@name') end def enabled prop_get('enabled') end def enabled=(val) prop_set('enabled', val) end # Condition to determine failure, default any (failure on any monitored IP) def failure_condition prop_get('failure-condition') end # Condition to determine failure, default any (failure on any monitored IP) def failure_condition=(val) prop_set('failure-condition', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def destination_ip_group maybe_register_subclass('destination-ip-group', DestinationIpGroup.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31'}, 'source-ip'=>{'node-type'=>'element', 'type'=>'ipspec', 'unicast-only'=>'yes', 'help-string'=>'Source IPv4/6 address to send monitoring packet'}, 'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'failure-condition'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'any', 'help-string'=>'Condition to determine failure, default any (failure on any monitored IP)', 'enum'=>[{'value'=>'any'}, {'value'=>'all'}]}, 'ping-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'200', 'max'=>'60000', 'default'=>'200'}, 'ping-count'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'3', 'max'=>'10', 'default'=>'10'}} def name prop_get('@name') end # Source IPv4/6 address to send monitoring packet def source_ip prop_get('source-ip') end # Source IPv4/6 address to send monitoring packet def source_ip=(val) prop_set('source-ip', val) end def enabled prop_get('enabled') end def enabled=(val) prop_set('enabled', val) end # Condition to determine failure, default any (failure on any monitored IP) def failure_condition prop_get('failure-condition') end # Condition to determine failure, default any (failure on any monitored IP) def failure_condition=(val) prop_set('failure-condition', val) end def ping_interval prop_get('ping-interval') end def ping_interval=(val) prop_set('ping-interval', val) end def ping_count prop_get('ping-count') end def ping_count=(val) prop_set('ping-count', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def virtual_wire maybe_register_subclass('virtual-wire', VirtualWire.new(parent_instance: self, client: @client, create_children: @create_children)) end class Vlan < XML::ConfigClass def has_multiple_values?; true; end def _section :vlan end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class DestinationIpGroup < XML::ConfigClass def has_multiple_values?; true; end def _section :'destination-ip-group' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class DestinationIp < XML::ConfigClass def has_multiple_values?; true; end def _section :'destination-ip' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'IPv4/6 address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # IPv4/6 address def member prop_get('member') end # IPv4/6 address def member=(val) prop_set('member', val) end end def destination_ip maybe_register_subclass('destination-ip', DestinationIp.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31'}, 'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'failure-condition'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'any', 'help-string'=>'Condition to determine failure, default any (failure on any monitored IP)', 'enum'=>[{'value'=>'any'}, {'value'=>'all'}]}} def name prop_get('@name') end def enabled prop_get('enabled') end def enabled=(val) prop_set('enabled', val) end # Condition to determine failure, default any (failure on any monitored IP) def failure_condition prop_get('failure-condition') end # Condition to determine failure, default any (failure on any monitored IP) def failure_condition=(val) prop_set('failure-condition', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def destination_ip_group maybe_register_subclass('destination-ip-group', DestinationIpGroup.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31'}, 'source-ip'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-only'=>'yes', 'help-string'=>'Source IPv4/6 address to send monitoring packet'}, 'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'failure-condition'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'any', 'help-string'=>'Condition to determine failure, default any (failure on any monitored IP)', 'enum'=>[{'value'=>'any'}, {'value'=>'all'}]}, 'ping-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'200', 'max'=>'60000', 'default'=>'200'}, 'ping-count'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'3', 'max'=>'10', 'default'=>'10'}} def name prop_get('@name') end # Source IPv4/6 address to send monitoring packet def source_ip prop_get('source-ip') end # Source IPv4/6 address to send monitoring packet def source_ip=(val) prop_set('source-ip', val) end def enabled prop_get('enabled') end def enabled=(val) prop_set('enabled', val) end # Condition to determine failure, default any (failure on any monitored IP) def failure_condition prop_get('failure-condition') end # Condition to determine failure, default any (failure on any monitored IP) def failure_condition=(val) prop_set('failure-condition', val) end def ping_interval prop_get('ping-interval') end def ping_interval=(val) prop_set('ping-interval', val) end def ping_count prop_get('ping-count') end def ping_count=(val) prop_set('ping-count', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vlan maybe_register_subclass('vlan', Vlan.new(parent_instance: self, client: @client, create_children: @create_children)) end class VirtualRouter < XML::ConfigClass def has_multiple_values?; true; end def _section :'virtual-router' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class DestinationIpGroup < XML::ConfigClass def has_multiple_values?; true; end def _section :'destination-ip-group' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class DestinationIp < XML::ConfigClass def has_multiple_values?; true; end def _section :'destination-ip' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'IPv4/6 address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # IPv4/6 address def member prop_get('member') end # IPv4/6 address def member=(val) prop_set('member', val) end end def destination_ip maybe_register_subclass('destination-ip', DestinationIp.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31'}, 'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'failure-condition'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'any', 'help-string'=>'Condition to determine failure, default any (failure on any monitored IP)', 'enum'=>[{'value'=>'any'}, {'value'=>'all'}]}} def name prop_get('@name') end def enabled prop_get('enabled') end def enabled=(val) prop_set('enabled', val) end # Condition to determine failure, default any (failure on any monitored IP) def failure_condition prop_get('failure-condition') end # Condition to determine failure, default any (failure on any monitored IP) def failure_condition=(val) prop_set('failure-condition', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def destination_ip_group maybe_register_subclass('destination-ip-group', DestinationIpGroup.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31'}, 'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'failure-condition'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'any', 'help-string'=>'Condition to determine failure, default any (failure on any monitored IP)', 'enum'=>[{'value'=>'any'}, {'value'=>'all'}]}, 'ping-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'200', 'max'=>'60000', 'default'=>'200'}, 'ping-count'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'3', 'max'=>'10', 'default'=>'10'}} def name prop_get('@name') end def enabled prop_get('enabled') end def enabled=(val) prop_set('enabled', val) end # Condition to determine failure, default any (failure on any monitored IP) def failure_condition prop_get('failure-condition') end # Condition to determine failure, default any (failure on any monitored IP) def failure_condition=(val) prop_set('failure-condition', val) end def ping_interval prop_get('ping-interval') end def ping_interval=(val) prop_set('ping-interval', val) end def ping_count prop_get('ping-count') end def ping_count=(val) prop_set('ping-count', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def virtual_router maybe_register_subclass('virtual-router', VirtualRouter.new(parent_instance: self, client: @client, create_children: @create_children)) end class LogicalRouter < XML::ConfigClass def has_multiple_values?; true; end def _section :'logical-router' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class DestinationIpGroup < XML::ConfigClass def has_multiple_values?; true; end def _section :'destination-ip-group' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class DestinationIp < XML::ConfigClass def has_multiple_values?; true; end def _section :'destination-ip' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'IPv4/6 address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # IPv4/6 address def member prop_get('member') end # IPv4/6 address def member=(val) prop_set('member', val) end end def destination_ip maybe_register_subclass('destination-ip', DestinationIp.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31'}, 'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'failure-condition'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'any', 'help-string'=>'Condition to determine failure, default any (failure on any monitored IP)', 'enum'=>[{'value'=>'any'}, {'value'=>'all'}]}} def name prop_get('@name') end def enabled prop_get('enabled') end def enabled=(val) prop_set('enabled', val) end # Condition to determine failure, default any (failure on any monitored IP) def failure_condition prop_get('failure-condition') end # Condition to determine failure, default any (failure on any monitored IP) def failure_condition=(val) prop_set('failure-condition', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def destination_ip_group maybe_register_subclass('destination-ip-group', DestinationIpGroup.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31'}, 'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'failure-condition'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'any', 'help-string'=>'Condition to determine failure, default any (failure on any monitored IP)', 'enum'=>[{'value'=>'any'}, {'value'=>'all'}]}, 'ping-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'200', 'max'=>'60000', 'default'=>'200'}, 'ping-count'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'3', 'max'=>'10', 'default'=>'10'}} def name prop_get('@name') end def enabled prop_get('enabled') end def enabled=(val) prop_set('enabled', val) end # Condition to determine failure, default any (failure on any monitored IP) def failure_condition prop_get('failure-condition') end # Condition to determine failure, default any (failure on any monitored IP) def failure_condition=(val) prop_set('failure-condition', val) end def ping_interval prop_get('ping-interval') end def ping_interval=(val) prop_set('ping-interval', val) end def ping_count prop_get('ping-count') end def ping_count=(val) prop_set('ping-count', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def logical_router maybe_register_subclass('logical-router', LogicalRouter.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def path_group @subclasses['path-group'] ||= PathGroup.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'failure-condition'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'any', 'help-string'=>'Condition to determine failure, default any (failure on any path group)', 'enum'=>[{'value'=>'any'}, {'value'=>'all'}]}} def enabled prop_get('enabled') end def enabled=(val) prop_set('enabled', val) end # Condition to determine failure, default any (failure on any path group) def failure_condition prop_get('failure-condition') end # Condition to determine failure, default any (failure on any path group) def failure_condition=(val) prop_set('failure-condition', val) end end def path_monitoring @subclasses['path-monitoring'] ||= PathMonitoring.new(parent_instance: self, client: @client, create_children: @create_children) end class LinkMonitoring < ConfigClass def has_multiple_values?; false; end def _section :'link-monitoring' end class LinkGroup < XML::ConfigClass def has_multiple_values?; true; end def _section :'link-group' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Interface < XML::ConfigClass def has_multiple_values?; true; end def _section :interface end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def interface maybe_register_subclass('interface', Interface.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'31'}, 'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'failure-condition'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'any', 'help-string'=>'Condition to determine failure, default any (failure on any link)', 'enum'=>[{'value'=>'any'}, {'value'=>'all'}]}} def name prop_get('@name') end def enabled prop_get('enabled') end def enabled=(val) prop_set('enabled', val) end # Condition to determine failure, default any (failure on any link) def failure_condition prop_get('failure-condition') end # Condition to determine failure, default any (failure on any link) def failure_condition=(val) prop_set('failure-condition', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def link_group maybe_register_subclass('link-group', LinkGroup.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'failure-condition'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'any', 'help-string'=>'Condition to determine failure, default any (failure on any link group)', 'enum'=>[{'value'=>'any'}, {'value'=>'all'}]}} def enabled prop_get('enabled') end def enabled=(val) prop_set('enabled', val) end # Condition to determine failure, default any (failure on any link group) def failure_condition prop_get('failure-condition') end # Condition to determine failure, default any (failure on any link group) def failure_condition=(val) prop_set('failure-condition', val) end end def link_monitoring @subclasses['link-monitoring'] ||= LinkMonitoring.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def monitoring @subclasses['monitoring'] ||= Monitoring.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'group-id'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'63'}, 'string'=>{'maxlen'=>'63'}}}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'64', 'help-string'=>'HA pair group description'}, 'peer-ip'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'HA pair Peer IP address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'disallow-loopback'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'peer-ip-backup'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.cloud-ha-support=True', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'HA pair Backup Peer IP address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'disallow-loopback'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} def group_id prop_get('group-id') end def group_id=(val) prop_set('group-id', val) end # HA pair group description def description prop_get('description') end # HA pair group description def description=(val) prop_set('description', val) end # HA pair Peer IP address def peer_ip prop_get('peer-ip') end # HA pair Peer IP address def peer_ip=(val) prop_set('peer-ip', val) end # HA pair Backup Peer IP address def peer_ip_backup prop_get('peer-ip-backup') end # HA pair Backup Peer IP address def peer_ip_backup=(val) prop_set('peer-ip-backup', val) end end def group @subclasses['group'] ||= Group.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable high-availability pair'}} # Enable high-availability pair def enabled prop_get('enabled') end # Enable high-availability pair def enabled=(val) prop_set('enabled', val) end end def high_availability @subclasses['high-availability'] ||= HighAvailability.new(parent_instance: self, client: @client, create_children: @create_children) end class LogFwdCard < ConfigClass def has_multiple_values?; false; end def _section :'log-fwd-card' end class Interface < XML::ConfigClass def has_multiple_values?; true; end def _section :interface end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Units < XML::ConfigClass def has_multiple_values?; true; end def _section :units end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'prefix'=>'concat(../../@name, \'.\')', 'regex'=>'^((lfc[1-9]\/[1-9]\.)?([1-9][0-9]{0,3}))$'}, 'ip-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'IP address for the log card forwarding interface', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'netmask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'subtype'=>'ip-address', 'help-string'=>'IP netmask for the log card forwarding interface'}, 'default-gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'log forwarding card default gateway', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'ipv6-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'ipv6-only'=>'yes', 'help-string'=>'IPv6 address for the log card forwarding interface', 'multi-types'=>{'ipspec'=>{'unicast-with-mask'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'ipv6-default-gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'log forwarding IPv6 card default gateway', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'comment'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'1024'}, 'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4094', 'help-string'=>'802.1q VLAN tag'}} def name prop_get('@name') end # IP address for the log card forwarding interface def ip_address prop_get('ip-address') end # IP address for the log card forwarding interface def ip_address=(val) prop_set('ip-address', val) end # IP netmask for the log card forwarding interface def netmask prop_get('netmask') end # IP netmask for the log card forwarding interface def netmask=(val) prop_set('netmask', val) end # log forwarding card default gateway def default_gateway prop_get('default-gateway') end # log forwarding card default gateway def default_gateway=(val) prop_set('default-gateway', val) end # IPv6 address for the log card forwarding interface def ipv6_address prop_get('ipv6-address') end # IPv6 address for the log card forwarding interface def ipv6_address=(val) prop_set('ipv6-address', val) end # log forwarding IPv6 card default gateway def ipv6_default_gateway prop_get('ipv6-default-gateway') end # log forwarding IPv6 card default gateway def ipv6_default_gateway=(val) prop_set('ipv6-default-gateway', val) end def comment prop_get('comment') end def comment=(val) prop_set('comment', val) end # 802.1q VLAN tag def tag prop_get('tag') end # 802.1q VLAN tag def tag=(val) prop_set('tag', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def units maybe_register_subclass('units', Units.new(parent_instance: self, client: @client, create_children: @create_children)) end class Lacp < ConfigClass def has_multiple_values?; false; end def _section :lacp end @props = {'port-priority'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'32768', 'help-string'=>'port priority in LACP'}} # port priority in LACP def port_priority prop_get('port-priority') end # port priority in LACP def port_priority=(val) prop_set('port-priority', val) end end def lacp @subclasses['lacp'] ||= Lacp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string'}, 'link-speed'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'auto', 'help-string'=>'Interface link speed', 'enum'=>[{'value'=>'auto', 'help-string'=>'Auto negotiation'}]}, 'link-duplex'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'auto', 'help-string'=>'Interface link duplex', 'enum'=>[{'value'=>'auto', 'help-string'=>'Auto negotiation'}]}, 'link-state'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'auto', 'help-string'=>'Interface link state', 'enum'=>[{'value'=>'auto', 'help-string'=>'Auto detect'}, {'value'=>'up', 'help-string'=>'Force to up'}, {'value'=>'down', 'help-string'=>'Force to down'}]}, 'ip-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'IP address for the log card forwarding interface', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'netmask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'subtype'=>'ip-address', 'help-string'=>'IP netmask for the log card forwarding interface'}, 'default-gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'log forwarding card default gateway', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'ipv6-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'unicast-with-mask'=>'yes', 'ipv6-only'=>'yes', 'help-string'=>'IPv6 address for the log card forwarding interface', 'multi-types'=>{'ipspec'=>{'unicast-with-mask'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'ipv6-default-gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'log forwarding IPv6 card default gateway', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'comment'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'0', 'maxlen'=>'1023'}} def name prop_get('@name') end # Interface link speed def link_speed prop_get('link-speed') end # Interface link speed def link_speed=(val) prop_set('link-speed', val) end # Interface link duplex def link_duplex prop_get('link-duplex') end # Interface link duplex def link_duplex=(val) prop_set('link-duplex', val) end # Interface link state def link_state prop_get('link-state') end # Interface link state def link_state=(val) prop_set('link-state', val) end # IP address for the log card forwarding interface def ip_address prop_get('ip-address') end # IP address for the log card forwarding interface def ip_address=(val) prop_set('ip-address', val) end # IP netmask for the log card forwarding interface def netmask prop_get('netmask') end # IP netmask for the log card forwarding interface def netmask=(val) prop_set('netmask', val) end # log forwarding card default gateway def default_gateway prop_get('default-gateway') end # log forwarding card default gateway def default_gateway=(val) prop_set('default-gateway', val) end # IPv6 address for the log card forwarding interface def ipv6_address prop_get('ipv6-address') end # IPv6 address for the log card forwarding interface def ipv6_address=(val) prop_set('ipv6-address', val) end # log forwarding IPv6 card default gateway def ipv6_default_gateway prop_get('ipv6-default-gateway') end # log forwarding IPv6 card default gateway def ipv6_default_gateway=(val) prop_set('ipv6-default-gateway', val) end def comment prop_get('comment') end def comment=(val) prop_set('comment', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def interface maybe_register_subclass('interface', Interface.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def log_fwd_card @subclasses['log-fwd-card'] ||= LogFwdCard.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def deviceconfig @subclasses['deviceconfig'] ||= Deviceconfig.new(parent_instance: self, client: @client, create_children: @create_children) end class Network < ConfigClass def has_multiple_values?; false; end def _section :network end class Profiles < ConfigClass def has_multiple_values?; false; end def _section :profiles end class MonitorProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'monitor-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'2', 'max'=>'100', 'default'=>'3', 'help-string'=>'probing interval in seconds'}, 'threshold'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'2', 'max'=>'10', 'default'=>'5', 'help-string'=>'number of failed probe to determine tunnel is down'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'wait-recover', 'help-string'=>'configure action triggered when tunnel status change', 'enum'=>[{'value'=>'wait-recover', 'help-string'=>'when tunnel is down, wait for the recover'}, {'value'=>'fail-over', 'help-string'=>'when tunnel is down, make traffic fail over to backup path is configured'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # probing interval in seconds def interval prop_get('interval') end # probing interval in seconds def interval=(val) prop_set('interval', val) end # number of failed probe to determine tunnel is down def threshold prop_get('threshold') end # number of failed probe to determine tunnel is down def threshold=(val) prop_set('threshold', val) end # configure action triggered when tunnel status change def action prop_get('action') end # configure action triggered when tunnel status change def action=(val) prop_set('action', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def monitor_profile maybe_register_subclass('monitor-profile', MonitorProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class InterfaceManagementProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'interface-management-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class PermittedIp < XML::ConfigClass def has_multiple_values?; true; end def _section :'permitted-ip' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'multiple', 'help-string'=>'ip address/prefix', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}}}} # ip address/prefix def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def permitted_ip maybe_register_subclass('permitted-ip', PermittedIp.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'http'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool'}, 'https'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool'}, 'ping'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool'}, 'response-pages'=>{'node-type'=>'element', 'optional'=>'yes', 'default'=>'no', 'type'=>'bool'}, 'userid-service'=>{'node-type'=>'element', 'optional'=>'yes', 'default'=>'no', 'type'=>'bool'}, 'userid-syslog-listener-ssl'=>{'node-type'=>'element', 'optional'=>'yes', 'default'=>'no', 'type'=>'bool'}, 'userid-syslog-listener-udp'=>{'node-type'=>'element', 'optional'=>'yes', 'default'=>'no', 'type'=>'bool', 'prune-on'=>'fips-mode'}, 'ssh'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool'}, 'telnet'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool'}, 'snmp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool'}, 'http-ocsp'=>{'node-type'=>'element', 'optional'=>'yes', 'default'=>'no', 'type'=>'bool'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def http prop_get('http') end def http=(val) prop_set('http', val) end def https prop_get('https') end def https=(val) prop_set('https', val) end def ping prop_get('ping') end def ping=(val) prop_set('ping', val) end def response_pages prop_get('response-pages') end def response_pages=(val) prop_set('response-pages', val) end def userid_service prop_get('userid-service') end def userid_service=(val) prop_set('userid-service', val) end def userid_syslog_listener_ssl prop_get('userid-syslog-listener-ssl') end def userid_syslog_listener_ssl=(val) prop_set('userid-syslog-listener-ssl', val) end def userid_syslog_listener_udp prop_get('userid-syslog-listener-udp') end def userid_syslog_listener_udp=(val) prop_set('userid-syslog-listener-udp', val) end def ssh prop_get('ssh') end def ssh=(val) prop_set('ssh', val) end def telnet prop_get('telnet') end def telnet=(val) prop_set('telnet', val) end def snmp prop_get('snmp') end def snmp=(val) prop_set('snmp', val) end def http_ocsp prop_get('http-ocsp') end def http_ocsp=(val) prop_set('http-ocsp', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def interface_management_profile maybe_register_subclass('interface-management-profile', InterfaceManagementProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class ZoneProtectionProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'zone-protection-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Scan < XML::ConfigClass def has_multiple_values?; true; end def _section :scan end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Action < XML::ConfigClass def has_multiple_values?; true; end def _section :action end class Allow < ConfigClass def has_multiple_values?; false; end def _section :allow end @props = {} end def allow @subclasses['allow'] ||= Allow.new(parent_instance: self, client: @client, create_children: @create_children) end class Alert < ConfigClass def has_multiple_values?; false; end def _section :alert end @props = {} end def alert @subclasses['alert'] ||= Alert.new(parent_instance: self, client: @client, create_children: @create_children) end class Block < ConfigClass def has_multiple_values?; false; end def _section :block end @props = {} end def block @subclasses['block'] ||= Block.new(parent_instance: self, client: @client, create_children: @create_children) end class BlockIp < ConfigClass def has_multiple_values?; false; end def _section :'block-ip' end @props = {'track-by'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'source'}, {'value'=>'source-and-destination'}]}, 'duration'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'help-string'=>'Duration for block ip'}} def track_by prop_get('track-by') end def track_by=(val) prop_set('track-by', val) end # Duration for block ip def duration prop_get('duration') end # Duration for block ip def duration=(val) prop_set('duration', val) end end def block_ip @subclasses['block-ip'] ||= BlockIp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def action maybe_register_subclass('action', Action.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'16', 'regex'=>'^[0-9]+$', 'help-string'=>'threat id'}, 'interval'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'2', 'max'=>'65535'}, 'threshold'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'2', 'max'=>'65535'}} # threat id def name prop_get('@name') end def interval prop_get('interval') end def interval=(val) prop_set('interval', val) end def threshold prop_get('threshold') end def threshold=(val) prop_set('threshold', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def scan maybe_register_subclass('scan', Scan.new(parent_instance: self, client: @client, create_children: @create_children)) end class ScanWhiteList < XML::ConfigClass def has_multiple_values?; true; end def _section :'scan-white-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string'}, 'ipv4'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'IPv4 address'}, 'ipv6'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'50', 'help-string'=>'IPv6 address'}} def name prop_get('@name') end # IPv4 address def ipv4 prop_get('ipv4') end # IPv4 address def ipv4=(val) prop_set('ipv4', val) end # IPv6 address def ipv6 prop_get('ipv6') end # IPv6 address def ipv6=(val) prop_set('ipv6', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def scan_white_list maybe_register_subclass('scan-white-list', ScanWhiteList.new(parent_instance: self, client: @client, create_children: @create_children)) end class Flood < ConfigClass def has_multiple_values?; false; end def _section :flood end class TcpSyn < ConfigClass def has_multiple_values?; false; end def _section :'tcp-syn' end class Red < ConfigClass def has_multiple_values?; false; end def _section :red end @props = {'alarm-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'2000000', 'default'=>'10000', 'help-string'=>'Connection rate (cps) to generate alarm'}, 'activate-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000000', 'default'=>'10000', 'help-string'=>'Connection rate (cps) to start RED'}, 'maximal-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000000', 'default'=>'40000', 'help-string'=>'Maximal connection rate (cps) allowed'}} # Connection rate (cps) to generate alarm def alarm_rate prop_get('alarm-rate') end # Connection rate (cps) to generate alarm def alarm_rate=(val) prop_set('alarm-rate', val) end # Connection rate (cps) to start RED def activate_rate prop_get('activate-rate') end # Connection rate (cps) to start RED def activate_rate=(val) prop_set('activate-rate', val) end # Maximal connection rate (cps) allowed def maximal_rate prop_get('maximal-rate') end # Maximal connection rate (cps) allowed def maximal_rate=(val) prop_set('maximal-rate', val) end end def red @subclasses['red'] ||= Red.new(parent_instance: self, client: @client, create_children: @create_children) end class SynCookies < ConfigClass def has_multiple_values?; false; end def _section :'syn-cookies' end @props = {'alarm-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'2000000', 'default'=>'10000', 'help-string'=>'Connection rate (cps) to generate alarm'}, 'activate-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'2000000', 'default'=>'0', 'help-string'=>'Connection rate (cps) to activate SYN cookies proxy'}, 'maximal-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000000', 'default'=>'1000000', 'help-string'=>'Maximal connection rate (cps) allowed'}} # Connection rate (cps) to generate alarm def alarm_rate prop_get('alarm-rate') end # Connection rate (cps) to generate alarm def alarm_rate=(val) prop_set('alarm-rate', val) end # Connection rate (cps) to activate SYN cookies proxy def activate_rate prop_get('activate-rate') end # Connection rate (cps) to activate SYN cookies proxy def activate_rate=(val) prop_set('activate-rate', val) end # Maximal connection rate (cps) allowed def maximal_rate prop_get('maximal-rate') end # Maximal connection rate (cps) allowed def maximal_rate=(val) prop_set('maximal-rate', val) end end def syn_cookies @subclasses['syn-cookies'] ||= SynCookies.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def tcp_syn @subclasses['tcp-syn'] ||= TcpSyn.new(parent_instance: self, client: @client, create_children: @create_children) end class Udp < ConfigClass def has_multiple_values?; false; end def _section :udp end class Red < ConfigClass def has_multiple_values?; false; end def _section :red end @props = {'alarm-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'2000000', 'default'=>'10000', 'help-string'=>'Connection rate (cps) to generate alarm'}, 'activate-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000000', 'default'=>'10000', 'help-string'=>'Connection rate (cps) to start RED'}, 'maximal-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000000', 'default'=>'40000', 'help-string'=>'Maximal connection rate (cps) allowed'}} # Connection rate (cps) to generate alarm def alarm_rate prop_get('alarm-rate') end # Connection rate (cps) to generate alarm def alarm_rate=(val) prop_set('alarm-rate', val) end # Connection rate (cps) to start RED def activate_rate prop_get('activate-rate') end # Connection rate (cps) to start RED def activate_rate=(val) prop_set('activate-rate', val) end # Maximal connection rate (cps) allowed def maximal_rate prop_get('maximal-rate') end # Maximal connection rate (cps) allowed def maximal_rate=(val) prop_set('maximal-rate', val) end end def red @subclasses['red'] ||= Red.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def udp @subclasses['udp'] ||= Udp.new(parent_instance: self, client: @client, create_children: @create_children) end class Icmp < ConfigClass def has_multiple_values?; false; end def _section :icmp end class Red < ConfigClass def has_multiple_values?; false; end def _section :red end @props = {'alarm-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'2000000', 'default'=>'10000', 'help-string'=>'Connection rate (cps) to generate alarm'}, 'activate-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000000', 'default'=>'10000', 'help-string'=>'Connection rate (cps) to start RED'}, 'maximal-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000000', 'default'=>'40000', 'help-string'=>'Maximal connection rate (cps) allowed'}} # Connection rate (cps) to generate alarm def alarm_rate prop_get('alarm-rate') end # Connection rate (cps) to generate alarm def alarm_rate=(val) prop_set('alarm-rate', val) end # Connection rate (cps) to start RED def activate_rate prop_get('activate-rate') end # Connection rate (cps) to start RED def activate_rate=(val) prop_set('activate-rate', val) end # Maximal connection rate (cps) allowed def maximal_rate prop_get('maximal-rate') end # Maximal connection rate (cps) allowed def maximal_rate=(val) prop_set('maximal-rate', val) end end def red @subclasses['red'] ||= Red.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def icmp @subclasses['icmp'] ||= Icmp.new(parent_instance: self, client: @client, create_children: @create_children) end class Icmpv6 < ConfigClass def has_multiple_values?; false; end def _section :icmpv6 end class Red < ConfigClass def has_multiple_values?; false; end def _section :red end @props = {'alarm-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'2000000', 'default'=>'10000', 'help-string'=>'Connection rate (cps) to generate alarm'}, 'activate-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000000', 'default'=>'10000', 'help-string'=>'Connection rate (cps) to start RED'}, 'maximal-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000000', 'default'=>'40000', 'help-string'=>'Maximal connection rate (cps) allowed'}} # Connection rate (cps) to generate alarm def alarm_rate prop_get('alarm-rate') end # Connection rate (cps) to generate alarm def alarm_rate=(val) prop_set('alarm-rate', val) end # Connection rate (cps) to start RED def activate_rate prop_get('activate-rate') end # Connection rate (cps) to start RED def activate_rate=(val) prop_set('activate-rate', val) end # Maximal connection rate (cps) allowed def maximal_rate prop_get('maximal-rate') end # Maximal connection rate (cps) allowed def maximal_rate=(val) prop_set('maximal-rate', val) end end def red @subclasses['red'] ||= Red.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def icmpv6 @subclasses['icmpv6'] ||= Icmpv6.new(parent_instance: self, client: @client, create_children: @create_children) end class OtherIp < ConfigClass def has_multiple_values?; false; end def _section :'other-ip' end class Red < ConfigClass def has_multiple_values?; false; end def _section :red end @props = {'alarm-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'2000000', 'default'=>'10000', 'help-string'=>'Connection rate (cps) to generate alarm'}, 'activate-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000000', 'default'=>'10000', 'help-string'=>'Connection rate (cps) to start RED'}, 'maximal-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000000', 'default'=>'40000', 'help-string'=>'Maximal connection rate (cps) allowed'}} # Connection rate (cps) to generate alarm def alarm_rate prop_get('alarm-rate') end # Connection rate (cps) to generate alarm def alarm_rate=(val) prop_set('alarm-rate', val) end # Connection rate (cps) to start RED def activate_rate prop_get('activate-rate') end # Connection rate (cps) to start RED def activate_rate=(val) prop_set('activate-rate', val) end # Maximal connection rate (cps) allowed def maximal_rate prop_get('maximal-rate') end # Maximal connection rate (cps) allowed def maximal_rate=(val) prop_set('maximal-rate', val) end end def red @subclasses['red'] ||= Red.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def other_ip @subclasses['other-ip'] ||= OtherIp.new(parent_instance: self, client: @client, create_children: @create_children) end class SctpInit < ConfigClass def has_multiple_values?; false; end def _section :'sctp-init' end class Red < ConfigClass def has_multiple_values?; false; end def _section :red end @props = {'alarm-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'2000000', 'default'=>'10000', 'help-string'=>'Connection rate (cps) to generate alarm'}, 'activate-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000000', 'default'=>'10000', 'help-string'=>'Connection rate (cps) to start RED'}, 'maximal-rate'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000000', 'default'=>'40000', 'help-string'=>'Maximal connection rate (cps) allowed'}} # Connection rate (cps) to generate alarm def alarm_rate prop_get('alarm-rate') end # Connection rate (cps) to generate alarm def alarm_rate=(val) prop_set('alarm-rate', val) end # Connection rate (cps) to start RED def activate_rate prop_get('activate-rate') end # Connection rate (cps) to start RED def activate_rate=(val) prop_set('activate-rate', val) end # Maximal connection rate (cps) allowed def maximal_rate prop_get('maximal-rate') end # Maximal connection rate (cps) allowed def maximal_rate=(val) prop_set('maximal-rate', val) end end def red @subclasses['red'] ||= Red.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def sctp_init @subclasses['sctp-init'] ||= SctpInit.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def flood @subclasses['flood'] ||= Flood.new(parent_instance: self, client: @client, create_children: @create_children) end class Ipv6 < ConfigClass def has_multiple_values?; false; end def _section :ipv6 end class FilterExtHdr < ConfigClass def has_multiple_values?; false; end def _section :'filter-ext-hdr' end @props = {'hop-by-hop-hdr'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Drop packets with Hop-by-Hop extension'}, 'routing-hdr'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Drop packets with Routing extension'}, 'dest-option-hdr'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Drop packets with Destination extension'}} # Drop packets with Hop-by-Hop extension def hop_by_hop_hdr prop_get('hop-by-hop-hdr') end # Drop packets with Hop-by-Hop extension def hop_by_hop_hdr=(val) prop_set('hop-by-hop-hdr', val) end # Drop packets with Routing extension def routing_hdr prop_get('routing-hdr') end # Drop packets with Routing extension def routing_hdr=(val) prop_set('routing-hdr', val) end # Drop packets with Destination extension def dest_option_hdr prop_get('dest-option-hdr') end # Drop packets with Destination extension def dest_option_hdr=(val) prop_set('dest-option-hdr', val) end end def filter_ext_hdr @subclasses['filter-ext-hdr'] ||= FilterExtHdr.new(parent_instance: self, client: @client, create_children: @create_children) end class IgnoreInvPkt < ConfigClass def has_multiple_values?; false; end def _section :'ignore-inv-pkt' end @props = {'dest-unreach'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'ICMPv6 destination unreachable - require explicit security rule match'}, 'pkt-too-big'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'ICMPv6 packet too big - require explicit security rule match'}, 'time-exceeded'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'ICMPv6 time exceeded - require explicit security rule match'}, 'param-problem'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'ICMPv6 parameter problem - require explicit security rule match'}, 'redirect'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'ICMPv6 redirect - require explicit security rule match'}} # ICMPv6 destination unreachable - require explicit security rule match def dest_unreach prop_get('dest-unreach') end # ICMPv6 destination unreachable - require explicit security rule match def dest_unreach=(val) prop_set('dest-unreach', val) end # ICMPv6 packet too big - require explicit security rule match def pkt_too_big prop_get('pkt-too-big') end # ICMPv6 packet too big - require explicit security rule match def pkt_too_big=(val) prop_set('pkt-too-big', val) end # ICMPv6 time exceeded - require explicit security rule match def time_exceeded prop_get('time-exceeded') end # ICMPv6 time exceeded - require explicit security rule match def time_exceeded=(val) prop_set('time-exceeded', val) end # ICMPv6 parameter problem - require explicit security rule match def param_problem prop_get('param-problem') end # ICMPv6 parameter problem - require explicit security rule match def param_problem=(val) prop_set('param-problem', val) end # ICMPv6 redirect - require explicit security rule match def redirect prop_get('redirect') end # ICMPv6 redirect - require explicit security rule match def redirect=(val) prop_set('redirect', val) end end def ignore_inv_pkt @subclasses['ignore-inv-pkt'] ||= IgnoreInvPkt.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'routing-header-0'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Drop packets with type 0 routing header'}, 'routing-header-1'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Drop packets with type 1 routing header'}, 'routing-header-3'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Drop packets with type 3 routing header'}, 'routing-header-4-252'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Drop packets with type 4 to type 252 routing header'}, 'routing-header-253'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Drop packets with type 253 routing header'}, 'routing-header-254'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Drop packets with type 254 routing header'}, 'routing-header-255'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Drop packets with type 255 routing header'}, 'ipv4-compatible-address'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Drop packets with IPv4 compatible address'}, 'multicast-source'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Drop packets with multicast source address'}, 'anycast-source'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Drop packets with anycast source address'}, 'options-invalid-ipv6-discard'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Drop packets with invalid IPv6 options in extension header'}, 'icmpv6-too-big-small-mtu-discard'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Drop packets with MTU in ICMPv6 (Packet Too Big) less than 1280 bytes'}, 'needless-fragment-hdr'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Drop packets with needless fragment header'}, 'reserved-field-set-discard'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Drop packets with reserved field different than 0'}} # Drop packets with type 0 routing header def routing_header_0 prop_get('routing-header-0') end # Drop packets with type 0 routing header def routing_header_0=(val) prop_set('routing-header-0', val) end # Drop packets with type 1 routing header def routing_header_1 prop_get('routing-header-1') end # Drop packets with type 1 routing header def routing_header_1=(val) prop_set('routing-header-1', val) end # Drop packets with type 3 routing header def routing_header_3 prop_get('routing-header-3') end # Drop packets with type 3 routing header def routing_header_3=(val) prop_set('routing-header-3', val) end # Drop packets with type 4 to type 252 routing header def routing_header_4_252 prop_get('routing-header-4-252') end # Drop packets with type 4 to type 252 routing header def routing_header_4_252=(val) prop_set('routing-header-4-252', val) end # Drop packets with type 253 routing header def routing_header_253 prop_get('routing-header-253') end # Drop packets with type 253 routing header def routing_header_253=(val) prop_set('routing-header-253', val) end # Drop packets with type 254 routing header def routing_header_254 prop_get('routing-header-254') end # Drop packets with type 254 routing header def routing_header_254=(val) prop_set('routing-header-254', val) end # Drop packets with type 255 routing header def routing_header_255 prop_get('routing-header-255') end # Drop packets with type 255 routing header def routing_header_255=(val) prop_set('routing-header-255', val) end # Drop packets with IPv4 compatible address def ipv4_compatible_address prop_get('ipv4-compatible-address') end # Drop packets with IPv4 compatible address def ipv4_compatible_address=(val) prop_set('ipv4-compatible-address', val) end # Drop packets with multicast source address def multicast_source prop_get('multicast-source') end # Drop packets with multicast source address def multicast_source=(val) prop_set('multicast-source', val) end # Drop packets with anycast source address def anycast_source prop_get('anycast-source') end # Drop packets with anycast source address def anycast_source=(val) prop_set('anycast-source', val) end # Drop packets with invalid IPv6 options in extension header def options_invalid_ipv6_discard prop_get('options-invalid-ipv6-discard') end # Drop packets with invalid IPv6 options in extension header def options_invalid_ipv6_discard=(val) prop_set('options-invalid-ipv6-discard', val) end # Drop packets with MTU in ICMPv6 (Packet Too Big) less than 1280 bytes def icmpv6_too_big_small_mtu_discard prop_get('icmpv6-too-big-small-mtu-discard') end # Drop packets with MTU in ICMPv6 (Packet Too Big) less than 1280 bytes def icmpv6_too_big_small_mtu_discard=(val) prop_set('icmpv6-too-big-small-mtu-discard', val) end # Drop packets with needless fragment header def needless_fragment_hdr prop_get('needless-fragment-hdr') end # Drop packets with needless fragment header def needless_fragment_hdr=(val) prop_set('needless-fragment-hdr', val) end # Drop packets with reserved field different than 0 def reserved_field_set_discard prop_get('reserved-field-set-discard') end # Drop packets with reserved field different than 0 def reserved_field_set_discard=(val) prop_set('reserved-field-set-discard', val) end end def ipv6 @subclasses['ipv6'] ||= Ipv6.new(parent_instance: self, client: @client, create_children: @create_children) end class NonIpProtocol < ConfigClass def has_multiple_values?; false; end def _section :'non-ip-protocol' end class Protocol < XML::ConfigClass def has_multiple_values?; true; end def _section :protocol end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'Protocol name'}, 'ether-type'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{4}$', 'help-string'=>'ether type in 2-byte hex value'}, 'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}} # Protocol name def name prop_get('@name') end # ether type in 2-byte hex value def ether_type prop_get('ether-type') end # ether type in 2-byte hex value def ether_type=(val) prop_set('ether-type', val) end def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def protocol maybe_register_subclass('protocol', Protocol.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'list-type'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'exclude', 'help-string'=>'exclude or include list', 'uiHint-fieldLabel'=>'Rule Type', 'enum'=>[{'value'=>'exclude', 'help-string'=>'Exclude List'}, {'value'=>'include', 'help-string'=>'Include List'}]}} # exclude or include list def list_type prop_get('list-type') end # exclude or include list def list_type=(val) prop_set('list-type', val) end end def non_ip_protocol @subclasses['non-ip-protocol'] ||= NonIpProtocol.new(parent_instance: self, client: @client, create_children: @create_children) end class L2SecGroupTagProtection < ConfigClass def has_multiple_values?; false; end def _section :'l2-sec-group-tag-protection' end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'tag name'}, 'tag'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^((0|[1-9][0-9]{0,4})|((0|[1-9][0-9]{0,4})-(0|[1-9][0-9]{0,4})))$', 'help-string'=>'tag or range of tags to block'}, 'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}} # tag name def name prop_get('@name') end # tag or range of tags to block def tag prop_get('tag') end # tag or range of tags to block def tag=(val) prop_set('tag', val) end def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def l2_sec_group_tag_protection @subclasses['l2-sec-group-tag-protection'] ||= L2SecGroupTagProtection.new(parent_instance: self, client: @client, create_children: @create_children) end class NetInspection < ConfigClass def has_multiple_values?; false; end def _section :'net-inspection' end class PredefinedRule < ConfigClass def has_multiple_values?; false; end def _section :'predefined-rule' end @props = {'threat-id'=>{'node-type'=>'element', 'optional'=>'no', 'type'=>'rangedint', 'help-string'=>'predefined threat ID'}, 'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} # predefined threat ID def threat_id prop_get('threat-id') end # predefined threat ID def threat_id=(val) prop_set('threat-id', val) end def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def predefined_rule @subclasses['predefined-rule'] ||= PredefinedRule.new(parent_instance: self, client: @client, create_children: @create_children) end class Rule < XML::ConfigClass def has_multiple_values?; true; end def _section :rule end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Signature < ConfigClass def has_multiple_values?; false; end def _section :signature end class OrCondition < XML::ConfigClass def has_multiple_values?; true; end def _section :'or-condition' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class AndCondition < XML::ConfigClass def has_multiple_values?; true; end def _section :'and-condition' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Operator < XML::ConfigClass def has_multiple_values?; true; end def _section :operator end class GreaterThan < ConfigClass def has_multiple_values?; false; end def _section :'greater-than' end class Context < XML::ConfigClass def has_multiple_values?; true; end def _section :context end class IpVersion < ConfigClass def has_multiple_values?; false; end def _section :'ip-version' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'15'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip_version @subclasses['ip-version'] ||= IpVersion.new(parent_instance: self, client: @client, create_children: @create_children) end class IpHeaderLength < ConfigClass def has_multiple_values?; false; end def _section :'ip-header-length' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'15'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip_header_length @subclasses['ip-header-length'] ||= IpHeaderLength.new(parent_instance: self, client: @client, create_children: @create_children) end class IpTos < ConfigClass def has_multiple_values?; false; end def _section :'ip-tos' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip_tos @subclasses['ip-tos'] ||= IpTos.new(parent_instance: self, client: @client, create_children: @create_children) end class IpTotalLength < ConfigClass def has_multiple_values?; false; end def _section :'ip-total-length' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip_total_length @subclasses['ip-total-length'] ||= IpTotalLength.new(parent_instance: self, client: @client, create_children: @create_children) end class IpId < ConfigClass def has_multiple_values?; false; end def _section :'ip-id' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip_id @subclasses['ip-id'] ||= IpId.new(parent_instance: self, client: @client, create_children: @create_children) end class IpFragmentOffset < ConfigClass def has_multiple_values?; false; end def _section :'ip-fragment-offset' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'8191'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip_fragment_offset @subclasses['ip-fragment-offset'] ||= IpFragmentOffset.new(parent_instance: self, client: @client, create_children: @create_children) end class IpTtl < ConfigClass def has_multiple_values?; false; end def _section :'ip-ttl' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip_ttl @subclasses['ip-ttl'] ||= IpTtl.new(parent_instance: self, client: @client, create_children: @create_children) end class IpProtocol < ConfigClass def has_multiple_values?; false; end def _section :'ip-protocol' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip_protocol @subclasses['ip-protocol'] ||= IpProtocol.new(parent_instance: self, client: @client, create_children: @create_children) end class IpHeaderChecksum < ConfigClass def has_multiple_values?; false; end def _section :'ip-header-checksum' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip_header_checksum @subclasses['ip-header-checksum'] ||= IpHeaderChecksum.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionType < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-type' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip_option_type @subclasses['ip-option-type'] ||= IpOptionType.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionNumber < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-number' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'31'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip_option_number @subclasses['ip-option-number'] ||= IpOptionNumber.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionLength < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-length' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip_option_length @subclasses['ip-option-length'] ||= IpOptionLength.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionUserDefined < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-user-defined' end @props = {'offset'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'40', 'help-string'=>'Byte offset'}, 'width'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'Bit width'}, 'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} # Byte offset def offset prop_get('offset') end # Byte offset def offset=(val) prop_set('offset', val) end # Bit width def width prop_get('width') end # Bit width def width=(val) prop_set('width', val) end def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip_option_user_defined @subclasses['ip-option-user-defined'] ||= IpOptionUserDefined.new(parent_instance: self, client: @client, create_children: @create_children) end class IpUserDefined < ConfigClass def has_multiple_values?; false; end def _section :'ip-user-defined' end @props = {'offset'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'60', 'help-string'=>'Byte offset'}, 'width'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'Bit width'}, 'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} # Byte offset def offset prop_get('offset') end # Byte offset def offset=(val) prop_set('offset', val) end # Bit width def width prop_get('width') end # Bit width def width=(val) prop_set('width', val) end def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip_user_defined @subclasses['ip-user-defined'] ||= IpUserDefined.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip6Version < ConfigClass def has_multiple_values?; false; end def _section :'ip6-version' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'15'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip6_version @subclasses['ip6-version'] ||= Ip6Version.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip6TrafficClass < ConfigClass def has_multiple_values?; false; end def _section :'ip6-traffic-class' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip6_traffic_class @subclasses['ip6-traffic-class'] ||= Ip6TrafficClass.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip6FlowLabel < ConfigClass def has_multiple_values?; false; end def _section :'ip6-flow-label' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'1048575'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip6_flow_label @subclasses['ip6-flow-label'] ||= Ip6FlowLabel.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip6PayloadLength < ConfigClass def has_multiple_values?; false; end def _section :'ip6-payload-length' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip6_payload_length @subclasses['ip6-payload-length'] ||= Ip6PayloadLength.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip6NextHeader < ConfigClass def has_multiple_values?; false; end def _section :'ip6-next-header' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip6_next_header @subclasses['ip6-next-header'] ||= Ip6NextHeader.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip6HopLimit < ConfigClass def has_multiple_values?; false; end def _section :'ip6-hop-limit' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip6_hop_limit @subclasses['ip6-hop-limit'] ||= Ip6HopLimit.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip6UserDefined < ConfigClass def has_multiple_values?; false; end def _section :'ip6-user-defined' end @props = {'offset'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'40', 'help-string'=>'Byte offset'}, 'width'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'Bit width'}, 'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} # Byte offset def offset prop_get('offset') end # Byte offset def offset=(val) prop_set('offset', val) end # Bit width def width prop_get('width') end # Bit width def width=(val) prop_set('width', val) end def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip6_user_defined @subclasses['ip6-user-defined'] ||= Ip6UserDefined.new(parent_instance: self, client: @client, create_children: @create_children) end class IcmpType < ConfigClass def has_multiple_values?; false; end def _section :'icmp-type' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def icmp_type @subclasses['icmp-type'] ||= IcmpType.new(parent_instance: self, client: @client, create_children: @create_children) end class IcmpCode < ConfigClass def has_multiple_values?; false; end def _section :'icmp-code' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def icmp_code @subclasses['icmp-code'] ||= IcmpCode.new(parent_instance: self, client: @client, create_children: @create_children) end class IcmpChecksum < ConfigClass def has_multiple_values?; false; end def _section :'icmp-checksum' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def icmp_checksum @subclasses['icmp-checksum'] ||= IcmpChecksum.new(parent_instance: self, client: @client, create_children: @create_children) end class IcmpId < ConfigClass def has_multiple_values?; false; end def _section :'icmp-id' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def icmp_id @subclasses['icmp-id'] ||= IcmpId.new(parent_instance: self, client: @client, create_children: @create_children) end class IcmpSequence < ConfigClass def has_multiple_values?; false; end def _section :'icmp-sequence' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def icmp_sequence @subclasses['icmp-sequence'] ||= IcmpSequence.new(parent_instance: self, client: @client, create_children: @create_children) end class IcmpUserDefined < ConfigClass def has_multiple_values?; false; end def _section :'icmp-user-defined' end @props = {'offset'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'8', 'help-string'=>'Byte offset'}, 'width'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'Bit width'}, 'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} # Byte offset def offset prop_get('offset') end # Byte offset def offset=(val) prop_set('offset', val) end # Bit width def width prop_get('width') end # Bit width def width=(val) prop_set('width', val) end def value prop_get('value') end def value=(val) prop_set('value', val) end end def icmp_user_defined @subclasses['icmp-user-defined'] ||= IcmpUserDefined.new(parent_instance: self, client: @client, create_children: @create_children) end class Icmp6Type < ConfigClass def has_multiple_values?; false; end def _section :'icmp6-type' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def icmp6_type @subclasses['icmp6-type'] ||= Icmp6Type.new(parent_instance: self, client: @client, create_children: @create_children) end class Icmp6Code < ConfigClass def has_multiple_values?; false; end def _section :'icmp6-code' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def icmp6_code @subclasses['icmp6-code'] ||= Icmp6Code.new(parent_instance: self, client: @client, create_children: @create_children) end class Icmp6Checksum < ConfigClass def has_multiple_values?; false; end def _section :'icmp6-checksum' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def icmp6_checksum @subclasses['icmp6-checksum'] ||= Icmp6Checksum.new(parent_instance: self, client: @client, create_children: @create_children) end class Icmp6UserDefined < ConfigClass def has_multiple_values?; false; end def _section :'icmp6-user-defined' end @props = {'offset'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4', 'help-string'=>'Byte offset'}, 'width'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'Bit width'}, 'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} # Byte offset def offset prop_get('offset') end # Byte offset def offset=(val) prop_set('offset', val) end # Bit width def width prop_get('width') end # Bit width def width=(val) prop_set('width', val) end def value prop_get('value') end def value=(val) prop_set('value', val) end end def icmp6_user_defined @subclasses['icmp6-user-defined'] ||= Icmp6UserDefined.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpSourcePort < ConfigClass def has_multiple_values?; false; end def _section :'tcp-source-port' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_source_port @subclasses['tcp-source-port'] ||= TcpSourcePort.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpDestinationPort < ConfigClass def has_multiple_values?; false; end def _section :'tcp-destination-port' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_destination_port @subclasses['tcp-destination-port'] ||= TcpDestinationPort.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpSequenceNumber < ConfigClass def has_multiple_values?; false; end def _section :'tcp-sequence-number' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_sequence_number @subclasses['tcp-sequence-number'] ||= TcpSequenceNumber.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpAcknowledgeNumber < ConfigClass def has_multiple_values?; false; end def _section :'tcp-acknowledge-number' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_acknowledge_number @subclasses['tcp-acknowledge-number'] ||= TcpAcknowledgeNumber.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpDataOffset < ConfigClass def has_multiple_values?; false; end def _section :'tcp-data-offset' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'15'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_data_offset @subclasses['tcp-data-offset'] ||= TcpDataOffset.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpReserved < ConfigClass def has_multiple_values?; false; end def _section :'tcp-reserved' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'7'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_reserved @subclasses['tcp-reserved'] ||= TcpReserved.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpWindowSize < ConfigClass def has_multiple_values?; false; end def _section :'tcp-window-size' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_window_size @subclasses['tcp-window-size'] ||= TcpWindowSize.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpChecksum < ConfigClass def has_multiple_values?; false; end def _section :'tcp-checksum' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_checksum @subclasses['tcp-checksum'] ||= TcpChecksum.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpUrgentPointer < ConfigClass def has_multiple_values?; false; end def _section :'tcp-urgent-pointer' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_urgent_pointer @subclasses['tcp-urgent-pointer'] ||= TcpUrgentPointer.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpUserDefined < ConfigClass def has_multiple_values?; false; end def _section :'tcp-user-defined' end @props = {'offset'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'24', 'help-string'=>'Byte offset'}, 'width'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'Bit width'}, 'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} # Byte offset def offset prop_get('offset') end # Byte offset def offset=(val) prop_set('offset', val) end # Bit width def width prop_get('width') end # Bit width def width=(val) prop_set('width', val) end def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_user_defined @subclasses['tcp-user-defined'] ||= TcpUserDefined.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionKind < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-kind' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_option_kind @subclasses['tcp-option-kind'] ||= TcpOptionKind.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionLength < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-length' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_option_length @subclasses['tcp-option-length'] ||= TcpOptionLength.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionUserDefined < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-user-defined' end @props = {'offset'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'40', 'help-string'=>'Byte offset'}, 'width'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'Bit width'}, 'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} # Byte offset def offset prop_get('offset') end # Byte offset def offset=(val) prop_set('offset', val) end # Bit width def width prop_get('width') end # Bit width def width=(val) prop_set('width', val) end def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_option_user_defined @subclasses['tcp-option-user-defined'] ||= TcpOptionUserDefined.new(parent_instance: self, client: @client, create_children: @create_children) end class UdpSourcePort < ConfigClass def has_multiple_values?; false; end def _section :'udp-source-port' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def udp_source_port @subclasses['udp-source-port'] ||= UdpSourcePort.new(parent_instance: self, client: @client, create_children: @create_children) end class UdpDestinationPort < ConfigClass def has_multiple_values?; false; end def _section :'udp-destination-port' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def udp_destination_port @subclasses['udp-destination-port'] ||= UdpDestinationPort.new(parent_instance: self, client: @client, create_children: @create_children) end class UdpLength < ConfigClass def has_multiple_values?; false; end def _section :'udp-length' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def udp_length @subclasses['udp-length'] ||= UdpLength.new(parent_instance: self, client: @client, create_children: @create_children) end class UdpChecksum < ConfigClass def has_multiple_values?; false; end def _section :'udp-checksum' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def udp_checksum @subclasses['udp-checksum'] ||= UdpChecksum.new(parent_instance: self, client: @client, create_children: @create_children) end class UdpUserDefined < ConfigClass def has_multiple_values?; false; end def _section :'udp-user-defined' end @props = {'offset'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'8', 'help-string'=>'Byte offset'}, 'width'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'Bit width'}, 'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} # Byte offset def offset prop_get('offset') end # Byte offset def offset=(val) prop_set('offset', val) end # Bit width def width prop_get('width') end # Bit width def width=(val) prop_set('width', val) end def value prop_get('value') end def value=(val) prop_set('value', val) end end def udp_user_defined @subclasses['udp-user-defined'] ||= UdpUserDefined.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def context maybe_register_subclass('context', Context.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def greater_than @subclasses['greater-than'] ||= GreaterThan.new(parent_instance: self, client: @client, create_children: @create_children) end class LessThan < ConfigClass def has_multiple_values?; false; end def _section :'less-than' end class Context < XML::ConfigClass def has_multiple_values?; true; end def _section :context end class IpVersion < ConfigClass def has_multiple_values?; false; end def _section :'ip-version' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'15'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip_version @subclasses['ip-version'] ||= IpVersion.new(parent_instance: self, client: @client, create_children: @create_children) end class IpHeaderLength < ConfigClass def has_multiple_values?; false; end def _section :'ip-header-length' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'15'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip_header_length @subclasses['ip-header-length'] ||= IpHeaderLength.new(parent_instance: self, client: @client, create_children: @create_children) end class IpTos < ConfigClass def has_multiple_values?; false; end def _section :'ip-tos' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip_tos @subclasses['ip-tos'] ||= IpTos.new(parent_instance: self, client: @client, create_children: @create_children) end class IpTotalLength < ConfigClass def has_multiple_values?; false; end def _section :'ip-total-length' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip_total_length @subclasses['ip-total-length'] ||= IpTotalLength.new(parent_instance: self, client: @client, create_children: @create_children) end class IpId < ConfigClass def has_multiple_values?; false; end def _section :'ip-id' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip_id @subclasses['ip-id'] ||= IpId.new(parent_instance: self, client: @client, create_children: @create_children) end class IpFragmentOffset < ConfigClass def has_multiple_values?; false; end def _section :'ip-fragment-offset' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'8191'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip_fragment_offset @subclasses['ip-fragment-offset'] ||= IpFragmentOffset.new(parent_instance: self, client: @client, create_children: @create_children) end class IpTtl < ConfigClass def has_multiple_values?; false; end def _section :'ip-ttl' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip_ttl @subclasses['ip-ttl'] ||= IpTtl.new(parent_instance: self, client: @client, create_children: @create_children) end class IpProtocol < ConfigClass def has_multiple_values?; false; end def _section :'ip-protocol' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip_protocol @subclasses['ip-protocol'] ||= IpProtocol.new(parent_instance: self, client: @client, create_children: @create_children) end class IpHeaderChecksum < ConfigClass def has_multiple_values?; false; end def _section :'ip-header-checksum' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip_header_checksum @subclasses['ip-header-checksum'] ||= IpHeaderChecksum.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionType < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-type' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip_option_type @subclasses['ip-option-type'] ||= IpOptionType.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionNumber < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-number' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'31'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip_option_number @subclasses['ip-option-number'] ||= IpOptionNumber.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionLength < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-length' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip_option_length @subclasses['ip-option-length'] ||= IpOptionLength.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionUserDefined < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-user-defined' end @props = {'offset'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'40', 'help-string'=>'Byte offset'}, 'width'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'Bit width'}, 'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} # Byte offset def offset prop_get('offset') end # Byte offset def offset=(val) prop_set('offset', val) end # Bit width def width prop_get('width') end # Bit width def width=(val) prop_set('width', val) end def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip_option_user_defined @subclasses['ip-option-user-defined'] ||= IpOptionUserDefined.new(parent_instance: self, client: @client, create_children: @create_children) end class IpUserDefined < ConfigClass def has_multiple_values?; false; end def _section :'ip-user-defined' end @props = {'offset'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'60', 'help-string'=>'Byte offset'}, 'width'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'Bit width'}, 'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} # Byte offset def offset prop_get('offset') end # Byte offset def offset=(val) prop_set('offset', val) end # Bit width def width prop_get('width') end # Bit width def width=(val) prop_set('width', val) end def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip_user_defined @subclasses['ip-user-defined'] ||= IpUserDefined.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip6Version < ConfigClass def has_multiple_values?; false; end def _section :'ip6-version' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'15'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip6_version @subclasses['ip6-version'] ||= Ip6Version.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip6TrafficClass < ConfigClass def has_multiple_values?; false; end def _section :'ip6-traffic-class' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip6_traffic_class @subclasses['ip6-traffic-class'] ||= Ip6TrafficClass.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip6FlowLabel < ConfigClass def has_multiple_values?; false; end def _section :'ip6-flow-label' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'1048575'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip6_flow_label @subclasses['ip6-flow-label'] ||= Ip6FlowLabel.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip6PayloadLength < ConfigClass def has_multiple_values?; false; end def _section :'ip6-payload-length' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip6_payload_length @subclasses['ip6-payload-length'] ||= Ip6PayloadLength.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip6NextHeader < ConfigClass def has_multiple_values?; false; end def _section :'ip6-next-header' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip6_next_header @subclasses['ip6-next-header'] ||= Ip6NextHeader.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip6HopLimit < ConfigClass def has_multiple_values?; false; end def _section :'ip6-hop-limit' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip6_hop_limit @subclasses['ip6-hop-limit'] ||= Ip6HopLimit.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip6UserDefined < ConfigClass def has_multiple_values?; false; end def _section :'ip6-user-defined' end @props = {'offset'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'40', 'help-string'=>'Byte offset'}, 'width'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'Bit width'}, 'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} # Byte offset def offset prop_get('offset') end # Byte offset def offset=(val) prop_set('offset', val) end # Bit width def width prop_get('width') end # Bit width def width=(val) prop_set('width', val) end def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip6_user_defined @subclasses['ip6-user-defined'] ||= Ip6UserDefined.new(parent_instance: self, client: @client, create_children: @create_children) end class IcmpType < ConfigClass def has_multiple_values?; false; end def _section :'icmp-type' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def icmp_type @subclasses['icmp-type'] ||= IcmpType.new(parent_instance: self, client: @client, create_children: @create_children) end class IcmpCode < ConfigClass def has_multiple_values?; false; end def _section :'icmp-code' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def icmp_code @subclasses['icmp-code'] ||= IcmpCode.new(parent_instance: self, client: @client, create_children: @create_children) end class IcmpChecksum < ConfigClass def has_multiple_values?; false; end def _section :'icmp-checksum' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def icmp_checksum @subclasses['icmp-checksum'] ||= IcmpChecksum.new(parent_instance: self, client: @client, create_children: @create_children) end class IcmpId < ConfigClass def has_multiple_values?; false; end def _section :'icmp-id' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def icmp_id @subclasses['icmp-id'] ||= IcmpId.new(parent_instance: self, client: @client, create_children: @create_children) end class IcmpSequence < ConfigClass def has_multiple_values?; false; end def _section :'icmp-sequence' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def icmp_sequence @subclasses['icmp-sequence'] ||= IcmpSequence.new(parent_instance: self, client: @client, create_children: @create_children) end class IcmpUserDefined < ConfigClass def has_multiple_values?; false; end def _section :'icmp-user-defined' end @props = {'offset'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'8', 'help-string'=>'Byte offset'}, 'width'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'Bit width'}, 'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} # Byte offset def offset prop_get('offset') end # Byte offset def offset=(val) prop_set('offset', val) end # Bit width def width prop_get('width') end # Bit width def width=(val) prop_set('width', val) end def value prop_get('value') end def value=(val) prop_set('value', val) end end def icmp_user_defined @subclasses['icmp-user-defined'] ||= IcmpUserDefined.new(parent_instance: self, client: @client, create_children: @create_children) end class Icmp6Type < ConfigClass def has_multiple_values?; false; end def _section :'icmp6-type' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def icmp6_type @subclasses['icmp6-type'] ||= Icmp6Type.new(parent_instance: self, client: @client, create_children: @create_children) end class Icmp6Code < ConfigClass def has_multiple_values?; false; end def _section :'icmp6-code' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def icmp6_code @subclasses['icmp6-code'] ||= Icmp6Code.new(parent_instance: self, client: @client, create_children: @create_children) end class Icmp6Checksum < ConfigClass def has_multiple_values?; false; end def _section :'icmp6-checksum' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def icmp6_checksum @subclasses['icmp6-checksum'] ||= Icmp6Checksum.new(parent_instance: self, client: @client, create_children: @create_children) end class Icmp6UserDefined < ConfigClass def has_multiple_values?; false; end def _section :'icmp6-user-defined' end @props = {'offset'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4', 'help-string'=>'Byte offset'}, 'width'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'Bit width'}, 'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} # Byte offset def offset prop_get('offset') end # Byte offset def offset=(val) prop_set('offset', val) end # Bit width def width prop_get('width') end # Bit width def width=(val) prop_set('width', val) end def value prop_get('value') end def value=(val) prop_set('value', val) end end def icmp6_user_defined @subclasses['icmp6-user-defined'] ||= Icmp6UserDefined.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpSourcePort < ConfigClass def has_multiple_values?; false; end def _section :'tcp-source-port' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_source_port @subclasses['tcp-source-port'] ||= TcpSourcePort.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpDestinationPort < ConfigClass def has_multiple_values?; false; end def _section :'tcp-destination-port' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_destination_port @subclasses['tcp-destination-port'] ||= TcpDestinationPort.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpSequenceNumber < ConfigClass def has_multiple_values?; false; end def _section :'tcp-sequence-number' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_sequence_number @subclasses['tcp-sequence-number'] ||= TcpSequenceNumber.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpAcknowledgeNumber < ConfigClass def has_multiple_values?; false; end def _section :'tcp-acknowledge-number' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_acknowledge_number @subclasses['tcp-acknowledge-number'] ||= TcpAcknowledgeNumber.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpDataOffset < ConfigClass def has_multiple_values?; false; end def _section :'tcp-data-offset' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'15'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_data_offset @subclasses['tcp-data-offset'] ||= TcpDataOffset.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpReserved < ConfigClass def has_multiple_values?; false; end def _section :'tcp-reserved' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'7'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_reserved @subclasses['tcp-reserved'] ||= TcpReserved.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpWindowSize < ConfigClass def has_multiple_values?; false; end def _section :'tcp-window-size' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_window_size @subclasses['tcp-window-size'] ||= TcpWindowSize.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpChecksum < ConfigClass def has_multiple_values?; false; end def _section :'tcp-checksum' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_checksum @subclasses['tcp-checksum'] ||= TcpChecksum.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpUrgentPointer < ConfigClass def has_multiple_values?; false; end def _section :'tcp-urgent-pointer' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_urgent_pointer @subclasses['tcp-urgent-pointer'] ||= TcpUrgentPointer.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpUserDefined < ConfigClass def has_multiple_values?; false; end def _section :'tcp-user-defined' end @props = {'offset'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'24', 'help-string'=>'Byte offset'}, 'width'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'Bit width'}, 'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} # Byte offset def offset prop_get('offset') end # Byte offset def offset=(val) prop_set('offset', val) end # Bit width def width prop_get('width') end # Bit width def width=(val) prop_set('width', val) end def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_user_defined @subclasses['tcp-user-defined'] ||= TcpUserDefined.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionKind < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-kind' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_option_kind @subclasses['tcp-option-kind'] ||= TcpOptionKind.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionLength < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-length' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_option_length @subclasses['tcp-option-length'] ||= TcpOptionLength.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionUserDefined < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-user-defined' end @props = {'offset'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'40', 'help-string'=>'Byte offset'}, 'width'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'Bit width'}, 'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} # Byte offset def offset prop_get('offset') end # Byte offset def offset=(val) prop_set('offset', val) end # Bit width def width prop_get('width') end # Bit width def width=(val) prop_set('width', val) end def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_option_user_defined @subclasses['tcp-option-user-defined'] ||= TcpOptionUserDefined.new(parent_instance: self, client: @client, create_children: @create_children) end class UdpSourcePort < ConfigClass def has_multiple_values?; false; end def _section :'udp-source-port' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def udp_source_port @subclasses['udp-source-port'] ||= UdpSourcePort.new(parent_instance: self, client: @client, create_children: @create_children) end class UdpDestinationPort < ConfigClass def has_multiple_values?; false; end def _section :'udp-destination-port' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def udp_destination_port @subclasses['udp-destination-port'] ||= UdpDestinationPort.new(parent_instance: self, client: @client, create_children: @create_children) end class UdpLength < ConfigClass def has_multiple_values?; false; end def _section :'udp-length' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def udp_length @subclasses['udp-length'] ||= UdpLength.new(parent_instance: self, client: @client, create_children: @create_children) end class UdpChecksum < ConfigClass def has_multiple_values?; false; end def _section :'udp-checksum' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def udp_checksum @subclasses['udp-checksum'] ||= UdpChecksum.new(parent_instance: self, client: @client, create_children: @create_children) end class UdpUserDefined < ConfigClass def has_multiple_values?; false; end def _section :'udp-user-defined' end @props = {'offset'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'8', 'help-string'=>'Byte offset'}, 'width'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'Bit width'}, 'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} # Byte offset def offset prop_get('offset') end # Byte offset def offset=(val) prop_set('offset', val) end # Bit width def width prop_get('width') end # Bit width def width=(val) prop_set('width', val) end def value prop_get('value') end def value=(val) prop_set('value', val) end end def udp_user_defined @subclasses['udp-user-defined'] ||= UdpUserDefined.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def context maybe_register_subclass('context', Context.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def less_than @subclasses['less-than'] ||= LessThan.new(parent_instance: self, client: @client, create_children: @create_children) end class EqualTo < ConfigClass def has_multiple_values?; false; end def _section :'equal-to' end class Context < XML::ConfigClass def has_multiple_values?; true; end def _section :context end class IpSourceAddress < ConfigClass def has_multiple_values?; false; end def _section :'ip-source-address' end @props = {'value'=>{'node-type'=>'element', 'type'=>'ipspec', 'ipv4-only'=>'yes', 'unicast-only'=>'no'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'ipv4-only'=>'yes', 'unicast-only'=>'yes', 'help-string'=>'IPv4 netmask'}, 'prefix'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'subnet prefix length'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # IPv4 netmask def mask prop_get('mask') end # IPv4 netmask def mask=(val) prop_set('mask', val) end # subnet prefix length def prefix prop_get('prefix') end # subnet prefix length def prefix=(val) prop_set('prefix', val) end end def ip_source_address @subclasses['ip-source-address'] ||= IpSourceAddress.new(parent_instance: self, client: @client, create_children: @create_children) end class IpDestinationAddress < ConfigClass def has_multiple_values?; false; end def _section :'ip-destination-address' end @props = {'value'=>{'node-type'=>'element', 'type'=>'ipspec', 'ipv4-only'=>'yes', 'unicast-only'=>'no'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'ipv4-only'=>'yes', 'unicast-only'=>'yes', 'help-string'=>'IPv4 netmask'}, 'prefix'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'subnet prefix length'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # IPv4 netmask def mask prop_get('mask') end # IPv4 netmask def mask=(val) prop_set('mask', val) end # subnet prefix length def prefix prop_get('prefix') end # subnet prefix length def prefix=(val) prop_set('prefix', val) end end def ip_destination_address @subclasses['ip-destination-address'] ||= IpDestinationAddress.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip6SourceAddress < ConfigClass def has_multiple_values?; false; end def _section :'ip6-source-address' end @props = {'value'=>{'node-type'=>'element', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'unicast-only'=>'yes'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'unicast-only'=>'yes'}, 'prefix'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'128', 'help-string'=>'subnet prefix length'}} def value prop_get('value') end def value=(val) prop_set('value', val) end def mask prop_get('mask') end def mask=(val) prop_set('mask', val) end # subnet prefix length def prefix prop_get('prefix') end # subnet prefix length def prefix=(val) prop_set('prefix', val) end end def ip6_source_address @subclasses['ip6-source-address'] ||= Ip6SourceAddress.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip6DestinationAddress < ConfigClass def has_multiple_values?; false; end def _section :'ip6-destination-address' end @props = {'value'=>{'node-type'=>'element', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'unicast-only'=>'yes'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'unicast-only'=>'yes'}, 'prefix'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'128', 'help-string'=>'subnet prefix length'}} def value prop_get('value') end def value=(val) prop_set('value', val) end def mask prop_get('mask') end def mask=(val) prop_set('mask', val) end # subnet prefix length def prefix prop_get('prefix') end # subnet prefix length def prefix=(val) prop_set('prefix', val) end end def ip6_destination_address @subclasses['ip6-destination-address'] ||= Ip6DestinationAddress.new(parent_instance: self, client: @client, create_children: @create_children) end class IpVersion < ConfigClass def has_multiple_values?; false; end def _section :'ip-version' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'15'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1}$', 'help-string'=>'1-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 1-byte hex value def mask prop_get('mask') end # 1-byte hex value def mask=(val) prop_set('mask', val) end end def ip_version @subclasses['ip-version'] ||= IpVersion.new(parent_instance: self, client: @client, create_children: @create_children) end class IpHeaderLength < ConfigClass def has_multiple_values?; false; end def _section :'ip-header-length' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'15'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1}$', 'help-string'=>'1-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 1-byte hex value def mask prop_get('mask') end # 1-byte hex value def mask=(val) prop_set('mask', val) end end def ip_header_length @subclasses['ip-header-length'] ||= IpHeaderLength.new(parent_instance: self, client: @client, create_children: @create_children) end class IpTos < ConfigClass def has_multiple_values?; false; end def _section :'ip-tos' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,2}$', 'help-string'=>'1-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 1-byte hex value def mask prop_get('mask') end # 1-byte hex value def mask=(val) prop_set('mask', val) end end def ip_tos @subclasses['ip-tos'] ||= IpTos.new(parent_instance: self, client: @client, create_children: @create_children) end class IpTotalLength < ConfigClass def has_multiple_values?; false; end def _section :'ip-total-length' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,4}$', 'help-string'=>'2-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 2-byte hex value def mask prop_get('mask') end # 2-byte hex value def mask=(val) prop_set('mask', val) end end def ip_total_length @subclasses['ip-total-length'] ||= IpTotalLength.new(parent_instance: self, client: @client, create_children: @create_children) end class IpId < ConfigClass def has_multiple_values?; false; end def _section :'ip-id' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,4}$', 'help-string'=>'2-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 2-byte hex value def mask prop_get('mask') end # 2-byte hex value def mask=(val) prop_set('mask', val) end end def ip_id @subclasses['ip-id'] ||= IpId.new(parent_instance: self, client: @client, create_children: @create_children) end class IpFragmentOffset < ConfigClass def has_multiple_values?; false; end def _section :'ip-fragment-offset' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'8191'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,4}$', 'help-string'=>'2-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 2-byte hex value def mask prop_get('mask') end # 2-byte hex value def mask=(val) prop_set('mask', val) end end def ip_fragment_offset @subclasses['ip-fragment-offset'] ||= IpFragmentOffset.new(parent_instance: self, client: @client, create_children: @create_children) end class IpTtl < ConfigClass def has_multiple_values?; false; end def _section :'ip-ttl' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,2}$', 'help-string'=>'1-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 1-byte hex value def mask prop_get('mask') end # 1-byte hex value def mask=(val) prop_set('mask', val) end end def ip_ttl @subclasses['ip-ttl'] ||= IpTtl.new(parent_instance: self, client: @client, create_children: @create_children) end class IpProtocol < ConfigClass def has_multiple_values?; false; end def _section :'ip-protocol' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,2}$', 'help-string'=>'1-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 1-byte hex value def mask prop_get('mask') end # 1-byte hex value def mask=(val) prop_set('mask', val) end end def ip_protocol @subclasses['ip-protocol'] ||= IpProtocol.new(parent_instance: self, client: @client, create_children: @create_children) end class IpHeaderChecksum < ConfigClass def has_multiple_values?; false; end def _section :'ip-header-checksum' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,4}$', 'help-string'=>'2-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 2-byte hex value def mask prop_get('mask') end # 2-byte hex value def mask=(val) prop_set('mask', val) end end def ip_header_checksum @subclasses['ip-header-checksum'] ||= IpHeaderChecksum.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionType < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-type' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,2}$', 'help-string'=>'1-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 1-byte hex value def mask prop_get('mask') end # 1-byte hex value def mask=(val) prop_set('mask', val) end end def ip_option_type @subclasses['ip-option-type'] ||= IpOptionType.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionNumber < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-number' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'31'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,2}$', 'help-string'=>'1-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 1-byte hex value def mask prop_get('mask') end # 1-byte hex value def mask=(val) prop_set('mask', val) end end def ip_option_number @subclasses['ip-option-number'] ||= IpOptionNumber.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionLength < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-length' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,2}$', 'help-string'=>'1-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 1-byte hex value def mask prop_get('mask') end # 1-byte hex value def mask=(val) prop_set('mask', val) end end def ip_option_length @subclasses['ip-option-length'] ||= IpOptionLength.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionUserDefined < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-user-defined' end @props = {'offset'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'40', 'help-string'=>'Byte offset'}, 'width'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'Bit width'}, 'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,8}$', 'help-string'=>'4-byte hex value'}} # Byte offset def offset prop_get('offset') end # Byte offset def offset=(val) prop_set('offset', val) end # Bit width def width prop_get('width') end # Bit width def width=(val) prop_set('width', val) end def value prop_get('value') end def value=(val) prop_set('value', val) end # 4-byte hex value def mask prop_get('mask') end # 4-byte hex value def mask=(val) prop_set('mask', val) end end def ip_option_user_defined @subclasses['ip-option-user-defined'] ||= IpOptionUserDefined.new(parent_instance: self, client: @client, create_children: @create_children) end class IpFlagReserved < ConfigClass def has_multiple_values?; false; end def _section :'ip-flag-reserved' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'1'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip_flag_reserved @subclasses['ip-flag-reserved'] ||= IpFlagReserved.new(parent_instance: self, client: @client, create_children: @create_children) end class IpFlagDf < ConfigClass def has_multiple_values?; false; end def _section :'ip-flag-df' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'1'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip_flag_df @subclasses['ip-flag-df'] ||= IpFlagDf.new(parent_instance: self, client: @client, create_children: @create_children) end class IpFlagMf < ConfigClass def has_multiple_values?; false; end def _section :'ip-flag-mf' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'1'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def ip_flag_mf @subclasses['ip-flag-mf'] ||= IpFlagMf.new(parent_instance: self, client: @client, create_children: @create_children) end class IpUserDefined < ConfigClass def has_multiple_values?; false; end def _section :'ip-user-defined' end @props = {'offset'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'60', 'help-string'=>'Byte offset'}, 'width'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'Bit width'}, 'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,8}$', 'help-string'=>'4-byte hex value'}} # Byte offset def offset prop_get('offset') end # Byte offset def offset=(val) prop_set('offset', val) end # Bit width def width prop_get('width') end # Bit width def width=(val) prop_set('width', val) end def value prop_get('value') end def value=(val) prop_set('value', val) end # 4-byte hex value def mask prop_get('mask') end # 4-byte hex value def mask=(val) prop_set('mask', val) end end def ip_user_defined @subclasses['ip-user-defined'] ||= IpUserDefined.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip6Version < ConfigClass def has_multiple_values?; false; end def _section :'ip6-version' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'15'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1}$', 'help-string'=>'1-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 1-byte hex value def mask prop_get('mask') end # 1-byte hex value def mask=(val) prop_set('mask', val) end end def ip6_version @subclasses['ip6-version'] ||= Ip6Version.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip6TrafficClass < ConfigClass def has_multiple_values?; false; end def _section :'ip6-traffic-class' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,2}$', 'help-string'=>'1-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 1-byte hex value def mask prop_get('mask') end # 1-byte hex value def mask=(val) prop_set('mask', val) end end def ip6_traffic_class @subclasses['ip6-traffic-class'] ||= Ip6TrafficClass.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip6FlowLabel < ConfigClass def has_multiple_values?; false; end def _section :'ip6-flow-label' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'1048575'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,5}$', 'help-string'=>'3-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 3-byte hex value def mask prop_get('mask') end # 3-byte hex value def mask=(val) prop_set('mask', val) end end def ip6_flow_label @subclasses['ip6-flow-label'] ||= Ip6FlowLabel.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip6PayloadLength < ConfigClass def has_multiple_values?; false; end def _section :'ip6-payload-length' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,4}$', 'help-string'=>'2-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 2-byte hex value def mask prop_get('mask') end # 2-byte hex value def mask=(val) prop_set('mask', val) end end def ip6_payload_length @subclasses['ip6-payload-length'] ||= Ip6PayloadLength.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip6NextHeader < ConfigClass def has_multiple_values?; false; end def _section :'ip6-next-header' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,2}$', 'help-string'=>'1-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 1-byte hex value def mask prop_get('mask') end # 1-byte hex value def mask=(val) prop_set('mask', val) end end def ip6_next_header @subclasses['ip6-next-header'] ||= Ip6NextHeader.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip6HopLimit < ConfigClass def has_multiple_values?; false; end def _section :'ip6-hop-limit' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,2}$', 'help-string'=>'1-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 1-byte hex value def mask prop_get('mask') end # 1-byte hex value def mask=(val) prop_set('mask', val) end end def ip6_hop_limit @subclasses['ip6-hop-limit'] ||= Ip6HopLimit.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip6UserDefined < ConfigClass def has_multiple_values?; false; end def _section :'ip6-user-defined' end @props = {'offset'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'40', 'help-string'=>'Byte offset'}, 'width'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'Bit width'}, 'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,8}$', 'help-string'=>'4-byte hex value'}} # Byte offset def offset prop_get('offset') end # Byte offset def offset=(val) prop_set('offset', val) end # Bit width def width prop_get('width') end # Bit width def width=(val) prop_set('width', val) end def value prop_get('value') end def value=(val) prop_set('value', val) end # 4-byte hex value def mask prop_get('mask') end # 4-byte hex value def mask=(val) prop_set('mask', val) end end def ip6_user_defined @subclasses['ip6-user-defined'] ||= Ip6UserDefined.new(parent_instance: self, client: @client, create_children: @create_children) end class IcmpType < ConfigClass def has_multiple_values?; false; end def _section :'icmp-type' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,2}$', 'help-string'=>'1-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 1-byte hex value def mask prop_get('mask') end # 1-byte hex value def mask=(val) prop_set('mask', val) end end def icmp_type @subclasses['icmp-type'] ||= IcmpType.new(parent_instance: self, client: @client, create_children: @create_children) end class IcmpCode < ConfigClass def has_multiple_values?; false; end def _section :'icmp-code' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,2}$', 'help-string'=>'1-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 1-byte hex value def mask prop_get('mask') end # 1-byte hex value def mask=(val) prop_set('mask', val) end end def icmp_code @subclasses['icmp-code'] ||= IcmpCode.new(parent_instance: self, client: @client, create_children: @create_children) end class IcmpChecksum < ConfigClass def has_multiple_values?; false; end def _section :'icmp-checksum' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,4}$', 'help-string'=>'2-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 2-byte hex value def mask prop_get('mask') end # 2-byte hex value def mask=(val) prop_set('mask', val) end end def icmp_checksum @subclasses['icmp-checksum'] ||= IcmpChecksum.new(parent_instance: self, client: @client, create_children: @create_children) end class IcmpId < ConfigClass def has_multiple_values?; false; end def _section :'icmp-id' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,4}$', 'help-string'=>'2-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 2-byte hex value def mask prop_get('mask') end # 2-byte hex value def mask=(val) prop_set('mask', val) end end def icmp_id @subclasses['icmp-id'] ||= IcmpId.new(parent_instance: self, client: @client, create_children: @create_children) end class IcmpSequence < ConfigClass def has_multiple_values?; false; end def _section :'icmp-sequence' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,4}$', 'help-string'=>'2-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 2-byte hex value def mask prop_get('mask') end # 2-byte hex value def mask=(val) prop_set('mask', val) end end def icmp_sequence @subclasses['icmp-sequence'] ||= IcmpSequence.new(parent_instance: self, client: @client, create_children: @create_children) end class IcmpUserDefined < ConfigClass def has_multiple_values?; false; end def _section :'icmp-user-defined' end @props = {'offset'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'8', 'help-string'=>'Byte offset'}, 'width'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'Bit width'}, 'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,8}$', 'help-string'=>'4-byte hex value'}} # Byte offset def offset prop_get('offset') end # Byte offset def offset=(val) prop_set('offset', val) end # Bit width def width prop_get('width') end # Bit width def width=(val) prop_set('width', val) end def value prop_get('value') end def value=(val) prop_set('value', val) end # 4-byte hex value def mask prop_get('mask') end # 4-byte hex value def mask=(val) prop_set('mask', val) end end def icmp_user_defined @subclasses['icmp-user-defined'] ||= IcmpUserDefined.new(parent_instance: self, client: @client, create_children: @create_children) end class Icmp6Type < ConfigClass def has_multiple_values?; false; end def _section :'icmp6-type' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,2}$', 'help-string'=>'1-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 1-byte hex value def mask prop_get('mask') end # 1-byte hex value def mask=(val) prop_set('mask', val) end end def icmp6_type @subclasses['icmp6-type'] ||= Icmp6Type.new(parent_instance: self, client: @client, create_children: @create_children) end class Icmp6Code < ConfigClass def has_multiple_values?; false; end def _section :'icmp6-code' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,2}$', 'help-string'=>'1-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 1-byte hex value def mask prop_get('mask') end # 1-byte hex value def mask=(val) prop_set('mask', val) end end def icmp6_code @subclasses['icmp6-code'] ||= Icmp6Code.new(parent_instance: self, client: @client, create_children: @create_children) end class Icmp6Checksum < ConfigClass def has_multiple_values?; false; end def _section :'icmp6-checksum' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,4}$', 'help-string'=>'2-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 2-byte hex value def mask prop_get('mask') end # 2-byte hex value def mask=(val) prop_set('mask', val) end end def icmp6_checksum @subclasses['icmp6-checksum'] ||= Icmp6Checksum.new(parent_instance: self, client: @client, create_children: @create_children) end class Icmp6UserDefined < ConfigClass def has_multiple_values?; false; end def _section :'icmp6-user-defined' end @props = {'offset'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4', 'help-string'=>'Byte offset'}, 'width'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'Bit width'}, 'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,8}$', 'help-string'=>'4-byte hex value'}} # Byte offset def offset prop_get('offset') end # Byte offset def offset=(val) prop_set('offset', val) end # Bit width def width prop_get('width') end # Bit width def width=(val) prop_set('width', val) end def value prop_get('value') end def value=(val) prop_set('value', val) end # 4-byte hex value def mask prop_get('mask') end # 4-byte hex value def mask=(val) prop_set('mask', val) end end def icmp6_user_defined @subclasses['icmp6-user-defined'] ||= Icmp6UserDefined.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpSourcePort < ConfigClass def has_multiple_values?; false; end def _section :'tcp-source-port' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,4}$', 'help-string'=>'2-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 2-byte hex value def mask prop_get('mask') end # 2-byte hex value def mask=(val) prop_set('mask', val) end end def tcp_source_port @subclasses['tcp-source-port'] ||= TcpSourcePort.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpDestinationPort < ConfigClass def has_multiple_values?; false; end def _section :'tcp-destination-port' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,4}$', 'help-string'=>'2-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 2-byte hex value def mask prop_get('mask') end # 2-byte hex value def mask=(val) prop_set('mask', val) end end def tcp_destination_port @subclasses['tcp-destination-port'] ||= TcpDestinationPort.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpSequenceNumber < ConfigClass def has_multiple_values?; false; end def _section :'tcp-sequence-number' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,8}$', 'help-string'=>'4-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 4-byte hex value def mask prop_get('mask') end # 4-byte hex value def mask=(val) prop_set('mask', val) end end def tcp_sequence_number @subclasses['tcp-sequence-number'] ||= TcpSequenceNumber.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpAcknowledgeNumber < ConfigClass def has_multiple_values?; false; end def _section :'tcp-acknowledge-number' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,8}$', 'help-string'=>'4-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 4-byte hex value def mask prop_get('mask') end # 4-byte hex value def mask=(val) prop_set('mask', val) end end def tcp_acknowledge_number @subclasses['tcp-acknowledge-number'] ||= TcpAcknowledgeNumber.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpDataOffset < ConfigClass def has_multiple_values?; false; end def _section :'tcp-data-offset' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'15'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1}$', 'help-string'=>'1-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 1-byte hex value def mask prop_get('mask') end # 1-byte hex value def mask=(val) prop_set('mask', val) end end def tcp_data_offset @subclasses['tcp-data-offset'] ||= TcpDataOffset.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpReserved < ConfigClass def has_multiple_values?; false; end def _section :'tcp-reserved' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'7'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1}$', 'elp-string'=>'1-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end def mask prop_get('mask') end def mask=(val) prop_set('mask', val) end end def tcp_reserved @subclasses['tcp-reserved'] ||= TcpReserved.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpFlagEce < ConfigClass def has_multiple_values?; false; end def _section :'tcp-flag-ece' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'1'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_flag_ece @subclasses['tcp-flag-ece'] ||= TcpFlagEce.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpFlagCwr < ConfigClass def has_multiple_values?; false; end def _section :'tcp-flag-cwr' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'1'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_flag_cwr @subclasses['tcp-flag-cwr'] ||= TcpFlagCwr.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpFlagUrg < ConfigClass def has_multiple_values?; false; end def _section :'tcp-flag-urg' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'1'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_flag_urg @subclasses['tcp-flag-urg'] ||= TcpFlagUrg.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpFlagAck < ConfigClass def has_multiple_values?; false; end def _section :'tcp-flag-ack' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'1'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_flag_ack @subclasses['tcp-flag-ack'] ||= TcpFlagAck.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpFlagPsh < ConfigClass def has_multiple_values?; false; end def _section :'tcp-flag-psh' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'1'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_flag_psh @subclasses['tcp-flag-psh'] ||= TcpFlagPsh.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpFlagRst < ConfigClass def has_multiple_values?; false; end def _section :'tcp-flag-rst' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'1'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_flag_rst @subclasses['tcp-flag-rst'] ||= TcpFlagRst.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpFlagSyn < ConfigClass def has_multiple_values?; false; end def _section :'tcp-flag-syn' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'1'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_flag_syn @subclasses['tcp-flag-syn'] ||= TcpFlagSyn.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpFlagFin < ConfigClass def has_multiple_values?; false; end def _section :'tcp-flag-fin' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'1'}} def value prop_get('value') end def value=(val) prop_set('value', val) end end def tcp_flag_fin @subclasses['tcp-flag-fin'] ||= TcpFlagFin.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpWindowSize < ConfigClass def has_multiple_values?; false; end def _section :'tcp-window-size' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,4}$', 'help-string'=>'2-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 2-byte hex value def mask prop_get('mask') end # 2-byte hex value def mask=(val) prop_set('mask', val) end end def tcp_window_size @subclasses['tcp-window-size'] ||= TcpWindowSize.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpChecksum < ConfigClass def has_multiple_values?; false; end def _section :'tcp-checksum' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,4}$', 'help-string'=>'2-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 2-byte hex value def mask prop_get('mask') end # 2-byte hex value def mask=(val) prop_set('mask', val) end end def tcp_checksum @subclasses['tcp-checksum'] ||= TcpChecksum.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpUrgentPointer < ConfigClass def has_multiple_values?; false; end def _section :'tcp-urgent-pointer' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,4}$', 'help-string'=>'2-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 2-byte hex value def mask prop_get('mask') end # 2-byte hex value def mask=(val) prop_set('mask', val) end end def tcp_urgent_pointer @subclasses['tcp-urgent-pointer'] ||= TcpUrgentPointer.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpUserDefined < ConfigClass def has_multiple_values?; false; end def _section :'tcp-user-defined' end @props = {'offset'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'24', 'help-string'=>'Byte offset'}, 'width'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'Bit width'}, 'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,8}$', 'help-string'=>'4-byte hex value'}} # Byte offset def offset prop_get('offset') end # Byte offset def offset=(val) prop_set('offset', val) end # Bit width def width prop_get('width') end # Bit width def width=(val) prop_set('width', val) end def value prop_get('value') end def value=(val) prop_set('value', val) end # 4-byte hex value def mask prop_get('mask') end # 4-byte hex value def mask=(val) prop_set('mask', val) end end def tcp_user_defined @subclasses['tcp-user-defined'] ||= TcpUserDefined.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionKind < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-kind' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,2}$', 'help-string'=>'1-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 1-byte hex value def mask prop_get('mask') end # 1-byte hex value def mask=(val) prop_set('mask', val) end end def tcp_option_kind @subclasses['tcp-option-kind'] ||= TcpOptionKind.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionLength < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-length' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,2}$', 'help-string'=>'1-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 1-byte hex value def mask prop_get('mask') end # 1-byte hex value def mask=(val) prop_set('mask', val) end end def tcp_option_length @subclasses['tcp-option-length'] ||= TcpOptionLength.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionUserDefined < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-user-defined' end @props = {'offset'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'40', 'help-string'=>'Byte offset'}, 'width'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'Bit width'}, 'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,8}$', 'help-string'=>'4-byte hex value'}} # Byte offset def offset prop_get('offset') end # Byte offset def offset=(val) prop_set('offset', val) end # Bit width def width prop_get('width') end # Bit width def width=(val) prop_set('width', val) end def value prop_get('value') end def value=(val) prop_set('value', val) end # 4-byte hex value def mask prop_get('mask') end # 4-byte hex value def mask=(val) prop_set('mask', val) end end def tcp_option_user_defined @subclasses['tcp-option-user-defined'] ||= TcpOptionUserDefined.new(parent_instance: self, client: @client, create_children: @create_children) end class UdpSourcePort < ConfigClass def has_multiple_values?; false; end def _section :'udp-source-port' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,4}$', 'help-string'=>'2-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 2-byte hex value def mask prop_get('mask') end # 2-byte hex value def mask=(val) prop_set('mask', val) end end def udp_source_port @subclasses['udp-source-port'] ||= UdpSourcePort.new(parent_instance: self, client: @client, create_children: @create_children) end class UdpDestinationPort < ConfigClass def has_multiple_values?; false; end def _section :'udp-destination-port' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,4}$', 'help-string'=>'2-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 2-byte hex value def mask prop_get('mask') end # 2-byte hex value def mask=(val) prop_set('mask', val) end end def udp_destination_port @subclasses['udp-destination-port'] ||= UdpDestinationPort.new(parent_instance: self, client: @client, create_children: @create_children) end class UdpLength < ConfigClass def has_multiple_values?; false; end def _section :'udp-length' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,4}$', 'help-string'=>'2-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 2-byte hex value def mask prop_get('mask') end # 2-byte hex value def mask=(val) prop_set('mask', val) end end def udp_length @subclasses['udp-length'] ||= UdpLength.new(parent_instance: self, client: @client, create_children: @create_children) end class UdpChecksum < ConfigClass def has_multiple_values?; false; end def _section :'udp-checksum' end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,4}$', 'help-string'=>'2-byte hex value'}} def value prop_get('value') end def value=(val) prop_set('value', val) end # 2-byte hex value def mask prop_get('mask') end # 2-byte hex value def mask=(val) prop_set('mask', val) end end def udp_checksum @subclasses['udp-checksum'] ||= UdpChecksum.new(parent_instance: self, client: @client, create_children: @create_children) end class UdpUserDefined < ConfigClass def has_multiple_values?; false; end def _section :'udp-user-defined' end @props = {'offset'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'8', 'help-string'=>'Byte offset'}, 'width'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'Bit width'}, 'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0][xX][0-9A-Fa-f]{1,8}$', 'help-string'=>'4-byte hex value'}} # Byte offset def offset prop_get('offset') end # Byte offset def offset=(val) prop_set('offset', val) end # Bit width def width prop_get('width') end # Bit width def width=(val) prop_set('width', val) end def value prop_get('value') end def value=(val) prop_set('value', val) end # 4-byte hex value def mask prop_get('mask') end # 4-byte hex value def mask=(val) prop_set('mask', val) end end def udp_user_defined @subclasses['udp-user-defined'] ||= UdpUserDefined.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def context maybe_register_subclass('context', Context.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'negate'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}} def negate prop_get('negate') end def negate=(val) prop_set('negate', val) end end def equal_to @subclasses['equal-to'] ||= EqualTo.new(parent_instance: self, client: @client, create_children: @create_children) end class Range < ConfigClass def has_multiple_values?; false; end def _section :range end class Context < XML::ConfigClass def has_multiple_values?; true; end def _section :context end class IpVersion < ConfigClass def has_multiple_values?; false; end def _section :'ip-version' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'15'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'15'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def ip_version @subclasses['ip-version'] ||= IpVersion.new(parent_instance: self, client: @client, create_children: @create_children) end class IpHeaderLength < ConfigClass def has_multiple_values?; false; end def _section :'ip-header-length' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'15'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'15'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def ip_header_length @subclasses['ip-header-length'] ||= IpHeaderLength.new(parent_instance: self, client: @client, create_children: @create_children) end class IpTos < ConfigClass def has_multiple_values?; false; end def _section :'ip-tos' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def ip_tos @subclasses['ip-tos'] ||= IpTos.new(parent_instance: self, client: @client, create_children: @create_children) end class IpTotalLength < ConfigClass def has_multiple_values?; false; end def _section :'ip-total-length' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def ip_total_length @subclasses['ip-total-length'] ||= IpTotalLength.new(parent_instance: self, client: @client, create_children: @create_children) end class IpId < ConfigClass def has_multiple_values?; false; end def _section :'ip-id' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def ip_id @subclasses['ip-id'] ||= IpId.new(parent_instance: self, client: @client, create_children: @create_children) end class IpFragmentOffset < ConfigClass def has_multiple_values?; false; end def _section :'ip-fragment-offset' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'8191'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'8191'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def ip_fragment_offset @subclasses['ip-fragment-offset'] ||= IpFragmentOffset.new(parent_instance: self, client: @client, create_children: @create_children) end class IpTtl < ConfigClass def has_multiple_values?; false; end def _section :'ip-ttl' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def ip_ttl @subclasses['ip-ttl'] ||= IpTtl.new(parent_instance: self, client: @client, create_children: @create_children) end class IpProtocol < ConfigClass def has_multiple_values?; false; end def _section :'ip-protocol' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def ip_protocol @subclasses['ip-protocol'] ||= IpProtocol.new(parent_instance: self, client: @client, create_children: @create_children) end class IpHeaderChecksum < ConfigClass def has_multiple_values?; false; end def _section :'ip-header-checksum' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def ip_header_checksum @subclasses['ip-header-checksum'] ||= IpHeaderChecksum.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionType < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-type' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def ip_option_type @subclasses['ip-option-type'] ||= IpOptionType.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionNumber < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-number' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'31'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'31'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def ip_option_number @subclasses['ip-option-number'] ||= IpOptionNumber.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionLength < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-length' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def ip_option_length @subclasses['ip-option-length'] ||= IpOptionLength.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionUserDefined < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-user-defined' end @props = {'offset'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'40', 'help-string'=>'Byte offset'}, 'width'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'Bit width'}, 'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} # Byte offset def offset prop_get('offset') end # Byte offset def offset=(val) prop_set('offset', val) end # Bit width def width prop_get('width') end # Bit width def width=(val) prop_set('width', val) end def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def ip_option_user_defined @subclasses['ip-option-user-defined'] ||= IpOptionUserDefined.new(parent_instance: self, client: @client, create_children: @create_children) end class IpUserDefined < ConfigClass def has_multiple_values?; false; end def _section :'ip-user-defined' end @props = {'offset'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'60', 'help-string'=>'Byte offset'}, 'width'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'Bit width'}, 'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} # Byte offset def offset prop_get('offset') end # Byte offset def offset=(val) prop_set('offset', val) end # Bit width def width prop_get('width') end # Bit width def width=(val) prop_set('width', val) end def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def ip_user_defined @subclasses['ip-user-defined'] ||= IpUserDefined.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip6Version < ConfigClass def has_multiple_values?; false; end def _section :'ip6-version' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'15'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'15'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def ip6_version @subclasses['ip6-version'] ||= Ip6Version.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip6TrafficClass < ConfigClass def has_multiple_values?; false; end def _section :'ip6-traffic-class' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def ip6_traffic_class @subclasses['ip6-traffic-class'] ||= Ip6TrafficClass.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip6FlowLabel < ConfigClass def has_multiple_values?; false; end def _section :'ip6-flow-label' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'1048575'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'1048575'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def ip6_flow_label @subclasses['ip6-flow-label'] ||= Ip6FlowLabel.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip6PayloadLength < ConfigClass def has_multiple_values?; false; end def _section :'ip6-payload-length' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def ip6_payload_length @subclasses['ip6-payload-length'] ||= Ip6PayloadLength.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip6NextHeader < ConfigClass def has_multiple_values?; false; end def _section :'ip6-next-header' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def ip6_next_header @subclasses['ip6-next-header'] ||= Ip6NextHeader.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip6HopLimit < ConfigClass def has_multiple_values?; false; end def _section :'ip6-hop-limit' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def ip6_hop_limit @subclasses['ip6-hop-limit'] ||= Ip6HopLimit.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip6UserDefined < ConfigClass def has_multiple_values?; false; end def _section :'ip6-user-defined' end @props = {'offset'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'40', 'help-string'=>'Byte offset'}, 'width'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'Bit width'}, 'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} # Byte offset def offset prop_get('offset') end # Byte offset def offset=(val) prop_set('offset', val) end # Bit width def width prop_get('width') end # Bit width def width=(val) prop_set('width', val) end def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def ip6_user_defined @subclasses['ip6-user-defined'] ||= Ip6UserDefined.new(parent_instance: self, client: @client, create_children: @create_children) end class IcmpType < ConfigClass def has_multiple_values?; false; end def _section :'icmp-type' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def icmp_type @subclasses['icmp-type'] ||= IcmpType.new(parent_instance: self, client: @client, create_children: @create_children) end class IcmpCode < ConfigClass def has_multiple_values?; false; end def _section :'icmp-code' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def icmp_code @subclasses['icmp-code'] ||= IcmpCode.new(parent_instance: self, client: @client, create_children: @create_children) end class IcmpChecksum < ConfigClass def has_multiple_values?; false; end def _section :'icmp-checksum' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def icmp_checksum @subclasses['icmp-checksum'] ||= IcmpChecksum.new(parent_instance: self, client: @client, create_children: @create_children) end class IcmpId < ConfigClass def has_multiple_values?; false; end def _section :'icmp-id' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def icmp_id @subclasses['icmp-id'] ||= IcmpId.new(parent_instance: self, client: @client, create_children: @create_children) end class IcmpSequence < ConfigClass def has_multiple_values?; false; end def _section :'icmp-sequence' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def icmp_sequence @subclasses['icmp-sequence'] ||= IcmpSequence.new(parent_instance: self, client: @client, create_children: @create_children) end class IcmpUserDefined < ConfigClass def has_multiple_values?; false; end def _section :'icmp-user-defined' end @props = {'offset'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'8', 'help-string'=>'Byte offset'}, 'width'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'Bit width'}, 'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} # Byte offset def offset prop_get('offset') end # Byte offset def offset=(val) prop_set('offset', val) end # Bit width def width prop_get('width') end # Bit width def width=(val) prop_set('width', val) end def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def icmp_user_defined @subclasses['icmp-user-defined'] ||= IcmpUserDefined.new(parent_instance: self, client: @client, create_children: @create_children) end class Icmp6Type < ConfigClass def has_multiple_values?; false; end def _section :'icmp6-type' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def icmp6_type @subclasses['icmp6-type'] ||= Icmp6Type.new(parent_instance: self, client: @client, create_children: @create_children) end class Icmp6Code < ConfigClass def has_multiple_values?; false; end def _section :'icmp6-code' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def icmp6_code @subclasses['icmp6-code'] ||= Icmp6Code.new(parent_instance: self, client: @client, create_children: @create_children) end class Icmp6Checksum < ConfigClass def has_multiple_values?; false; end def _section :'icmp6-checksum' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def icmp6_checksum @subclasses['icmp6-checksum'] ||= Icmp6Checksum.new(parent_instance: self, client: @client, create_children: @create_children) end class Icmp6UserDefined < ConfigClass def has_multiple_values?; false; end def _section :'icmp6-user-defined' end @props = {'offset'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4', 'help-string'=>'Byte offset'}, 'width'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'Bit width'}, 'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} # Byte offset def offset prop_get('offset') end # Byte offset def offset=(val) prop_set('offset', val) end # Bit width def width prop_get('width') end # Bit width def width=(val) prop_set('width', val) end def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def icmp6_user_defined @subclasses['icmp6-user-defined'] ||= Icmp6UserDefined.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpSourcePort < ConfigClass def has_multiple_values?; false; end def _section :'tcp-source-port' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def tcp_source_port @subclasses['tcp-source-port'] ||= TcpSourcePort.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpDestinationPort < ConfigClass def has_multiple_values?; false; end def _section :'tcp-destination-port' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def tcp_destination_port @subclasses['tcp-destination-port'] ||= TcpDestinationPort.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpSequenceNumber < ConfigClass def has_multiple_values?; false; end def _section :'tcp-sequence-number' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def tcp_sequence_number @subclasses['tcp-sequence-number'] ||= TcpSequenceNumber.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpAcknowledgeNumber < ConfigClass def has_multiple_values?; false; end def _section :'tcp-acknowledge-number' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def tcp_acknowledge_number @subclasses['tcp-acknowledge-number'] ||= TcpAcknowledgeNumber.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpDataOffset < ConfigClass def has_multiple_values?; false; end def _section :'tcp-data-offset' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'15'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'15'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def tcp_data_offset @subclasses['tcp-data-offset'] ||= TcpDataOffset.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpReserved < ConfigClass def has_multiple_values?; false; end def _section :'tcp-reserved' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'7'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'7'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def tcp_reserved @subclasses['tcp-reserved'] ||= TcpReserved.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpWindowSize < ConfigClass def has_multiple_values?; false; end def _section :'tcp-window-size' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def tcp_window_size @subclasses['tcp-window-size'] ||= TcpWindowSize.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpChecksum < ConfigClass def has_multiple_values?; false; end def _section :'tcp-checksum' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def tcp_checksum @subclasses['tcp-checksum'] ||= TcpChecksum.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpUrgentPointer < ConfigClass def has_multiple_values?; false; end def _section :'tcp-urgent-pointer' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def tcp_urgent_pointer @subclasses['tcp-urgent-pointer'] ||= TcpUrgentPointer.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpUserDefined < ConfigClass def has_multiple_values?; false; end def _section :'tcp-user-defined' end @props = {'offset'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'24', 'help-string'=>'Byte offset'}, 'width'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'Bit width'}, 'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} # Byte offset def offset prop_get('offset') end # Byte offset def offset=(val) prop_set('offset', val) end # Bit width def width prop_get('width') end # Bit width def width=(val) prop_set('width', val) end def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def tcp_user_defined @subclasses['tcp-user-defined'] ||= TcpUserDefined.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionKind < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-kind' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def tcp_option_kind @subclasses['tcp-option-kind'] ||= TcpOptionKind.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionLength < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-length' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def tcp_option_length @subclasses['tcp-option-length'] ||= TcpOptionLength.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionUserDefined < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-user-defined' end @props = {'offset'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'40', 'help-string'=>'Byte offset'}, 'width'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'Bit width'}, 'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} # Byte offset def offset prop_get('offset') end # Byte offset def offset=(val) prop_set('offset', val) end # Bit width def width prop_get('width') end # Bit width def width=(val) prop_set('width', val) end def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def tcp_option_user_defined @subclasses['tcp-option-user-defined'] ||= TcpOptionUserDefined.new(parent_instance: self, client: @client, create_children: @create_children) end class UdpSourcePort < ConfigClass def has_multiple_values?; false; end def _section :'udp-source-port' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def udp_source_port @subclasses['udp-source-port'] ||= UdpSourcePort.new(parent_instance: self, client: @client, create_children: @create_children) end class UdpDestinationPort < ConfigClass def has_multiple_values?; false; end def _section :'udp-destination-port' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def udp_destination_port @subclasses['udp-destination-port'] ||= UdpDestinationPort.new(parent_instance: self, client: @client, create_children: @create_children) end class UdpLength < ConfigClass def has_multiple_values?; false; end def _section :'udp-length' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def udp_length @subclasses['udp-length'] ||= UdpLength.new(parent_instance: self, client: @client, create_children: @create_children) end class UdpChecksum < ConfigClass def has_multiple_values?; false; end def _section :'udp-checksum' end @props = {'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535'}} def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def udp_checksum @subclasses['udp-checksum'] ||= UdpChecksum.new(parent_instance: self, client: @client, create_children: @create_children) end class UdpUserDefined < ConfigClass def has_multiple_values?; false; end def _section :'udp-user-defined' end @props = {'offset'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'8', 'help-string'=>'Byte offset'}, 'width'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'32', 'help-string'=>'Bit width'}, 'low'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}, 'high'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} # Byte offset def offset prop_get('offset') end # Byte offset def offset=(val) prop_set('offset', val) end # Bit width def width prop_get('width') end # Bit width def width=(val) prop_set('width', val) end def low prop_get('low') end def low=(val) prop_set('low', val) end def high prop_get('high') end def high=(val) prop_set('high', val) end end def udp_user_defined @subclasses['udp-user-defined'] ||= UdpUserDefined.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def context maybe_register_subclass('context', Context.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def range @subclasses['range'] ||= Range.new(parent_instance: self, client: @client, create_children: @create_children) end class Event < ConfigClass def has_multiple_values?; false; end def _section :event end class Context < XML::ConfigClass def has_multiple_values?; true; end def _section :context end class IpSameAddress < ConfigClass def has_multiple_values?; false; end def _section :'ip-same-address' end @props = {} end def ip_same_address @subclasses['ip-same-address'] ||= IpSameAddress.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip6SameAddress < ConfigClass def has_multiple_values?; false; end def _section :'ip6-same-address' end @props = {} end def ip6_same_address @subclasses['ip6-same-address'] ||= Ip6SameAddress.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionEool < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-eool' end @props = {} end def ip_option_eool @subclasses['ip-option-eool'] ||= IpOptionEool.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionNop < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-nop' end @props = {} end def ip_option_nop @subclasses['ip-option-nop'] ||= IpOptionNop.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionSec < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-sec' end @props = {} end def ip_option_sec @subclasses['ip-option-sec'] ||= IpOptionSec.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionLsr < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-lsr' end @props = {} end def ip_option_lsr @subclasses['ip-option-lsr'] ||= IpOptionLsr.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionTs < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-ts' end @props = {} end def ip_option_ts @subclasses['ip-option-ts'] ||= IpOptionTs.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionEsec < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-esec' end @props = {} end def ip_option_esec @subclasses['ip-option-esec'] ||= IpOptionEsec.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionCipso < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-cipso' end @props = {} end def ip_option_cipso @subclasses['ip-option-cipso'] ||= IpOptionCipso.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionRr < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-rr' end @props = {} end def ip_option_rr @subclasses['ip-option-rr'] ||= IpOptionRr.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionSid < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-sid' end @props = {} end def ip_option_sid @subclasses['ip-option-sid'] ||= IpOptionSid.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionSsr < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-ssr' end @props = {} end def ip_option_ssr @subclasses['ip-option-ssr'] ||= IpOptionSsr.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionZsu < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-zsu' end @props = {} end def ip_option_zsu @subclasses['ip-option-zsu'] ||= IpOptionZsu.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionMtup < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-mtup' end @props = {} end def ip_option_mtup @subclasses['ip-option-mtup'] ||= IpOptionMtup.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionMtur < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-mtur' end @props = {} end def ip_option_mtur @subclasses['ip-option-mtur'] ||= IpOptionMtur.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionFinn < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-finn' end @props = {} end def ip_option_finn @subclasses['ip-option-finn'] ||= IpOptionFinn.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionVisa < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-visa' end @props = {} end def ip_option_visa @subclasses['ip-option-visa'] ||= IpOptionVisa.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionEncode < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-encode' end @props = {} end def ip_option_encode @subclasses['ip-option-encode'] ||= IpOptionEncode.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionImitd < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-imitd' end @props = {} end def ip_option_imitd @subclasses['ip-option-imitd'] ||= IpOptionImitd.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionEip < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-eip' end @props = {} end def ip_option_eip @subclasses['ip-option-eip'] ||= IpOptionEip.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionTr < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-tr' end @props = {} end def ip_option_tr @subclasses['ip-option-tr'] ||= IpOptionTr.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionAddext < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-addext' end @props = {} end def ip_option_addext @subclasses['ip-option-addext'] ||= IpOptionAddext.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionRtralt < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-rtralt' end @props = {} end def ip_option_rtralt @subclasses['ip-option-rtralt'] ||= IpOptionRtralt.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionSdb < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-sdb' end @props = {} end def ip_option_sdb @subclasses['ip-option-sdb'] ||= IpOptionSdb.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionDps < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-dps' end @props = {} end def ip_option_dps @subclasses['ip-option-dps'] ||= IpOptionDps.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionUmp < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-ump' end @props = {} end def ip_option_ump @subclasses['ip-option-ump'] ||= IpOptionUmp.new(parent_instance: self, client: @client, create_children: @create_children) end class IpOptionQs < ConfigClass def has_multiple_values?; false; end def _section :'ip-option-qs' end @props = {} end def ip_option_qs @subclasses['ip-option-qs'] ||= IpOptionQs.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionEool < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-eool' end @props = {} end def tcp_option_eool @subclasses['tcp-option-eool'] ||= TcpOptionEool.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionNop < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-nop' end @props = {} end def tcp_option_nop @subclasses['tcp-option-nop'] ||= TcpOptionNop.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionMss < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-mss' end @props = {} end def tcp_option_mss @subclasses['tcp-option-mss'] ||= TcpOptionMss.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionWs < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-ws' end @props = {} end def tcp_option_ws @subclasses['tcp-option-ws'] ||= TcpOptionWs.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionSackPermit < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-sack-permit' end @props = {} end def tcp_option_sack_permit @subclasses['tcp-option-sack-permit'] ||= TcpOptionSackPermit.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionSack < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-sack' end @props = {} end def tcp_option_sack @subclasses['tcp-option-sack'] ||= TcpOptionSack.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionEcho < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-echo' end @props = {} end def tcp_option_echo @subclasses['tcp-option-echo'] ||= TcpOptionEcho.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionEchoReply < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-echo-reply' end @props = {} end def tcp_option_echo_reply @subclasses['tcp-option-echo-reply'] ||= TcpOptionEchoReply.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionTs < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-ts' end @props = {} end def tcp_option_ts @subclasses['tcp-option-ts'] ||= TcpOptionTs.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionPartialPermit < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-partial-permit' end @props = {} end def tcp_option_partial_permit @subclasses['tcp-option-partial-permit'] ||= TcpOptionPartialPermit.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionPartialProfile < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-partial-profile' end @props = {} end def tcp_option_partial_profile @subclasses['tcp-option-partial-profile'] ||= TcpOptionPartialProfile.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionCc < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-cc' end @props = {} end def tcp_option_cc @subclasses['tcp-option-cc'] ||= TcpOptionCc.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionCcNew < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-cc-new' end @props = {} end def tcp_option_cc_new @subclasses['tcp-option-cc-new'] ||= TcpOptionCcNew.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionCcEcho < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-cc-echo' end @props = {} end def tcp_option_cc_echo @subclasses['tcp-option-cc-echo'] ||= TcpOptionCcEcho.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionAltRst < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-alt-rst' end @props = {} end def tcp_option_alt_rst @subclasses['tcp-option-alt-rst'] ||= TcpOptionAltRst.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionAltDat < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-alt-dat' end @props = {} end def tcp_option_alt_dat @subclasses['tcp-option-alt-dat'] ||= TcpOptionAltDat.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionSkeeter < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-skeeter' end @props = {} end def tcp_option_skeeter @subclasses['tcp-option-skeeter'] ||= TcpOptionSkeeter.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionBubba < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-bubba' end @props = {} end def tcp_option_bubba @subclasses['tcp-option-bubba'] ||= TcpOptionBubba.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionTrailer < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-trailer' end @props = {} end def tcp_option_trailer @subclasses['tcp-option-trailer'] ||= TcpOptionTrailer.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionMd5 < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-md5' end @props = {} end def tcp_option_md5 @subclasses['tcp-option-md5'] ||= TcpOptionMd5.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionScps < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-scps' end @props = {} end def tcp_option_scps @subclasses['tcp-option-scps'] ||= TcpOptionScps.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionSnak < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-snak' end @props = {} end def tcp_option_snak @subclasses['tcp-option-snak'] ||= TcpOptionSnak.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionRecBd < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-rec-bd' end @props = {} end def tcp_option_rec_bd @subclasses['tcp-option-rec-bd'] ||= TcpOptionRecBd.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionCorrupt < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-corrupt' end @props = {} end def tcp_option_corrupt @subclasses['tcp-option-corrupt'] ||= TcpOptionCorrupt.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionSnap < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-snap' end @props = {} end def tcp_option_snap @subclasses['tcp-option-snap'] ||= TcpOptionSnap.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionCompress < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-compress' end @props = {} end def tcp_option_compress @subclasses['tcp-option-compress'] ||= TcpOptionCompress.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionQsRes < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-qs-res' end @props = {} end def tcp_option_qs_res @subclasses['tcp-option-qs-res'] ||= TcpOptionQsRes.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionUserTimeout < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-user-timeout' end @props = {} end def tcp_option_user_timeout @subclasses['tcp-option-user-timeout'] ||= TcpOptionUserTimeout.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionTcpAo < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-tcp-ao' end @props = {} end def tcp_option_tcp_ao @subclasses['tcp-option-tcp-ao'] ||= TcpOptionTcpAo.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionMptcp < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-mptcp' end @props = {} end def tcp_option_mptcp @subclasses['tcp-option-mptcp'] ||= TcpOptionMptcp.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionFast < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-fast' end @props = {} end def tcp_option_fast @subclasses['tcp-option-fast'] ||= TcpOptionFast.new(parent_instance: self, client: @client, create_children: @create_children) end class TcpOptionEno < ConfigClass def has_multiple_values?; false; end def _section :'tcp-option-eno' end @props = {} end def tcp_option_eno @subclasses['tcp-option-eno'] ||= TcpOptionEno.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def context maybe_register_subclass('context', Context.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def event @subclasses['event'] ||= Event.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def operator maybe_register_subclass('operator', Operator.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def and_condition maybe_register_subclass('and-condition', AndCondition.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def or_condition maybe_register_subclass('or-condition', OrCondition.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'comment'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'256'}} def comment prop_get('comment') end def comment=(val) prop_set('comment', val) end end def signature @subclasses['signature'] ||= Signature.new(parent_instance: self, client: @client, create_children: @create_children) end class Cve < XML::ConfigClass def has_multiple_values?; true; end def _section :cve end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'CVE #, CVE-1999-0001 etc'}} # CVE #, CVE-1999-0001 etc def member prop_get('member') end # CVE #, CVE-1999-0001 etc def member=(val) prop_set('member', val) end end def cve maybe_register_subclass('cve', Cve.new(parent_instance: self, client: @client, create_children: @create_children)) end class Bugtraq < XML::ConfigClass def has_multiple_values?; true; end def _section :bugtraq end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'bugtraq id'}} # bugtraq id def member prop_get('member') end # bugtraq id def member=(val) prop_set('member', val) end end def bugtraq maybe_register_subclass('bugtraq', Bugtraq.new(parent_instance: self, client: @client, create_children: @create_children)) end class Vendor < XML::ConfigClass def has_multiple_values?; true; end def _section :vendor end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'Vendor\'s refer id, for example, MS03-026'}} # Vendor's refer id, for example, MS03-026 def member prop_get('member') end # Vendor's refer id, for example, MS03-026 def member=(val) prop_set('member', val) end end def vendor maybe_register_subclass('vendor', Vendor.new(parent_instance: self, client: @client, create_children: @create_children)) end class Reference < XML::ConfigClass def has_multiple_values?; true; end def _section :reference end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256', 'help-string'=>'URL'}} # URL def member prop_get('member') end # URL def member=(val) prop_set('member', val) end end def reference maybe_register_subclass('reference', Reference.new(parent_instance: self, client: @client, create_children: @create_children)) end class ExemptIp < XML::ConfigClass def has_multiple_values?; true; end def _section :'exempt-ip' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'optional'=>'no', 'type'=>'ipspec', 'unicast-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes', 'help-string'=>'Exempt IP address'}} # Exempt IP address def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def exempt_ip maybe_register_subclass('exempt-ip', ExemptIp.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'threat-id'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'41000', 'max'=>'6900000', 'help-string'=>'threat id range <41000-45000> and <6800001-6900000>'}, 'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'icmp-unreachable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'send icmp unreachable packets if packet is dropped'}, 'action'=>{'node-type'=>'element', 'optional'=>'no', 'type'=>'enum', 'default'=>'allow', 'enum'=>[{'value'=>'allow'}, {'value'=>'alert'}, {'value'=>'drop'}, {'value'=>'reset-client'}, {'value'=>'reset-server'}, {'value'=>'reset-both'}]}, 'log-severity'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'default'=>'medium', 'help-string'=>'log severity when credential matched'}, 'log-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'15', 'min'=>'15', 'max'=>'3600', 'help-string'=>'interval to log matching packet'}, 'packet-capture'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'disable', 'enum'=>[{'value'=>'disable'}, {'value'=>'single-packet'}, {'value'=>'extended-capture'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # threat id range <41000-45000> and <6800001-6900000> def threat_id prop_get('threat-id') end # threat id range <41000-45000> and <6800001-6900000> def threat_id=(val) prop_set('threat-id', val) end def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # send icmp unreachable packets if packet is dropped def icmp_unreachable prop_get('icmp-unreachable') end # send icmp unreachable packets if packet is dropped def icmp_unreachable=(val) prop_set('icmp-unreachable', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # log severity when credential matched def log_severity prop_get('log-severity') end # log severity when credential matched def log_severity=(val) prop_set('log-severity', val) end # interval to log matching packet def log_interval prop_get('log-interval') end # interval to log matching packet def log_interval=(val) prop_set('log-interval', val) end def packet_capture prop_get('packet-capture') end def packet_capture=(val) prop_set('packet-capture', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rule maybe_register_subclass('rule', Rule.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def net_inspection @subclasses['net-inspection'] ||= NetInspection.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'tcp-reject-non-syn'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'global', 'help-string'=>'reject non-SYN TCP packet for session setup', 'enum'=>[{'value'=>'global', 'help-string'=>'Use global setting'}, {'value'=>'yes', 'help-string'=>'Reject non-SYN TCP'}, {'value'=>'no', 'help-string'=>'Accept non-SYN TCP'}]}, 'strip-mptcp-option'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'global', 'help-string'=>'strip mptcp option', 'enum'=>[{'value'=>'global', 'help-string'=>'Use global setting'}, {'value'=>'yes', 'help-string'=>'Strip mptcp option'}, {'value'=>'no', 'help-string'=>'Not Strip mptcp option'}]}, 'asymmetric-path'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'global', 'help-string'=>'actions for TCP sliding window tracking errors, also control enable/disable TCP sequence number check for FIN/RST', 'enum'=>[{'value'=>'global', 'help-string'=>'Use global setting'}, {'value'=>'drop', 'help-string'=>'drop offending packets that violated TCP sliding window tracking, enable TCP sequence number check for FIN/RST'}, {'value'=>'bypass', 'help-string'=>'bypass inspection for the session that has TCP sliding window tracking errors'}]}, 'discard-ip-spoof'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Discard spoofed IP packet'}, 'discard-ip-frag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Discard IP fragment'}, 'discard-icmp-ping-zero-id'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Discard ICMP Ping with zero ID'}, 'discard-icmp-frag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Discard ICMP fragment'}, 'discard-icmp-large-packet'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Discard Large ICMP packet (IP length > 1024B)'}, 'discard-icmp-error'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Discard ICMP embedded with error message'}, 'suppress-icmp-timeexceeded'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Do not reply ICMP TTL expired error (layer3 only)'}, 'suppress-icmp-needfrag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Do not reply ICMP NEEDFRAG (layer3 only)'}, 'discard-strict-source-routing'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Discard packets with strict source routing IP option'}, 'discard-loose-source-routing'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Discard packets with loose source routing IP option'}, 'discard-timestamp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Discard packets with Timestmp IP option'}, 'discard-record-route'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Discard packets with Record Route IP option'}, 'discard-security'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Discard packets with Security IP option'}, 'discard-stream-id'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Discard packets with Stream ID IP option'}, 'discard-unknown-option'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Discard packets with unknown IP option'}, 'discard-malformed-option'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Discard packets with malformed IP option'}, 'discard-overlapping-tcp-segment-mismatch'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Discard sessions with mismatch tcp overlapping segment'}, 'strict-ip-check'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Perform strict IP address check'}, 'remove-tcp-timestamp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Remove TCP Timestamp'}, 'discard-tcp-split-handshake'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Discard tcp split handshake packet'}, 'discard-tcp-syn-with-data'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Discard tcp syn packet with data payload'}, 'discard-tcp-synack-with-data'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Discard tcp syn ack packet with data payload'}, 'strip-tcp-fast-open-and-data'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Strip tcp fast option and data payload'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end # reject non-SYN TCP packet for session setup def tcp_reject_non_syn prop_get('tcp-reject-non-syn') end # reject non-SYN TCP packet for session setup def tcp_reject_non_syn=(val) prop_set('tcp-reject-non-syn', val) end # strip mptcp option def strip_mptcp_option prop_get('strip-mptcp-option') end # strip mptcp option def strip_mptcp_option=(val) prop_set('strip-mptcp-option', val) end # actions for TCP sliding window tracking errors, also control enable/disable TCP sequence number check for FIN/RST def asymmetric_path prop_get('asymmetric-path') end # actions for TCP sliding window tracking errors, also control enable/disable TCP sequence number check for FIN/RST def asymmetric_path=(val) prop_set('asymmetric-path', val) end # Discard spoofed IP packet def discard_ip_spoof prop_get('discard-ip-spoof') end # Discard spoofed IP packet def discard_ip_spoof=(val) prop_set('discard-ip-spoof', val) end # Discard IP fragment def discard_ip_frag prop_get('discard-ip-frag') end # Discard IP fragment def discard_ip_frag=(val) prop_set('discard-ip-frag', val) end # Discard ICMP Ping with zero ID def discard_icmp_ping_zero_id prop_get('discard-icmp-ping-zero-id') end # Discard ICMP Ping with zero ID def discard_icmp_ping_zero_id=(val) prop_set('discard-icmp-ping-zero-id', val) end # Discard ICMP fragment def discard_icmp_frag prop_get('discard-icmp-frag') end # Discard ICMP fragment def discard_icmp_frag=(val) prop_set('discard-icmp-frag', val) end # Discard Large ICMP packet (IP length > 1024B) def discard_icmp_large_packet prop_get('discard-icmp-large-packet') end # Discard Large ICMP packet (IP length > 1024B) def discard_icmp_large_packet=(val) prop_set('discard-icmp-large-packet', val) end # Discard ICMP embedded with error message def discard_icmp_error prop_get('discard-icmp-error') end # Discard ICMP embedded with error message def discard_icmp_error=(val) prop_set('discard-icmp-error', val) end # Do not reply ICMP TTL expired error (layer3 only) def suppress_icmp_timeexceeded prop_get('suppress-icmp-timeexceeded') end # Do not reply ICMP TTL expired error (layer3 only) def suppress_icmp_timeexceeded=(val) prop_set('suppress-icmp-timeexceeded', val) end # Do not reply ICMP NEEDFRAG (layer3 only) def suppress_icmp_needfrag prop_get('suppress-icmp-needfrag') end # Do not reply ICMP NEEDFRAG (layer3 only) def suppress_icmp_needfrag=(val) prop_set('suppress-icmp-needfrag', val) end # Discard packets with strict source routing IP option def discard_strict_source_routing prop_get('discard-strict-source-routing') end # Discard packets with strict source routing IP option def discard_strict_source_routing=(val) prop_set('discard-strict-source-routing', val) end # Discard packets with loose source routing IP option def discard_loose_source_routing prop_get('discard-loose-source-routing') end # Discard packets with loose source routing IP option def discard_loose_source_routing=(val) prop_set('discard-loose-source-routing', val) end # Discard packets with Timestmp IP option def discard_timestamp prop_get('discard-timestamp') end # Discard packets with Timestmp IP option def discard_timestamp=(val) prop_set('discard-timestamp', val) end # Discard packets with Record Route IP option def discard_record_route prop_get('discard-record-route') end # Discard packets with Record Route IP option def discard_record_route=(val) prop_set('discard-record-route', val) end # Discard packets with Security IP option def discard_security prop_get('discard-security') end # Discard packets with Security IP option def discard_security=(val) prop_set('discard-security', val) end # Discard packets with Stream ID IP option def discard_stream_id prop_get('discard-stream-id') end # Discard packets with Stream ID IP option def discard_stream_id=(val) prop_set('discard-stream-id', val) end # Discard packets with unknown IP option def discard_unknown_option prop_get('discard-unknown-option') end # Discard packets with unknown IP option def discard_unknown_option=(val) prop_set('discard-unknown-option', val) end # Discard packets with malformed IP option def discard_malformed_option prop_get('discard-malformed-option') end # Discard packets with malformed IP option def discard_malformed_option=(val) prop_set('discard-malformed-option', val) end # Discard sessions with mismatch tcp overlapping segment def discard_overlapping_tcp_segment_mismatch prop_get('discard-overlapping-tcp-segment-mismatch') end # Discard sessions with mismatch tcp overlapping segment def discard_overlapping_tcp_segment_mismatch=(val) prop_set('discard-overlapping-tcp-segment-mismatch', val) end # Perform strict IP address check def strict_ip_check prop_get('strict-ip-check') end # Perform strict IP address check def strict_ip_check=(val) prop_set('strict-ip-check', val) end # Remove TCP Timestamp def remove_tcp_timestamp prop_get('remove-tcp-timestamp') end # Remove TCP Timestamp def remove_tcp_timestamp=(val) prop_set('remove-tcp-timestamp', val) end # Discard tcp split handshake packet def discard_tcp_split_handshake prop_get('discard-tcp-split-handshake') end # Discard tcp split handshake packet def discard_tcp_split_handshake=(val) prop_set('discard-tcp-split-handshake', val) end # Discard tcp syn packet with data payload def discard_tcp_syn_with_data prop_get('discard-tcp-syn-with-data') end # Discard tcp syn packet with data payload def discard_tcp_syn_with_data=(val) prop_set('discard-tcp-syn-with-data', val) end # Discard tcp syn ack packet with data payload def discard_tcp_synack_with_data prop_get('discard-tcp-synack-with-data') end # Discard tcp syn ack packet with data payload def discard_tcp_synack_with_data=(val) prop_set('discard-tcp-synack-with-data', val) end # Strip tcp fast option and data payload def strip_tcp_fast_open_and_data prop_get('strip-tcp-fast-open-and-data') end # Strip tcp fast option and data payload def strip_tcp_fast_open_and_data=(val) prop_set('strip-tcp-fast-open-and-data', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def zone_protection_profile maybe_register_subclass('zone-protection-profile', ZoneProtectionProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class LldpProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'lldp-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class OptionTlvs < ConfigClass def has_multiple_values?; false; end def _section :'option-tlvs' end class ManagementAddress < ConfigClass def has_multiple_values?; false; end def _section :'management-address' end class Iplist < XML::ConfigClass def has_multiple_values?; true; end def _section :iplist end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'optional'=>'no', 'type'=>'string', 'maxlen'=>'31'}, 'interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'interface name'}, 'ipv4'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'IPv4 address'}, 'ipv6'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'50', 'help-string'=>'IPv6 address'}} def name prop_get('@name') end # interface name def interface prop_get('interface') end # interface name def interface=(val) prop_set('interface', val) end # IPv4 address def ipv4 prop_get('ipv4') end # IPv4 address def ipv4=(val) prop_set('ipv4', val) end # IPv6 address def ipv6 prop_get('ipv6') end # IPv6 address def ipv6=(val) prop_set('ipv6', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def iplist maybe_register_subclass('iplist', Iplist.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'default'=>'no', 'type'=>'bool'}} def enabled prop_get('enabled') end def enabled=(val) prop_set('enabled', val) end end def management_address @subclasses['management-address'] ||= ManagementAddress.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'port-description'=>{'node-type'=>'element', 'optional'=>'yes', 'default'=>'no', 'type'=>'bool'}, 'system-name'=>{'node-type'=>'element', 'optional'=>'yes', 'default'=>'no', 'type'=>'bool'}, 'system-description'=>{'node-type'=>'element', 'optional'=>'yes', 'default'=>'no', 'type'=>'bool'}, 'system-capabilities'=>{'node-type'=>'element', 'optional'=>'yes', 'default'=>'no', 'type'=>'bool'}} def port_description prop_get('port-description') end def port_description=(val) prop_set('port-description', val) end def system_name prop_get('system-name') end def system_name=(val) prop_set('system-name', val) end def system_description prop_get('system-description') end def system_description=(val) prop_set('system-description', val) end def system_capabilities prop_get('system-capabilities') end def system_capabilities=(val) prop_set('system-capabilities', val) end end def option_tlvs @subclasses['option-tlvs'] ||= OptionTlvs.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'mode'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'transmit-receive', 'help-string'=>'lldp operation mode', 'enum'=>[{'value'=>'transmit-receive', 'help-string'=>'transmit and receive'}, {'value'=>'transmit-only', 'help-string'=>'transmit only and will not receive'}, {'value'=>'receive-only', 'help-string'=>'receive only and will not transmit'}]}, 'snmp-syslog-notification'=>{'node-type'=>'element', 'optional'=>'yes', 'default'=>'no', 'type'=>'bool'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # lldp operation mode def mode prop_get('mode') end # lldp operation mode def mode=(val) prop_set('mode', val) end def snmp_syslog_notification prop_get('snmp-syslog-notification') end def snmp_syslog_notification=(val) prop_set('snmp-syslog-notification', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def lldp_profile maybe_register_subclass('lldp-profile', LldpProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class BfdProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'bfd-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Multihop < ConfigClass def has_multiple_values?; false; end def _section :multihop end @props = {'min-received-ttl'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'254', 'help-string'=>'minimum accepted ttl on received BFD packet', 'uiHint-fieldLabel'=>'Minimum Rx TTL'}} # minimum accepted ttl on received BFD packet def min_received_ttl prop_get('min-received-ttl') end # minimum accepted ttl on received BFD packet def min_received_ttl=(val) prop_set('min-received-ttl', val) end end def multihop @subclasses['multihop'] ||= Multihop.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'mode'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'active', 'help-string'=>'BFD operation mode', 'enum'=>[{'value'=>'active', 'help-string'=>'actively sends control packets to neighbor'}, {'value'=>'passive', 'help-string'=>'wait for neighbor to send control packets, will respond as required'}]}, 'min-tx-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'50', 'max'=>'10000', 'default'=>'1000', 'help-string'=>'desired minimum tx interval in ms', 'uiHint-fieldLabel'=>'Desired Minimum Tx Interval (ms)'}, 'min-rx-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'50', 'max'=>'10000', 'default'=>'1000', 'help-string'=>'required minimum rx interval in ms', 'uiHint-fieldLabel'=>'Required Minimum Rx Interval (ms)'}, 'detection-multiplier'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'2', 'max'=>'255', 'default'=>'3', 'help-string'=>'multiplier sent to remote system', 'uiHint-fieldLabel'=>'Detection Time Multiplier'}, 'hold-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'120000', 'default'=>'0', 'help-string'=>'delay transmission and reception of control packets in ms', 'uiHint-fieldLabel'=>'Hold Time (ms)'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # BFD operation mode def mode prop_get('mode') end # BFD operation mode def mode=(val) prop_set('mode', val) end # desired minimum tx interval in ms def min_tx_interval prop_get('min-tx-interval') end # desired minimum tx interval in ms def min_tx_interval=(val) prop_set('min-tx-interval', val) end # required minimum rx interval in ms def min_rx_interval prop_get('min-rx-interval') end # required minimum rx interval in ms def min_rx_interval=(val) prop_set('min-rx-interval', val) end # multiplier sent to remote system def detection_multiplier prop_get('detection-multiplier') end # multiplier sent to remote system def detection_multiplier=(val) prop_set('detection-multiplier', val) end # delay transmission and reception of control packets in ms def hold_time prop_get('hold-time') end # delay transmission and reception of control packets in ms def hold_time=(val) prop_set('hold-time', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def bfd_profile maybe_register_subclass('bfd-profile', BfdProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def profiles @subclasses['profiles'] ||= Profiles.new(parent_instance: self, client: @client, create_children: @create_children) end class Interface < ConfigClass def has_multiple_values?; false; end def _section :interface end class Ethernet < XML::ConfigClass def has_multiple_values?; true; end def _section :ethernet end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Poe < ConfigClass def has_multiple_values?; false; end def _section :poe end @props = {'poe-rsvd-pwr'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'90', 'default'=>'0', 'optional'=>'yes', 'help-string'=>'Reserved Power'}, 'poe-enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'PoE Enable'}} # Reserved Power def poe_rsvd_pwr prop_get('poe-rsvd-pwr') end # Reserved Power def poe_rsvd_pwr=(val) prop_set('poe-rsvd-pwr', val) end # PoE Enable def poe_enabled prop_get('poe-enabled') end # PoE Enable def poe_enabled=(val) prop_set('poe-enabled', val) end end def poe @subclasses['poe'] ||= Poe.new(parent_instance: self, client: @client, create_children: @create_children) end class Tap < ConfigClass def has_multiple_values?; false; end def _section :tap end @props = {'netflow-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'Netflow Server Profile'}} # Netflow Server Profile def netflow_profile prop_get('netflow-profile') end # Netflow Server Profile def netflow_profile=(val) prop_set('netflow-profile', val) end end def tap @subclasses['tap'] ||= Tap.new(parent_instance: self, client: @client, create_children: @create_children) end class Ha < ConfigClass def has_multiple_values?; false; end def _section :ha end @props = {} end def ha @subclasses['ha'] ||= Ha.new(parent_instance: self, client: @client, create_children: @create_children) end class LogCard < ConfigClass def has_multiple_values?; false; end def _section :'log-card' end class Units < XML::ConfigClass def has_multiple_values?; true; end def _section :units end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'prefix'=>'concat(../../../@name, \'.\')', 'regex'=>'^((ethernet[1-9][0-9]?\/[1-9][0-9]?\.)?([1-9][0-9]{0,3}))$'}, 'ip-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'IP address for the log card forwarding interface', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'netmask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'subtype'=>'ip-address', 'help-string'=>'IP netmask for the log card forwarding interface'}, 'default-gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'log forwarding card default gateway', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'ipv6-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'ipv6-only'=>'yes', 'help-string'=>'IPv6 address for the log card forwarding interface', 'multi-types'=>{'ipspec'=>{'unicast-with-mask'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'ipv6-default-gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'log forwarding IPv6 card default gateway', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'comment'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'1024'}, 'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4094', 'help-string'=>'802.1q VLAN tag'}} def name prop_get('@name') end # IP address for the log card forwarding interface def ip_address prop_get('ip-address') end # IP address for the log card forwarding interface def ip_address=(val) prop_set('ip-address', val) end # IP netmask for the log card forwarding interface def netmask prop_get('netmask') end # IP netmask for the log card forwarding interface def netmask=(val) prop_set('netmask', val) end # log forwarding card default gateway def default_gateway prop_get('default-gateway') end # log forwarding card default gateway def default_gateway=(val) prop_set('default-gateway', val) end # IPv6 address for the log card forwarding interface def ipv6_address prop_get('ipv6-address') end # IPv6 address for the log card forwarding interface def ipv6_address=(val) prop_set('ipv6-address', val) end # log forwarding IPv6 card default gateway def ipv6_default_gateway prop_get('ipv6-default-gateway') end # log forwarding IPv6 card default gateway def ipv6_default_gateway=(val) prop_set('ipv6-default-gateway', val) end def comment prop_get('comment') end def comment=(val) prop_set('comment', val) end # 802.1q VLAN tag def tag prop_get('tag') end # 802.1q VLAN tag def tag=(val) prop_set('tag', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def units maybe_register_subclass('units', Units.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'ip-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'IP address for the log card forwarding interface', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'netmask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'subtype'=>'ip-address', 'help-string'=>'IP netmask for the log card forwarding interface'}, 'default-gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'log forwarding card default gateway', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'ipv6-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'unicast-with-mask'=>'yes', 'ipv6-only'=>'yes', 'help-string'=>'IPv6 address for the log card forwarding interface', 'multi-types'=>{'ipspec'=>{'unicast-with-mask'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'ipv6-default-gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'log forwarding IPv6 card default gateway', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # IP address for the log card forwarding interface def ip_address prop_get('ip-address') end # IP address for the log card forwarding interface def ip_address=(val) prop_set('ip-address', val) end # IP netmask for the log card forwarding interface def netmask prop_get('netmask') end # IP netmask for the log card forwarding interface def netmask=(val) prop_set('netmask', val) end # log forwarding card default gateway def default_gateway prop_get('default-gateway') end # log forwarding card default gateway def default_gateway=(val) prop_set('default-gateway', val) end # IPv6 address for the log card forwarding interface def ipv6_address prop_get('ipv6-address') end # IPv6 address for the log card forwarding interface def ipv6_address=(val) prop_set('ipv6-address', val) end # log forwarding IPv6 card default gateway def ipv6_default_gateway prop_get('ipv6-default-gateway') end # log forwarding IPv6 card default gateway def ipv6_default_gateway=(val) prop_set('ipv6-default-gateway', val) end end def log_card @subclasses['log-card'] ||= LogCard.new(parent_instance: self, client: @client, create_children: @create_children) end class DecryptMirror < ConfigClass def has_multiple_values?; false; end def _section :'decrypt-mirror' end @props = {} end def decrypt_mirror @subclasses['decrypt-mirror'] ||= DecryptMirror.new(parent_instance: self, client: @client, create_children: @create_children) end class VirtualWire < ConfigClass def has_multiple_values?; false; end def _section :'virtual-wire' end class Units < XML::ConfigClass def has_multiple_values?; true; end def _section :units end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class IpClassifier < XML::ConfigClass def has_multiple_values?; true; end def _section :'ip-classifier' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'max-count'=>'1024', 'multi-types'=>{'ipspec'=>{}, 'iprangespec'=>{}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def ip_classifier maybe_register_subclass('ip-classifier', IpClassifier.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'prefix'=>'concat(../../../@name, \'.\')', 'regex'=>'^((ethernet[1-9][0-9]?\/[1-9][0-9]?\.)?([1-9][0-9]{0,3}))$'}, 'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4094', 'help-string'=>'802.1q VLAN tag'}, 'netflow-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'Netflow Server Profile'}, 'comment'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'0', 'maxlen'=>'1023'}} def name prop_get('@name') end # 802.1q VLAN tag def tag prop_get('tag') end # 802.1q VLAN tag def tag=(val) prop_set('tag', val) end # Netflow Server Profile def netflow_profile prop_get('netflow-profile') end # Netflow Server Profile def netflow_profile=(val) prop_set('netflow-profile', val) end def comment prop_get('comment') end def comment=(val) prop_set('comment', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def units maybe_register_subclass('units', Units.new(parent_instance: self, client: @client, create_children: @create_children)) end class Lldp < ConfigClass def has_multiple_values?; false; end def _section :lldp end class HighAvailability < ConfigClass def has_multiple_values?; false; end def _section :'high-availability' end @props = {'passive-pre-negotiation'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Enable LLDP pre-negotiation in HA passive state'}} # Enable LLDP pre-negotiation in HA passive state def passive_pre_negotiation prop_get('passive-pre-negotiation') end # Enable LLDP pre-negotiation in HA passive state def passive_pre_negotiation=(val) prop_set('passive-pre-negotiation', val) end end def high_availability @subclasses['high-availability'] ||= HighAvailability.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'profile'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'LLDP profile', 'optional'=>'yes'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # LLDP profile def profile prop_get('profile') end # LLDP profile def profile=(val) prop_set('profile', val) end end def lldp @subclasses['lldp'] ||= Lldp.new(parent_instance: self, client: @client, create_children: @create_children) end class Lacp < ConfigClass def has_multiple_values?; false; end def _section :lacp end class HighAvailability < ConfigClass def has_multiple_values?; false; end def _section :'high-availability' end @props = {'passive-pre-negotiation'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Allow LACP traffic to traverse this device in HA passive state'}} # Allow LACP traffic to traverse this device in HA passive state def passive_pre_negotiation prop_get('passive-pre-negotiation') end # Allow LACP traffic to traverse this device in HA passive state def passive_pre_negotiation=(val) prop_set('passive-pre-negotiation', val) end end def high_availability @subclasses['high-availability'] ||= HighAvailability.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def lacp @subclasses['lacp'] ||= Lacp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'netflow-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'Netflow Server Profile'}} # Netflow Server Profile def netflow_profile prop_get('netflow-profile') end # Netflow Server Profile def netflow_profile=(val) prop_set('netflow-profile', val) end end def virtual_wire @subclasses['virtual-wire'] ||= VirtualWire.new(parent_instance: self, client: @client, create_children: @create_children) end class Layer2 < ConfigClass def has_multiple_values?; false; end def _section :layer2 end class Units < XML::ConfigClass def has_multiple_values?; true; end def _section :units end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'prefix'=>'concat(../../../@name, \'.\')', 'regex'=>'^((ethernet[1-9][0-9]?\/[1-9][0-9]?\.)?([1-9][0-9]{0,3}))$'}, 'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4094', 'help-string'=>'802.1q VLAN tag'}, 'netflow-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'Netflow Server Profile'}, 'comment'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'0', 'maxlen'=>'1023'}} def name prop_get('@name') end # 802.1q VLAN tag def tag prop_get('tag') end # 802.1q VLAN tag def tag=(val) prop_set('tag', val) end # Netflow Server Profile def netflow_profile prop_get('netflow-profile') end # Netflow Server Profile def netflow_profile=(val) prop_set('netflow-profile', val) end def comment prop_get('comment') end def comment=(val) prop_set('comment', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def units maybe_register_subclass('units', Units.new(parent_instance: self, client: @client, create_children: @create_children)) end class Lldp < ConfigClass def has_multiple_values?; false; end def _section :lldp end class HighAvailability < ConfigClass def has_multiple_values?; false; end def _section :'high-availability' end @props = {'passive-pre-negotiation'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Enable LLDP pre-negotiation in HA passive state'}} # Enable LLDP pre-negotiation in HA passive state def passive_pre_negotiation prop_get('passive-pre-negotiation') end # Enable LLDP pre-negotiation in HA passive state def passive_pre_negotiation=(val) prop_set('passive-pre-negotiation', val) end end def high_availability @subclasses['high-availability'] ||= HighAvailability.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'profile'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'LLDP profile', 'optional'=>'yes'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # LLDP profile def profile prop_get('profile') end # LLDP profile def profile=(val) prop_set('profile', val) end end def lldp @subclasses['lldp'] ||= Lldp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'netflow-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'Netflow Server Profile'}} # Netflow Server Profile def netflow_profile prop_get('netflow-profile') end # Netflow Server Profile def netflow_profile=(val) prop_set('netflow-profile', val) end end def layer2 @subclasses['layer2'] ||= Layer2.new(parent_instance: self, client: @client, create_children: @create_children) end class Layer3 < ConfigClass def has_multiple_values?; false; end def _section :layer3 end class Bonjour < ConfigClass def has_multiple_values?; false; end def _section :bonjour end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set to support Bonjour service'}, 'ttl-check'=>{'node-type'=>'element', 'internal'=>'yes', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set to check and update TTL'}, 'group-id'=>{'node-type'=>'element', 'internal'=>'yes', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'40', 'min'=>'0', 'max'=>'16', 'help-string'=>'default 0: NO-Group'}} # Set to support Bonjour service def enable prop_get('enable') end # Set to support Bonjour service def enable=(val) prop_set('enable', val) end # Set to check and update TTL def ttl_check prop_get('ttl-check') end # Set to check and update TTL def ttl_check=(val) prop_set('ttl-check', val) end # default 0: NO-Group def group_id prop_get('group-id') end # default 0: NO-Group def group_id=(val) prop_set('group-id', val) end end def bonjour @subclasses['bonjour'] ||= Bonjour.new(parent_instance: self, client: @client, create_children: @create_children) end class AdjustTcpMss < ConfigClass def has_multiple_values?; false; end def _section :'adjust-tcp-mss' end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set if TCP MSS value should be reduced based on mtu'}, 'ipv4-mss-adjustment'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'40', 'min'=>'40', 'max'=>'300', 'help-string'=>'IPv4 MSS adjustment size (in bytes)'}, 'ipv6-mss-adjustment'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'60', 'min'=>'60', 'max'=>'300', 'help-string'=>'IPv6 MSS adjustment size (in bytes)'}} # Set if TCP MSS value should be reduced based on mtu def enable prop_get('enable') end # Set if TCP MSS value should be reduced based on mtu def enable=(val) prop_set('enable', val) end # IPv4 MSS adjustment size (in bytes) def ipv4_mss_adjustment prop_get('ipv4-mss-adjustment') end # IPv4 MSS adjustment size (in bytes) def ipv4_mss_adjustment=(val) prop_set('ipv4-mss-adjustment', val) end # IPv6 MSS adjustment size (in bytes) def ipv6_mss_adjustment prop_get('ipv6-mss-adjustment') end # IPv6 MSS adjustment size (in bytes) def ipv6_mss_adjustment=(val) prop_set('ipv6-mss-adjustment', val) end end def adjust_tcp_mss @subclasses['adjust-tcp-mss'] ||= AdjustTcpMss.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip < XML::ConfigClass def has_multiple_values?; true; end def _section :ip end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'regex'=>'^([ $0-9a-zA-Z:@./_-])+$', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'IP address/netmask or address object name'}, 'sdwan-gateway'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'Gateway IPv4 Address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'ipv4-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # IP address/netmask or address object name def name prop_get('@name') end # Gateway IPv4 Address def sdwan_gateway prop_get('sdwan-gateway') end # Gateway IPv4 Address def sdwan_gateway=(val) prop_set('sdwan-gateway', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ip maybe_register_subclass('ip', Ip.new(parent_instance: self, client: @client, create_children: @create_children)) end class Ipv6 < ConfigClass def has_multiple_values?; false; end def _section :ipv6 end class Address < XML::ConfigClass def has_multiple_values?; true; end def _section :address end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Prefix < ConfigClass def has_multiple_values?; false; end def _section :prefix end @props = {} end def prefix @subclasses['prefix'] ||= Prefix.new(parent_instance: self, client: @client, create_children: @create_children) end class Anycast < ConfigClass def has_multiple_values?; false; end def _section :anycast end @props = {} end def anycast @subclasses['anycast'] ||= Anycast.new(parent_instance: self, client: @client, create_children: @create_children) end class Advertise < ConfigClass def has_multiple_values?; false; end def _section :advertise end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable advertising this prefix in router advertisements'}, 'valid-lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'2592000', 'help-string'=>'Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967294'}, 'enum'=>[{'value'=>'infinity'}]}}, 'preferred-lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'604800', 'help-string'=>'Preferred Lifetime (in seconds) of the prefix advertised in Router Advertisement messages', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967294'}, 'enum'=>[{'value'=>'infinity'}]}}, 'onlink-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages'}, 'auto-config-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages'}} # enable advertising this prefix in router advertisements def enable prop_get('enable') end # enable advertising this prefix in router advertisements def enable=(val) prop_set('enable', val) end # Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def valid_lifetime prop_get('valid-lifetime') end # Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def valid_lifetime=(val) prop_set('valid-lifetime', val) end # Preferred Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def preferred_lifetime prop_get('preferred-lifetime') end # Preferred Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def preferred_lifetime=(val) prop_set('preferred-lifetime', val) end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag prop_get('onlink-flag') end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag=(val) prop_set('onlink-flag', val) end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag prop_get('auto-config-flag') end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag=(val) prop_set('auto-config-flag', val) end end def advertise @subclasses['advertise'] ||= Advertise.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'^([ $0-9a-zA-Z:@./_-])+$', 'maxlen'=>'63', 'help-string'=>'IPv6 address/prefix length or address object name'}, 'enable-on-interface'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'configure this address on interface'}} # IPv6 address/prefix length or address object name def name prop_get('@name') end # configure this address on interface def enable_on_interface prop_get('enable-on-interface') end # configure this address on interface def enable_on_interface=(val) prop_set('enable-on-interface', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def address maybe_register_subclass('address', Address.new(parent_instance: self, client: @client, create_children: @create_children)) end class NeighborDiscovery < ConfigClass def has_multiple_values?; false; end def _section :'neighbor-discovery' end class RouterAdvertisement < ConfigClass def has_multiple_values?; false; end def _section :'router-advertisement' end class Prefix < XML::ConfigClass def has_multiple_values?; true; end def _section :prefix end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class ValidLifetime < XML::ConfigClass def has_multiple_values?; true; end def _section :'valid-lifetime' end @props = {'fixed-time'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'default'=>'2592000', 'help-string'=>'fixed value (in seconds) of the Valid Lifetime field of the prefix in Router Advertisement messages'}, 'expire-time'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'19', 'maxlen'=>'19', 'regex'=>'[0-9][0-9][0-9][0-9]/([0][1-9]|[1][0-2])/([0-2][0-9]|[3][0-1])@([01][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9])', 'help-string'=>'expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59)'}} # fixed value (in seconds) of the Valid Lifetime field of the prefix in Router Advertisement messages def fixed_time prop_get('fixed-time') end # fixed value (in seconds) of the Valid Lifetime field of the prefix in Router Advertisement messages def fixed_time=(val) prop_set('fixed-time', val) end # expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59) def expire_time prop_get('expire-time') end # expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59) def expire_time=(val) prop_set('expire-time', val) end end def valid_lifetime maybe_register_subclass('valid-lifetime', ValidLifetime.new(parent_instance: self, client: @client, create_children: @create_children)) end class PreferredLifetime < XML::ConfigClass def has_multiple_values?; true; end def _section :'preferred-lifetime' end @props = {'fixed-time'=>{'node-type'=>'element', 'type'=>'rangedint', 'default'=>'604800', 'min'=>'0', 'max'=>'4294967295', 'help-string'=>'Fixed value (in seconds) of the Preferred Lifetime field of the prefix in Router Advertisement messages'}, 'expire-time'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'19', 'maxlen'=>'19', 'regex'=>'[0-9][0-9][0-9][0-9]/([0][1-9]|[1][0-2])/([0-2][0-9]|[3][0-1])@([01][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9])', 'help-string'=>'expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59)'}} # Fixed value (in seconds) of the Preferred Lifetime field of the prefix in Router Advertisement messages def fixed_time prop_get('fixed-time') end # Fixed value (in seconds) of the Preferred Lifetime field of the prefix in Router Advertisement messages def fixed_time=(val) prop_set('fixed-time', val) end # expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59) def expire_time prop_get('expire-time') end # expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59) def expire_time=(val) prop_set('expire-time', val) end end def preferred_lifetime maybe_register_subclass('preferred-lifetime', PreferredLifetime.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'help-string'=>'IPv6 prefix'}, 'onlink-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages'}, 'auto-config-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages'}} # IPv6 prefix def name prop_get('@name') end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag prop_get('onlink-flag') end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag=(val) prop_set('onlink-flag', val) end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag prop_get('auto-config-flag') end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag=(val) prop_set('auto-config-flag', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def prefix maybe_register_subclass('prefix', Prefix.new(parent_instance: self, client: @client, create_children: @create_children)) end class DnsSupport < ConfigClass def has_multiple_values?; false; end def _section :'dns-support' end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'unicast-only'=>'yes', 'help-string'=>'IPv6 address'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) lifetime in seconds'}} # IPv6 address def name prop_get('@name') end # (4-3600) lifetime in seconds def lifetime prop_get('lifetime') end # (4-3600) lifetime in seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end class Suffix < XML::ConfigClass def has_multiple_values?; true; end def _section :suffix end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'domain name', 'minlen'=>'1', 'maxlen'=>'255'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) lifetime in seconds'}} # domain name def name prop_get('@name') end # (4-3600) lifetime in seconds def lifetime prop_get('lifetime') end # (4-3600) lifetime in seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def suffix maybe_register_subclass('suffix', Suffix.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'defaule'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def dns_support @subclasses['dns-support'] ||= DnsSupport.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'max-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'1800', 'default'=>'600', 'help-string'=>'Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages'}, 'min-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'3', 'max'=>'1350', 'default'=>'200', 'help-string'=>'Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages'}, 'managed-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set the Managed Configuration Flag (M-bit) in Router Advertisement messages'}, 'other-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages'}, 'link-mtu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise', 'multi-types'=>{'rangedint'=>{'min'=>'1280', 'max'=>'9216'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'reachable-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'Reachable Time (in milliseconds) advertised in Router Advertisement messages', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'3600000'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'retransmission-timer'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'Retransmission Timer (in milliseconds) advertised in Router Advertisement messages', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967295'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'hop-limit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'64', 'help-string'=>'Current Hop Limit advertised in Router Advertisement messages', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'255'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'9000', 'default'=>'1800', 'help-string'=>'Router Lifetime (in seconds) advertised in Router Advertisement messages'}, 'router-preference'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'Medium', 'enum'=>[{'value'=>'High', 'help-string'=>'01 High'}, {'value'=>'Medium', 'help-string'=>'00 Medium'}, {'value'=>'Low', 'help-string'=>'11 Low'}]}, 'enable-consistency-check'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'check consistency of RA messages from other routers.'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages def max_interval prop_get('max-interval') end # Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages def max_interval=(val) prop_set('max-interval', val) end # Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages def min_interval prop_get('min-interval') end # Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages def min_interval=(val) prop_set('min-interval', val) end # Set the Managed Configuration Flag (M-bit) in Router Advertisement messages def managed_flag prop_get('managed-flag') end # Set the Managed Configuration Flag (M-bit) in Router Advertisement messages def managed_flag=(val) prop_set('managed-flag', val) end # Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages def other_flag prop_get('other-flag') end # Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages def other_flag=(val) prop_set('other-flag', val) end # value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise def link_mtu prop_get('link-mtu') end # value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise def link_mtu=(val) prop_set('link-mtu', val) end # Reachable Time (in milliseconds) advertised in Router Advertisement messages def reachable_time prop_get('reachable-time') end # Reachable Time (in milliseconds) advertised in Router Advertisement messages def reachable_time=(val) prop_set('reachable-time', val) end # Retransmission Timer (in milliseconds) advertised in Router Advertisement messages def retransmission_timer prop_get('retransmission-timer') end # Retransmission Timer (in milliseconds) advertised in Router Advertisement messages def retransmission_timer=(val) prop_set('retransmission-timer', val) end # Current Hop Limit advertised in Router Advertisement messages def hop_limit prop_get('hop-limit') end # Current Hop Limit advertised in Router Advertisement messages def hop_limit=(val) prop_set('hop-limit', val) end # Router Lifetime (in seconds) advertised in Router Advertisement messages def lifetime prop_get('lifetime') end # Router Lifetime (in seconds) advertised in Router Advertisement messages def lifetime=(val) prop_set('lifetime', val) end def router_preference prop_get('router-preference') end def router_preference=(val) prop_set('router-preference', val) end # check consistency of RA messages from other routers. def enable_consistency_check prop_get('enable-consistency-check') end # check consistency of RA messages from other routers. def enable_consistency_check=(val) prop_set('enable-consistency-check', val) end end def router_advertisement @subclasses['router-advertisement'] ||= RouterAdvertisement.new(parent_instance: self, client: @client, create_children: @create_children) end class Neighbor < XML::ConfigClass def has_multiple_values?; true; end def _section :neighbor end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'help-string'=>'IP address'}, 'hw-address'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'mac-address', 'help-string'=>'MAC address (format xx:xx:xx:xx:xx:xx)'}} # IP address def name prop_get('@name') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address prop_get('hw-address') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address=(val) prop_set('hw-address', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def neighbor maybe_register_subclass('neighbor', Neighbor.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable-ndp-monitor'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable ndp monitoring'}, 'enable-dad'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable duplicate address detection'}, 'dad-attempts'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'10', 'default'=>'1', 'help-string'=>'number of consecutive neighbor solicitation messages sent for duplicate address detection'}, 'ns-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'1', 'help-string'=>'interval (in seconds) between consecutive neighbor solicitation messages'}, 'reachable-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'10', 'max'=>'36000', 'default'=>'30', 'help-string'=>'time (in seconds) that the Reachable status for a neighbor can be maintained'}, 'disable-nud'=>{'node-type'=>'element', 'disabled'=>'yes', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'disable Neighbor Unreachability Detection'}} # enable ndp monitoring def enable_ndp_monitor prop_get('enable-ndp-monitor') end # enable ndp monitoring def enable_ndp_monitor=(val) prop_set('enable-ndp-monitor', val) end # enable duplicate address detection def enable_dad prop_get('enable-dad') end # enable duplicate address detection def enable_dad=(val) prop_set('enable-dad', val) end # number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts prop_get('dad-attempts') end # number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts=(val) prop_set('dad-attempts', val) end # interval (in seconds) between consecutive neighbor solicitation messages def ns_interval prop_get('ns-interval') end # interval (in seconds) between consecutive neighbor solicitation messages def ns_interval=(val) prop_set('ns-interval', val) end # time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time prop_get('reachable-time') end # time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time=(val) prop_set('reachable-time', val) end # disable Neighbor Unreachability Detection def disable_nud prop_get('disable-nud') end # disable Neighbor Unreachability Detection def disable_nud=(val) prop_set('disable-nud', val) end end def neighbor_discovery @subclasses['neighbor-discovery'] ||= NeighborDiscovery.new(parent_instance: self, client: @client, create_children: @create_children) end class DhcpClient < ConfigClass def has_multiple_values?; false; end def _section :'dhcp-client' end class V6Options < ConfigClass def has_multiple_values?; false; end def _section :'v6-options' end class Enable < XML::ConfigClass def has_multiple_values?; true; end def _section :enable end class No < ConfigClass def has_multiple_values?; false; end def _section :no end @props = {} end def no @subclasses['no'] ||= No.new(parent_instance: self, client: @client, create_children: @create_children) end class Yes < ConfigClass def has_multiple_values?; false; end def _section :yes end @props = {'non-temp-addr'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Request Non-Temporary Address Type', 'uiHint-fieldLabel'=>'Non-Temporary Address'}, 'temp-addr'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Request Temporary Address Type', 'uiHint-fieldLabel'=>'Temporary Address'}} # Request Non-Temporary Address Type def non_temp_addr prop_get('non-temp-addr') end # Request Non-Temporary Address Type def non_temp_addr=(val) prop_set('non-temp-addr', val) end # Request Temporary Address Type def temp_addr prop_get('temp-addr') end # Request Temporary Address Type def temp_addr=(val) prop_set('temp-addr', val) end end def yes @subclasses['yes'] ||= Yes.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def enable maybe_register_subclass('enable', Enable.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'support-srvr-reconfig'=>{'node-type'=>'element', 'hidden'=>'yes', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable DHCPv6 Server Re-Configuration Support', 'uiHint-fieldLabel'=>'DHCPv6 Server Re-Configuration Support'}, 'rapid-commit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable Rapid Commit', 'uiHint-fieldLabel'=>'Rapid Commit'}, 'duid-type'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'duid-type-llt', 'optional'=>'yes', 'help-string'=>'Select DUID-LLT/DUID-LL', 'uiHint-fieldLabel'=>'DUID Type', 'enum'=>[{'name'=>'duid-type-llt', 'value'=>'duid-type-llt', 'optional'=>'yes', 'help-string'=>'DUID-LLT'}, {'name'=>'duid-type-ll', 'value'=>'duid-type-ll', 'optional'=>'yes', 'help-string'=>'DUID-LL'}]}} # Enable DHCPv6 Server Re-Configuration Support def support_srvr_reconfig prop_get('support-srvr-reconfig') end # Enable DHCPv6 Server Re-Configuration Support def support_srvr_reconfig=(val) prop_set('support-srvr-reconfig', val) end # Enable Rapid Commit def rapid_commit prop_get('rapid-commit') end # Enable Rapid Commit def rapid_commit=(val) prop_set('rapid-commit', val) end # Select DUID-LLT/DUID-LL def duid_type prop_get('duid-type') end # Select DUID-LLT/DUID-LL def duid_type=(val) prop_set('duid-type', val) end end def v6_options @subclasses['v6-options'] ||= V6Options.new(parent_instance: self, client: @client, create_children: @create_children) end class PrefixDelegation < ConfigClass def has_multiple_values?; false; end def _section :'prefix-delegation' end class Enable < XML::ConfigClass def has_multiple_values?; true; end def _section :enable end class No < ConfigClass def has_multiple_values?; false; end def _section :no end @props = {} end def no @subclasses['no'] ||= No.new(parent_instance: self, client: @client, create_children: @create_children) end class Yes < ConfigClass def has_multiple_values?; false; end def _section :yes end @props = {'prefix-len-hint'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Send prefix length hint to server', 'uiHint-fieldLabel'=>'DHCP Prefix Length Hint'}, 'prefix-len'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'128', 'default'=>'48', 'help-string'=>'Hint DHCP Prefix Length (bits)', 'uiHint-fieldLabel'=>'DHCP Prefix Length'}, 'pfx-pool-name'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'regex'=>'^[a-zA-Z0-9._-]+$', 'help-string'=>'Configure unique Prefix Pool Name', 'uiHint-fieldLabel'=>'Prefix Pool Name'}} # Send prefix length hint to server def prefix_len_hint prop_get('prefix-len-hint') end # Send prefix length hint to server def prefix_len_hint=(val) prop_set('prefix-len-hint', val) end # Hint DHCP Prefix Length (bits) def prefix_len prop_get('prefix-len') end # Hint DHCP Prefix Length (bits) def prefix_len=(val) prop_set('prefix-len', val) end # Configure unique Prefix Pool Name def pfx_pool_name prop_get('pfx-pool-name') end # Configure unique Prefix Pool Name def pfx_pool_name=(val) prop_set('pfx-pool-name', val) end end def yes @subclasses['yes'] ||= Yes.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def enable maybe_register_subclass('enable', Enable.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def prefix_delegation @subclasses['prefix-delegation'] ||= PrefixDelegation.new(parent_instance: self, client: @client, create_children: @create_children) end class NeighborDiscovery < ConfigClass def has_multiple_values?; false; end def _section :'neighbor-discovery' end class DnsServer < ConfigClass def has_multiple_values?; false; end def _section :'dns-server' end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end class Dhcpv6 < ConfigClass def has_multiple_values?; false; end def _section :dhcpv6 end @props = {} end def dhcpv6 @subclasses['dhcpv6'] ||= Dhcpv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Manual < ConfigClass def has_multiple_values?; false; end def _section :manual end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'unicast-only'=>'yes', 'help-string'=>'IPv6 Address', 'uiHint-fieldLabel'=>'Server'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) Lifetime in Seconds'}} # IPv6 Address def name prop_get('@name') end # (4-3600) Lifetime in Seconds def lifetime prop_get('lifetime') end # (4-3600) Lifetime in Seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def manual @subclasses['manual'] ||= Manual.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'defaule'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def dns_server @subclasses['dns-server'] ||= DnsServer.new(parent_instance: self, client: @client, create_children: @create_children) end class DnsSuffix < ConfigClass def has_multiple_values?; false; end def _section :'dns-suffix' end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end class Dhcpv6 < ConfigClass def has_multiple_values?; false; end def _section :dhcpv6 end @props = {} end def dhcpv6 @subclasses['dhcpv6'] ||= Dhcpv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Manual < ConfigClass def has_multiple_values?; false; end def _section :manual end class Suffix < XML::ConfigClass def has_multiple_values?; true; end def _section :suffix end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'domain name', 'minlen'=>'1', 'maxlen'=>'255', 'uiHint-fieldLabel'=>'Domain'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) lifetime in seconds'}} # domain name def name prop_get('@name') end # (4-3600) lifetime in seconds def lifetime prop_get('lifetime') end # (4-3600) lifetime in seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def suffix maybe_register_subclass('suffix', Suffix.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def manual @subclasses['manual'] ||= Manual.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'defaule'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def dns_suffix @subclasses['dns-suffix'] ||= DnsSuffix.new(parent_instance: self, client: @client, create_children: @create_children) end class Neighbor < XML::ConfigClass def has_multiple_values?; true; end def _section :neighbor end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'help-string'=>'IP address'}, 'hw-address'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'mac-address', 'help-string'=>'MAC address (format xx:xx:xx:xx:xx:xx)'}} # IP address def name prop_get('@name') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address prop_get('hw-address') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address=(val) prop_set('hw-address', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def neighbor maybe_register_subclass('neighbor', Neighbor.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable-ndp-monitor'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable NDP Monitoring', 'uiHint-fieldLabel'=>'Enable NDP Monitoring'}, 'enable-dad'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable Duplicate Address Detection', 'uiHint-fieldLabel'=>'Enable Duplicate Address Detection'}, 'dad-attempts'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'10', 'default'=>'1', 'help-string'=>'number of consecutive neighbor solicitation messages sent for duplicate address detection', 'uiHint-fieldLabel'=>'DAD Attempts'}, 'ns-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'1', 'help-string'=>'interval (in seconds) between consecutive neighbor solicitation messages', 'uiHint-fieldLabel'=>'NS Interval'}, 'reachable-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'10', 'max'=>'36000', 'default'=>'30', 'help-string'=>'time (in seconds) that the Reachable status for a neighbor can be maintained', 'uiHint-fieldLabel'=>'Reachable Time'}} # Enable NDP Monitoring def enable_ndp_monitor prop_get('enable-ndp-monitor') end # Enable NDP Monitoring def enable_ndp_monitor=(val) prop_set('enable-ndp-monitor', val) end # Enable Duplicate Address Detection def enable_dad prop_get('enable-dad') end # Enable Duplicate Address Detection def enable_dad=(val) prop_set('enable-dad', val) end # number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts prop_get('dad-attempts') end # number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts=(val) prop_set('dad-attempts', val) end # interval (in seconds) between consecutive neighbor solicitation messages def ns_interval prop_get('ns-interval') end # interval (in seconds) between consecutive neighbor solicitation messages def ns_interval=(val) prop_set('ns-interval', val) end # time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time prop_get('reachable-time') end # time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time=(val) prop_set('reachable-time', val) end end def neighbor_discovery @subclasses['neighbor-discovery'] ||= NeighborDiscovery.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable DHCPv6 Client', 'uiHint-fieldLabel'=>'Enable'}, 'accept-ra-route'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Accept Router Advertised Default Route', 'uiHint-fieldLabel'=>'Accept Router Advertised Route'}, 'default-route-metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'10', 'help-string'=>'Metric of the default route created'}, 'preference'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'high', 'optional'=>'yes', 'help-string'=>'Select Low/Medium/High', 'uiHint-fieldLabel'=>'Preference', 'enum'=>[{'name'=>'low', 'value'=>'low', 'optional'=>'yes', 'help-string'=>'Low'}, {'name'=>'medium', 'value'=>'medium', 'optional'=>'yes', 'help-string'=>'Medium'}, {'name'=>'high', 'value'=>'high', 'optional'=>'yes', 'help-string'=>'High'}]}} # Enable DHCPv6 Client def enable prop_get('enable') end # Enable DHCPv6 Client def enable=(val) prop_set('enable', val) end # Accept Router Advertised Default Route def accept_ra_route prop_get('accept-ra-route') end # Accept Router Advertised Default Route def accept_ra_route=(val) prop_set('accept-ra-route', val) end # Metric of the default route created def default_route_metric prop_get('default-route-metric') end # Metric of the default route created def default_route_metric=(val) prop_set('default-route-metric', val) end # Select Low/Medium/High def preference prop_get('preference') end # Select Low/Medium/High def preference=(val) prop_set('preference', val) end end def dhcp_client @subclasses['dhcp-client'] ||= DhcpClient.new(parent_instance: self, client: @client, create_children: @create_children) end class Inherited < ConfigClass def has_multiple_values?; false; end def _section :inherited end class AssignAddr < XML::ConfigClass def has_multiple_values?; true; end def _section :'assign-addr' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Gua < ConfigClass def has_multiple_values?; false; end def _section :gua end class PoolType < XML::ConfigClass def has_multiple_values?; true; end def _section :'pool-type' end class Dynamic < ConfigClass def has_multiple_values?; false; end def _section :dynamic end @props = {} end def dynamic @subclasses['dynamic'] ||= Dynamic.new(parent_instance: self, client: @client, create_children: @create_children) end class DynamicId < ConfigClass def has_multiple_values?; false; end def _section :'dynamic-id' end @props = {'identifier'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4095', 'help-string'=>'Range [0-4095] must be unqiue for this prefix-pool', 'uiHint-fieldLabel'=>'Identifier'}} # Range [0-4095] must be unqiue for this prefix-pool def identifier prop_get('identifier') end # Range [0-4095] must be unqiue for this prefix-pool def identifier=(val) prop_set('identifier', val) end end def dynamic_id @subclasses['dynamic-id'] ||= DynamicId.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def pool_type maybe_register_subclass('pool-type', PoolType.new(parent_instance: self, client: @client, create_children: @create_children)) end class Advertise < ConfigClass def has_multiple_values?; false; end def _section :advertise end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable advertising this prefix in router advertisements'}, 'onlink-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages', 'uiHint-fieldLabel'=>'On-Link'}, 'auto-config-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages', 'uiHint-fieldLabel'=>'Autonomous'}} # Enable advertising this prefix in router advertisements def enable prop_get('enable') end # Enable advertising this prefix in router advertisements def enable=(val) prop_set('enable', val) end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag prop_get('onlink-flag') end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag=(val) prop_set('onlink-flag', val) end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag prop_get('auto-config-flag') end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag=(val) prop_set('auto-config-flag', val) end end def advertise @subclasses['advertise'] ||= Advertise.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable-on-interface'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable on Interface'}, 'prefix-pool'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix Pool', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'use-cache'=>'yes', 'optional'=>'yes', 'help-string'=>'Prefix-Pool Name'}} # Enable on Interface def enable_on_interface prop_get('enable-on-interface') end # Enable on Interface def enable_on_interface=(val) prop_set('enable-on-interface', val) end # Prefix-Pool Name def prefix_pool prop_get('prefix-pool') end # Prefix-Pool Name def prefix_pool=(val) prop_set('prefix-pool', val) end end def gua @subclasses['gua'] ||= Gua.new(parent_instance: self, client: @client, create_children: @create_children) end class Ula < ConfigClass def has_multiple_values?; false; end def _section :ula end class Advertise < ConfigClass def has_multiple_values?; false; end def _section :advertise end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable advertising this prefix in router advertisements'}, 'valid-lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'2592000', 'help-string'=>'Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages', 'uiHint-fieldLabel'=>'Valid Lifetime', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967294'}, 'enum'=>[{'value'=>'infinity'}]}}, 'preferred-lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'604800', 'help-string'=>'Preferred Lifetime (in seconds) of the prefix advertised in Router advertisement messages', 'uiHint-fieldLabel'=>'Preferred Lifetime', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967294'}, 'enum'=>[{'value'=>'infinity'}]}}, 'onlink-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages', 'uiHint-fieldLabel'=>'On-Link'}, 'auto-config-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages', 'uiHint-fieldLabel'=>'Autonomous'}} # enable advertising this prefix in router advertisements def enable prop_get('enable') end # enable advertising this prefix in router advertisements def enable=(val) prop_set('enable', val) end # Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def valid_lifetime prop_get('valid-lifetime') end # Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def valid_lifetime=(val) prop_set('valid-lifetime', val) end # Preferred Lifetime (in seconds) of the prefix advertised in Router advertisement messages def preferred_lifetime prop_get('preferred-lifetime') end # Preferred Lifetime (in seconds) of the prefix advertised in Router advertisement messages def preferred_lifetime=(val) prop_set('preferred-lifetime', val) end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag prop_get('onlink-flag') end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag=(val) prop_set('onlink-flag', val) end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag prop_get('auto-config-flag') end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag=(val) prop_set('auto-config-flag', val) end end def advertise @subclasses['advertise'] ||= Advertise.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable-on-interface'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Configure this address on Interface', 'uiHint-fieldLabel'=>'Enable Address on Interface'}, 'address'=>{'node-type'=>'element', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'help-string'=>'Configure ULA (Unique Local Address)', 'uiHint-fieldLabel'=>'Address'}, 'prefix'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Use this as prefix to form full address with interface id/EUI-64', 'uiHint-fieldLabel'=>'Use Interface ID as host portion'}, 'anycast'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Anycast Address', 'uiHint-fieldLabel'=>'Anycast'}} # Configure this address on Interface def enable_on_interface prop_get('enable-on-interface') end # Configure this address on Interface def enable_on_interface=(val) prop_set('enable-on-interface', val) end # Configure ULA (Unique Local Address) def address prop_get('address') end # Configure ULA (Unique Local Address) def address=(val) prop_set('address', val) end # Use this as prefix to form full address with interface id/EUI-64 def prefix prop_get('prefix') end # Use this as prefix to form full address with interface id/EUI-64 def prefix=(val) prop_set('prefix', val) end # Anycast Address def anycast prop_get('anycast') end # Anycast Address def anycast=(val) prop_set('anycast', val) end end def ula @subclasses['ula'] ||= Ula.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'help-string'=>'Name', 'regex'=>'^[a-zA-Z0-9._-]+$'}} # Name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def assign_addr maybe_register_subclass('assign-addr', AssignAddr.new(parent_instance: self, client: @client, create_children: @create_children)) end class NeighborDiscovery < ConfigClass def has_multiple_values?; false; end def _section :'neighbor-discovery' end class RouterAdvertisement < ConfigClass def has_multiple_values?; false; end def _section :'router-advertisement' end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'max-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'1800', 'default'=>'600', 'help-string'=>'Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages', 'uiHint-fieldLabel'=>'Max Interval'}, 'min-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'3', 'max'=>'1350', 'default'=>'200', 'help-string'=>'Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages', 'uiHint-fieldLabel'=>'Min Interval'}, 'link-mtu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise', 'uiHint-fieldLabel'=>'Link MTU', 'multi-types'=>{'rangedint'=>{'min'=>'1280', 'max'=>'9216'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'reachable-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'Reachable Time (in milliseconds) advertised in Router Advertisement messages', 'uiHint-fieldLabel'=>'Reachable Time', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'3600000'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'retransmission-timer'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'Retransmission Timer (in milliseconds) advertised in Router Advertisement messages', 'uiHint-fieldLabel'=>'Retrans Timer', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967295'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'hop-limit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'64', 'help-string'=>'Current Hop Limit advertised in Router Advertisement messages', 'uiHint-fieldLabel'=>'Hop Limit', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'255'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'9000', 'default'=>'1800', 'help-string'=>'Router Lifetime (in seconds) advertised in Router Advertisement messages', 'uiHint-fieldLabel'=>'Lifetime'}, 'router-preference'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'Medium', 'uiHint-fieldLabel'=>'Router Preference', 'enum'=>[{'value'=>'High', 'help-string'=>'01 High'}, {'value'=>'Medium', 'help-string'=>'00 Medium'}, {'value'=>'Low', 'help-string'=>'11 Low'}]}, 'managed-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set the Managed Configuration Flag (M-bit) in Router Advertisement messages', 'uiHint-fieldLabel'=>'Managed Configuration'}, 'other-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages', 'uiHint-fieldLabel'=>'Other Configuration'}, 'enable-consistency-check'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'check consistency of RA messages from other routers.', 'uiHint-fieldLabel'=>'Consistency Check'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages def max_interval prop_get('max-interval') end # Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages def max_interval=(val) prop_set('max-interval', val) end # Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages def min_interval prop_get('min-interval') end # Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages def min_interval=(val) prop_set('min-interval', val) end # value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise def link_mtu prop_get('link-mtu') end # value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise def link_mtu=(val) prop_set('link-mtu', val) end # Reachable Time (in milliseconds) advertised in Router Advertisement messages def reachable_time prop_get('reachable-time') end # Reachable Time (in milliseconds) advertised in Router Advertisement messages def reachable_time=(val) prop_set('reachable-time', val) end # Retransmission Timer (in milliseconds) advertised in Router Advertisement messages def retransmission_timer prop_get('retransmission-timer') end # Retransmission Timer (in milliseconds) advertised in Router Advertisement messages def retransmission_timer=(val) prop_set('retransmission-timer', val) end # Current Hop Limit advertised in Router Advertisement messages def hop_limit prop_get('hop-limit') end # Current Hop Limit advertised in Router Advertisement messages def hop_limit=(val) prop_set('hop-limit', val) end # Router Lifetime (in seconds) advertised in Router Advertisement messages def lifetime prop_get('lifetime') end # Router Lifetime (in seconds) advertised in Router Advertisement messages def lifetime=(val) prop_set('lifetime', val) end def router_preference prop_get('router-preference') end def router_preference=(val) prop_set('router-preference', val) end # Set the Managed Configuration Flag (M-bit) in Router Advertisement messages def managed_flag prop_get('managed-flag') end # Set the Managed Configuration Flag (M-bit) in Router Advertisement messages def managed_flag=(val) prop_set('managed-flag', val) end # Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages def other_flag prop_get('other-flag') end # Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages def other_flag=(val) prop_set('other-flag', val) end # check consistency of RA messages from other routers. def enable_consistency_check prop_get('enable-consistency-check') end # check consistency of RA messages from other routers. def enable_consistency_check=(val) prop_set('enable-consistency-check', val) end end def router_advertisement @subclasses['router-advertisement'] ||= RouterAdvertisement.new(parent_instance: self, client: @client, create_children: @create_children) end class DnsServer < ConfigClass def has_multiple_values?; false; end def _section :'dns-server' end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end class Dhcpv6 < ConfigClass def has_multiple_values?; false; end def _section :dhcpv6 end @props = {'prefix-pool'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix Pool', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-Pool Name'}} # Prefix-Pool Name def prefix_pool prop_get('prefix-pool') end # Prefix-Pool Name def prefix_pool=(val) prop_set('prefix-pool', val) end end def dhcpv6 @subclasses['dhcpv6'] ||= Dhcpv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Manual < ConfigClass def has_multiple_values?; false; end def _section :manual end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'unicast-only'=>'yes', 'help-string'=>'IPv6 Address', 'uiHint-fieldLabel'=>'Server'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) Lifetime in Seconds'}} # IPv6 Address def name prop_get('@name') end # (4-3600) Lifetime in Seconds def lifetime prop_get('lifetime') end # (4-3600) Lifetime in Seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def manual @subclasses['manual'] ||= Manual.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'defaule'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def dns_server @subclasses['dns-server'] ||= DnsServer.new(parent_instance: self, client: @client, create_children: @create_children) end class DnsSuffix < ConfigClass def has_multiple_values?; false; end def _section :'dns-suffix' end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end class Dhcpv6 < ConfigClass def has_multiple_values?; false; end def _section :dhcpv6 end @props = {'prefix-pool'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix Pool', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-Pool Name'}} # Prefix-Pool Name def prefix_pool prop_get('prefix-pool') end # Prefix-Pool Name def prefix_pool=(val) prop_set('prefix-pool', val) end end def dhcpv6 @subclasses['dhcpv6'] ||= Dhcpv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Manual < ConfigClass def has_multiple_values?; false; end def _section :manual end class Suffix < XML::ConfigClass def has_multiple_values?; true; end def _section :suffix end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'domain name', 'minlen'=>'1', 'maxlen'=>'255', 'uiHint-fieldLabel'=>'Domain'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) lifetime in seconds'}} # domain name def name prop_get('@name') end # (4-3600) lifetime in seconds def lifetime prop_get('lifetime') end # (4-3600) lifetime in seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def suffix maybe_register_subclass('suffix', Suffix.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def manual @subclasses['manual'] ||= Manual.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'defaule'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def dns_suffix @subclasses['dns-suffix'] ||= DnsSuffix.new(parent_instance: self, client: @client, create_children: @create_children) end class Neighbor < XML::ConfigClass def has_multiple_values?; true; end def _section :neighbor end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'help-string'=>'IP address'}, 'hw-address'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'mac-address', 'help-string'=>'MAC address (format xx:xx:xx:xx:xx:xx)'}} # IP address def name prop_get('@name') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address prop_get('hw-address') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address=(val) prop_set('hw-address', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def neighbor maybe_register_subclass('neighbor', Neighbor.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable-ndp-monitor'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable NDP Monitoring', 'uiHint-fieldLabel'=>'Enable NDP Monitoring'}, 'enable-dad'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable Duplicate Address Detection (DAD)', 'uiHint-fieldLabel'=>'Enable Duplicate Address Detection'}, 'dad-attempts'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'10', 'default'=>'1', 'help-string'=>'Number of consecutive neighbor solicitation messages sent for duplicate address detection', 'uiHint-fieldLabel'=>'DAD Attempts'}, 'ns-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'1', 'help-string'=>'Interval (in seconds) between consecutive neighbor solicitation messages', 'uiHint-fieldLabel'=>'NS Interval'}, 'reachable-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'10', 'max'=>'36000', 'default'=>'30', 'help-string'=>'Time (in seconds) that the Reachable status for a neighbor can be maintained', 'uiHint-fieldLabel'=>'Reachable Time'}} # Enable NDP Monitoring def enable_ndp_monitor prop_get('enable-ndp-monitor') end # Enable NDP Monitoring def enable_ndp_monitor=(val) prop_set('enable-ndp-monitor', val) end # Enable Duplicate Address Detection (DAD) def enable_dad prop_get('enable-dad') end # Enable Duplicate Address Detection (DAD) def enable_dad=(val) prop_set('enable-dad', val) end # Number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts prop_get('dad-attempts') end # Number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts=(val) prop_set('dad-attempts', val) end # Interval (in seconds) between consecutive neighbor solicitation messages def ns_interval prop_get('ns-interval') end # Interval (in seconds) between consecutive neighbor solicitation messages def ns_interval=(val) prop_set('ns-interval', val) end # Time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time prop_get('reachable-time') end # Time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time=(val) prop_set('reachable-time', val) end end def neighbor_discovery @subclasses['neighbor-discovery'] ||= NeighborDiscovery.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable Inherited Interface'}} # Enable Inherited Interface def enable prop_get('enable') end # Enable Inherited Interface def enable=(val) prop_set('enable', val) end end def inherited @subclasses['inherited'] ||= Inherited.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable IPv6 on the interface'}, 'interface-id'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'EUI-64', 'multi-types'=>{'string'=>{'maxlen'=>'16', 'loose-membership'=>'yes', 'help-string'=>'user defined 64-bit identifier (in hex)'}, 'enum'=>[{'value'=>'EUI-64', 'help-string'=>'default 64-bit Extended Unique Identifier'}]}}} # Enable IPv6 on the interface def enabled prop_get('enabled') end # Enable IPv6 on the interface def enabled=(val) prop_set('enabled', val) end def interface_id prop_get('interface-id') end def interface_id=(val) prop_set('interface-id', val) end end def ipv6 @subclasses['ipv6'] ||= Ipv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Pppoe < ConfigClass def has_multiple_values?; false; end def _section :pppoe end class StaticAddress < ConfigClass def has_multiple_values?; false; end def _section :'static-address' end @props = {'ip'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'static ip address'}} # static ip address def ip prop_get('ip') end # static ip address def ip=(val) prop_set('ip', val) end end def static_address @subclasses['static-address'] ||= StaticAddress.new(parent_instance: self, client: @client, create_children: @create_children) end class Passive < ConfigClass def has_multiple_values?; false; end def _section :passive end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def passive @subclasses['passive'] ||= Passive.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'authentication'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'help-string'=>'authentication protocol', 'enum'=>[{'value'=>'CHAP', 'help-string'=>'Challenge Handshake Authentication Protocol'}, {'value'=>'PAP', 'help-string'=>'Password Authentication Protocol'}, {'value'=>'auto', 'help-string'=>'auto select CHAP or PAP'}]}, 'username'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'255', 'help-string'=>'username for ppp authentication'}, 'password'=>{'node-type'=>'element', 'type'=>'string', 'encrypt'=>'yes', 'maxlen'=>'255', 'help-string'=>'password for ppp autentication'}, 'create-default-route'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'automatically create default route pointing to peer'}, 'default-route-metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'10', 'help-string'=>'metric of the default route created'}, 'access-concentrator'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'255', 'help-string'=>'desired access concentrator'}, 'service'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'255', 'help-string'=>'desired service'}, 'auto-connect'=>{'node-type'=>'element', 'disabled'=>'yes', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'automatically re-connect to peer'}, 'auto-connect-timeout'=>{'node-type'=>'element', 'disabled'=>'yes', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'0', 'min'=>'0', 'max'=>'65535', 'help-string'=>'delay (in seconds) before autmoatically re-connect'}, 'idle-disconnect'=>{'node-type'=>'element', 'disabled'=>'yes', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'0', 'min'=>'0', 'max'=>'65535', 'help-string'=>'idle timeout (in minutes) for the pppoe session (0 to disable)'}, 'clear-on-disconnect'=>{'node-type'=>'element', 'disabled'=>'yes', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'clear ip address and gateway on pppoe disconnect'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # authentication protocol def authentication prop_get('authentication') end # authentication protocol def authentication=(val) prop_set('authentication', val) end # username for ppp authentication def username prop_get('username') end # username for ppp authentication def username=(val) prop_set('username', val) end # password for ppp autentication def password prop_get('password') end # password for ppp autentication def password=(val) prop_set('password', val) end # automatically create default route pointing to peer def create_default_route prop_get('create-default-route') end # automatically create default route pointing to peer def create_default_route=(val) prop_set('create-default-route', val) end # metric of the default route created def default_route_metric prop_get('default-route-metric') end # metric of the default route created def default_route_metric=(val) prop_set('default-route-metric', val) end # desired access concentrator def access_concentrator prop_get('access-concentrator') end # desired access concentrator def access_concentrator=(val) prop_set('access-concentrator', val) end # desired service def service prop_get('service') end # desired service def service=(val) prop_set('service', val) end # automatically re-connect to peer def auto_connect prop_get('auto-connect') end # automatically re-connect to peer def auto_connect=(val) prop_set('auto-connect', val) end # delay (in seconds) before autmoatically re-connect def auto_connect_timeout prop_get('auto-connect-timeout') end # delay (in seconds) before autmoatically re-connect def auto_connect_timeout=(val) prop_set('auto-connect-timeout', val) end # idle timeout (in minutes) for the pppoe session (0 to disable) def idle_disconnect prop_get('idle-disconnect') end # idle timeout (in minutes) for the pppoe session (0 to disable) def idle_disconnect=(val) prop_set('idle-disconnect', val) end # clear ip address and gateway on pppoe disconnect def clear_on_disconnect prop_get('clear-on-disconnect') end # clear ip address and gateway on pppoe disconnect def clear_on_disconnect=(val) prop_set('clear-on-disconnect', val) end end def pppoe @subclasses['pppoe'] ||= Pppoe.new(parent_instance: self, client: @client, create_children: @create_children) end class DhcpClient < ConfigClass def has_multiple_values?; false; end def _section :'dhcp-client' end class SendHostname < ConfigClass def has_multiple_values?; false; end def _section :'send-hostname' end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'hostname'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'system-hostname', 'help-string'=>'Set Interface Hostname', 'multi-types'=>{'string'=>{'regex'=>'^[a-zA-Z0-9\._-]+$', 'minlen'=>'1', 'maxlen'=>'64', 'loose-membership'=>'yes', 'help-string'=>'Custom Interface Hostname'}, 'enum'=>[{'value'=>'system-hostname', 'help-string'=>'System Hostname'}]}}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Set Interface Hostname def hostname prop_get('hostname') end # Set Interface Hostname def hostname=(val) prop_set('hostname', val) end end def send_hostname @subclasses['send-hostname'] ||= SendHostname.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'create-default-route'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Automatically create default route pointing to default gateway provided by server'}, 'default-route-metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'10', 'help-string'=>'Metric of the default route created'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Automatically create default route pointing to default gateway provided by server def create_default_route prop_get('create-default-route') end # Automatically create default route pointing to default gateway provided by server def create_default_route=(val) prop_set('create-default-route', val) end # Metric of the default route created def default_route_metric prop_get('default-route-metric') end # Metric of the default route created def default_route_metric=(val) prop_set('default-route-metric', val) end end def dhcp_client @subclasses['dhcp-client'] ||= DhcpClient.new(parent_instance: self, client: @client, create_children: @create_children) end class DdnsConfig < ConfigClass def has_multiple_values?; false; end def _section :'ddns-config' end class DdnsIp < XML::ConfigClass def has_multiple_values?; true; end def _section :'ddns-ip' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'maxlen'=>'127'}, 'enum'=>[{'value'=>'DHCP'}, {'value'=>'PPPoE'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def ddns_ip maybe_register_subclass('ddns-ip', DdnsIp.new(parent_instance: self, client: @client, create_children: @create_children)) end class DdnsIpv6 < XML::ConfigClass def has_multiple_values?; true; end def _section :'ddns-ipv6' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def ddns_ipv6 maybe_register_subclass('ddns-ipv6', DdnsIpv6.new(parent_instance: self, client: @client, create_children: @create_children)) end class DdnsVendorConfig < XML::ConfigClass def has_multiple_values?; true; end def _section :'ddns-vendor-config' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'255'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ddns_vendor_config maybe_register_subclass('ddns-vendor-config', DdnsVendorConfig.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'ddns-enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'ddns-update-interval'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'30', 'default'=>'1', 'optional'=>'yes'}, 'ddns-hostname'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([$a-zA-Z0-9_\.\-])+$', 'minlen'=>'1', 'maxlen'=>'255', 'help-string'=>'ddns hostname variable or real address'}, 'ddns-cert-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes'}, 'ddns-vendor'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127', 'help-string'=>'Vendor and product type'}} def ddns_enabled prop_get('ddns-enabled') end def ddns_enabled=(val) prop_set('ddns-enabled', val) end def ddns_update_interval prop_get('ddns-update-interval') end def ddns_update_interval=(val) prop_set('ddns-update-interval', val) end # ddns hostname variable or real address def ddns_hostname prop_get('ddns-hostname') end # ddns hostname variable or real address def ddns_hostname=(val) prop_set('ddns-hostname', val) end def ddns_cert_profile prop_get('ddns-cert-profile') end def ddns_cert_profile=(val) prop_set('ddns-cert-profile', val) end # Vendor and product type def ddns_vendor prop_get('ddns-vendor') end # Vendor and product type def ddns_vendor=(val) prop_set('ddns-vendor', val) end end def ddns_config @subclasses['ddns-config'] ||= DdnsConfig.new(parent_instance: self, client: @client, create_children: @create_children) end class Arp < XML::ConfigClass def has_multiple_values?; true; end def _section :arp end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'ip-address', 'help-string'=>'IP address'}, 'hw-address'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'mac-address', 'help-string'=>'MAC address (format xx:xx:xx:xx:xx:xx)'}} # IP address def name prop_get('@name') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address prop_get('hw-address') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address=(val) prop_set('hw-address', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def arp maybe_register_subclass('arp', Arp.new(parent_instance: self, client: @client, create_children: @create_children)) end class NdpProxy < ConfigClass def has_multiple_values?; false; end def _section :'ndp-proxy' end class Address < XML::ConfigClass def has_multiple_values?; true; end def _section :address end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'IPv6 address or address object name'}, 'negate'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'max-count'=>'16', 'help-string'=>'put the prefix or address on a block list'}} # IPv6 address or address object name def name prop_get('@name') end # put the prefix or address on a block list def negate prop_get('negate') end # put the prefix or address on a block list def negate=(val) prop_set('negate', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def address maybe_register_subclass('address', Address.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable proxy NDP on the interface'}} # Enable proxy NDP on the interface def enabled prop_get('enabled') end # Enable proxy NDP on the interface def enabled=(val) prop_set('enabled', val) end end def ndp_proxy @subclasses['ndp-proxy'] ||= NdpProxy.new(parent_instance: self, client: @client, create_children: @create_children) end class SdwanLinkSettings < ConfigClass def has_multiple_values?; false; end def _section :'sdwan-link-settings' end class UpstreamNat < ConfigClass def has_multiple_values?; false; end def _section :'upstream-nat' end class StaticIp < ConfigClass def has_multiple_values?; false; end def _section :'static-ip' end @props = {'ip-address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Upstream NAT IP address', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'ipspec'=>{'unicast-only'=>'yes'}}}, 'fqdn'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'regex'=>'^([a-zA-Z0-9._-])+$', 'help-string'=>'Upstream NAT address FQDN name configuration'}} # Upstream NAT IP address def ip_address prop_get('ip-address') end # Upstream NAT IP address def ip_address=(val) prop_set('ip-address', val) end # Upstream NAT address FQDN name configuration def fqdn prop_get('fqdn') end # Upstream NAT address FQDN name configuration def fqdn=(val) prop_set('fqdn', val) end end def static_ip @subclasses['static-ip'] ||= StaticIp.new(parent_instance: self, client: @client, create_children: @create_children) end class Ddns < ConfigClass def has_multiple_values?; false; end def _section :ddns end @props = {} end def ddns @subclasses['ddns'] ||= Ddns.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable upstream NAT IP config'}} # Enable upstream NAT IP config def enable prop_get('enable') end # Enable upstream NAT IP config def enable=(val) prop_set('enable', val) end end def upstream_nat @subclasses['upstream-nat'] ||= UpstreamNat.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable sdwan on this ethernet interface'}, 'sdwan-interface-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'Sdwan link characteristics'}} # Enable sdwan on this ethernet interface def enable prop_get('enable') end # Enable sdwan on this ethernet interface def enable=(val) prop_set('enable', val) end # Sdwan link characteristics def sdwan_interface_profile prop_get('sdwan-interface-profile') end # Sdwan link characteristics def sdwan_interface_profile=(val) prop_set('sdwan-interface-profile', val) end end def sdwan_link_settings @subclasses['sdwan-link-settings'] ||= SdwanLinkSettings.new(parent_instance: self, client: @client, create_children: @create_children) end class Units < XML::ConfigClass def has_multiple_values?; true; end def _section :units end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SdwanLinkSettings < ConfigClass def has_multiple_values?; false; end def _section :'sdwan-link-settings' end class UpstreamNat < ConfigClass def has_multiple_values?; false; end def _section :'upstream-nat' end class StaticIp < ConfigClass def has_multiple_values?; false; end def _section :'static-ip' end @props = {'ip-address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Upstream NAT IP address', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'ipspec'=>{'unicast-only'=>'yes'}}}, 'fqdn'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'regex'=>'^([a-zA-Z0-9._-])+$', 'help-string'=>'Upstream NAT address FQDN name configuration'}} # Upstream NAT IP address def ip_address prop_get('ip-address') end # Upstream NAT IP address def ip_address=(val) prop_set('ip-address', val) end # Upstream NAT address FQDN name configuration def fqdn prop_get('fqdn') end # Upstream NAT address FQDN name configuration def fqdn=(val) prop_set('fqdn', val) end end def static_ip @subclasses['static-ip'] ||= StaticIp.new(parent_instance: self, client: @client, create_children: @create_children) end class Ddns < ConfigClass def has_multiple_values?; false; end def _section :ddns end @props = {} end def ddns @subclasses['ddns'] ||= Ddns.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable upstream NAT IP config'}} # Enable upstream NAT IP config def enable prop_get('enable') end # Enable upstream NAT IP config def enable=(val) prop_set('enable', val) end end def upstream_nat @subclasses['upstream-nat'] ||= UpstreamNat.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable sdwan on this ethernet interface'}, 'sdwan-interface-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'Sdwan link characteristics'}} # Enable sdwan on this ethernet interface def enable prop_get('enable') end # Enable sdwan on this ethernet interface def enable=(val) prop_set('enable', val) end # Sdwan link characteristics def sdwan_interface_profile prop_get('sdwan-interface-profile') end # Sdwan link characteristics def sdwan_interface_profile=(val) prop_set('sdwan-interface-profile', val) end end def sdwan_link_settings @subclasses['sdwan-link-settings'] ||= SdwanLinkSettings.new(parent_instance: self, client: @client, create_children: @create_children) end class Bonjour < ConfigClass def has_multiple_values?; false; end def _section :bonjour end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set to support Bonjour service'}, 'ttl-check'=>{'node-type'=>'element', 'internal'=>'yes', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set to check and update TTL'}, 'group-id'=>{'node-type'=>'element', 'internal'=>'yes', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'40', 'min'=>'0', 'max'=>'16', 'help-string'=>'default 0: NO-Group'}} # Set to support Bonjour service def enable prop_get('enable') end # Set to support Bonjour service def enable=(val) prop_set('enable', val) end # Set to check and update TTL def ttl_check prop_get('ttl-check') end # Set to check and update TTL def ttl_check=(val) prop_set('ttl-check', val) end # default 0: NO-Group def group_id prop_get('group-id') end # default 0: NO-Group def group_id=(val) prop_set('group-id', val) end end def bonjour @subclasses['bonjour'] ||= Bonjour.new(parent_instance: self, client: @client, create_children: @create_children) end class AdjustTcpMss < ConfigClass def has_multiple_values?; false; end def _section :'adjust-tcp-mss' end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set if TCP MSS value should be reduced based on mtu'}, 'ipv4-mss-adjustment'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'40', 'min'=>'40', 'max'=>'300', 'help-string'=>'IPv4 MSS adjustment size (in bytes)'}, 'ipv6-mss-adjustment'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'60', 'min'=>'60', 'max'=>'300', 'help-string'=>'IPv6 MSS adjustment size (in bytes)'}} # Set if TCP MSS value should be reduced based on mtu def enable prop_get('enable') end # Set if TCP MSS value should be reduced based on mtu def enable=(val) prop_set('enable', val) end # IPv4 MSS adjustment size (in bytes) def ipv4_mss_adjustment prop_get('ipv4-mss-adjustment') end # IPv4 MSS adjustment size (in bytes) def ipv4_mss_adjustment=(val) prop_set('ipv4-mss-adjustment', val) end # IPv6 MSS adjustment size (in bytes) def ipv6_mss_adjustment prop_get('ipv6-mss-adjustment') end # IPv6 MSS adjustment size (in bytes) def ipv6_mss_adjustment=(val) prop_set('ipv6-mss-adjustment', val) end end def adjust_tcp_mss @subclasses['adjust-tcp-mss'] ||= AdjustTcpMss.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip < XML::ConfigClass def has_multiple_values?; true; end def _section :ip end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'regex'=>'^([ $0-9a-zA-Z:@./_-])+$', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'IP address/netmask or address object name'}, 'sdwan-gateway'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'Gateway IPv4 Address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'ipv4-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # IP address/netmask or address object name def name prop_get('@name') end # Gateway IPv4 Address def sdwan_gateway prop_get('sdwan-gateway') end # Gateway IPv4 Address def sdwan_gateway=(val) prop_set('sdwan-gateway', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ip maybe_register_subclass('ip', Ip.new(parent_instance: self, client: @client, create_children: @create_children)) end class Ipv6 < ConfigClass def has_multiple_values?; false; end def _section :ipv6 end class Address < XML::ConfigClass def has_multiple_values?; true; end def _section :address end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Prefix < ConfigClass def has_multiple_values?; false; end def _section :prefix end @props = {} end def prefix @subclasses['prefix'] ||= Prefix.new(parent_instance: self, client: @client, create_children: @create_children) end class Anycast < ConfigClass def has_multiple_values?; false; end def _section :anycast end @props = {} end def anycast @subclasses['anycast'] ||= Anycast.new(parent_instance: self, client: @client, create_children: @create_children) end class Advertise < ConfigClass def has_multiple_values?; false; end def _section :advertise end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable advertising this prefix in router advertisements'}, 'valid-lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'2592000', 'help-string'=>'Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967294'}, 'enum'=>[{'value'=>'infinity'}]}}, 'preferred-lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'604800', 'help-string'=>'Preferred Lifetime (in seconds) of the prefix advertised in Router Advertisement messages', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967294'}, 'enum'=>[{'value'=>'infinity'}]}}, 'onlink-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages'}, 'auto-config-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages'}} # enable advertising this prefix in router advertisements def enable prop_get('enable') end # enable advertising this prefix in router advertisements def enable=(val) prop_set('enable', val) end # Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def valid_lifetime prop_get('valid-lifetime') end # Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def valid_lifetime=(val) prop_set('valid-lifetime', val) end # Preferred Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def preferred_lifetime prop_get('preferred-lifetime') end # Preferred Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def preferred_lifetime=(val) prop_set('preferred-lifetime', val) end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag prop_get('onlink-flag') end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag=(val) prop_set('onlink-flag', val) end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag prop_get('auto-config-flag') end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag=(val) prop_set('auto-config-flag', val) end end def advertise @subclasses['advertise'] ||= Advertise.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'^([ $0-9a-zA-Z:@./_-])+$', 'maxlen'=>'63', 'help-string'=>'IPv6 address/prefix length or address object name'}, 'enable-on-interface'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'configure this address on interface'}} # IPv6 address/prefix length or address object name def name prop_get('@name') end # configure this address on interface def enable_on_interface prop_get('enable-on-interface') end # configure this address on interface def enable_on_interface=(val) prop_set('enable-on-interface', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def address maybe_register_subclass('address', Address.new(parent_instance: self, client: @client, create_children: @create_children)) end class NeighborDiscovery < ConfigClass def has_multiple_values?; false; end def _section :'neighbor-discovery' end class RouterAdvertisement < ConfigClass def has_multiple_values?; false; end def _section :'router-advertisement' end class Prefix < XML::ConfigClass def has_multiple_values?; true; end def _section :prefix end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class ValidLifetime < XML::ConfigClass def has_multiple_values?; true; end def _section :'valid-lifetime' end @props = {'fixed-time'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'default'=>'2592000', 'help-string'=>'fixed value (in seconds) of the Valid Lifetime field of the prefix in Router Advertisement messages'}, 'expire-time'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'19', 'maxlen'=>'19', 'regex'=>'[0-9][0-9][0-9][0-9]/([0][1-9]|[1][0-2])/([0-2][0-9]|[3][0-1])@([01][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9])', 'help-string'=>'expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59)'}} # fixed value (in seconds) of the Valid Lifetime field of the prefix in Router Advertisement messages def fixed_time prop_get('fixed-time') end # fixed value (in seconds) of the Valid Lifetime field of the prefix in Router Advertisement messages def fixed_time=(val) prop_set('fixed-time', val) end # expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59) def expire_time prop_get('expire-time') end # expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59) def expire_time=(val) prop_set('expire-time', val) end end def valid_lifetime maybe_register_subclass('valid-lifetime', ValidLifetime.new(parent_instance: self, client: @client, create_children: @create_children)) end class PreferredLifetime < XML::ConfigClass def has_multiple_values?; true; end def _section :'preferred-lifetime' end @props = {'fixed-time'=>{'node-type'=>'element', 'type'=>'rangedint', 'default'=>'604800', 'min'=>'0', 'max'=>'4294967295', 'help-string'=>'Fixed value (in seconds) of the Preferred Lifetime field of the prefix in Router Advertisement messages'}, 'expire-time'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'19', 'maxlen'=>'19', 'regex'=>'[0-9][0-9][0-9][0-9]/([0][1-9]|[1][0-2])/([0-2][0-9]|[3][0-1])@([01][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9])', 'help-string'=>'expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59)'}} # Fixed value (in seconds) of the Preferred Lifetime field of the prefix in Router Advertisement messages def fixed_time prop_get('fixed-time') end # Fixed value (in seconds) of the Preferred Lifetime field of the prefix in Router Advertisement messages def fixed_time=(val) prop_set('fixed-time', val) end # expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59) def expire_time prop_get('expire-time') end # expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59) def expire_time=(val) prop_set('expire-time', val) end end def preferred_lifetime maybe_register_subclass('preferred-lifetime', PreferredLifetime.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'help-string'=>'IPv6 prefix'}, 'onlink-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages'}, 'auto-config-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages'}} # IPv6 prefix def name prop_get('@name') end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag prop_get('onlink-flag') end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag=(val) prop_set('onlink-flag', val) end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag prop_get('auto-config-flag') end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag=(val) prop_set('auto-config-flag', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def prefix maybe_register_subclass('prefix', Prefix.new(parent_instance: self, client: @client, create_children: @create_children)) end class DnsSupport < ConfigClass def has_multiple_values?; false; end def _section :'dns-support' end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'unicast-only'=>'yes', 'help-string'=>'IPv6 address'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) lifetime in seconds'}} # IPv6 address def name prop_get('@name') end # (4-3600) lifetime in seconds def lifetime prop_get('lifetime') end # (4-3600) lifetime in seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end class Suffix < XML::ConfigClass def has_multiple_values?; true; end def _section :suffix end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'domain name', 'minlen'=>'1', 'maxlen'=>'255'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) lifetime in seconds'}} # domain name def name prop_get('@name') end # (4-3600) lifetime in seconds def lifetime prop_get('lifetime') end # (4-3600) lifetime in seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def suffix maybe_register_subclass('suffix', Suffix.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'defaule'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def dns_support @subclasses['dns-support'] ||= DnsSupport.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'max-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'1800', 'default'=>'600', 'help-string'=>'Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages'}, 'min-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'3', 'max'=>'1350', 'default'=>'200', 'help-string'=>'Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages'}, 'managed-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set the Managed Configuration Flag (M-bit) in Router Advertisement messages'}, 'other-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages'}, 'link-mtu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise', 'multi-types'=>{'rangedint'=>{'min'=>'1280', 'max'=>'9216'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'reachable-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'Reachable Time (in milliseconds) advertised in Router Advertisement messages', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'3600000'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'retransmission-timer'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'Retransmission Timer (in milliseconds) advertised in Router Advertisement messages', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967295'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'hop-limit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'64', 'help-string'=>'Current Hop Limit advertised in Router Advertisement messages', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'255'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'9000', 'default'=>'1800', 'help-string'=>'Router Lifetime (in seconds) advertised in Router Advertisement messages'}, 'router-preference'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'Medium', 'enum'=>[{'value'=>'High', 'help-string'=>'01 High'}, {'value'=>'Medium', 'help-string'=>'00 Medium'}, {'value'=>'Low', 'help-string'=>'11 Low'}]}, 'enable-consistency-check'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'check consistency of RA messages from other routers.'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages def max_interval prop_get('max-interval') end # Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages def max_interval=(val) prop_set('max-interval', val) end # Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages def min_interval prop_get('min-interval') end # Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages def min_interval=(val) prop_set('min-interval', val) end # Set the Managed Configuration Flag (M-bit) in Router Advertisement messages def managed_flag prop_get('managed-flag') end # Set the Managed Configuration Flag (M-bit) in Router Advertisement messages def managed_flag=(val) prop_set('managed-flag', val) end # Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages def other_flag prop_get('other-flag') end # Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages def other_flag=(val) prop_set('other-flag', val) end # value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise def link_mtu prop_get('link-mtu') end # value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise def link_mtu=(val) prop_set('link-mtu', val) end # Reachable Time (in milliseconds) advertised in Router Advertisement messages def reachable_time prop_get('reachable-time') end # Reachable Time (in milliseconds) advertised in Router Advertisement messages def reachable_time=(val) prop_set('reachable-time', val) end # Retransmission Timer (in milliseconds) advertised in Router Advertisement messages def retransmission_timer prop_get('retransmission-timer') end # Retransmission Timer (in milliseconds) advertised in Router Advertisement messages def retransmission_timer=(val) prop_set('retransmission-timer', val) end # Current Hop Limit advertised in Router Advertisement messages def hop_limit prop_get('hop-limit') end # Current Hop Limit advertised in Router Advertisement messages def hop_limit=(val) prop_set('hop-limit', val) end # Router Lifetime (in seconds) advertised in Router Advertisement messages def lifetime prop_get('lifetime') end # Router Lifetime (in seconds) advertised in Router Advertisement messages def lifetime=(val) prop_set('lifetime', val) end def router_preference prop_get('router-preference') end def router_preference=(val) prop_set('router-preference', val) end # check consistency of RA messages from other routers. def enable_consistency_check prop_get('enable-consistency-check') end # check consistency of RA messages from other routers. def enable_consistency_check=(val) prop_set('enable-consistency-check', val) end end def router_advertisement @subclasses['router-advertisement'] ||= RouterAdvertisement.new(parent_instance: self, client: @client, create_children: @create_children) end class Neighbor < XML::ConfigClass def has_multiple_values?; true; end def _section :neighbor end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'help-string'=>'IP address'}, 'hw-address'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'mac-address', 'help-string'=>'MAC address (format xx:xx:xx:xx:xx:xx)'}} # IP address def name prop_get('@name') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address prop_get('hw-address') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address=(val) prop_set('hw-address', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def neighbor maybe_register_subclass('neighbor', Neighbor.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable-ndp-monitor'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable ndp monitoring'}, 'enable-dad'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable duplicate address detection'}, 'dad-attempts'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'10', 'default'=>'1', 'help-string'=>'number of consecutive neighbor solicitation messages sent for duplicate address detection'}, 'ns-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'1', 'help-string'=>'interval (in seconds) between consecutive neighbor solicitation messages'}, 'reachable-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'10', 'max'=>'36000', 'default'=>'30', 'help-string'=>'time (in seconds) that the Reachable status for a neighbor can be maintained'}, 'disable-nud'=>{'node-type'=>'element', 'disabled'=>'yes', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'disable Neighbor Unreachability Detection'}} # enable ndp monitoring def enable_ndp_monitor prop_get('enable-ndp-monitor') end # enable ndp monitoring def enable_ndp_monitor=(val) prop_set('enable-ndp-monitor', val) end # enable duplicate address detection def enable_dad prop_get('enable-dad') end # enable duplicate address detection def enable_dad=(val) prop_set('enable-dad', val) end # number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts prop_get('dad-attempts') end # number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts=(val) prop_set('dad-attempts', val) end # interval (in seconds) between consecutive neighbor solicitation messages def ns_interval prop_get('ns-interval') end # interval (in seconds) between consecutive neighbor solicitation messages def ns_interval=(val) prop_set('ns-interval', val) end # time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time prop_get('reachable-time') end # time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time=(val) prop_set('reachable-time', val) end # disable Neighbor Unreachability Detection def disable_nud prop_get('disable-nud') end # disable Neighbor Unreachability Detection def disable_nud=(val) prop_set('disable-nud', val) end end def neighbor_discovery @subclasses['neighbor-discovery'] ||= NeighborDiscovery.new(parent_instance: self, client: @client, create_children: @create_children) end class DhcpClient < ConfigClass def has_multiple_values?; false; end def _section :'dhcp-client' end class V6Options < ConfigClass def has_multiple_values?; false; end def _section :'v6-options' end class Enable < XML::ConfigClass def has_multiple_values?; true; end def _section :enable end class No < ConfigClass def has_multiple_values?; false; end def _section :no end @props = {} end def no @subclasses['no'] ||= No.new(parent_instance: self, client: @client, create_children: @create_children) end class Yes < ConfigClass def has_multiple_values?; false; end def _section :yes end @props = {'non-temp-addr'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Request Non-Temporary Address Type', 'uiHint-fieldLabel'=>'Non-Temporary Address'}, 'temp-addr'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Request Temporary Address Type', 'uiHint-fieldLabel'=>'Temporary Address'}} # Request Non-Temporary Address Type def non_temp_addr prop_get('non-temp-addr') end # Request Non-Temporary Address Type def non_temp_addr=(val) prop_set('non-temp-addr', val) end # Request Temporary Address Type def temp_addr prop_get('temp-addr') end # Request Temporary Address Type def temp_addr=(val) prop_set('temp-addr', val) end end def yes @subclasses['yes'] ||= Yes.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def enable maybe_register_subclass('enable', Enable.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'support-srvr-reconfig'=>{'node-type'=>'element', 'hidden'=>'yes', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable DHCPv6 Server Re-Configuration Support', 'uiHint-fieldLabel'=>'DHCPv6 Server Re-Configuration Support'}, 'rapid-commit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable Rapid Commit', 'uiHint-fieldLabel'=>'Rapid Commit'}, 'duid-type'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'duid-type-llt', 'optional'=>'yes', 'help-string'=>'Select DUID-LLT/DUID-LL', 'uiHint-fieldLabel'=>'DUID Type', 'enum'=>[{'name'=>'duid-type-llt', 'value'=>'duid-type-llt', 'optional'=>'yes', 'help-string'=>'DUID-LLT'}, {'name'=>'duid-type-ll', 'value'=>'duid-type-ll', 'optional'=>'yes', 'help-string'=>'DUID-LL'}]}} # Enable DHCPv6 Server Re-Configuration Support def support_srvr_reconfig prop_get('support-srvr-reconfig') end # Enable DHCPv6 Server Re-Configuration Support def support_srvr_reconfig=(val) prop_set('support-srvr-reconfig', val) end # Enable Rapid Commit def rapid_commit prop_get('rapid-commit') end # Enable Rapid Commit def rapid_commit=(val) prop_set('rapid-commit', val) end # Select DUID-LLT/DUID-LL def duid_type prop_get('duid-type') end # Select DUID-LLT/DUID-LL def duid_type=(val) prop_set('duid-type', val) end end def v6_options @subclasses['v6-options'] ||= V6Options.new(parent_instance: self, client: @client, create_children: @create_children) end class PrefixDelegation < ConfigClass def has_multiple_values?; false; end def _section :'prefix-delegation' end class Enable < XML::ConfigClass def has_multiple_values?; true; end def _section :enable end class No < ConfigClass def has_multiple_values?; false; end def _section :no end @props = {} end def no @subclasses['no'] ||= No.new(parent_instance: self, client: @client, create_children: @create_children) end class Yes < ConfigClass def has_multiple_values?; false; end def _section :yes end @props = {'prefix-len-hint'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Send prefix length hint to server', 'uiHint-fieldLabel'=>'DHCP Prefix Length Hint'}, 'prefix-len'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'128', 'default'=>'48', 'help-string'=>'Hint DHCP Prefix Length (bits)', 'uiHint-fieldLabel'=>'DHCP Prefix Length'}, 'pfx-pool-name'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'regex'=>'^[a-zA-Z0-9._-]+$', 'help-string'=>'Configure unique Prefix Pool Name', 'uiHint-fieldLabel'=>'Prefix Pool Name'}} # Send prefix length hint to server def prefix_len_hint prop_get('prefix-len-hint') end # Send prefix length hint to server def prefix_len_hint=(val) prop_set('prefix-len-hint', val) end # Hint DHCP Prefix Length (bits) def prefix_len prop_get('prefix-len') end # Hint DHCP Prefix Length (bits) def prefix_len=(val) prop_set('prefix-len', val) end # Configure unique Prefix Pool Name def pfx_pool_name prop_get('pfx-pool-name') end # Configure unique Prefix Pool Name def pfx_pool_name=(val) prop_set('pfx-pool-name', val) end end def yes @subclasses['yes'] ||= Yes.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def enable maybe_register_subclass('enable', Enable.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def prefix_delegation @subclasses['prefix-delegation'] ||= PrefixDelegation.new(parent_instance: self, client: @client, create_children: @create_children) end class NeighborDiscovery < ConfigClass def has_multiple_values?; false; end def _section :'neighbor-discovery' end class DnsServer < ConfigClass def has_multiple_values?; false; end def _section :'dns-server' end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end class Dhcpv6 < ConfigClass def has_multiple_values?; false; end def _section :dhcpv6 end @props = {} end def dhcpv6 @subclasses['dhcpv6'] ||= Dhcpv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Manual < ConfigClass def has_multiple_values?; false; end def _section :manual end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'unicast-only'=>'yes', 'help-string'=>'IPv6 Address', 'uiHint-fieldLabel'=>'Server'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) Lifetime in Seconds'}} # IPv6 Address def name prop_get('@name') end # (4-3600) Lifetime in Seconds def lifetime prop_get('lifetime') end # (4-3600) Lifetime in Seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def manual @subclasses['manual'] ||= Manual.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'defaule'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def dns_server @subclasses['dns-server'] ||= DnsServer.new(parent_instance: self, client: @client, create_children: @create_children) end class DnsSuffix < ConfigClass def has_multiple_values?; false; end def _section :'dns-suffix' end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end class Dhcpv6 < ConfigClass def has_multiple_values?; false; end def _section :dhcpv6 end @props = {} end def dhcpv6 @subclasses['dhcpv6'] ||= Dhcpv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Manual < ConfigClass def has_multiple_values?; false; end def _section :manual end class Suffix < XML::ConfigClass def has_multiple_values?; true; end def _section :suffix end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'domain name', 'minlen'=>'1', 'maxlen'=>'255', 'uiHint-fieldLabel'=>'Domain'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) lifetime in seconds'}} # domain name def name prop_get('@name') end # (4-3600) lifetime in seconds def lifetime prop_get('lifetime') end # (4-3600) lifetime in seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def suffix maybe_register_subclass('suffix', Suffix.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def manual @subclasses['manual'] ||= Manual.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'defaule'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def dns_suffix @subclasses['dns-suffix'] ||= DnsSuffix.new(parent_instance: self, client: @client, create_children: @create_children) end class Neighbor < XML::ConfigClass def has_multiple_values?; true; end def _section :neighbor end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'help-string'=>'IP address'}, 'hw-address'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'mac-address', 'help-string'=>'MAC address (format xx:xx:xx:xx:xx:xx)'}} # IP address def name prop_get('@name') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address prop_get('hw-address') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address=(val) prop_set('hw-address', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def neighbor maybe_register_subclass('neighbor', Neighbor.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable-ndp-monitor'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable NDP Monitoring', 'uiHint-fieldLabel'=>'Enable NDP Monitoring'}, 'enable-dad'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable Duplicate Address Detection', 'uiHint-fieldLabel'=>'Enable Duplicate Address Detection'}, 'dad-attempts'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'10', 'default'=>'1', 'help-string'=>'number of consecutive neighbor solicitation messages sent for duplicate address detection', 'uiHint-fieldLabel'=>'DAD Attempts'}, 'ns-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'1', 'help-string'=>'interval (in seconds) between consecutive neighbor solicitation messages', 'uiHint-fieldLabel'=>'NS Interval'}, 'reachable-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'10', 'max'=>'36000', 'default'=>'30', 'help-string'=>'time (in seconds) that the Reachable status for a neighbor can be maintained', 'uiHint-fieldLabel'=>'Reachable Time'}} # Enable NDP Monitoring def enable_ndp_monitor prop_get('enable-ndp-monitor') end # Enable NDP Monitoring def enable_ndp_monitor=(val) prop_set('enable-ndp-monitor', val) end # Enable Duplicate Address Detection def enable_dad prop_get('enable-dad') end # Enable Duplicate Address Detection def enable_dad=(val) prop_set('enable-dad', val) end # number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts prop_get('dad-attempts') end # number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts=(val) prop_set('dad-attempts', val) end # interval (in seconds) between consecutive neighbor solicitation messages def ns_interval prop_get('ns-interval') end # interval (in seconds) between consecutive neighbor solicitation messages def ns_interval=(val) prop_set('ns-interval', val) end # time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time prop_get('reachable-time') end # time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time=(val) prop_set('reachable-time', val) end end def neighbor_discovery @subclasses['neighbor-discovery'] ||= NeighborDiscovery.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable DHCPv6 Client', 'uiHint-fieldLabel'=>'Enable'}, 'accept-ra-route'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Accept Router Advertised Default Route', 'uiHint-fieldLabel'=>'Accept Router Advertised Route'}, 'default-route-metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'10', 'help-string'=>'Metric of the default route created'}, 'preference'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'high', 'optional'=>'yes', 'help-string'=>'Select Low/Medium/High', 'uiHint-fieldLabel'=>'Preference', 'enum'=>[{'name'=>'low', 'value'=>'low', 'optional'=>'yes', 'help-string'=>'Low'}, {'name'=>'medium', 'value'=>'medium', 'optional'=>'yes', 'help-string'=>'Medium'}, {'name'=>'high', 'value'=>'high', 'optional'=>'yes', 'help-string'=>'High'}]}} # Enable DHCPv6 Client def enable prop_get('enable') end # Enable DHCPv6 Client def enable=(val) prop_set('enable', val) end # Accept Router Advertised Default Route def accept_ra_route prop_get('accept-ra-route') end # Accept Router Advertised Default Route def accept_ra_route=(val) prop_set('accept-ra-route', val) end # Metric of the default route created def default_route_metric prop_get('default-route-metric') end # Metric of the default route created def default_route_metric=(val) prop_set('default-route-metric', val) end # Select Low/Medium/High def preference prop_get('preference') end # Select Low/Medium/High def preference=(val) prop_set('preference', val) end end def dhcp_client @subclasses['dhcp-client'] ||= DhcpClient.new(parent_instance: self, client: @client, create_children: @create_children) end class Inherited < ConfigClass def has_multiple_values?; false; end def _section :inherited end class AssignAddr < XML::ConfigClass def has_multiple_values?; true; end def _section :'assign-addr' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Gua < ConfigClass def has_multiple_values?; false; end def _section :gua end class PoolType < XML::ConfigClass def has_multiple_values?; true; end def _section :'pool-type' end class Dynamic < ConfigClass def has_multiple_values?; false; end def _section :dynamic end @props = {} end def dynamic @subclasses['dynamic'] ||= Dynamic.new(parent_instance: self, client: @client, create_children: @create_children) end class DynamicId < ConfigClass def has_multiple_values?; false; end def _section :'dynamic-id' end @props = {'identifier'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4095', 'help-string'=>'Range [0-4095] must be unqiue for this prefix-pool', 'uiHint-fieldLabel'=>'Identifier'}} # Range [0-4095] must be unqiue for this prefix-pool def identifier prop_get('identifier') end # Range [0-4095] must be unqiue for this prefix-pool def identifier=(val) prop_set('identifier', val) end end def dynamic_id @subclasses['dynamic-id'] ||= DynamicId.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def pool_type maybe_register_subclass('pool-type', PoolType.new(parent_instance: self, client: @client, create_children: @create_children)) end class Advertise < ConfigClass def has_multiple_values?; false; end def _section :advertise end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable advertising this prefix in router advertisements'}, 'onlink-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages', 'uiHint-fieldLabel'=>'On-Link'}, 'auto-config-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages', 'uiHint-fieldLabel'=>'Autonomous'}} # Enable advertising this prefix in router advertisements def enable prop_get('enable') end # Enable advertising this prefix in router advertisements def enable=(val) prop_set('enable', val) end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag prop_get('onlink-flag') end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag=(val) prop_set('onlink-flag', val) end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag prop_get('auto-config-flag') end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag=(val) prop_set('auto-config-flag', val) end end def advertise @subclasses['advertise'] ||= Advertise.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable-on-interface'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable on Interface'}, 'prefix-pool'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix Pool', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'use-cache'=>'yes', 'optional'=>'yes', 'help-string'=>'Prefix-Pool Name'}} # Enable on Interface def enable_on_interface prop_get('enable-on-interface') end # Enable on Interface def enable_on_interface=(val) prop_set('enable-on-interface', val) end # Prefix-Pool Name def prefix_pool prop_get('prefix-pool') end # Prefix-Pool Name def prefix_pool=(val) prop_set('prefix-pool', val) end end def gua @subclasses['gua'] ||= Gua.new(parent_instance: self, client: @client, create_children: @create_children) end class Ula < ConfigClass def has_multiple_values?; false; end def _section :ula end class Advertise < ConfigClass def has_multiple_values?; false; end def _section :advertise end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable advertising this prefix in router advertisements'}, 'valid-lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'2592000', 'help-string'=>'Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages', 'uiHint-fieldLabel'=>'Valid Lifetime', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967294'}, 'enum'=>[{'value'=>'infinity'}]}}, 'preferred-lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'604800', 'help-string'=>'Preferred Lifetime (in seconds) of the prefix advertised in Router advertisement messages', 'uiHint-fieldLabel'=>'Preferred Lifetime', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967294'}, 'enum'=>[{'value'=>'infinity'}]}}, 'onlink-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages', 'uiHint-fieldLabel'=>'On-Link'}, 'auto-config-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages', 'uiHint-fieldLabel'=>'Autonomous'}} # enable advertising this prefix in router advertisements def enable prop_get('enable') end # enable advertising this prefix in router advertisements def enable=(val) prop_set('enable', val) end # Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def valid_lifetime prop_get('valid-lifetime') end # Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def valid_lifetime=(val) prop_set('valid-lifetime', val) end # Preferred Lifetime (in seconds) of the prefix advertised in Router advertisement messages def preferred_lifetime prop_get('preferred-lifetime') end # Preferred Lifetime (in seconds) of the prefix advertised in Router advertisement messages def preferred_lifetime=(val) prop_set('preferred-lifetime', val) end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag prop_get('onlink-flag') end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag=(val) prop_set('onlink-flag', val) end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag prop_get('auto-config-flag') end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag=(val) prop_set('auto-config-flag', val) end end def advertise @subclasses['advertise'] ||= Advertise.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable-on-interface'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Configure this address on Interface', 'uiHint-fieldLabel'=>'Enable Address on Interface'}, 'address'=>{'node-type'=>'element', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'help-string'=>'Configure ULA (Unique Local Address)', 'uiHint-fieldLabel'=>'Address'}, 'prefix'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Use this as prefix to form full address with interface id/EUI-64', 'uiHint-fieldLabel'=>'Use Interface ID as host portion'}, 'anycast'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Anycast Address', 'uiHint-fieldLabel'=>'Anycast'}} # Configure this address on Interface def enable_on_interface prop_get('enable-on-interface') end # Configure this address on Interface def enable_on_interface=(val) prop_set('enable-on-interface', val) end # Configure ULA (Unique Local Address) def address prop_get('address') end # Configure ULA (Unique Local Address) def address=(val) prop_set('address', val) end # Use this as prefix to form full address with interface id/EUI-64 def prefix prop_get('prefix') end # Use this as prefix to form full address with interface id/EUI-64 def prefix=(val) prop_set('prefix', val) end # Anycast Address def anycast prop_get('anycast') end # Anycast Address def anycast=(val) prop_set('anycast', val) end end def ula @subclasses['ula'] ||= Ula.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'help-string'=>'Name', 'regex'=>'^[a-zA-Z0-9._-]+$'}} # Name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def assign_addr maybe_register_subclass('assign-addr', AssignAddr.new(parent_instance: self, client: @client, create_children: @create_children)) end class NeighborDiscovery < ConfigClass def has_multiple_values?; false; end def _section :'neighbor-discovery' end class RouterAdvertisement < ConfigClass def has_multiple_values?; false; end def _section :'router-advertisement' end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'max-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'1800', 'default'=>'600', 'help-string'=>'Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages', 'uiHint-fieldLabel'=>'Max Interval'}, 'min-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'3', 'max'=>'1350', 'default'=>'200', 'help-string'=>'Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages', 'uiHint-fieldLabel'=>'Min Interval'}, 'link-mtu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise', 'uiHint-fieldLabel'=>'Link MTU', 'multi-types'=>{'rangedint'=>{'min'=>'1280', 'max'=>'9216'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'reachable-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'Reachable Time (in milliseconds) advertised in Router Advertisement messages', 'uiHint-fieldLabel'=>'Reachable Time', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'3600000'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'retransmission-timer'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'Retransmission Timer (in milliseconds) advertised in Router Advertisement messages', 'uiHint-fieldLabel'=>'Retrans Timer', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967295'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'hop-limit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'64', 'help-string'=>'Current Hop Limit advertised in Router Advertisement messages', 'uiHint-fieldLabel'=>'Hop Limit', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'255'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'9000', 'default'=>'1800', 'help-string'=>'Router Lifetime (in seconds) advertised in Router Advertisement messages', 'uiHint-fieldLabel'=>'Lifetime'}, 'router-preference'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'Medium', 'uiHint-fieldLabel'=>'Router Preference', 'enum'=>[{'value'=>'High', 'help-string'=>'01 High'}, {'value'=>'Medium', 'help-string'=>'00 Medium'}, {'value'=>'Low', 'help-string'=>'11 Low'}]}, 'managed-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set the Managed Configuration Flag (M-bit) in Router Advertisement messages', 'uiHint-fieldLabel'=>'Managed Configuration'}, 'other-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages', 'uiHint-fieldLabel'=>'Other Configuration'}, 'enable-consistency-check'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'check consistency of RA messages from other routers.', 'uiHint-fieldLabel'=>'Consistency Check'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages def max_interval prop_get('max-interval') end # Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages def max_interval=(val) prop_set('max-interval', val) end # Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages def min_interval prop_get('min-interval') end # Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages def min_interval=(val) prop_set('min-interval', val) end # value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise def link_mtu prop_get('link-mtu') end # value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise def link_mtu=(val) prop_set('link-mtu', val) end # Reachable Time (in milliseconds) advertised in Router Advertisement messages def reachable_time prop_get('reachable-time') end # Reachable Time (in milliseconds) advertised in Router Advertisement messages def reachable_time=(val) prop_set('reachable-time', val) end # Retransmission Timer (in milliseconds) advertised in Router Advertisement messages def retransmission_timer prop_get('retransmission-timer') end # Retransmission Timer (in milliseconds) advertised in Router Advertisement messages def retransmission_timer=(val) prop_set('retransmission-timer', val) end # Current Hop Limit advertised in Router Advertisement messages def hop_limit prop_get('hop-limit') end # Current Hop Limit advertised in Router Advertisement messages def hop_limit=(val) prop_set('hop-limit', val) end # Router Lifetime (in seconds) advertised in Router Advertisement messages def lifetime prop_get('lifetime') end # Router Lifetime (in seconds) advertised in Router Advertisement messages def lifetime=(val) prop_set('lifetime', val) end def router_preference prop_get('router-preference') end def router_preference=(val) prop_set('router-preference', val) end # Set the Managed Configuration Flag (M-bit) in Router Advertisement messages def managed_flag prop_get('managed-flag') end # Set the Managed Configuration Flag (M-bit) in Router Advertisement messages def managed_flag=(val) prop_set('managed-flag', val) end # Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages def other_flag prop_get('other-flag') end # Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages def other_flag=(val) prop_set('other-flag', val) end # check consistency of RA messages from other routers. def enable_consistency_check prop_get('enable-consistency-check') end # check consistency of RA messages from other routers. def enable_consistency_check=(val) prop_set('enable-consistency-check', val) end end def router_advertisement @subclasses['router-advertisement'] ||= RouterAdvertisement.new(parent_instance: self, client: @client, create_children: @create_children) end class DnsServer < ConfigClass def has_multiple_values?; false; end def _section :'dns-server' end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end class Dhcpv6 < ConfigClass def has_multiple_values?; false; end def _section :dhcpv6 end @props = {'prefix-pool'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix Pool', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-Pool Name'}} # Prefix-Pool Name def prefix_pool prop_get('prefix-pool') end # Prefix-Pool Name def prefix_pool=(val) prop_set('prefix-pool', val) end end def dhcpv6 @subclasses['dhcpv6'] ||= Dhcpv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Manual < ConfigClass def has_multiple_values?; false; end def _section :manual end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'unicast-only'=>'yes', 'help-string'=>'IPv6 Address', 'uiHint-fieldLabel'=>'Server'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) Lifetime in Seconds'}} # IPv6 Address def name prop_get('@name') end # (4-3600) Lifetime in Seconds def lifetime prop_get('lifetime') end # (4-3600) Lifetime in Seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def manual @subclasses['manual'] ||= Manual.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'defaule'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def dns_server @subclasses['dns-server'] ||= DnsServer.new(parent_instance: self, client: @client, create_children: @create_children) end class DnsSuffix < ConfigClass def has_multiple_values?; false; end def _section :'dns-suffix' end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end class Dhcpv6 < ConfigClass def has_multiple_values?; false; end def _section :dhcpv6 end @props = {'prefix-pool'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix Pool', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-Pool Name'}} # Prefix-Pool Name def prefix_pool prop_get('prefix-pool') end # Prefix-Pool Name def prefix_pool=(val) prop_set('prefix-pool', val) end end def dhcpv6 @subclasses['dhcpv6'] ||= Dhcpv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Manual < ConfigClass def has_multiple_values?; false; end def _section :manual end class Suffix < XML::ConfigClass def has_multiple_values?; true; end def _section :suffix end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'domain name', 'minlen'=>'1', 'maxlen'=>'255', 'uiHint-fieldLabel'=>'Domain'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) lifetime in seconds'}} # domain name def name prop_get('@name') end # (4-3600) lifetime in seconds def lifetime prop_get('lifetime') end # (4-3600) lifetime in seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def suffix maybe_register_subclass('suffix', Suffix.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def manual @subclasses['manual'] ||= Manual.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'defaule'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def dns_suffix @subclasses['dns-suffix'] ||= DnsSuffix.new(parent_instance: self, client: @client, create_children: @create_children) end class Neighbor < XML::ConfigClass def has_multiple_values?; true; end def _section :neighbor end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'help-string'=>'IP address'}, 'hw-address'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'mac-address', 'help-string'=>'MAC address (format xx:xx:xx:xx:xx:xx)'}} # IP address def name prop_get('@name') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address prop_get('hw-address') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address=(val) prop_set('hw-address', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def neighbor maybe_register_subclass('neighbor', Neighbor.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable-ndp-monitor'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable NDP Monitoring', 'uiHint-fieldLabel'=>'Enable NDP Monitoring'}, 'enable-dad'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable Duplicate Address Detection (DAD)', 'uiHint-fieldLabel'=>'Enable Duplicate Address Detection'}, 'dad-attempts'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'10', 'default'=>'1', 'help-string'=>'Number of consecutive neighbor solicitation messages sent for duplicate address detection', 'uiHint-fieldLabel'=>'DAD Attempts'}, 'ns-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'1', 'help-string'=>'Interval (in seconds) between consecutive neighbor solicitation messages', 'uiHint-fieldLabel'=>'NS Interval'}, 'reachable-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'10', 'max'=>'36000', 'default'=>'30', 'help-string'=>'Time (in seconds) that the Reachable status for a neighbor can be maintained', 'uiHint-fieldLabel'=>'Reachable Time'}} # Enable NDP Monitoring def enable_ndp_monitor prop_get('enable-ndp-monitor') end # Enable NDP Monitoring def enable_ndp_monitor=(val) prop_set('enable-ndp-monitor', val) end # Enable Duplicate Address Detection (DAD) def enable_dad prop_get('enable-dad') end # Enable Duplicate Address Detection (DAD) def enable_dad=(val) prop_set('enable-dad', val) end # Number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts prop_get('dad-attempts') end # Number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts=(val) prop_set('dad-attempts', val) end # Interval (in seconds) between consecutive neighbor solicitation messages def ns_interval prop_get('ns-interval') end # Interval (in seconds) between consecutive neighbor solicitation messages def ns_interval=(val) prop_set('ns-interval', val) end # Time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time prop_get('reachable-time') end # Time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time=(val) prop_set('reachable-time', val) end end def neighbor_discovery @subclasses['neighbor-discovery'] ||= NeighborDiscovery.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable Inherited Interface'}} # Enable Inherited Interface def enable prop_get('enable') end # Enable Inherited Interface def enable=(val) prop_set('enable', val) end end def inherited @subclasses['inherited'] ||= Inherited.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable IPv6 on the interface'}, 'interface-id'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'EUI-64', 'multi-types'=>{'string'=>{'maxlen'=>'16', 'loose-membership'=>'yes', 'help-string'=>'user defined 64-bit identifier (in hex)'}, 'enum'=>[{'value'=>'EUI-64', 'help-string'=>'default 64-bit Extended Unique Identifier'}]}}} # Enable IPv6 on the interface def enabled prop_get('enabled') end # Enable IPv6 on the interface def enabled=(val) prop_set('enabled', val) end def interface_id prop_get('interface-id') end def interface_id=(val) prop_set('interface-id', val) end end def ipv6 @subclasses['ipv6'] ||= Ipv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Arp < XML::ConfigClass def has_multiple_values?; true; end def _section :arp end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'ip-address', 'help-string'=>'IP address'}, 'hw-address'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'mac-address', 'help-string'=>'MAC address (format xx:xx:xx:xx:xx:xx)'}} # IP address def name prop_get('@name') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address prop_get('hw-address') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address=(val) prop_set('hw-address', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def arp maybe_register_subclass('arp', Arp.new(parent_instance: self, client: @client, create_children: @create_children)) end class NdpProxy < ConfigClass def has_multiple_values?; false; end def _section :'ndp-proxy' end class Address < XML::ConfigClass def has_multiple_values?; true; end def _section :address end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'IPv6 address or address object name'}, 'negate'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'max-count'=>'16', 'help-string'=>'put the prefix or address on a block list'}} # IPv6 address or address object name def name prop_get('@name') end # put the prefix or address on a block list def negate prop_get('negate') end # put the prefix or address on a block list def negate=(val) prop_set('negate', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def address maybe_register_subclass('address', Address.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable proxy NDP on the interface'}} # Enable proxy NDP on the interface def enabled prop_get('enabled') end # Enable proxy NDP on the interface def enabled=(val) prop_set('enabled', val) end end def ndp_proxy @subclasses['ndp-proxy'] ||= NdpProxy.new(parent_instance: self, client: @client, create_children: @create_children) end class Pppoe < ConfigClass def has_multiple_values?; false; end def _section :pppoe end class StaticAddress < ConfigClass def has_multiple_values?; false; end def _section :'static-address' end @props = {'ip'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'static ip address'}} # static ip address def ip prop_get('ip') end # static ip address def ip=(val) prop_set('ip', val) end end def static_address @subclasses['static-address'] ||= StaticAddress.new(parent_instance: self, client: @client, create_children: @create_children) end class Passive < ConfigClass def has_multiple_values?; false; end def _section :passive end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def passive @subclasses['passive'] ||= Passive.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'authentication'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'help-string'=>'authentication protocol', 'enum'=>[{'value'=>'CHAP', 'help-string'=>'Challenge Handshake Authentication Protocol'}, {'value'=>'PAP', 'help-string'=>'Password Authentication Protocol'}, {'value'=>'auto', 'help-string'=>'auto select CHAP or PAP'}]}, 'username'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^[a-zA-Z0-9._~!@#$%^*(){},:?/+=\\-]+$', 'minlen'=>'1', 'maxlen'=>'255', 'help-string'=>'username for ppp authentication. The valid characters are [a-zA-Z0-9._~!@#$%^*(){},:?/+=\-]'}, 'password'=>{'node-type'=>'element', 'type'=>'string', 'encrypt'=>'yes', 'maxlen'=>'255', 'help-string'=>'password for ppp autentication'}, 'create-default-route'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'automatically create default route pointing to peer'}, 'default-route-metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'10', 'help-string'=>'metric of the default route created'}, 'access-concentrator'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[a-zA-Z0-9._~!@#$%^*(){},:?/+=\\-]+$', 'minlen'=>'1', 'maxlen'=>'255', 'help-string'=>'desired access concentrator. The valid characters are [a-zA-Z0-9._~!@#$%^*(){},:?/+=\-]'}, 'service'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[a-zA-Z0-9._~!@#$%^*(){},:?/+=\\-]+$', 'minlen'=>'1', 'maxlen'=>'255', 'help-string'=>'desired service. The valid characters are [a-zA-Z0-9._~!@#$%^*(){},:?/+=\-]'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # authentication protocol def authentication prop_get('authentication') end # authentication protocol def authentication=(val) prop_set('authentication', val) end # username for ppp authentication. The valid characters are [a-zA-Z0-9._~!@#$%^*(){},:?/+=\-] def username prop_get('username') end # username for ppp authentication. The valid characters are [a-zA-Z0-9._~!@#$%^*(){},:?/+=\-] def username=(val) prop_set('username', val) end # password for ppp autentication def password prop_get('password') end # password for ppp autentication def password=(val) prop_set('password', val) end # automatically create default route pointing to peer def create_default_route prop_get('create-default-route') end # automatically create default route pointing to peer def create_default_route=(val) prop_set('create-default-route', val) end # metric of the default route created def default_route_metric prop_get('default-route-metric') end # metric of the default route created def default_route_metric=(val) prop_set('default-route-metric', val) end # desired access concentrator. The valid characters are [a-zA-Z0-9._~!@#$%^*(){},:?/+=\-] def access_concentrator prop_get('access-concentrator') end # desired access concentrator. The valid characters are [a-zA-Z0-9._~!@#$%^*(){},:?/+=\-] def access_concentrator=(val) prop_set('access-concentrator', val) end # desired service. The valid characters are [a-zA-Z0-9._~!@#$%^*(){},:?/+=\-] def service prop_get('service') end # desired service. The valid characters are [a-zA-Z0-9._~!@#$%^*(){},:?/+=\-] def service=(val) prop_set('service', val) end end def pppoe @subclasses['pppoe'] ||= Pppoe.new(parent_instance: self, client: @client, create_children: @create_children) end class DhcpClient < ConfigClass def has_multiple_values?; false; end def _section :'dhcp-client' end class SendHostname < ConfigClass def has_multiple_values?; false; end def _section :'send-hostname' end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'hostname'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'system-hostname', 'help-string'=>'Set Interface Hostname', 'multi-types'=>{'string'=>{'regex'=>'^[a-zA-Z0-9\._-]+$', 'minlen'=>'1', 'maxlen'=>'64', 'loose-membership'=>'yes', 'help-string'=>'Custom Interface Hostname'}, 'enum'=>[{'value'=>'system-hostname', 'help-string'=>'System Hostname'}]}}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Set Interface Hostname def hostname prop_get('hostname') end # Set Interface Hostname def hostname=(val) prop_set('hostname', val) end end def send_hostname @subclasses['send-hostname'] ||= SendHostname.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'create-default-route'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Automatically create default route pointing to default gateway provided by server'}, 'default-route-metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'10', 'help-string'=>'Metric of the default route created'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Automatically create default route pointing to default gateway provided by server def create_default_route prop_get('create-default-route') end # Automatically create default route pointing to default gateway provided by server def create_default_route=(val) prop_set('create-default-route', val) end # Metric of the default route created def default_route_metric prop_get('default-route-metric') end # Metric of the default route created def default_route_metric=(val) prop_set('default-route-metric', val) end end def dhcp_client @subclasses['dhcp-client'] ||= DhcpClient.new(parent_instance: self, client: @client, create_children: @create_children) end class DdnsConfig < ConfigClass def has_multiple_values?; false; end def _section :'ddns-config' end class DdnsIp < XML::ConfigClass def has_multiple_values?; true; end def _section :'ddns-ip' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'maxlen'=>'127'}, 'enum'=>[{'value'=>'DHCP'}, {'value'=>'PPPoE'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def ddns_ip maybe_register_subclass('ddns-ip', DdnsIp.new(parent_instance: self, client: @client, create_children: @create_children)) end class DdnsIpv6 < XML::ConfigClass def has_multiple_values?; true; end def _section :'ddns-ipv6' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def ddns_ipv6 maybe_register_subclass('ddns-ipv6', DdnsIpv6.new(parent_instance: self, client: @client, create_children: @create_children)) end class DdnsVendorConfig < XML::ConfigClass def has_multiple_values?; true; end def _section :'ddns-vendor-config' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'255'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ddns_vendor_config maybe_register_subclass('ddns-vendor-config', DdnsVendorConfig.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'ddns-enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'ddns-update-interval'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'30', 'default'=>'1', 'optional'=>'yes'}, 'ddns-hostname'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([$a-zA-Z0-9_\.\-])+$', 'minlen'=>'1', 'maxlen'=>'255', 'help-string'=>'ddns hostname variable or real address'}, 'ddns-cert-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes'}, 'ddns-vendor'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127', 'help-string'=>'Vendor and product type'}} def ddns_enabled prop_get('ddns-enabled') end def ddns_enabled=(val) prop_set('ddns-enabled', val) end def ddns_update_interval prop_get('ddns-update-interval') end def ddns_update_interval=(val) prop_set('ddns-update-interval', val) end # ddns hostname variable or real address def ddns_hostname prop_get('ddns-hostname') end # ddns hostname variable or real address def ddns_hostname=(val) prop_set('ddns-hostname', val) end def ddns_cert_profile prop_get('ddns-cert-profile') end def ddns_cert_profile=(val) prop_set('ddns-cert-profile', val) end # Vendor and product type def ddns_vendor prop_get('ddns-vendor') end # Vendor and product type def ddns_vendor=(val) prop_set('ddns-vendor', val) end end def ddns_config @subclasses['ddns-config'] ||= DdnsConfig.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'prefix'=>'concat(../../../@name, \'.\')', 'regex'=>'^((ethernet[1-9][0-9]?\/[1-9][0-9]?\.)?([1-9][0-9]{0,3}))$'}, 'decrypt-forward'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'df-ignore'=>{'node-type'=>'element', 'internal'=>'yes', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'mtu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'576', 'max'=>'9216', 'help-string'=>'Maximum Transfer Unit, up to 9216 in Jumbo-Frame mode, up to 1500 otherwise'}, 'interface-management-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'Interface management profile'}, 'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'1', 'max'=>'4094', 'help-string'=>'802.1q VLAN tag'}, 'netflow-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'Netflow Server Profile'}, 'comment'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'1024'}} def name prop_get('@name') end def decrypt_forward prop_get('decrypt-forward') end def decrypt_forward=(val) prop_set('decrypt-forward', val) end def df_ignore prop_get('df-ignore') end def df_ignore=(val) prop_set('df-ignore', val) end # Maximum Transfer Unit, up to 9216 in Jumbo-Frame mode, up to 1500 otherwise def mtu prop_get('mtu') end # Maximum Transfer Unit, up to 9216 in Jumbo-Frame mode, up to 1500 otherwise def mtu=(val) prop_set('mtu', val) end # Interface management profile def interface_management_profile prop_get('interface-management-profile') end # Interface management profile def interface_management_profile=(val) prop_set('interface-management-profile', val) end # 802.1q VLAN tag def tag prop_get('tag') end # 802.1q VLAN tag def tag=(val) prop_set('tag', val) end # Netflow Server Profile def netflow_profile prop_get('netflow-profile') end # Netflow Server Profile def netflow_profile=(val) prop_set('netflow-profile', val) end def comment prop_get('comment') end def comment=(val) prop_set('comment', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def units maybe_register_subclass('units', Units.new(parent_instance: self, client: @client, create_children: @create_children)) end class Lldp < ConfigClass def has_multiple_values?; false; end def _section :lldp end class HighAvailability < ConfigClass def has_multiple_values?; false; end def _section :'high-availability' end @props = {'passive-pre-negotiation'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Enable LLDP pre-negotiation in HA passive state'}} # Enable LLDP pre-negotiation in HA passive state def passive_pre_negotiation prop_get('passive-pre-negotiation') end # Enable LLDP pre-negotiation in HA passive state def passive_pre_negotiation=(val) prop_set('passive-pre-negotiation', val) end end def high_availability @subclasses['high-availability'] ||= HighAvailability.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'profile'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'LLDP profile', 'optional'=>'yes'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # LLDP profile def profile prop_get('profile') end # LLDP profile def profile=(val) prop_set('profile', val) end end def lldp @subclasses['lldp'] ||= Lldp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'decrypt-forward'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'cluster-interconnect'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'traffic-interconnect'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'df-ignore'=>{'node-type'=>'element', 'internal'=>'yes', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'mtu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'576', 'max'=>'9216', 'help-string'=>'Maximum Transfer Unit1, up to 9216 in Jumbo-Frame mode, up to 1500 otherwise'}, 'untagged-sub-interface'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.ethernet.layer3.untagged-sub-interface-disable=True', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable untagged sub-interface'}, 'interface-management-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'Interface management profile'}, 'netflow-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'Netflow Server Profile'}} def decrypt_forward prop_get('decrypt-forward') end def decrypt_forward=(val) prop_set('decrypt-forward', val) end def cluster_interconnect prop_get('cluster-interconnect') end def cluster_interconnect=(val) prop_set('cluster-interconnect', val) end def traffic_interconnect prop_get('traffic-interconnect') end def traffic_interconnect=(val) prop_set('traffic-interconnect', val) end def df_ignore prop_get('df-ignore') end def df_ignore=(val) prop_set('df-ignore', val) end # Maximum Transfer Unit1, up to 9216 in Jumbo-Frame mode, up to 1500 otherwise def mtu prop_get('mtu') end # Maximum Transfer Unit1, up to 9216 in Jumbo-Frame mode, up to 1500 otherwise def mtu=(val) prop_set('mtu', val) end # Enable untagged sub-interface def untagged_sub_interface prop_get('untagged-sub-interface') end # Enable untagged sub-interface def untagged_sub_interface=(val) prop_set('untagged-sub-interface', val) end # Interface management profile def interface_management_profile prop_get('interface-management-profile') end # Interface management profile def interface_management_profile=(val) prop_set('interface-management-profile', val) end # Netflow Server Profile def netflow_profile prop_get('netflow-profile') end # Netflow Server Profile def netflow_profile=(val) prop_set('netflow-profile', val) end end def layer3 @subclasses['layer3'] ||= Layer3.new(parent_instance: self, client: @client, create_children: @create_children) end class Lacp < ConfigClass def has_multiple_values?; false; end def _section :lacp end @props = {'port-priority'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'32768', 'help-string'=>'port priority in LACP'}} # port priority in LACP def port_priority prop_get('port-priority') end # port priority in LACP def port_priority=(val) prop_set('port-priority', val) end end def lacp @subclasses['lacp'] ||= Lacp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string'}, 'link-speed'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'auto', 'help-string'=>'Interface link speed', 'enum'=>[{'value'=>'auto'}, {'value'=>'10'}, {'value'=>'100'}, {'value'=>'1000'}, {'value'=>'2500'}, {'value'=>'5000'}, {'value'=>'10000'}, {'value'=>'40000'}, {'value'=>'100000'}]}, 'link-duplex'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'auto', 'help-string'=>'Interface link duplex', 'enum'=>[{'value'=>'auto'}, {'value'=>'half'}, {'value'=>'full'}]}, 'link-state'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'auto', 'help-string'=>'Interface link state', 'enum'=>[{'value'=>'auto', 'help-string'=>'Auto detect'}, {'value'=>'up', 'help-string'=>'Force to up'}, {'value'=>'down', 'help-string'=>'Force to down'}]}, 'aggregate-group'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Aggregate interface group'}, 'comment'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'0', 'maxlen'=>'1023'}} def name prop_get('@name') end # Interface link speed def link_speed prop_get('link-speed') end # Interface link speed def link_speed=(val) prop_set('link-speed', val) end # Interface link duplex def link_duplex prop_get('link-duplex') end # Interface link duplex def link_duplex=(val) prop_set('link-duplex', val) end # Interface link state def link_state prop_get('link-state') end # Interface link state def link_state=(val) prop_set('link-state', val) end # Aggregate interface group def aggregate_group prop_get('aggregate-group') end # Aggregate interface group def aggregate_group=(val) prop_set('aggregate-group', val) end def comment prop_get('comment') end def comment=(val) prop_set('comment', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ethernet maybe_register_subclass('ethernet', Ethernet.new(parent_instance: self, client: @client, create_children: @create_children)) end class AggregateEthernet < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-ethernet' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Ha < ConfigClass def has_multiple_values?; false; end def _section :ha end class Lacp < ConfigClass def has_multiple_values?; false; end def _section :lacp end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'fast-failover'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'mode'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'passive', 'help-string'=>'LACP mode', 'enum'=>[{'value'=>'passive'}, {'value'=>'active'}]}, 'transmission-rate'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'slow', 'help-string'=>'periodic transition rate. N/A in passive mode', 'enum'=>[{'value'=>'fast'}, {'value'=>'slow'}]}, 'system-priority'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'32768', 'help-string'=>'LACP system priority in system ID'}, 'max-ports'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'8', 'default'=>'8', 'help-string'=>'maximum number of physical ports bundled in the LAG'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end def fast_failover prop_get('fast-failover') end def fast_failover=(val) prop_set('fast-failover', val) end # LACP mode def mode prop_get('mode') end # LACP mode def mode=(val) prop_set('mode', val) end # periodic transition rate. N/A in passive mode def transmission_rate prop_get('transmission-rate') end # periodic transition rate. N/A in passive mode def transmission_rate=(val) prop_set('transmission-rate', val) end # LACP system priority in system ID def system_priority prop_get('system-priority') end # LACP system priority in system ID def system_priority=(val) prop_set('system-priority', val) end # maximum number of physical ports bundled in the LAG def max_ports prop_get('max-ports') end # maximum number of physical ports bundled in the LAG def max_ports=(val) prop_set('max-ports', val) end end def lacp @subclasses['lacp'] ||= Lacp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ha @subclasses['ha'] ||= Ha.new(parent_instance: self, client: @client, create_children: @create_children) end class DecryptMirror < ConfigClass def has_multiple_values?; false; end def _section :'decrypt-mirror' end @props = {} end def decrypt_mirror @subclasses['decrypt-mirror'] ||= DecryptMirror.new(parent_instance: self, client: @client, create_children: @create_children) end class VirtualWire < ConfigClass def has_multiple_values?; false; end def _section :'virtual-wire' end class Units < XML::ConfigClass def has_multiple_values?; true; end def _section :units end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class IpClassifier < XML::ConfigClass def has_multiple_values?; true; end def _section :'ip-classifier' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{}, 'iprangespec'=>{}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def ip_classifier maybe_register_subclass('ip-classifier', IpClassifier.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'prefix'=>'concat(../../../@name, \'.\')', 'regex'=>'^((ae[1-9][0-9]?\.)?([1-9][0-9]{0,3}))$'}, 'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4094', 'help-string'=>'802.1q VLAN tag'}, 'netflow-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'Netflow Server Profile'}, 'comment'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'0', 'maxlen'=>'1023'}} def name prop_get('@name') end # 802.1q VLAN tag def tag prop_get('tag') end # 802.1q VLAN tag def tag=(val) prop_set('tag', val) end # Netflow Server Profile def netflow_profile prop_get('netflow-profile') end # Netflow Server Profile def netflow_profile=(val) prop_set('netflow-profile', val) end def comment prop_get('comment') end def comment=(val) prop_set('comment', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def units maybe_register_subclass('units', Units.new(parent_instance: self, client: @client, create_children: @create_children)) end class Lldp < ConfigClass def has_multiple_values?; false; end def _section :lldp end class HighAvailability < ConfigClass def has_multiple_values?; false; end def _section :'high-availability' end @props = {'passive-pre-negotiation'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Enable LLDP pre-negotiation in HA passive state'}} # Enable LLDP pre-negotiation in HA passive state def passive_pre_negotiation prop_get('passive-pre-negotiation') end # Enable LLDP pre-negotiation in HA passive state def passive_pre_negotiation=(val) prop_set('passive-pre-negotiation', val) end end def high_availability @subclasses['high-availability'] ||= HighAvailability.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'profile'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'LLDP profile', 'optional'=>'yes'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # LLDP profile def profile prop_get('profile') end # LLDP profile def profile=(val) prop_set('profile', val) end end def lldp @subclasses['lldp'] ||= Lldp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'netflow-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'Netflow Server Profile'}} # Netflow Server Profile def netflow_profile prop_get('netflow-profile') end # Netflow Server Profile def netflow_profile=(val) prop_set('netflow-profile', val) end end def virtual_wire @subclasses['virtual-wire'] ||= VirtualWire.new(parent_instance: self, client: @client, create_children: @create_children) end class Layer2 < ConfigClass def has_multiple_values?; false; end def _section :layer2 end class Units < XML::ConfigClass def has_multiple_values?; true; end def _section :units end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'prefix'=>'concat(../../../@name, \'.\')', 'regex'=>'^((ae[1-9][0-9]?\.)?([1-9][0-9]{0,3}))$'}, 'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4094', 'help-string'=>'802.1q VLAN tag'}, 'netflow-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'Netflow Server Profile'}, 'comment'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'0', 'maxlen'=>'1023'}} def name prop_get('@name') end # 802.1q VLAN tag def tag prop_get('tag') end # 802.1q VLAN tag def tag=(val) prop_set('tag', val) end # Netflow Server Profile def netflow_profile prop_get('netflow-profile') end # Netflow Server Profile def netflow_profile=(val) prop_set('netflow-profile', val) end def comment prop_get('comment') end def comment=(val) prop_set('comment', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def units maybe_register_subclass('units', Units.new(parent_instance: self, client: @client, create_children: @create_children)) end class Lacp < ConfigClass def has_multiple_values?; false; end def _section :lacp end class HighAvailability < ConfigClass def has_multiple_values?; false; end def _section :'high-availability' end @props = {'passive-pre-negotiation'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Enable LACP pre-negotiation in HA passive state'}} # Enable LACP pre-negotiation in HA passive state def passive_pre_negotiation prop_get('passive-pre-negotiation') end # Enable LACP pre-negotiation in HA passive state def passive_pre_negotiation=(val) prop_set('passive-pre-negotiation', val) end end def high_availability @subclasses['high-availability'] ||= HighAvailability.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'fast-failover'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'mode'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'passive', 'help-string'=>'LACP mode', 'enum'=>[{'value'=>'passive'}, {'value'=>'active'}]}, 'transmission-rate'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'slow', 'help-string'=>'periodic transition rate. N/A in passive mode', 'enum'=>[{'value'=>'fast'}, {'value'=>'slow'}]}, 'system-priority'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'32768', 'help-string'=>'LACP system priority in system ID'}, 'max-ports'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'8', 'default'=>'8', 'help-string'=>'maximum number of physical ports bundled in the LAG'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end def fast_failover prop_get('fast-failover') end def fast_failover=(val) prop_set('fast-failover', val) end # LACP mode def mode prop_get('mode') end # LACP mode def mode=(val) prop_set('mode', val) end # periodic transition rate. N/A in passive mode def transmission_rate prop_get('transmission-rate') end # periodic transition rate. N/A in passive mode def transmission_rate=(val) prop_set('transmission-rate', val) end # LACP system priority in system ID def system_priority prop_get('system-priority') end # LACP system priority in system ID def system_priority=(val) prop_set('system-priority', val) end # maximum number of physical ports bundled in the LAG def max_ports prop_get('max-ports') end # maximum number of physical ports bundled in the LAG def max_ports=(val) prop_set('max-ports', val) end end def lacp @subclasses['lacp'] ||= Lacp.new(parent_instance: self, client: @client, create_children: @create_children) end class Lldp < ConfigClass def has_multiple_values?; false; end def _section :lldp end class HighAvailability < ConfigClass def has_multiple_values?; false; end def _section :'high-availability' end @props = {'passive-pre-negotiation'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Enable LLDP pre-negotiation in HA passive state'}} # Enable LLDP pre-negotiation in HA passive state def passive_pre_negotiation prop_get('passive-pre-negotiation') end # Enable LLDP pre-negotiation in HA passive state def passive_pre_negotiation=(val) prop_set('passive-pre-negotiation', val) end end def high_availability @subclasses['high-availability'] ||= HighAvailability.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'profile'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'LLDP profile', 'optional'=>'yes'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # LLDP profile def profile prop_get('profile') end # LLDP profile def profile=(val) prop_set('profile', val) end end def lldp @subclasses['lldp'] ||= Lldp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'netflow-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'Netflow Server Profile'}} # Netflow Server Profile def netflow_profile prop_get('netflow-profile') end # Netflow Server Profile def netflow_profile=(val) prop_set('netflow-profile', val) end end def layer2 @subclasses['layer2'] ||= Layer2.new(parent_instance: self, client: @client, create_children: @create_children) end class Layer3 < ConfigClass def has_multiple_values?; false; end def _section :layer3 end class Bonjour < ConfigClass def has_multiple_values?; false; end def _section :bonjour end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set to support Bonjour service'}, 'ttl-check'=>{'node-type'=>'element', 'internal'=>'yes', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set to check and update TTL'}, 'group-id'=>{'node-type'=>'element', 'internal'=>'yes', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'40', 'min'=>'0', 'max'=>'16', 'help-string'=>'default 0: NO-Group'}} # Set to support Bonjour service def enable prop_get('enable') end # Set to support Bonjour service def enable=(val) prop_set('enable', val) end # Set to check and update TTL def ttl_check prop_get('ttl-check') end # Set to check and update TTL def ttl_check=(val) prop_set('ttl-check', val) end # default 0: NO-Group def group_id prop_get('group-id') end # default 0: NO-Group def group_id=(val) prop_set('group-id', val) end end def bonjour @subclasses['bonjour'] ||= Bonjour.new(parent_instance: self, client: @client, create_children: @create_children) end class AdjustTcpMss < ConfigClass def has_multiple_values?; false; end def _section :'adjust-tcp-mss' end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set if TCP MSS value should be reduced based on mtu'}, 'ipv4-mss-adjustment'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'40', 'min'=>'40', 'max'=>'300', 'help-string'=>'IPv4 MSS adjustment size (in bytes)'}, 'ipv6-mss-adjustment'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'60', 'min'=>'60', 'max'=>'300', 'help-string'=>'IPv6 MSS adjustment size (in bytes)'}} # Set if TCP MSS value should be reduced based on mtu def enable prop_get('enable') end # Set if TCP MSS value should be reduced based on mtu def enable=(val) prop_set('enable', val) end # IPv4 MSS adjustment size (in bytes) def ipv4_mss_adjustment prop_get('ipv4-mss-adjustment') end # IPv4 MSS adjustment size (in bytes) def ipv4_mss_adjustment=(val) prop_set('ipv4-mss-adjustment', val) end # IPv6 MSS adjustment size (in bytes) def ipv6_mss_adjustment prop_get('ipv6-mss-adjustment') end # IPv6 MSS adjustment size (in bytes) def ipv6_mss_adjustment=(val) prop_set('ipv6-mss-adjustment', val) end end def adjust_tcp_mss @subclasses['adjust-tcp-mss'] ||= AdjustTcpMss.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip < XML::ConfigClass def has_multiple_values?; true; end def _section :ip end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'regex'=>'^([ $0-9a-zA-Z:@./_-])+$', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'IP address/netmask or address object name'}, 'sdwan-gateway'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'Gateway IPv4 Address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'ipv4-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # IP address/netmask or address object name def name prop_get('@name') end # Gateway IPv4 Address def sdwan_gateway prop_get('sdwan-gateway') end # Gateway IPv4 Address def sdwan_gateway=(val) prop_set('sdwan-gateway', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ip maybe_register_subclass('ip', Ip.new(parent_instance: self, client: @client, create_children: @create_children)) end class Ipv6 < ConfigClass def has_multiple_values?; false; end def _section :ipv6 end class Address < XML::ConfigClass def has_multiple_values?; true; end def _section :address end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Prefix < ConfigClass def has_multiple_values?; false; end def _section :prefix end @props = {} end def prefix @subclasses['prefix'] ||= Prefix.new(parent_instance: self, client: @client, create_children: @create_children) end class Anycast < ConfigClass def has_multiple_values?; false; end def _section :anycast end @props = {} end def anycast @subclasses['anycast'] ||= Anycast.new(parent_instance: self, client: @client, create_children: @create_children) end class Advertise < ConfigClass def has_multiple_values?; false; end def _section :advertise end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable advertising this prefix in router advertisements'}, 'valid-lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'2592000', 'help-string'=>'Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967294'}, 'enum'=>[{'value'=>'infinity'}]}}, 'preferred-lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'604800', 'help-string'=>'Preferred Lifetime (in seconds) of the prefix advertised in Router Advertisement messages', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967294'}, 'enum'=>[{'value'=>'infinity'}]}}, 'onlink-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages'}, 'auto-config-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages'}} # enable advertising this prefix in router advertisements def enable prop_get('enable') end # enable advertising this prefix in router advertisements def enable=(val) prop_set('enable', val) end # Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def valid_lifetime prop_get('valid-lifetime') end # Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def valid_lifetime=(val) prop_set('valid-lifetime', val) end # Preferred Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def preferred_lifetime prop_get('preferred-lifetime') end # Preferred Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def preferred_lifetime=(val) prop_set('preferred-lifetime', val) end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag prop_get('onlink-flag') end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag=(val) prop_set('onlink-flag', val) end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag prop_get('auto-config-flag') end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag=(val) prop_set('auto-config-flag', val) end end def advertise @subclasses['advertise'] ||= Advertise.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'^([ $0-9a-zA-Z:@./_-])+$', 'maxlen'=>'63', 'help-string'=>'IPv6 address/prefix length or address object name'}, 'enable-on-interface'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'configure this address on interface'}} # IPv6 address/prefix length or address object name def name prop_get('@name') end # configure this address on interface def enable_on_interface prop_get('enable-on-interface') end # configure this address on interface def enable_on_interface=(val) prop_set('enable-on-interface', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def address maybe_register_subclass('address', Address.new(parent_instance: self, client: @client, create_children: @create_children)) end class NeighborDiscovery < ConfigClass def has_multiple_values?; false; end def _section :'neighbor-discovery' end class RouterAdvertisement < ConfigClass def has_multiple_values?; false; end def _section :'router-advertisement' end class Prefix < XML::ConfigClass def has_multiple_values?; true; end def _section :prefix end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class ValidLifetime < XML::ConfigClass def has_multiple_values?; true; end def _section :'valid-lifetime' end @props = {'fixed-time'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'default'=>'2592000', 'help-string'=>'fixed value (in seconds) of the Valid Lifetime field of the prefix in Router Advertisement messages'}, 'expire-time'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'19', 'maxlen'=>'19', 'regex'=>'[0-9][0-9][0-9][0-9]/([0][1-9]|[1][0-2])/([0-2][0-9]|[3][0-1])@([01][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9])', 'help-string'=>'expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59)'}} # fixed value (in seconds) of the Valid Lifetime field of the prefix in Router Advertisement messages def fixed_time prop_get('fixed-time') end # fixed value (in seconds) of the Valid Lifetime field of the prefix in Router Advertisement messages def fixed_time=(val) prop_set('fixed-time', val) end # expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59) def expire_time prop_get('expire-time') end # expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59) def expire_time=(val) prop_set('expire-time', val) end end def valid_lifetime maybe_register_subclass('valid-lifetime', ValidLifetime.new(parent_instance: self, client: @client, create_children: @create_children)) end class PreferredLifetime < XML::ConfigClass def has_multiple_values?; true; end def _section :'preferred-lifetime' end @props = {'fixed-time'=>{'node-type'=>'element', 'type'=>'rangedint', 'default'=>'604800', 'min'=>'0', 'max'=>'4294967295', 'help-string'=>'Fixed value (in seconds) of the Preferred Lifetime field of the prefix in Router Advertisement messages'}, 'expire-time'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'19', 'maxlen'=>'19', 'regex'=>'[0-9][0-9][0-9][0-9]/([0][1-9]|[1][0-2])/([0-2][0-9]|[3][0-1])@([01][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9])', 'help-string'=>'expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59)'}} # Fixed value (in seconds) of the Preferred Lifetime field of the prefix in Router Advertisement messages def fixed_time prop_get('fixed-time') end # Fixed value (in seconds) of the Preferred Lifetime field of the prefix in Router Advertisement messages def fixed_time=(val) prop_set('fixed-time', val) end # expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59) def expire_time prop_get('expire-time') end # expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59) def expire_time=(val) prop_set('expire-time', val) end end def preferred_lifetime maybe_register_subclass('preferred-lifetime', PreferredLifetime.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'help-string'=>'IPv6 prefix'}, 'onlink-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages'}, 'auto-config-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages'}} # IPv6 prefix def name prop_get('@name') end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag prop_get('onlink-flag') end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag=(val) prop_set('onlink-flag', val) end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag prop_get('auto-config-flag') end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag=(val) prop_set('auto-config-flag', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def prefix maybe_register_subclass('prefix', Prefix.new(parent_instance: self, client: @client, create_children: @create_children)) end class DnsSupport < ConfigClass def has_multiple_values?; false; end def _section :'dns-support' end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'unicast-only'=>'yes', 'help-string'=>'IPv6 address'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) lifetime in seconds'}} # IPv6 address def name prop_get('@name') end # (4-3600) lifetime in seconds def lifetime prop_get('lifetime') end # (4-3600) lifetime in seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end class Suffix < XML::ConfigClass def has_multiple_values?; true; end def _section :suffix end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'domain name', 'minlen'=>'1', 'maxlen'=>'255'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) lifetime in seconds'}} # domain name def name prop_get('@name') end # (4-3600) lifetime in seconds def lifetime prop_get('lifetime') end # (4-3600) lifetime in seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def suffix maybe_register_subclass('suffix', Suffix.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'defaule'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def dns_support @subclasses['dns-support'] ||= DnsSupport.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'max-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'1800', 'default'=>'600', 'help-string'=>'Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages'}, 'min-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'3', 'max'=>'1350', 'default'=>'200', 'help-string'=>'Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages'}, 'managed-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set the Managed Configuration Flag (M-bit) in Router Advertisement messages'}, 'other-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages'}, 'link-mtu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise', 'multi-types'=>{'rangedint'=>{'min'=>'1280', 'max'=>'9216'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'reachable-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'Reachable Time (in milliseconds) advertised in Router Advertisement messages', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'3600000'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'retransmission-timer'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'Retransmission Timer (in milliseconds) advertised in Router Advertisement messages', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967295'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'hop-limit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'64', 'help-string'=>'Current Hop Limit advertised in Router Advertisement messages', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'255'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'9000', 'default'=>'1800', 'help-string'=>'Router Lifetime (in seconds) advertised in Router Advertisement messages'}, 'router-preference'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'Medium', 'enum'=>[{'value'=>'High', 'help-string'=>'01 High'}, {'value'=>'Medium', 'help-string'=>'00 Medium'}, {'value'=>'Low', 'help-string'=>'11 Low'}]}, 'enable-consistency-check'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'check consistency of RA messages from other routers.'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages def max_interval prop_get('max-interval') end # Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages def max_interval=(val) prop_set('max-interval', val) end # Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages def min_interval prop_get('min-interval') end # Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages def min_interval=(val) prop_set('min-interval', val) end # Set the Managed Configuration Flag (M-bit) in Router Advertisement messages def managed_flag prop_get('managed-flag') end # Set the Managed Configuration Flag (M-bit) in Router Advertisement messages def managed_flag=(val) prop_set('managed-flag', val) end # Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages def other_flag prop_get('other-flag') end # Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages def other_flag=(val) prop_set('other-flag', val) end # value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise def link_mtu prop_get('link-mtu') end # value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise def link_mtu=(val) prop_set('link-mtu', val) end # Reachable Time (in milliseconds) advertised in Router Advertisement messages def reachable_time prop_get('reachable-time') end # Reachable Time (in milliseconds) advertised in Router Advertisement messages def reachable_time=(val) prop_set('reachable-time', val) end # Retransmission Timer (in milliseconds) advertised in Router Advertisement messages def retransmission_timer prop_get('retransmission-timer') end # Retransmission Timer (in milliseconds) advertised in Router Advertisement messages def retransmission_timer=(val) prop_set('retransmission-timer', val) end # Current Hop Limit advertised in Router Advertisement messages def hop_limit prop_get('hop-limit') end # Current Hop Limit advertised in Router Advertisement messages def hop_limit=(val) prop_set('hop-limit', val) end # Router Lifetime (in seconds) advertised in Router Advertisement messages def lifetime prop_get('lifetime') end # Router Lifetime (in seconds) advertised in Router Advertisement messages def lifetime=(val) prop_set('lifetime', val) end def router_preference prop_get('router-preference') end def router_preference=(val) prop_set('router-preference', val) end # check consistency of RA messages from other routers. def enable_consistency_check prop_get('enable-consistency-check') end # check consistency of RA messages from other routers. def enable_consistency_check=(val) prop_set('enable-consistency-check', val) end end def router_advertisement @subclasses['router-advertisement'] ||= RouterAdvertisement.new(parent_instance: self, client: @client, create_children: @create_children) end class Neighbor < XML::ConfigClass def has_multiple_values?; true; end def _section :neighbor end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'help-string'=>'IP address'}, 'hw-address'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'mac-address', 'help-string'=>'MAC address (format xx:xx:xx:xx:xx:xx)'}} # IP address def name prop_get('@name') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address prop_get('hw-address') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address=(val) prop_set('hw-address', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def neighbor maybe_register_subclass('neighbor', Neighbor.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable-ndp-monitor'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable ndp monitoring'}, 'enable-dad'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable duplicate address detection'}, 'dad-attempts'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'10', 'default'=>'1', 'help-string'=>'number of consecutive neighbor solicitation messages sent for duplicate address detection'}, 'ns-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'1', 'help-string'=>'interval (in seconds) between consecutive neighbor solicitation messages'}, 'reachable-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'10', 'max'=>'36000', 'default'=>'30', 'help-string'=>'time (in seconds) that the Reachable status for a neighbor can be maintained'}, 'disable-nud'=>{'node-type'=>'element', 'disabled'=>'yes', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'disable Neighbor Unreachability Detection'}} # enable ndp monitoring def enable_ndp_monitor prop_get('enable-ndp-monitor') end # enable ndp monitoring def enable_ndp_monitor=(val) prop_set('enable-ndp-monitor', val) end # enable duplicate address detection def enable_dad prop_get('enable-dad') end # enable duplicate address detection def enable_dad=(val) prop_set('enable-dad', val) end # number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts prop_get('dad-attempts') end # number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts=(val) prop_set('dad-attempts', val) end # interval (in seconds) between consecutive neighbor solicitation messages def ns_interval prop_get('ns-interval') end # interval (in seconds) between consecutive neighbor solicitation messages def ns_interval=(val) prop_set('ns-interval', val) end # time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time prop_get('reachable-time') end # time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time=(val) prop_set('reachable-time', val) end # disable Neighbor Unreachability Detection def disable_nud prop_get('disable-nud') end # disable Neighbor Unreachability Detection def disable_nud=(val) prop_set('disable-nud', val) end end def neighbor_discovery @subclasses['neighbor-discovery'] ||= NeighborDiscovery.new(parent_instance: self, client: @client, create_children: @create_children) end class DhcpClient < ConfigClass def has_multiple_values?; false; end def _section :'dhcp-client' end class V6Options < ConfigClass def has_multiple_values?; false; end def _section :'v6-options' end class Enable < XML::ConfigClass def has_multiple_values?; true; end def _section :enable end class No < ConfigClass def has_multiple_values?; false; end def _section :no end @props = {} end def no @subclasses['no'] ||= No.new(parent_instance: self, client: @client, create_children: @create_children) end class Yes < ConfigClass def has_multiple_values?; false; end def _section :yes end @props = {'non-temp-addr'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Request Non-Temporary Address Type', 'uiHint-fieldLabel'=>'Non-Temporary Address'}, 'temp-addr'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Request Temporary Address Type', 'uiHint-fieldLabel'=>'Temporary Address'}} # Request Non-Temporary Address Type def non_temp_addr prop_get('non-temp-addr') end # Request Non-Temporary Address Type def non_temp_addr=(val) prop_set('non-temp-addr', val) end # Request Temporary Address Type def temp_addr prop_get('temp-addr') end # Request Temporary Address Type def temp_addr=(val) prop_set('temp-addr', val) end end def yes @subclasses['yes'] ||= Yes.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def enable maybe_register_subclass('enable', Enable.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'support-srvr-reconfig'=>{'node-type'=>'element', 'hidden'=>'yes', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable DHCPv6 Server Re-Configuration Support', 'uiHint-fieldLabel'=>'DHCPv6 Server Re-Configuration Support'}, 'rapid-commit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable Rapid Commit', 'uiHint-fieldLabel'=>'Rapid Commit'}, 'duid-type'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'duid-type-llt', 'optional'=>'yes', 'help-string'=>'Select DUID-LLT/DUID-LL', 'uiHint-fieldLabel'=>'DUID Type', 'enum'=>[{'name'=>'duid-type-llt', 'value'=>'duid-type-llt', 'optional'=>'yes', 'help-string'=>'DUID-LLT'}, {'name'=>'duid-type-ll', 'value'=>'duid-type-ll', 'optional'=>'yes', 'help-string'=>'DUID-LL'}]}} # Enable DHCPv6 Server Re-Configuration Support def support_srvr_reconfig prop_get('support-srvr-reconfig') end # Enable DHCPv6 Server Re-Configuration Support def support_srvr_reconfig=(val) prop_set('support-srvr-reconfig', val) end # Enable Rapid Commit def rapid_commit prop_get('rapid-commit') end # Enable Rapid Commit def rapid_commit=(val) prop_set('rapid-commit', val) end # Select DUID-LLT/DUID-LL def duid_type prop_get('duid-type') end # Select DUID-LLT/DUID-LL def duid_type=(val) prop_set('duid-type', val) end end def v6_options @subclasses['v6-options'] ||= V6Options.new(parent_instance: self, client: @client, create_children: @create_children) end class PrefixDelegation < ConfigClass def has_multiple_values?; false; end def _section :'prefix-delegation' end class Enable < XML::ConfigClass def has_multiple_values?; true; end def _section :enable end class No < ConfigClass def has_multiple_values?; false; end def _section :no end @props = {} end def no @subclasses['no'] ||= No.new(parent_instance: self, client: @client, create_children: @create_children) end class Yes < ConfigClass def has_multiple_values?; false; end def _section :yes end @props = {'prefix-len-hint'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Send prefix length hint to server', 'uiHint-fieldLabel'=>'DHCP Prefix Length Hint'}, 'prefix-len'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'128', 'default'=>'48', 'help-string'=>'Hint DHCP Prefix Length (bits)', 'uiHint-fieldLabel'=>'DHCP Prefix Length'}, 'pfx-pool-name'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'regex'=>'^[a-zA-Z0-9._-]+$', 'help-string'=>'Configure unique Prefix Pool Name', 'uiHint-fieldLabel'=>'Prefix Pool Name'}} # Send prefix length hint to server def prefix_len_hint prop_get('prefix-len-hint') end # Send prefix length hint to server def prefix_len_hint=(val) prop_set('prefix-len-hint', val) end # Hint DHCP Prefix Length (bits) def prefix_len prop_get('prefix-len') end # Hint DHCP Prefix Length (bits) def prefix_len=(val) prop_set('prefix-len', val) end # Configure unique Prefix Pool Name def pfx_pool_name prop_get('pfx-pool-name') end # Configure unique Prefix Pool Name def pfx_pool_name=(val) prop_set('pfx-pool-name', val) end end def yes @subclasses['yes'] ||= Yes.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def enable maybe_register_subclass('enable', Enable.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def prefix_delegation @subclasses['prefix-delegation'] ||= PrefixDelegation.new(parent_instance: self, client: @client, create_children: @create_children) end class NeighborDiscovery < ConfigClass def has_multiple_values?; false; end def _section :'neighbor-discovery' end class DnsServer < ConfigClass def has_multiple_values?; false; end def _section :'dns-server' end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end class Dhcpv6 < ConfigClass def has_multiple_values?; false; end def _section :dhcpv6 end @props = {} end def dhcpv6 @subclasses['dhcpv6'] ||= Dhcpv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Manual < ConfigClass def has_multiple_values?; false; end def _section :manual end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'unicast-only'=>'yes', 'help-string'=>'IPv6 Address', 'uiHint-fieldLabel'=>'Server'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) Lifetime in Seconds'}} # IPv6 Address def name prop_get('@name') end # (4-3600) Lifetime in Seconds def lifetime prop_get('lifetime') end # (4-3600) Lifetime in Seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def manual @subclasses['manual'] ||= Manual.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'defaule'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def dns_server @subclasses['dns-server'] ||= DnsServer.new(parent_instance: self, client: @client, create_children: @create_children) end class DnsSuffix < ConfigClass def has_multiple_values?; false; end def _section :'dns-suffix' end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end class Dhcpv6 < ConfigClass def has_multiple_values?; false; end def _section :dhcpv6 end @props = {} end def dhcpv6 @subclasses['dhcpv6'] ||= Dhcpv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Manual < ConfigClass def has_multiple_values?; false; end def _section :manual end class Suffix < XML::ConfigClass def has_multiple_values?; true; end def _section :suffix end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'domain name', 'minlen'=>'1', 'maxlen'=>'255', 'uiHint-fieldLabel'=>'Domain'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) lifetime in seconds'}} # domain name def name prop_get('@name') end # (4-3600) lifetime in seconds def lifetime prop_get('lifetime') end # (4-3600) lifetime in seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def suffix maybe_register_subclass('suffix', Suffix.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def manual @subclasses['manual'] ||= Manual.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'defaule'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def dns_suffix @subclasses['dns-suffix'] ||= DnsSuffix.new(parent_instance: self, client: @client, create_children: @create_children) end class Neighbor < XML::ConfigClass def has_multiple_values?; true; end def _section :neighbor end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'help-string'=>'IP address'}, 'hw-address'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'mac-address', 'help-string'=>'MAC address (format xx:xx:xx:xx:xx:xx)'}} # IP address def name prop_get('@name') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address prop_get('hw-address') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address=(val) prop_set('hw-address', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def neighbor maybe_register_subclass('neighbor', Neighbor.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable-ndp-monitor'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable NDP Monitoring', 'uiHint-fieldLabel'=>'Enable NDP Monitoring'}, 'enable-dad'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable Duplicate Address Detection', 'uiHint-fieldLabel'=>'Enable Duplicate Address Detection'}, 'dad-attempts'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'10', 'default'=>'1', 'help-string'=>'number of consecutive neighbor solicitation messages sent for duplicate address detection', 'uiHint-fieldLabel'=>'DAD Attempts'}, 'ns-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'1', 'help-string'=>'interval (in seconds) between consecutive neighbor solicitation messages', 'uiHint-fieldLabel'=>'NS Interval'}, 'reachable-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'10', 'max'=>'36000', 'default'=>'30', 'help-string'=>'time (in seconds) that the Reachable status for a neighbor can be maintained', 'uiHint-fieldLabel'=>'Reachable Time'}} # Enable NDP Monitoring def enable_ndp_monitor prop_get('enable-ndp-monitor') end # Enable NDP Monitoring def enable_ndp_monitor=(val) prop_set('enable-ndp-monitor', val) end # Enable Duplicate Address Detection def enable_dad prop_get('enable-dad') end # Enable Duplicate Address Detection def enable_dad=(val) prop_set('enable-dad', val) end # number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts prop_get('dad-attempts') end # number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts=(val) prop_set('dad-attempts', val) end # interval (in seconds) between consecutive neighbor solicitation messages def ns_interval prop_get('ns-interval') end # interval (in seconds) between consecutive neighbor solicitation messages def ns_interval=(val) prop_set('ns-interval', val) end # time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time prop_get('reachable-time') end # time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time=(val) prop_set('reachable-time', val) end end def neighbor_discovery @subclasses['neighbor-discovery'] ||= NeighborDiscovery.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable DHCPv6 Client', 'uiHint-fieldLabel'=>'Enable'}, 'accept-ra-route'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Accept Router Advertised Default Route', 'uiHint-fieldLabel'=>'Accept Router Advertised Route'}, 'default-route-metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'10', 'help-string'=>'Metric of the default route created'}, 'preference'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'high', 'optional'=>'yes', 'help-string'=>'Select Low/Medium/High', 'uiHint-fieldLabel'=>'Preference', 'enum'=>[{'name'=>'low', 'value'=>'low', 'optional'=>'yes', 'help-string'=>'Low'}, {'name'=>'medium', 'value'=>'medium', 'optional'=>'yes', 'help-string'=>'Medium'}, {'name'=>'high', 'value'=>'high', 'optional'=>'yes', 'help-string'=>'High'}]}} # Enable DHCPv6 Client def enable prop_get('enable') end # Enable DHCPv6 Client def enable=(val) prop_set('enable', val) end # Accept Router Advertised Default Route def accept_ra_route prop_get('accept-ra-route') end # Accept Router Advertised Default Route def accept_ra_route=(val) prop_set('accept-ra-route', val) end # Metric of the default route created def default_route_metric prop_get('default-route-metric') end # Metric of the default route created def default_route_metric=(val) prop_set('default-route-metric', val) end # Select Low/Medium/High def preference prop_get('preference') end # Select Low/Medium/High def preference=(val) prop_set('preference', val) end end def dhcp_client @subclasses['dhcp-client'] ||= DhcpClient.new(parent_instance: self, client: @client, create_children: @create_children) end class Inherited < ConfigClass def has_multiple_values?; false; end def _section :inherited end class AssignAddr < XML::ConfigClass def has_multiple_values?; true; end def _section :'assign-addr' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Gua < ConfigClass def has_multiple_values?; false; end def _section :gua end class PoolType < XML::ConfigClass def has_multiple_values?; true; end def _section :'pool-type' end class Dynamic < ConfigClass def has_multiple_values?; false; end def _section :dynamic end @props = {} end def dynamic @subclasses['dynamic'] ||= Dynamic.new(parent_instance: self, client: @client, create_children: @create_children) end class DynamicId < ConfigClass def has_multiple_values?; false; end def _section :'dynamic-id' end @props = {'identifier'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4095', 'help-string'=>'Range [0-4095] must be unqiue for this prefix-pool', 'uiHint-fieldLabel'=>'Identifier'}} # Range [0-4095] must be unqiue for this prefix-pool def identifier prop_get('identifier') end # Range [0-4095] must be unqiue for this prefix-pool def identifier=(val) prop_set('identifier', val) end end def dynamic_id @subclasses['dynamic-id'] ||= DynamicId.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def pool_type maybe_register_subclass('pool-type', PoolType.new(parent_instance: self, client: @client, create_children: @create_children)) end class Advertise < ConfigClass def has_multiple_values?; false; end def _section :advertise end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable advertising this prefix in router advertisements'}, 'onlink-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages', 'uiHint-fieldLabel'=>'On-Link'}, 'auto-config-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages', 'uiHint-fieldLabel'=>'Autonomous'}} # Enable advertising this prefix in router advertisements def enable prop_get('enable') end # Enable advertising this prefix in router advertisements def enable=(val) prop_set('enable', val) end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag prop_get('onlink-flag') end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag=(val) prop_set('onlink-flag', val) end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag prop_get('auto-config-flag') end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag=(val) prop_set('auto-config-flag', val) end end def advertise @subclasses['advertise'] ||= Advertise.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable-on-interface'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable on Interface'}, 'prefix-pool'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix Pool', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'use-cache'=>'yes', 'optional'=>'yes', 'help-string'=>'Prefix-Pool Name'}} # Enable on Interface def enable_on_interface prop_get('enable-on-interface') end # Enable on Interface def enable_on_interface=(val) prop_set('enable-on-interface', val) end # Prefix-Pool Name def prefix_pool prop_get('prefix-pool') end # Prefix-Pool Name def prefix_pool=(val) prop_set('prefix-pool', val) end end def gua @subclasses['gua'] ||= Gua.new(parent_instance: self, client: @client, create_children: @create_children) end class Ula < ConfigClass def has_multiple_values?; false; end def _section :ula end class Advertise < ConfigClass def has_multiple_values?; false; end def _section :advertise end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable advertising this prefix in router advertisements'}, 'valid-lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'2592000', 'help-string'=>'Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages', 'uiHint-fieldLabel'=>'Valid Lifetime', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967294'}, 'enum'=>[{'value'=>'infinity'}]}}, 'preferred-lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'604800', 'help-string'=>'Preferred Lifetime (in seconds) of the prefix advertised in Router advertisement messages', 'uiHint-fieldLabel'=>'Preferred Lifetime', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967294'}, 'enum'=>[{'value'=>'infinity'}]}}, 'onlink-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages', 'uiHint-fieldLabel'=>'On-Link'}, 'auto-config-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages', 'uiHint-fieldLabel'=>'Autonomous'}} # enable advertising this prefix in router advertisements def enable prop_get('enable') end # enable advertising this prefix in router advertisements def enable=(val) prop_set('enable', val) end # Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def valid_lifetime prop_get('valid-lifetime') end # Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def valid_lifetime=(val) prop_set('valid-lifetime', val) end # Preferred Lifetime (in seconds) of the prefix advertised in Router advertisement messages def preferred_lifetime prop_get('preferred-lifetime') end # Preferred Lifetime (in seconds) of the prefix advertised in Router advertisement messages def preferred_lifetime=(val) prop_set('preferred-lifetime', val) end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag prop_get('onlink-flag') end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag=(val) prop_set('onlink-flag', val) end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag prop_get('auto-config-flag') end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag=(val) prop_set('auto-config-flag', val) end end def advertise @subclasses['advertise'] ||= Advertise.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable-on-interface'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Configure this address on Interface', 'uiHint-fieldLabel'=>'Enable Address on Interface'}, 'address'=>{'node-type'=>'element', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'help-string'=>'Configure ULA (Unique Local Address)', 'uiHint-fieldLabel'=>'Address'}, 'prefix'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Use this as prefix to form full address with interface id/EUI-64', 'uiHint-fieldLabel'=>'Use Interface ID as host portion'}, 'anycast'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Anycast Address', 'uiHint-fieldLabel'=>'Anycast'}} # Configure this address on Interface def enable_on_interface prop_get('enable-on-interface') end # Configure this address on Interface def enable_on_interface=(val) prop_set('enable-on-interface', val) end # Configure ULA (Unique Local Address) def address prop_get('address') end # Configure ULA (Unique Local Address) def address=(val) prop_set('address', val) end # Use this as prefix to form full address with interface id/EUI-64 def prefix prop_get('prefix') end # Use this as prefix to form full address with interface id/EUI-64 def prefix=(val) prop_set('prefix', val) end # Anycast Address def anycast prop_get('anycast') end # Anycast Address def anycast=(val) prop_set('anycast', val) end end def ula @subclasses['ula'] ||= Ula.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'help-string'=>'Name', 'regex'=>'^[a-zA-Z0-9._-]+$'}} # Name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def assign_addr maybe_register_subclass('assign-addr', AssignAddr.new(parent_instance: self, client: @client, create_children: @create_children)) end class NeighborDiscovery < ConfigClass def has_multiple_values?; false; end def _section :'neighbor-discovery' end class RouterAdvertisement < ConfigClass def has_multiple_values?; false; end def _section :'router-advertisement' end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'max-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'1800', 'default'=>'600', 'help-string'=>'Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages', 'uiHint-fieldLabel'=>'Max Interval'}, 'min-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'3', 'max'=>'1350', 'default'=>'200', 'help-string'=>'Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages', 'uiHint-fieldLabel'=>'Min Interval'}, 'link-mtu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise', 'uiHint-fieldLabel'=>'Link MTU', 'multi-types'=>{'rangedint'=>{'min'=>'1280', 'max'=>'9216'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'reachable-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'Reachable Time (in milliseconds) advertised in Router Advertisement messages', 'uiHint-fieldLabel'=>'Reachable Time', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'3600000'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'retransmission-timer'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'Retransmission Timer (in milliseconds) advertised in Router Advertisement messages', 'uiHint-fieldLabel'=>'Retrans Timer', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967295'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'hop-limit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'64', 'help-string'=>'Current Hop Limit advertised in Router Advertisement messages', 'uiHint-fieldLabel'=>'Hop Limit', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'255'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'9000', 'default'=>'1800', 'help-string'=>'Router Lifetime (in seconds) advertised in Router Advertisement messages', 'uiHint-fieldLabel'=>'Lifetime'}, 'router-preference'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'Medium', 'uiHint-fieldLabel'=>'Router Preference', 'enum'=>[{'value'=>'High', 'help-string'=>'01 High'}, {'value'=>'Medium', 'help-string'=>'00 Medium'}, {'value'=>'Low', 'help-string'=>'11 Low'}]}, 'managed-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set the Managed Configuration Flag (M-bit) in Router Advertisement messages', 'uiHint-fieldLabel'=>'Managed Configuration'}, 'other-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages', 'uiHint-fieldLabel'=>'Other Configuration'}, 'enable-consistency-check'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'check consistency of RA messages from other routers.', 'uiHint-fieldLabel'=>'Consistency Check'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages def max_interval prop_get('max-interval') end # Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages def max_interval=(val) prop_set('max-interval', val) end # Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages def min_interval prop_get('min-interval') end # Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages def min_interval=(val) prop_set('min-interval', val) end # value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise def link_mtu prop_get('link-mtu') end # value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise def link_mtu=(val) prop_set('link-mtu', val) end # Reachable Time (in milliseconds) advertised in Router Advertisement messages def reachable_time prop_get('reachable-time') end # Reachable Time (in milliseconds) advertised in Router Advertisement messages def reachable_time=(val) prop_set('reachable-time', val) end # Retransmission Timer (in milliseconds) advertised in Router Advertisement messages def retransmission_timer prop_get('retransmission-timer') end # Retransmission Timer (in milliseconds) advertised in Router Advertisement messages def retransmission_timer=(val) prop_set('retransmission-timer', val) end # Current Hop Limit advertised in Router Advertisement messages def hop_limit prop_get('hop-limit') end # Current Hop Limit advertised in Router Advertisement messages def hop_limit=(val) prop_set('hop-limit', val) end # Router Lifetime (in seconds) advertised in Router Advertisement messages def lifetime prop_get('lifetime') end # Router Lifetime (in seconds) advertised in Router Advertisement messages def lifetime=(val) prop_set('lifetime', val) end def router_preference prop_get('router-preference') end def router_preference=(val) prop_set('router-preference', val) end # Set the Managed Configuration Flag (M-bit) in Router Advertisement messages def managed_flag prop_get('managed-flag') end # Set the Managed Configuration Flag (M-bit) in Router Advertisement messages def managed_flag=(val) prop_set('managed-flag', val) end # Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages def other_flag prop_get('other-flag') end # Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages def other_flag=(val) prop_set('other-flag', val) end # check consistency of RA messages from other routers. def enable_consistency_check prop_get('enable-consistency-check') end # check consistency of RA messages from other routers. def enable_consistency_check=(val) prop_set('enable-consistency-check', val) end end def router_advertisement @subclasses['router-advertisement'] ||= RouterAdvertisement.new(parent_instance: self, client: @client, create_children: @create_children) end class DnsServer < ConfigClass def has_multiple_values?; false; end def _section :'dns-server' end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end class Dhcpv6 < ConfigClass def has_multiple_values?; false; end def _section :dhcpv6 end @props = {'prefix-pool'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix Pool', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-Pool Name'}} # Prefix-Pool Name def prefix_pool prop_get('prefix-pool') end # Prefix-Pool Name def prefix_pool=(val) prop_set('prefix-pool', val) end end def dhcpv6 @subclasses['dhcpv6'] ||= Dhcpv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Manual < ConfigClass def has_multiple_values?; false; end def _section :manual end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'unicast-only'=>'yes', 'help-string'=>'IPv6 Address', 'uiHint-fieldLabel'=>'Server'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) Lifetime in Seconds'}} # IPv6 Address def name prop_get('@name') end # (4-3600) Lifetime in Seconds def lifetime prop_get('lifetime') end # (4-3600) Lifetime in Seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def manual @subclasses['manual'] ||= Manual.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'defaule'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def dns_server @subclasses['dns-server'] ||= DnsServer.new(parent_instance: self, client: @client, create_children: @create_children) end class DnsSuffix < ConfigClass def has_multiple_values?; false; end def _section :'dns-suffix' end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end class Dhcpv6 < ConfigClass def has_multiple_values?; false; end def _section :dhcpv6 end @props = {'prefix-pool'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix Pool', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-Pool Name'}} # Prefix-Pool Name def prefix_pool prop_get('prefix-pool') end # Prefix-Pool Name def prefix_pool=(val) prop_set('prefix-pool', val) end end def dhcpv6 @subclasses['dhcpv6'] ||= Dhcpv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Manual < ConfigClass def has_multiple_values?; false; end def _section :manual end class Suffix < XML::ConfigClass def has_multiple_values?; true; end def _section :suffix end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'domain name', 'minlen'=>'1', 'maxlen'=>'255', 'uiHint-fieldLabel'=>'Domain'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) lifetime in seconds'}} # domain name def name prop_get('@name') end # (4-3600) lifetime in seconds def lifetime prop_get('lifetime') end # (4-3600) lifetime in seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def suffix maybe_register_subclass('suffix', Suffix.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def manual @subclasses['manual'] ||= Manual.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'defaule'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def dns_suffix @subclasses['dns-suffix'] ||= DnsSuffix.new(parent_instance: self, client: @client, create_children: @create_children) end class Neighbor < XML::ConfigClass def has_multiple_values?; true; end def _section :neighbor end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'help-string'=>'IP address'}, 'hw-address'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'mac-address', 'help-string'=>'MAC address (format xx:xx:xx:xx:xx:xx)'}} # IP address def name prop_get('@name') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address prop_get('hw-address') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address=(val) prop_set('hw-address', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def neighbor maybe_register_subclass('neighbor', Neighbor.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable-ndp-monitor'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable NDP Monitoring', 'uiHint-fieldLabel'=>'Enable NDP Monitoring'}, 'enable-dad'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable Duplicate Address Detection (DAD)', 'uiHint-fieldLabel'=>'Enable Duplicate Address Detection'}, 'dad-attempts'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'10', 'default'=>'1', 'help-string'=>'Number of consecutive neighbor solicitation messages sent for duplicate address detection', 'uiHint-fieldLabel'=>'DAD Attempts'}, 'ns-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'1', 'help-string'=>'Interval (in seconds) between consecutive neighbor solicitation messages', 'uiHint-fieldLabel'=>'NS Interval'}, 'reachable-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'10', 'max'=>'36000', 'default'=>'30', 'help-string'=>'Time (in seconds) that the Reachable status for a neighbor can be maintained', 'uiHint-fieldLabel'=>'Reachable Time'}} # Enable NDP Monitoring def enable_ndp_monitor prop_get('enable-ndp-monitor') end # Enable NDP Monitoring def enable_ndp_monitor=(val) prop_set('enable-ndp-monitor', val) end # Enable Duplicate Address Detection (DAD) def enable_dad prop_get('enable-dad') end # Enable Duplicate Address Detection (DAD) def enable_dad=(val) prop_set('enable-dad', val) end # Number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts prop_get('dad-attempts') end # Number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts=(val) prop_set('dad-attempts', val) end # Interval (in seconds) between consecutive neighbor solicitation messages def ns_interval prop_get('ns-interval') end # Interval (in seconds) between consecutive neighbor solicitation messages def ns_interval=(val) prop_set('ns-interval', val) end # Time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time prop_get('reachable-time') end # Time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time=(val) prop_set('reachable-time', val) end end def neighbor_discovery @subclasses['neighbor-discovery'] ||= NeighborDiscovery.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable Inherited Interface'}} # Enable Inherited Interface def enable prop_get('enable') end # Enable Inherited Interface def enable=(val) prop_set('enable', val) end end def inherited @subclasses['inherited'] ||= Inherited.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable IPv6 on the interface'}, 'interface-id'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'EUI-64', 'multi-types'=>{'string'=>{'maxlen'=>'16', 'loose-membership'=>'yes', 'help-string'=>'user defined 64-bit identifier (in hex)'}, 'enum'=>[{'value'=>'EUI-64', 'help-string'=>'default 64-bit Extended Unique Identifier'}]}}} # Enable IPv6 on the interface def enabled prop_get('enabled') end # Enable IPv6 on the interface def enabled=(val) prop_set('enabled', val) end def interface_id prop_get('interface-id') end def interface_id=(val) prop_set('interface-id', val) end end def ipv6 @subclasses['ipv6'] ||= Ipv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Lacp < ConfigClass def has_multiple_values?; false; end def _section :lacp end class HighAvailability < ConfigClass def has_multiple_values?; false; end def _section :'high-availability' end @props = {'passive-pre-negotiation'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Enable LACP pre-negotiation in HA passive state'}} # Enable LACP pre-negotiation in HA passive state def passive_pre_negotiation prop_get('passive-pre-negotiation') end # Enable LACP pre-negotiation in HA passive state def passive_pre_negotiation=(val) prop_set('passive-pre-negotiation', val) end end def high_availability @subclasses['high-availability'] ||= HighAvailability.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'fast-failover'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'mode'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'passive', 'help-string'=>'LACP mode', 'enum'=>[{'value'=>'passive'}, {'value'=>'active'}]}, 'transmission-rate'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'slow', 'help-string'=>'periodic transition rate. N/A in passive mode', 'enum'=>[{'value'=>'fast'}, {'value'=>'slow'}]}, 'system-priority'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'32768', 'help-string'=>'LACP system priority in system ID'}, 'max-ports'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'8', 'default'=>'8', 'help-string'=>'maximum number of physical ports bundled in the LAG'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end def fast_failover prop_get('fast-failover') end def fast_failover=(val) prop_set('fast-failover', val) end # LACP mode def mode prop_get('mode') end # LACP mode def mode=(val) prop_set('mode', val) end # periodic transition rate. N/A in passive mode def transmission_rate prop_get('transmission-rate') end # periodic transition rate. N/A in passive mode def transmission_rate=(val) prop_set('transmission-rate', val) end # LACP system priority in system ID def system_priority prop_get('system-priority') end # LACP system priority in system ID def system_priority=(val) prop_set('system-priority', val) end # maximum number of physical ports bundled in the LAG def max_ports prop_get('max-ports') end # maximum number of physical ports bundled in the LAG def max_ports=(val) prop_set('max-ports', val) end end def lacp @subclasses['lacp'] ||= Lacp.new(parent_instance: self, client: @client, create_children: @create_children) end class Lldp < ConfigClass def has_multiple_values?; false; end def _section :lldp end class HighAvailability < ConfigClass def has_multiple_values?; false; end def _section :'high-availability' end @props = {'passive-pre-negotiation'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Enable LLDP pre-negotiation in HA passive state'}} # Enable LLDP pre-negotiation in HA passive state def passive_pre_negotiation prop_get('passive-pre-negotiation') end # Enable LLDP pre-negotiation in HA passive state def passive_pre_negotiation=(val) prop_set('passive-pre-negotiation', val) end end def high_availability @subclasses['high-availability'] ||= HighAvailability.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'profile'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'LLDP profile', 'optional'=>'yes'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # LLDP profile def profile prop_get('profile') end # LLDP profile def profile=(val) prop_set('profile', val) end end def lldp @subclasses['lldp'] ||= Lldp.new(parent_instance: self, client: @client, create_children: @create_children) end class Arp < XML::ConfigClass def has_multiple_values?; true; end def _section :arp end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'help-string'=>'IP address'}, 'hw-address'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'mac-address', 'help-string'=>'MAC address (format xx:xx:xx:xx:xx:xx)'}} # IP address def name prop_get('@name') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address prop_get('hw-address') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address=(val) prop_set('hw-address', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def arp maybe_register_subclass('arp', Arp.new(parent_instance: self, client: @client, create_children: @create_children)) end class NdpProxy < ConfigClass def has_multiple_values?; false; end def _section :'ndp-proxy' end class Address < XML::ConfigClass def has_multiple_values?; true; end def _section :address end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'IPv6 address or address object name'}, 'negate'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'max-count'=>'16', 'help-string'=>'put the prefix or address on a block list'}} # IPv6 address or address object name def name prop_get('@name') end # put the prefix or address on a block list def negate prop_get('negate') end # put the prefix or address on a block list def negate=(val) prop_set('negate', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def address maybe_register_subclass('address', Address.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable proxy NDP on the interface'}} # Enable proxy NDP on the interface def enabled prop_get('enabled') end # Enable proxy NDP on the interface def enabled=(val) prop_set('enabled', val) end end def ndp_proxy @subclasses['ndp-proxy'] ||= NdpProxy.new(parent_instance: self, client: @client, create_children: @create_children) end class DhcpClient < ConfigClass def has_multiple_values?; false; end def _section :'dhcp-client' end class SendHostname < ConfigClass def has_multiple_values?; false; end def _section :'send-hostname' end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'hostname'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'system-hostname', 'help-string'=>'Set Interface Hostname', 'multi-types'=>{'string'=>{'regex'=>'^[a-zA-Z0-9\._-]+$', 'minlen'=>'1', 'maxlen'=>'64', 'loose-membership'=>'yes', 'help-string'=>'Custom Interface Hostname'}, 'enum'=>[{'value'=>'system-hostname', 'help-string'=>'System Hostname'}]}}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Set Interface Hostname def hostname prop_get('hostname') end # Set Interface Hostname def hostname=(val) prop_set('hostname', val) end end def send_hostname @subclasses['send-hostname'] ||= SendHostname.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'create-default-route'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Automatically create default route pointing to default gateway provided by server'}, 'default-route-metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'10', 'help-string'=>'Metric of the default route created'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Automatically create default route pointing to default gateway provided by server def create_default_route prop_get('create-default-route') end # Automatically create default route pointing to default gateway provided by server def create_default_route=(val) prop_set('create-default-route', val) end # Metric of the default route created def default_route_metric prop_get('default-route-metric') end # Metric of the default route created def default_route_metric=(val) prop_set('default-route-metric', val) end end def dhcp_client @subclasses['dhcp-client'] ||= DhcpClient.new(parent_instance: self, client: @client, create_children: @create_children) end class DdnsConfig < ConfigClass def has_multiple_values?; false; end def _section :'ddns-config' end class DdnsIp < XML::ConfigClass def has_multiple_values?; true; end def _section :'ddns-ip' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'maxlen'=>'127'}, 'enum'=>[{'value'=>'DHCP'}, {'value'=>'PPPoE'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def ddns_ip maybe_register_subclass('ddns-ip', DdnsIp.new(parent_instance: self, client: @client, create_children: @create_children)) end class DdnsIpv6 < XML::ConfigClass def has_multiple_values?; true; end def _section :'ddns-ipv6' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def ddns_ipv6 maybe_register_subclass('ddns-ipv6', DdnsIpv6.new(parent_instance: self, client: @client, create_children: @create_children)) end class DdnsVendorConfig < XML::ConfigClass def has_multiple_values?; true; end def _section :'ddns-vendor-config' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'255'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ddns_vendor_config maybe_register_subclass('ddns-vendor-config', DdnsVendorConfig.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'ddns-enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'ddns-update-interval'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'30', 'default'=>'1', 'optional'=>'yes'}, 'ddns-hostname'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([$a-zA-Z0-9_\.\-])+$', 'minlen'=>'1', 'maxlen'=>'255', 'help-string'=>'ddns hostname variable or real address'}, 'ddns-cert-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes'}, 'ddns-vendor'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127', 'help-string'=>'Vendor and product type'}} def ddns_enabled prop_get('ddns-enabled') end def ddns_enabled=(val) prop_set('ddns-enabled', val) end def ddns_update_interval prop_get('ddns-update-interval') end def ddns_update_interval=(val) prop_set('ddns-update-interval', val) end # ddns hostname variable or real address def ddns_hostname prop_get('ddns-hostname') end # ddns hostname variable or real address def ddns_hostname=(val) prop_set('ddns-hostname', val) end def ddns_cert_profile prop_get('ddns-cert-profile') end def ddns_cert_profile=(val) prop_set('ddns-cert-profile', val) end # Vendor and product type def ddns_vendor prop_get('ddns-vendor') end # Vendor and product type def ddns_vendor=(val) prop_set('ddns-vendor', val) end end def ddns_config @subclasses['ddns-config'] ||= DdnsConfig.new(parent_instance: self, client: @client, create_children: @create_children) end class SdwanLinkSettings < ConfigClass def has_multiple_values?; false; end def _section :'sdwan-link-settings' end class UpstreamNat < ConfigClass def has_multiple_values?; false; end def _section :'upstream-nat' end class StaticIp < ConfigClass def has_multiple_values?; false; end def _section :'static-ip' end @props = {'ip-address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Upstream NAT IP address', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'ipspec'=>{'unicast-only'=>'yes'}}}, 'fqdn'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'regex'=>'^([a-zA-Z0-9._-])+$', 'help-string'=>'Upstream NAT address FQDN name configuration'}} # Upstream NAT IP address def ip_address prop_get('ip-address') end # Upstream NAT IP address def ip_address=(val) prop_set('ip-address', val) end # Upstream NAT address FQDN name configuration def fqdn prop_get('fqdn') end # Upstream NAT address FQDN name configuration def fqdn=(val) prop_set('fqdn', val) end end def static_ip @subclasses['static-ip'] ||= StaticIp.new(parent_instance: self, client: @client, create_children: @create_children) end class Ddns < ConfigClass def has_multiple_values?; false; end def _section :ddns end @props = {} end def ddns @subclasses['ddns'] ||= Ddns.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable upstream NAT IP config'}} # Enable upstream NAT IP config def enable prop_get('enable') end # Enable upstream NAT IP config def enable=(val) prop_set('enable', val) end end def upstream_nat @subclasses['upstream-nat'] ||= UpstreamNat.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable sdwan on this ethernet interface'}, 'sdwan-interface-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'Sdwan link characteristics'}} # Enable sdwan on this ethernet interface def enable prop_get('enable') end # Enable sdwan on this ethernet interface def enable=(val) prop_set('enable', val) end # Sdwan link characteristics def sdwan_interface_profile prop_get('sdwan-interface-profile') end # Sdwan link characteristics def sdwan_interface_profile=(val) prop_set('sdwan-interface-profile', val) end end def sdwan_link_settings @subclasses['sdwan-link-settings'] ||= SdwanLinkSettings.new(parent_instance: self, client: @client, create_children: @create_children) end class Units < XML::ConfigClass def has_multiple_values?; true; end def _section :units end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Bonjour < ConfigClass def has_multiple_values?; false; end def _section :bonjour end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set to support Bonjour service'}, 'ttl-check'=>{'node-type'=>'element', 'internal'=>'yes', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set to check and update TTL'}, 'group-id'=>{'node-type'=>'element', 'internal'=>'yes', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'40', 'min'=>'0', 'max'=>'16', 'help-string'=>'default 0: NO-Group'}} # Set to support Bonjour service def enable prop_get('enable') end # Set to support Bonjour service def enable=(val) prop_set('enable', val) end # Set to check and update TTL def ttl_check prop_get('ttl-check') end # Set to check and update TTL def ttl_check=(val) prop_set('ttl-check', val) end # default 0: NO-Group def group_id prop_get('group-id') end # default 0: NO-Group def group_id=(val) prop_set('group-id', val) end end def bonjour @subclasses['bonjour'] ||= Bonjour.new(parent_instance: self, client: @client, create_children: @create_children) end class AdjustTcpMss < ConfigClass def has_multiple_values?; false; end def _section :'adjust-tcp-mss' end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set if TCP MSS value should be reduced based on mtu'}, 'ipv4-mss-adjustment'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'40', 'min'=>'40', 'max'=>'300', 'help-string'=>'IPv4 MSS adjustment size (in bytes)'}, 'ipv6-mss-adjustment'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'60', 'min'=>'60', 'max'=>'300', 'help-string'=>'IPv6 MSS adjustment size (in bytes)'}} # Set if TCP MSS value should be reduced based on mtu def enable prop_get('enable') end # Set if TCP MSS value should be reduced based on mtu def enable=(val) prop_set('enable', val) end # IPv4 MSS adjustment size (in bytes) def ipv4_mss_adjustment prop_get('ipv4-mss-adjustment') end # IPv4 MSS adjustment size (in bytes) def ipv4_mss_adjustment=(val) prop_set('ipv4-mss-adjustment', val) end # IPv6 MSS adjustment size (in bytes) def ipv6_mss_adjustment prop_get('ipv6-mss-adjustment') end # IPv6 MSS adjustment size (in bytes) def ipv6_mss_adjustment=(val) prop_set('ipv6-mss-adjustment', val) end end def adjust_tcp_mss @subclasses['adjust-tcp-mss'] ||= AdjustTcpMss.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip < XML::ConfigClass def has_multiple_values?; true; end def _section :ip end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'regex'=>'^([ $0-9a-zA-Z:@./_-])+$', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'IP address/netmask or address object name'}, 'sdwan-gateway'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'Gateway IPv4 Address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'ipv4-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # IP address/netmask or address object name def name prop_get('@name') end # Gateway IPv4 Address def sdwan_gateway prop_get('sdwan-gateway') end # Gateway IPv4 Address def sdwan_gateway=(val) prop_set('sdwan-gateway', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ip maybe_register_subclass('ip', Ip.new(parent_instance: self, client: @client, create_children: @create_children)) end class Ipv6 < ConfigClass def has_multiple_values?; false; end def _section :ipv6 end class Address < XML::ConfigClass def has_multiple_values?; true; end def _section :address end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Prefix < ConfigClass def has_multiple_values?; false; end def _section :prefix end @props = {} end def prefix @subclasses['prefix'] ||= Prefix.new(parent_instance: self, client: @client, create_children: @create_children) end class Anycast < ConfigClass def has_multiple_values?; false; end def _section :anycast end @props = {} end def anycast @subclasses['anycast'] ||= Anycast.new(parent_instance: self, client: @client, create_children: @create_children) end class Advertise < ConfigClass def has_multiple_values?; false; end def _section :advertise end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable advertising this prefix in router advertisements'}, 'valid-lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'2592000', 'help-string'=>'Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967294'}, 'enum'=>[{'value'=>'infinity'}]}}, 'preferred-lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'604800', 'help-string'=>'Preferred Lifetime (in seconds) of the prefix advertised in Router Advertisement messages', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967294'}, 'enum'=>[{'value'=>'infinity'}]}}, 'onlink-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages'}, 'auto-config-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages'}} # enable advertising this prefix in router advertisements def enable prop_get('enable') end # enable advertising this prefix in router advertisements def enable=(val) prop_set('enable', val) end # Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def valid_lifetime prop_get('valid-lifetime') end # Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def valid_lifetime=(val) prop_set('valid-lifetime', val) end # Preferred Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def preferred_lifetime prop_get('preferred-lifetime') end # Preferred Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def preferred_lifetime=(val) prop_set('preferred-lifetime', val) end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag prop_get('onlink-flag') end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag=(val) prop_set('onlink-flag', val) end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag prop_get('auto-config-flag') end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag=(val) prop_set('auto-config-flag', val) end end def advertise @subclasses['advertise'] ||= Advertise.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'^([ $0-9a-zA-Z:@./_-])+$', 'maxlen'=>'63', 'help-string'=>'IPv6 address/prefix length or address object name'}, 'enable-on-interface'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'configure this address on interface'}} # IPv6 address/prefix length or address object name def name prop_get('@name') end # configure this address on interface def enable_on_interface prop_get('enable-on-interface') end # configure this address on interface def enable_on_interface=(val) prop_set('enable-on-interface', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def address maybe_register_subclass('address', Address.new(parent_instance: self, client: @client, create_children: @create_children)) end class NeighborDiscovery < ConfigClass def has_multiple_values?; false; end def _section :'neighbor-discovery' end class RouterAdvertisement < ConfigClass def has_multiple_values?; false; end def _section :'router-advertisement' end class Prefix < XML::ConfigClass def has_multiple_values?; true; end def _section :prefix end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class ValidLifetime < XML::ConfigClass def has_multiple_values?; true; end def _section :'valid-lifetime' end @props = {'fixed-time'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'default'=>'2592000', 'help-string'=>'fixed value (in seconds) of the Valid Lifetime field of the prefix in Router Advertisement messages'}, 'expire-time'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'19', 'maxlen'=>'19', 'regex'=>'[0-9][0-9][0-9][0-9]/([0][1-9]|[1][0-2])/([0-2][0-9]|[3][0-1])@([01][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9])', 'help-string'=>'expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59)'}} # fixed value (in seconds) of the Valid Lifetime field of the prefix in Router Advertisement messages def fixed_time prop_get('fixed-time') end # fixed value (in seconds) of the Valid Lifetime field of the prefix in Router Advertisement messages def fixed_time=(val) prop_set('fixed-time', val) end # expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59) def expire_time prop_get('expire-time') end # expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59) def expire_time=(val) prop_set('expire-time', val) end end def valid_lifetime maybe_register_subclass('valid-lifetime', ValidLifetime.new(parent_instance: self, client: @client, create_children: @create_children)) end class PreferredLifetime < XML::ConfigClass def has_multiple_values?; true; end def _section :'preferred-lifetime' end @props = {'fixed-time'=>{'node-type'=>'element', 'type'=>'rangedint', 'default'=>'604800', 'min'=>'0', 'max'=>'4294967295', 'help-string'=>'Fixed value (in seconds) of the Preferred Lifetime field of the prefix in Router Advertisement messages'}, 'expire-time'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'19', 'maxlen'=>'19', 'regex'=>'[0-9][0-9][0-9][0-9]/([0][1-9]|[1][0-2])/([0-2][0-9]|[3][0-1])@([01][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9])', 'help-string'=>'expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59)'}} # Fixed value (in seconds) of the Preferred Lifetime field of the prefix in Router Advertisement messages def fixed_time prop_get('fixed-time') end # Fixed value (in seconds) of the Preferred Lifetime field of the prefix in Router Advertisement messages def fixed_time=(val) prop_set('fixed-time', val) end # expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59) def expire_time prop_get('expire-time') end # expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59) def expire_time=(val) prop_set('expire-time', val) end end def preferred_lifetime maybe_register_subclass('preferred-lifetime', PreferredLifetime.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'help-string'=>'IPv6 prefix'}, 'onlink-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages'}, 'auto-config-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages'}} # IPv6 prefix def name prop_get('@name') end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag prop_get('onlink-flag') end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag=(val) prop_set('onlink-flag', val) end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag prop_get('auto-config-flag') end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag=(val) prop_set('auto-config-flag', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def prefix maybe_register_subclass('prefix', Prefix.new(parent_instance: self, client: @client, create_children: @create_children)) end class DnsSupport < ConfigClass def has_multiple_values?; false; end def _section :'dns-support' end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'unicast-only'=>'yes', 'help-string'=>'IPv6 address'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) lifetime in seconds'}} # IPv6 address def name prop_get('@name') end # (4-3600) lifetime in seconds def lifetime prop_get('lifetime') end # (4-3600) lifetime in seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end class Suffix < XML::ConfigClass def has_multiple_values?; true; end def _section :suffix end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'domain name', 'minlen'=>'1', 'maxlen'=>'255'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) lifetime in seconds'}} # domain name def name prop_get('@name') end # (4-3600) lifetime in seconds def lifetime prop_get('lifetime') end # (4-3600) lifetime in seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def suffix maybe_register_subclass('suffix', Suffix.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'defaule'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def dns_support @subclasses['dns-support'] ||= DnsSupport.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'max-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'1800', 'default'=>'600', 'help-string'=>'Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages'}, 'min-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'3', 'max'=>'1350', 'default'=>'200', 'help-string'=>'Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages'}, 'managed-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set the Managed Configuration Flag (M-bit) in Router Advertisement messages'}, 'other-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages'}, 'link-mtu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise', 'multi-types'=>{'rangedint'=>{'min'=>'1280', 'max'=>'9216'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'reachable-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'Reachable Time (in milliseconds) advertised in Router Advertisement messages', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'3600000'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'retransmission-timer'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'Retransmission Timer (in milliseconds) advertised in Router Advertisement messages', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967295'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'hop-limit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'64', 'help-string'=>'Current Hop Limit advertised in Router Advertisement messages', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'255'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'9000', 'default'=>'1800', 'help-string'=>'Router Lifetime (in seconds) advertised in Router Advertisement messages'}, 'router-preference'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'Medium', 'enum'=>[{'value'=>'High', 'help-string'=>'01 High'}, {'value'=>'Medium', 'help-string'=>'00 Medium'}, {'value'=>'Low', 'help-string'=>'11 Low'}]}, 'enable-consistency-check'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'check consistency of RA messages from other routers.'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages def max_interval prop_get('max-interval') end # Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages def max_interval=(val) prop_set('max-interval', val) end # Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages def min_interval prop_get('min-interval') end # Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages def min_interval=(val) prop_set('min-interval', val) end # Set the Managed Configuration Flag (M-bit) in Router Advertisement messages def managed_flag prop_get('managed-flag') end # Set the Managed Configuration Flag (M-bit) in Router Advertisement messages def managed_flag=(val) prop_set('managed-flag', val) end # Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages def other_flag prop_get('other-flag') end # Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages def other_flag=(val) prop_set('other-flag', val) end # value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise def link_mtu prop_get('link-mtu') end # value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise def link_mtu=(val) prop_set('link-mtu', val) end # Reachable Time (in milliseconds) advertised in Router Advertisement messages def reachable_time prop_get('reachable-time') end # Reachable Time (in milliseconds) advertised in Router Advertisement messages def reachable_time=(val) prop_set('reachable-time', val) end # Retransmission Timer (in milliseconds) advertised in Router Advertisement messages def retransmission_timer prop_get('retransmission-timer') end # Retransmission Timer (in milliseconds) advertised in Router Advertisement messages def retransmission_timer=(val) prop_set('retransmission-timer', val) end # Current Hop Limit advertised in Router Advertisement messages def hop_limit prop_get('hop-limit') end # Current Hop Limit advertised in Router Advertisement messages def hop_limit=(val) prop_set('hop-limit', val) end # Router Lifetime (in seconds) advertised in Router Advertisement messages def lifetime prop_get('lifetime') end # Router Lifetime (in seconds) advertised in Router Advertisement messages def lifetime=(val) prop_set('lifetime', val) end def router_preference prop_get('router-preference') end def router_preference=(val) prop_set('router-preference', val) end # check consistency of RA messages from other routers. def enable_consistency_check prop_get('enable-consistency-check') end # check consistency of RA messages from other routers. def enable_consistency_check=(val) prop_set('enable-consistency-check', val) end end def router_advertisement @subclasses['router-advertisement'] ||= RouterAdvertisement.new(parent_instance: self, client: @client, create_children: @create_children) end class Neighbor < XML::ConfigClass def has_multiple_values?; true; end def _section :neighbor end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'help-string'=>'IP address'}, 'hw-address'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'mac-address', 'help-string'=>'MAC address (format xx:xx:xx:xx:xx:xx)'}} # IP address def name prop_get('@name') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address prop_get('hw-address') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address=(val) prop_set('hw-address', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def neighbor maybe_register_subclass('neighbor', Neighbor.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable-ndp-monitor'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable ndp monitoring'}, 'enable-dad'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable duplicate address detection'}, 'dad-attempts'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'10', 'default'=>'1', 'help-string'=>'number of consecutive neighbor solicitation messages sent for duplicate address detection'}, 'ns-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'1', 'help-string'=>'interval (in seconds) between consecutive neighbor solicitation messages'}, 'reachable-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'10', 'max'=>'36000', 'default'=>'30', 'help-string'=>'time (in seconds) that the Reachable status for a neighbor can be maintained'}, 'disable-nud'=>{'node-type'=>'element', 'disabled'=>'yes', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'disable Neighbor Unreachability Detection'}} # enable ndp monitoring def enable_ndp_monitor prop_get('enable-ndp-monitor') end # enable ndp monitoring def enable_ndp_monitor=(val) prop_set('enable-ndp-monitor', val) end # enable duplicate address detection def enable_dad prop_get('enable-dad') end # enable duplicate address detection def enable_dad=(val) prop_set('enable-dad', val) end # number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts prop_get('dad-attempts') end # number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts=(val) prop_set('dad-attempts', val) end # interval (in seconds) between consecutive neighbor solicitation messages def ns_interval prop_get('ns-interval') end # interval (in seconds) between consecutive neighbor solicitation messages def ns_interval=(val) prop_set('ns-interval', val) end # time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time prop_get('reachable-time') end # time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time=(val) prop_set('reachable-time', val) end # disable Neighbor Unreachability Detection def disable_nud prop_get('disable-nud') end # disable Neighbor Unreachability Detection def disable_nud=(val) prop_set('disable-nud', val) end end def neighbor_discovery @subclasses['neighbor-discovery'] ||= NeighborDiscovery.new(parent_instance: self, client: @client, create_children: @create_children) end class DhcpClient < ConfigClass def has_multiple_values?; false; end def _section :'dhcp-client' end class V6Options < ConfigClass def has_multiple_values?; false; end def _section :'v6-options' end class Enable < XML::ConfigClass def has_multiple_values?; true; end def _section :enable end class No < ConfigClass def has_multiple_values?; false; end def _section :no end @props = {} end def no @subclasses['no'] ||= No.new(parent_instance: self, client: @client, create_children: @create_children) end class Yes < ConfigClass def has_multiple_values?; false; end def _section :yes end @props = {'non-temp-addr'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Request Non-Temporary Address Type', 'uiHint-fieldLabel'=>'Non-Temporary Address'}, 'temp-addr'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Request Temporary Address Type', 'uiHint-fieldLabel'=>'Temporary Address'}} # Request Non-Temporary Address Type def non_temp_addr prop_get('non-temp-addr') end # Request Non-Temporary Address Type def non_temp_addr=(val) prop_set('non-temp-addr', val) end # Request Temporary Address Type def temp_addr prop_get('temp-addr') end # Request Temporary Address Type def temp_addr=(val) prop_set('temp-addr', val) end end def yes @subclasses['yes'] ||= Yes.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def enable maybe_register_subclass('enable', Enable.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'support-srvr-reconfig'=>{'node-type'=>'element', 'hidden'=>'yes', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable DHCPv6 Server Re-Configuration Support', 'uiHint-fieldLabel'=>'DHCPv6 Server Re-Configuration Support'}, 'rapid-commit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable Rapid Commit', 'uiHint-fieldLabel'=>'Rapid Commit'}, 'duid-type'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'duid-type-llt', 'optional'=>'yes', 'help-string'=>'Select DUID-LLT/DUID-LL', 'uiHint-fieldLabel'=>'DUID Type', 'enum'=>[{'name'=>'duid-type-llt', 'value'=>'duid-type-llt', 'optional'=>'yes', 'help-string'=>'DUID-LLT'}, {'name'=>'duid-type-ll', 'value'=>'duid-type-ll', 'optional'=>'yes', 'help-string'=>'DUID-LL'}]}} # Enable DHCPv6 Server Re-Configuration Support def support_srvr_reconfig prop_get('support-srvr-reconfig') end # Enable DHCPv6 Server Re-Configuration Support def support_srvr_reconfig=(val) prop_set('support-srvr-reconfig', val) end # Enable Rapid Commit def rapid_commit prop_get('rapid-commit') end # Enable Rapid Commit def rapid_commit=(val) prop_set('rapid-commit', val) end # Select DUID-LLT/DUID-LL def duid_type prop_get('duid-type') end # Select DUID-LLT/DUID-LL def duid_type=(val) prop_set('duid-type', val) end end def v6_options @subclasses['v6-options'] ||= V6Options.new(parent_instance: self, client: @client, create_children: @create_children) end class PrefixDelegation < ConfigClass def has_multiple_values?; false; end def _section :'prefix-delegation' end class Enable < XML::ConfigClass def has_multiple_values?; true; end def _section :enable end class No < ConfigClass def has_multiple_values?; false; end def _section :no end @props = {} end def no @subclasses['no'] ||= No.new(parent_instance: self, client: @client, create_children: @create_children) end class Yes < ConfigClass def has_multiple_values?; false; end def _section :yes end @props = {'prefix-len-hint'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Send prefix length hint to server', 'uiHint-fieldLabel'=>'DHCP Prefix Length Hint'}, 'prefix-len'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'128', 'default'=>'48', 'help-string'=>'Hint DHCP Prefix Length (bits)', 'uiHint-fieldLabel'=>'DHCP Prefix Length'}, 'pfx-pool-name'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'regex'=>'^[a-zA-Z0-9._-]+$', 'help-string'=>'Configure unique Prefix Pool Name', 'uiHint-fieldLabel'=>'Prefix Pool Name'}} # Send prefix length hint to server def prefix_len_hint prop_get('prefix-len-hint') end # Send prefix length hint to server def prefix_len_hint=(val) prop_set('prefix-len-hint', val) end # Hint DHCP Prefix Length (bits) def prefix_len prop_get('prefix-len') end # Hint DHCP Prefix Length (bits) def prefix_len=(val) prop_set('prefix-len', val) end # Configure unique Prefix Pool Name def pfx_pool_name prop_get('pfx-pool-name') end # Configure unique Prefix Pool Name def pfx_pool_name=(val) prop_set('pfx-pool-name', val) end end def yes @subclasses['yes'] ||= Yes.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def enable maybe_register_subclass('enable', Enable.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def prefix_delegation @subclasses['prefix-delegation'] ||= PrefixDelegation.new(parent_instance: self, client: @client, create_children: @create_children) end class NeighborDiscovery < ConfigClass def has_multiple_values?; false; end def _section :'neighbor-discovery' end class DnsServer < ConfigClass def has_multiple_values?; false; end def _section :'dns-server' end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end class Dhcpv6 < ConfigClass def has_multiple_values?; false; end def _section :dhcpv6 end @props = {} end def dhcpv6 @subclasses['dhcpv6'] ||= Dhcpv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Manual < ConfigClass def has_multiple_values?; false; end def _section :manual end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'unicast-only'=>'yes', 'help-string'=>'IPv6 Address', 'uiHint-fieldLabel'=>'Server'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) Lifetime in Seconds'}} # IPv6 Address def name prop_get('@name') end # (4-3600) Lifetime in Seconds def lifetime prop_get('lifetime') end # (4-3600) Lifetime in Seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def manual @subclasses['manual'] ||= Manual.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'defaule'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def dns_server @subclasses['dns-server'] ||= DnsServer.new(parent_instance: self, client: @client, create_children: @create_children) end class DnsSuffix < ConfigClass def has_multiple_values?; false; end def _section :'dns-suffix' end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end class Dhcpv6 < ConfigClass def has_multiple_values?; false; end def _section :dhcpv6 end @props = {} end def dhcpv6 @subclasses['dhcpv6'] ||= Dhcpv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Manual < ConfigClass def has_multiple_values?; false; end def _section :manual end class Suffix < XML::ConfigClass def has_multiple_values?; true; end def _section :suffix end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'domain name', 'minlen'=>'1', 'maxlen'=>'255', 'uiHint-fieldLabel'=>'Domain'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) lifetime in seconds'}} # domain name def name prop_get('@name') end # (4-3600) lifetime in seconds def lifetime prop_get('lifetime') end # (4-3600) lifetime in seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def suffix maybe_register_subclass('suffix', Suffix.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def manual @subclasses['manual'] ||= Manual.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'defaule'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def dns_suffix @subclasses['dns-suffix'] ||= DnsSuffix.new(parent_instance: self, client: @client, create_children: @create_children) end class Neighbor < XML::ConfigClass def has_multiple_values?; true; end def _section :neighbor end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'help-string'=>'IP address'}, 'hw-address'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'mac-address', 'help-string'=>'MAC address (format xx:xx:xx:xx:xx:xx)'}} # IP address def name prop_get('@name') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address prop_get('hw-address') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address=(val) prop_set('hw-address', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def neighbor maybe_register_subclass('neighbor', Neighbor.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable-ndp-monitor'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable NDP Monitoring', 'uiHint-fieldLabel'=>'Enable NDP Monitoring'}, 'enable-dad'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable Duplicate Address Detection', 'uiHint-fieldLabel'=>'Enable Duplicate Address Detection'}, 'dad-attempts'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'10', 'default'=>'1', 'help-string'=>'number of consecutive neighbor solicitation messages sent for duplicate address detection', 'uiHint-fieldLabel'=>'DAD Attempts'}, 'ns-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'1', 'help-string'=>'interval (in seconds) between consecutive neighbor solicitation messages', 'uiHint-fieldLabel'=>'NS Interval'}, 'reachable-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'10', 'max'=>'36000', 'default'=>'30', 'help-string'=>'time (in seconds) that the Reachable status for a neighbor can be maintained', 'uiHint-fieldLabel'=>'Reachable Time'}} # Enable NDP Monitoring def enable_ndp_monitor prop_get('enable-ndp-monitor') end # Enable NDP Monitoring def enable_ndp_monitor=(val) prop_set('enable-ndp-monitor', val) end # Enable Duplicate Address Detection def enable_dad prop_get('enable-dad') end # Enable Duplicate Address Detection def enable_dad=(val) prop_set('enable-dad', val) end # number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts prop_get('dad-attempts') end # number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts=(val) prop_set('dad-attempts', val) end # interval (in seconds) between consecutive neighbor solicitation messages def ns_interval prop_get('ns-interval') end # interval (in seconds) between consecutive neighbor solicitation messages def ns_interval=(val) prop_set('ns-interval', val) end # time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time prop_get('reachable-time') end # time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time=(val) prop_set('reachable-time', val) end end def neighbor_discovery @subclasses['neighbor-discovery'] ||= NeighborDiscovery.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable DHCPv6 Client', 'uiHint-fieldLabel'=>'Enable'}, 'accept-ra-route'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Accept Router Advertised Default Route', 'uiHint-fieldLabel'=>'Accept Router Advertised Route'}, 'default-route-metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'10', 'help-string'=>'Metric of the default route created'}, 'preference'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'high', 'optional'=>'yes', 'help-string'=>'Select Low/Medium/High', 'uiHint-fieldLabel'=>'Preference', 'enum'=>[{'name'=>'low', 'value'=>'low', 'optional'=>'yes', 'help-string'=>'Low'}, {'name'=>'medium', 'value'=>'medium', 'optional'=>'yes', 'help-string'=>'Medium'}, {'name'=>'high', 'value'=>'high', 'optional'=>'yes', 'help-string'=>'High'}]}} # Enable DHCPv6 Client def enable prop_get('enable') end # Enable DHCPv6 Client def enable=(val) prop_set('enable', val) end # Accept Router Advertised Default Route def accept_ra_route prop_get('accept-ra-route') end # Accept Router Advertised Default Route def accept_ra_route=(val) prop_set('accept-ra-route', val) end # Metric of the default route created def default_route_metric prop_get('default-route-metric') end # Metric of the default route created def default_route_metric=(val) prop_set('default-route-metric', val) end # Select Low/Medium/High def preference prop_get('preference') end # Select Low/Medium/High def preference=(val) prop_set('preference', val) end end def dhcp_client @subclasses['dhcp-client'] ||= DhcpClient.new(parent_instance: self, client: @client, create_children: @create_children) end class Inherited < ConfigClass def has_multiple_values?; false; end def _section :inherited end class AssignAddr < XML::ConfigClass def has_multiple_values?; true; end def _section :'assign-addr' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Gua < ConfigClass def has_multiple_values?; false; end def _section :gua end class PoolType < XML::ConfigClass def has_multiple_values?; true; end def _section :'pool-type' end class Dynamic < ConfigClass def has_multiple_values?; false; end def _section :dynamic end @props = {} end def dynamic @subclasses['dynamic'] ||= Dynamic.new(parent_instance: self, client: @client, create_children: @create_children) end class DynamicId < ConfigClass def has_multiple_values?; false; end def _section :'dynamic-id' end @props = {'identifier'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4095', 'help-string'=>'Range [0-4095] must be unqiue for this prefix-pool', 'uiHint-fieldLabel'=>'Identifier'}} # Range [0-4095] must be unqiue for this prefix-pool def identifier prop_get('identifier') end # Range [0-4095] must be unqiue for this prefix-pool def identifier=(val) prop_set('identifier', val) end end def dynamic_id @subclasses['dynamic-id'] ||= DynamicId.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def pool_type maybe_register_subclass('pool-type', PoolType.new(parent_instance: self, client: @client, create_children: @create_children)) end class Advertise < ConfigClass def has_multiple_values?; false; end def _section :advertise end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable advertising this prefix in router advertisements'}, 'onlink-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages', 'uiHint-fieldLabel'=>'On-Link'}, 'auto-config-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages', 'uiHint-fieldLabel'=>'Autonomous'}} # Enable advertising this prefix in router advertisements def enable prop_get('enable') end # Enable advertising this prefix in router advertisements def enable=(val) prop_set('enable', val) end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag prop_get('onlink-flag') end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag=(val) prop_set('onlink-flag', val) end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag prop_get('auto-config-flag') end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag=(val) prop_set('auto-config-flag', val) end end def advertise @subclasses['advertise'] ||= Advertise.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable-on-interface'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable on Interface'}, 'prefix-pool'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix Pool', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'use-cache'=>'yes', 'optional'=>'yes', 'help-string'=>'Prefix-Pool Name'}} # Enable on Interface def enable_on_interface prop_get('enable-on-interface') end # Enable on Interface def enable_on_interface=(val) prop_set('enable-on-interface', val) end # Prefix-Pool Name def prefix_pool prop_get('prefix-pool') end # Prefix-Pool Name def prefix_pool=(val) prop_set('prefix-pool', val) end end def gua @subclasses['gua'] ||= Gua.new(parent_instance: self, client: @client, create_children: @create_children) end class Ula < ConfigClass def has_multiple_values?; false; end def _section :ula end class Advertise < ConfigClass def has_multiple_values?; false; end def _section :advertise end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable advertising this prefix in router advertisements'}, 'valid-lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'2592000', 'help-string'=>'Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages', 'uiHint-fieldLabel'=>'Valid Lifetime', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967294'}, 'enum'=>[{'value'=>'infinity'}]}}, 'preferred-lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'604800', 'help-string'=>'Preferred Lifetime (in seconds) of the prefix advertised in Router advertisement messages', 'uiHint-fieldLabel'=>'Preferred Lifetime', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967294'}, 'enum'=>[{'value'=>'infinity'}]}}, 'onlink-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages', 'uiHint-fieldLabel'=>'On-Link'}, 'auto-config-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages', 'uiHint-fieldLabel'=>'Autonomous'}} # enable advertising this prefix in router advertisements def enable prop_get('enable') end # enable advertising this prefix in router advertisements def enable=(val) prop_set('enable', val) end # Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def valid_lifetime prop_get('valid-lifetime') end # Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def valid_lifetime=(val) prop_set('valid-lifetime', val) end # Preferred Lifetime (in seconds) of the prefix advertised in Router advertisement messages def preferred_lifetime prop_get('preferred-lifetime') end # Preferred Lifetime (in seconds) of the prefix advertised in Router advertisement messages def preferred_lifetime=(val) prop_set('preferred-lifetime', val) end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag prop_get('onlink-flag') end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag=(val) prop_set('onlink-flag', val) end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag prop_get('auto-config-flag') end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag=(val) prop_set('auto-config-flag', val) end end def advertise @subclasses['advertise'] ||= Advertise.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable-on-interface'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Configure this address on Interface', 'uiHint-fieldLabel'=>'Enable Address on Interface'}, 'address'=>{'node-type'=>'element', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'help-string'=>'Configure ULA (Unique Local Address)', 'uiHint-fieldLabel'=>'Address'}, 'prefix'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Use this as prefix to form full address with interface id/EUI-64', 'uiHint-fieldLabel'=>'Use Interface ID as host portion'}, 'anycast'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Anycast Address', 'uiHint-fieldLabel'=>'Anycast'}} # Configure this address on Interface def enable_on_interface prop_get('enable-on-interface') end # Configure this address on Interface def enable_on_interface=(val) prop_set('enable-on-interface', val) end # Configure ULA (Unique Local Address) def address prop_get('address') end # Configure ULA (Unique Local Address) def address=(val) prop_set('address', val) end # Use this as prefix to form full address with interface id/EUI-64 def prefix prop_get('prefix') end # Use this as prefix to form full address with interface id/EUI-64 def prefix=(val) prop_set('prefix', val) end # Anycast Address def anycast prop_get('anycast') end # Anycast Address def anycast=(val) prop_set('anycast', val) end end def ula @subclasses['ula'] ||= Ula.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'help-string'=>'Name', 'regex'=>'^[a-zA-Z0-9._-]+$'}} # Name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def assign_addr maybe_register_subclass('assign-addr', AssignAddr.new(parent_instance: self, client: @client, create_children: @create_children)) end class NeighborDiscovery < ConfigClass def has_multiple_values?; false; end def _section :'neighbor-discovery' end class RouterAdvertisement < ConfigClass def has_multiple_values?; false; end def _section :'router-advertisement' end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'max-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'1800', 'default'=>'600', 'help-string'=>'Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages', 'uiHint-fieldLabel'=>'Max Interval'}, 'min-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'3', 'max'=>'1350', 'default'=>'200', 'help-string'=>'Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages', 'uiHint-fieldLabel'=>'Min Interval'}, 'link-mtu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise', 'uiHint-fieldLabel'=>'Link MTU', 'multi-types'=>{'rangedint'=>{'min'=>'1280', 'max'=>'9216'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'reachable-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'Reachable Time (in milliseconds) advertised in Router Advertisement messages', 'uiHint-fieldLabel'=>'Reachable Time', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'3600000'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'retransmission-timer'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'Retransmission Timer (in milliseconds) advertised in Router Advertisement messages', 'uiHint-fieldLabel'=>'Retrans Timer', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967295'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'hop-limit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'64', 'help-string'=>'Current Hop Limit advertised in Router Advertisement messages', 'uiHint-fieldLabel'=>'Hop Limit', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'255'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'9000', 'default'=>'1800', 'help-string'=>'Router Lifetime (in seconds) advertised in Router Advertisement messages', 'uiHint-fieldLabel'=>'Lifetime'}, 'router-preference'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'Medium', 'uiHint-fieldLabel'=>'Router Preference', 'enum'=>[{'value'=>'High', 'help-string'=>'01 High'}, {'value'=>'Medium', 'help-string'=>'00 Medium'}, {'value'=>'Low', 'help-string'=>'11 Low'}]}, 'managed-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set the Managed Configuration Flag (M-bit) in Router Advertisement messages', 'uiHint-fieldLabel'=>'Managed Configuration'}, 'other-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages', 'uiHint-fieldLabel'=>'Other Configuration'}, 'enable-consistency-check'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'check consistency of RA messages from other routers.', 'uiHint-fieldLabel'=>'Consistency Check'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages def max_interval prop_get('max-interval') end # Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages def max_interval=(val) prop_set('max-interval', val) end # Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages def min_interval prop_get('min-interval') end # Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages def min_interval=(val) prop_set('min-interval', val) end # value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise def link_mtu prop_get('link-mtu') end # value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise def link_mtu=(val) prop_set('link-mtu', val) end # Reachable Time (in milliseconds) advertised in Router Advertisement messages def reachable_time prop_get('reachable-time') end # Reachable Time (in milliseconds) advertised in Router Advertisement messages def reachable_time=(val) prop_set('reachable-time', val) end # Retransmission Timer (in milliseconds) advertised in Router Advertisement messages def retransmission_timer prop_get('retransmission-timer') end # Retransmission Timer (in milliseconds) advertised in Router Advertisement messages def retransmission_timer=(val) prop_set('retransmission-timer', val) end # Current Hop Limit advertised in Router Advertisement messages def hop_limit prop_get('hop-limit') end # Current Hop Limit advertised in Router Advertisement messages def hop_limit=(val) prop_set('hop-limit', val) end # Router Lifetime (in seconds) advertised in Router Advertisement messages def lifetime prop_get('lifetime') end # Router Lifetime (in seconds) advertised in Router Advertisement messages def lifetime=(val) prop_set('lifetime', val) end def router_preference prop_get('router-preference') end def router_preference=(val) prop_set('router-preference', val) end # Set the Managed Configuration Flag (M-bit) in Router Advertisement messages def managed_flag prop_get('managed-flag') end # Set the Managed Configuration Flag (M-bit) in Router Advertisement messages def managed_flag=(val) prop_set('managed-flag', val) end # Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages def other_flag prop_get('other-flag') end # Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages def other_flag=(val) prop_set('other-flag', val) end # check consistency of RA messages from other routers. def enable_consistency_check prop_get('enable-consistency-check') end # check consistency of RA messages from other routers. def enable_consistency_check=(val) prop_set('enable-consistency-check', val) end end def router_advertisement @subclasses['router-advertisement'] ||= RouterAdvertisement.new(parent_instance: self, client: @client, create_children: @create_children) end class DnsServer < ConfigClass def has_multiple_values?; false; end def _section :'dns-server' end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end class Dhcpv6 < ConfigClass def has_multiple_values?; false; end def _section :dhcpv6 end @props = {'prefix-pool'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix Pool', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-Pool Name'}} # Prefix-Pool Name def prefix_pool prop_get('prefix-pool') end # Prefix-Pool Name def prefix_pool=(val) prop_set('prefix-pool', val) end end def dhcpv6 @subclasses['dhcpv6'] ||= Dhcpv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Manual < ConfigClass def has_multiple_values?; false; end def _section :manual end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'unicast-only'=>'yes', 'help-string'=>'IPv6 Address', 'uiHint-fieldLabel'=>'Server'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) Lifetime in Seconds'}} # IPv6 Address def name prop_get('@name') end # (4-3600) Lifetime in Seconds def lifetime prop_get('lifetime') end # (4-3600) Lifetime in Seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def manual @subclasses['manual'] ||= Manual.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'defaule'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def dns_server @subclasses['dns-server'] ||= DnsServer.new(parent_instance: self, client: @client, create_children: @create_children) end class DnsSuffix < ConfigClass def has_multiple_values?; false; end def _section :'dns-suffix' end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end class Dhcpv6 < ConfigClass def has_multiple_values?; false; end def _section :dhcpv6 end @props = {'prefix-pool'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix Pool', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-Pool Name'}} # Prefix-Pool Name def prefix_pool prop_get('prefix-pool') end # Prefix-Pool Name def prefix_pool=(val) prop_set('prefix-pool', val) end end def dhcpv6 @subclasses['dhcpv6'] ||= Dhcpv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Manual < ConfigClass def has_multiple_values?; false; end def _section :manual end class Suffix < XML::ConfigClass def has_multiple_values?; true; end def _section :suffix end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'domain name', 'minlen'=>'1', 'maxlen'=>'255', 'uiHint-fieldLabel'=>'Domain'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) lifetime in seconds'}} # domain name def name prop_get('@name') end # (4-3600) lifetime in seconds def lifetime prop_get('lifetime') end # (4-3600) lifetime in seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def suffix maybe_register_subclass('suffix', Suffix.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def manual @subclasses['manual'] ||= Manual.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'defaule'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def dns_suffix @subclasses['dns-suffix'] ||= DnsSuffix.new(parent_instance: self, client: @client, create_children: @create_children) end class Neighbor < XML::ConfigClass def has_multiple_values?; true; end def _section :neighbor end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'help-string'=>'IP address'}, 'hw-address'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'mac-address', 'help-string'=>'MAC address (format xx:xx:xx:xx:xx:xx)'}} # IP address def name prop_get('@name') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address prop_get('hw-address') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address=(val) prop_set('hw-address', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def neighbor maybe_register_subclass('neighbor', Neighbor.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable-ndp-monitor'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable NDP Monitoring', 'uiHint-fieldLabel'=>'Enable NDP Monitoring'}, 'enable-dad'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable Duplicate Address Detection (DAD)', 'uiHint-fieldLabel'=>'Enable Duplicate Address Detection'}, 'dad-attempts'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'10', 'default'=>'1', 'help-string'=>'Number of consecutive neighbor solicitation messages sent for duplicate address detection', 'uiHint-fieldLabel'=>'DAD Attempts'}, 'ns-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'1', 'help-string'=>'Interval (in seconds) between consecutive neighbor solicitation messages', 'uiHint-fieldLabel'=>'NS Interval'}, 'reachable-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'10', 'max'=>'36000', 'default'=>'30', 'help-string'=>'Time (in seconds) that the Reachable status for a neighbor can be maintained', 'uiHint-fieldLabel'=>'Reachable Time'}} # Enable NDP Monitoring def enable_ndp_monitor prop_get('enable-ndp-monitor') end # Enable NDP Monitoring def enable_ndp_monitor=(val) prop_set('enable-ndp-monitor', val) end # Enable Duplicate Address Detection (DAD) def enable_dad prop_get('enable-dad') end # Enable Duplicate Address Detection (DAD) def enable_dad=(val) prop_set('enable-dad', val) end # Number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts prop_get('dad-attempts') end # Number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts=(val) prop_set('dad-attempts', val) end # Interval (in seconds) between consecutive neighbor solicitation messages def ns_interval prop_get('ns-interval') end # Interval (in seconds) between consecutive neighbor solicitation messages def ns_interval=(val) prop_set('ns-interval', val) end # Time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time prop_get('reachable-time') end # Time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time=(val) prop_set('reachable-time', val) end end def neighbor_discovery @subclasses['neighbor-discovery'] ||= NeighborDiscovery.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable Inherited Interface'}} # Enable Inherited Interface def enable prop_get('enable') end # Enable Inherited Interface def enable=(val) prop_set('enable', val) end end def inherited @subclasses['inherited'] ||= Inherited.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable IPv6 on the interface'}, 'interface-id'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'EUI-64', 'multi-types'=>{'string'=>{'maxlen'=>'16', 'loose-membership'=>'yes', 'help-string'=>'user defined 64-bit identifier (in hex)'}, 'enum'=>[{'value'=>'EUI-64', 'help-string'=>'default 64-bit Extended Unique Identifier'}]}}} # Enable IPv6 on the interface def enabled prop_get('enabled') end # Enable IPv6 on the interface def enabled=(val) prop_set('enabled', val) end def interface_id prop_get('interface-id') end def interface_id=(val) prop_set('interface-id', val) end end def ipv6 @subclasses['ipv6'] ||= Ipv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Arp < XML::ConfigClass def has_multiple_values?; true; end def _section :arp end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'ip-address', 'help-string'=>'IP address'}, 'hw-address'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'mac-address', 'help-string'=>'MAC address (format xx:xx:xx:xx:xx:xx)'}} # IP address def name prop_get('@name') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address prop_get('hw-address') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address=(val) prop_set('hw-address', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def arp maybe_register_subclass('arp', Arp.new(parent_instance: self, client: @client, create_children: @create_children)) end class NdpProxy < ConfigClass def has_multiple_values?; false; end def _section :'ndp-proxy' end class Address < XML::ConfigClass def has_multiple_values?; true; end def _section :address end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'IPv6 address or address object name'}, 'negate'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'max-count'=>'16', 'help-string'=>'put the prefix or address on a block list'}} # IPv6 address or address object name def name prop_get('@name') end # put the prefix or address on a block list def negate prop_get('negate') end # put the prefix or address on a block list def negate=(val) prop_set('negate', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def address maybe_register_subclass('address', Address.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable proxy NDP on the interface'}} # Enable proxy NDP on the interface def enabled prop_get('enabled') end # Enable proxy NDP on the interface def enabled=(val) prop_set('enabled', val) end end def ndp_proxy @subclasses['ndp-proxy'] ||= NdpProxy.new(parent_instance: self, client: @client, create_children: @create_children) end class SdwanLinkSettings < ConfigClass def has_multiple_values?; false; end def _section :'sdwan-link-settings' end class UpstreamNat < ConfigClass def has_multiple_values?; false; end def _section :'upstream-nat' end class StaticIp < ConfigClass def has_multiple_values?; false; end def _section :'static-ip' end @props = {'ip-address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Upstream NAT IP address', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'ipspec'=>{'unicast-only'=>'yes'}}}, 'fqdn'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'regex'=>'^([a-zA-Z0-9._-])+$', 'help-string'=>'Upstream NAT address FQDN name configuration'}} # Upstream NAT IP address def ip_address prop_get('ip-address') end # Upstream NAT IP address def ip_address=(val) prop_set('ip-address', val) end # Upstream NAT address FQDN name configuration def fqdn prop_get('fqdn') end # Upstream NAT address FQDN name configuration def fqdn=(val) prop_set('fqdn', val) end end def static_ip @subclasses['static-ip'] ||= StaticIp.new(parent_instance: self, client: @client, create_children: @create_children) end class Ddns < ConfigClass def has_multiple_values?; false; end def _section :ddns end @props = {} end def ddns @subclasses['ddns'] ||= Ddns.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable upstream NAT IP config'}} # Enable upstream NAT IP config def enable prop_get('enable') end # Enable upstream NAT IP config def enable=(val) prop_set('enable', val) end end def upstream_nat @subclasses['upstream-nat'] ||= UpstreamNat.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable sdwan on this ethernet interface'}, 'sdwan-interface-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'Sdwan link characteristics'}} # Enable sdwan on this ethernet interface def enable prop_get('enable') end # Enable sdwan on this ethernet interface def enable=(val) prop_set('enable', val) end # Sdwan link characteristics def sdwan_interface_profile prop_get('sdwan-interface-profile') end # Sdwan link characteristics def sdwan_interface_profile=(val) prop_set('sdwan-interface-profile', val) end end def sdwan_link_settings @subclasses['sdwan-link-settings'] ||= SdwanLinkSettings.new(parent_instance: self, client: @client, create_children: @create_children) end class DhcpClient < ConfigClass def has_multiple_values?; false; end def _section :'dhcp-client' end class SendHostname < ConfigClass def has_multiple_values?; false; end def _section :'send-hostname' end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'hostname'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'system-hostname', 'help-string'=>'Set Interface Hostname', 'multi-types'=>{'string'=>{'regex'=>'^[a-zA-Z0-9\._-]+$', 'minlen'=>'1', 'maxlen'=>'64', 'loose-membership'=>'yes', 'help-string'=>'Custom Interface Hostname'}, 'enum'=>[{'value'=>'system-hostname', 'help-string'=>'System Hostname'}]}}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Set Interface Hostname def hostname prop_get('hostname') end # Set Interface Hostname def hostname=(val) prop_set('hostname', val) end end def send_hostname @subclasses['send-hostname'] ||= SendHostname.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'create-default-route'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Automatically create default route pointing to default gateway provided by server'}, 'default-route-metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'10', 'help-string'=>'Metric of the default route created'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Automatically create default route pointing to default gateway provided by server def create_default_route prop_get('create-default-route') end # Automatically create default route pointing to default gateway provided by server def create_default_route=(val) prop_set('create-default-route', val) end # Metric of the default route created def default_route_metric prop_get('default-route-metric') end # Metric of the default route created def default_route_metric=(val) prop_set('default-route-metric', val) end end def dhcp_client @subclasses['dhcp-client'] ||= DhcpClient.new(parent_instance: self, client: @client, create_children: @create_children) end class DdnsConfig < ConfigClass def has_multiple_values?; false; end def _section :'ddns-config' end class DdnsIp < XML::ConfigClass def has_multiple_values?; true; end def _section :'ddns-ip' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'maxlen'=>'127'}, 'enum'=>[{'value'=>'DHCP'}, {'value'=>'PPPoE'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def ddns_ip maybe_register_subclass('ddns-ip', DdnsIp.new(parent_instance: self, client: @client, create_children: @create_children)) end class DdnsIpv6 < XML::ConfigClass def has_multiple_values?; true; end def _section :'ddns-ipv6' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def ddns_ipv6 maybe_register_subclass('ddns-ipv6', DdnsIpv6.new(parent_instance: self, client: @client, create_children: @create_children)) end class DdnsVendorConfig < XML::ConfigClass def has_multiple_values?; true; end def _section :'ddns-vendor-config' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'255'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ddns_vendor_config maybe_register_subclass('ddns-vendor-config', DdnsVendorConfig.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'ddns-enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'ddns-update-interval'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'30', 'default'=>'1', 'optional'=>'yes'}, 'ddns-hostname'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([$a-zA-Z0-9_\.\-])+$', 'minlen'=>'1', 'maxlen'=>'255', 'help-string'=>'ddns hostname variable or real address'}, 'ddns-cert-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes'}, 'ddns-vendor'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127', 'help-string'=>'Vendor and product type'}} def ddns_enabled prop_get('ddns-enabled') end def ddns_enabled=(val) prop_set('ddns-enabled', val) end def ddns_update_interval prop_get('ddns-update-interval') end def ddns_update_interval=(val) prop_set('ddns-update-interval', val) end # ddns hostname variable or real address def ddns_hostname prop_get('ddns-hostname') end # ddns hostname variable or real address def ddns_hostname=(val) prop_set('ddns-hostname', val) end def ddns_cert_profile prop_get('ddns-cert-profile') end def ddns_cert_profile=(val) prop_set('ddns-cert-profile', val) end # Vendor and product type def ddns_vendor prop_get('ddns-vendor') end # Vendor and product type def ddns_vendor=(val) prop_set('ddns-vendor', val) end end def ddns_config @subclasses['ddns-config'] ||= DdnsConfig.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'prefix'=>'concat(../../../@name, \'.\')', 'regex'=>'^((ae[1-9][0-9]?\.)?([1-9][0-9]{0,3}))$'}, 'decrypt-forward'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'df-ignore'=>{'node-type'=>'element', 'internal'=>'yes', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'mtu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'576', 'max'=>'9216', 'help-string'=>'Maximum Transfer Unit, up to 9216 in Jumbo-Frame mode, up to 1500 otherwise'}, 'interface-management-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'Interface management profile'}, 'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'1', 'max'=>'4094', 'help-string'=>'802.1q VLAN tag'}, 'netflow-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'Netflow Server Profile'}, 'comment'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'0', 'maxlen'=>'1023'}} def name prop_get('@name') end def decrypt_forward prop_get('decrypt-forward') end def decrypt_forward=(val) prop_set('decrypt-forward', val) end def df_ignore prop_get('df-ignore') end def df_ignore=(val) prop_set('df-ignore', val) end # Maximum Transfer Unit, up to 9216 in Jumbo-Frame mode, up to 1500 otherwise def mtu prop_get('mtu') end # Maximum Transfer Unit, up to 9216 in Jumbo-Frame mode, up to 1500 otherwise def mtu=(val) prop_set('mtu', val) end # Interface management profile def interface_management_profile prop_get('interface-management-profile') end # Interface management profile def interface_management_profile=(val) prop_set('interface-management-profile', val) end # 802.1q VLAN tag def tag prop_get('tag') end # 802.1q VLAN tag def tag=(val) prop_set('tag', val) end # Netflow Server Profile def netflow_profile prop_get('netflow-profile') end # Netflow Server Profile def netflow_profile=(val) prop_set('netflow-profile', val) end def comment prop_get('comment') end def comment=(val) prop_set('comment', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def units maybe_register_subclass('units', Units.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'decrypt-forward'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'df-ignore'=>{'node-type'=>'element', 'internal'=>'yes', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'mtu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'576', 'max'=>'9216', 'help-string'=>'Maximum Transfer Unit, up to 9216 in Jumbo-Frame mode, up to 1500 otherwise'}, 'untagged-sub-interface'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable untagged sub-interface'}, 'interface-management-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'Interface management profile'}, 'netflow-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'Netflow Server Profile'}} def decrypt_forward prop_get('decrypt-forward') end def decrypt_forward=(val) prop_set('decrypt-forward', val) end def df_ignore prop_get('df-ignore') end def df_ignore=(val) prop_set('df-ignore', val) end # Maximum Transfer Unit, up to 9216 in Jumbo-Frame mode, up to 1500 otherwise def mtu prop_get('mtu') end # Maximum Transfer Unit, up to 9216 in Jumbo-Frame mode, up to 1500 otherwise def mtu=(val) prop_set('mtu', val) end # Enable untagged sub-interface def untagged_sub_interface prop_get('untagged-sub-interface') end # Enable untagged sub-interface def untagged_sub_interface=(val) prop_set('untagged-sub-interface', val) end # Interface management profile def interface_management_profile prop_get('interface-management-profile') end # Interface management profile def interface_management_profile=(val) prop_set('interface-management-profile', val) end # Netflow Server Profile def netflow_profile prop_get('netflow-profile') end # Netflow Server Profile def netflow_profile=(val) prop_set('netflow-profile', val) end end def layer3 @subclasses['layer3'] ||= Layer3.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string'}, 'comment'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'0', 'maxlen'=>'1023'}} def name prop_get('@name') end def comment prop_get('comment') end def comment=(val) prop_set('comment', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def aggregate_ethernet maybe_register_subclass('aggregate-ethernet', AggregateEthernet.new(parent_instance: self, client: @client, create_children: @create_children)) end class Vlan < ConfigClass def has_multiple_values?; false; end def _section :vlan end class Bonjour < ConfigClass def has_multiple_values?; false; end def _section :bonjour end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set to support Bonjour service'}, 'ttl-check'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set to check and update TTL'}, 'group-id'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'40', 'min'=>'0', 'max'=>'16', 'help-string'=>'default 0: NO-Group'}} # Set to support Bonjour service def enable prop_get('enable') end # Set to support Bonjour service def enable=(val) prop_set('enable', val) end # Set to check and update TTL def ttl_check prop_get('ttl-check') end # Set to check and update TTL def ttl_check=(val) prop_set('ttl-check', val) end # default 0: NO-Group def group_id prop_get('group-id') end # default 0: NO-Group def group_id=(val) prop_set('group-id', val) end end def bonjour @subclasses['bonjour'] ||= Bonjour.new(parent_instance: self, client: @client, create_children: @create_children) end class AdjustTcpMss < ConfigClass def has_multiple_values?; false; end def _section :'adjust-tcp-mss' end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set if TCP MSS value should be reduced based on mtu'}, 'ipv4-mss-adjustment'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'40', 'min'=>'40', 'max'=>'300', 'help-string'=>'IPv4 MSS adjustment size (in bytes)'}, 'ipv6-mss-adjustment'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'60', 'min'=>'60', 'max'=>'300', 'help-string'=>'IPv6 MSS adjustment size (in bytes)'}} # Set if TCP MSS value should be reduced based on mtu def enable prop_get('enable') end # Set if TCP MSS value should be reduced based on mtu def enable=(val) prop_set('enable', val) end # IPv4 MSS adjustment size (in bytes) def ipv4_mss_adjustment prop_get('ipv4-mss-adjustment') end # IPv4 MSS adjustment size (in bytes) def ipv4_mss_adjustment=(val) prop_set('ipv4-mss-adjustment', val) end # IPv6 MSS adjustment size (in bytes) def ipv6_mss_adjustment prop_get('ipv6-mss-adjustment') end # IPv6 MSS adjustment size (in bytes) def ipv6_mss_adjustment=(val) prop_set('ipv6-mss-adjustment', val) end end def adjust_tcp_mss @subclasses['adjust-tcp-mss'] ||= AdjustTcpMss.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip < XML::ConfigClass def has_multiple_values?; true; end def _section :ip end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'regex'=>'^([ $0-9a-zA-Z:@./_-])+$', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'IP address/netmask or address object name'}} # IP address/netmask or address object name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ip maybe_register_subclass('ip', Ip.new(parent_instance: self, client: @client, create_children: @create_children)) end class Ipv6 < ConfigClass def has_multiple_values?; false; end def _section :ipv6 end class Address < XML::ConfigClass def has_multiple_values?; true; end def _section :address end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Prefix < ConfigClass def has_multiple_values?; false; end def _section :prefix end @props = {} end def prefix @subclasses['prefix'] ||= Prefix.new(parent_instance: self, client: @client, create_children: @create_children) end class Anycast < ConfigClass def has_multiple_values?; false; end def _section :anycast end @props = {} end def anycast @subclasses['anycast'] ||= Anycast.new(parent_instance: self, client: @client, create_children: @create_children) end class Advertise < ConfigClass def has_multiple_values?; false; end def _section :advertise end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable advertising this prefix in router advertisements'}, 'valid-lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'2592000', 'help-string'=>'Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967294'}, 'enum'=>[{'value'=>'infinity'}]}}, 'preferred-lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'604800', 'help-string'=>'Preferred Lifetime (in seconds) of the prefix advertised in Router Advertisement messages', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967294'}, 'enum'=>[{'value'=>'infinity'}]}}, 'onlink-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages'}, 'auto-config-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages'}} # enable advertising this prefix in router advertisements def enable prop_get('enable') end # enable advertising this prefix in router advertisements def enable=(val) prop_set('enable', val) end # Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def valid_lifetime prop_get('valid-lifetime') end # Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def valid_lifetime=(val) prop_set('valid-lifetime', val) end # Preferred Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def preferred_lifetime prop_get('preferred-lifetime') end # Preferred Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def preferred_lifetime=(val) prop_set('preferred-lifetime', val) end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag prop_get('onlink-flag') end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag=(val) prop_set('onlink-flag', val) end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag prop_get('auto-config-flag') end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag=(val) prop_set('auto-config-flag', val) end end def advertise @subclasses['advertise'] ||= Advertise.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'^([ $0-9a-zA-Z:@./_-])+$', 'maxlen'=>'63', 'help-string'=>'IPv6 address/prefix length or address object name'}, 'enable-on-interface'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'configure this address on interface'}} # IPv6 address/prefix length or address object name def name prop_get('@name') end # configure this address on interface def enable_on_interface prop_get('enable-on-interface') end # configure this address on interface def enable_on_interface=(val) prop_set('enable-on-interface', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def address maybe_register_subclass('address', Address.new(parent_instance: self, client: @client, create_children: @create_children)) end class NeighborDiscovery < ConfigClass def has_multiple_values?; false; end def _section :'neighbor-discovery' end class RouterAdvertisement < ConfigClass def has_multiple_values?; false; end def _section :'router-advertisement' end class Prefix < XML::ConfigClass def has_multiple_values?; true; end def _section :prefix end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class ValidLifetime < XML::ConfigClass def has_multiple_values?; true; end def _section :'valid-lifetime' end @props = {'fixed-time'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'default'=>'2592000', 'help-string'=>'fixed value (in seconds) of the Valid Lifetime field of the prefix in Router Advertisement messages'}, 'expire-time'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'19', 'maxlen'=>'19', 'regex'=>'[0-9][0-9][0-9][0-9]/([0][1-9]|[1][0-2])/([0-2][0-9]|[3][0-1])@([01][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9])', 'help-string'=>'expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59)'}} # fixed value (in seconds) of the Valid Lifetime field of the prefix in Router Advertisement messages def fixed_time prop_get('fixed-time') end # fixed value (in seconds) of the Valid Lifetime field of the prefix in Router Advertisement messages def fixed_time=(val) prop_set('fixed-time', val) end # expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59) def expire_time prop_get('expire-time') end # expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59) def expire_time=(val) prop_set('expire-time', val) end end def valid_lifetime maybe_register_subclass('valid-lifetime', ValidLifetime.new(parent_instance: self, client: @client, create_children: @create_children)) end class PreferredLifetime < XML::ConfigClass def has_multiple_values?; true; end def _section :'preferred-lifetime' end @props = {'fixed-time'=>{'node-type'=>'element', 'type'=>'rangedint', 'default'=>'604800', 'min'=>'0', 'max'=>'4294967295', 'help-string'=>'Fixed value (in seconds) of the Preferred Lifetime field of the prefix in Router Advertisement messages'}, 'expire-time'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'19', 'maxlen'=>'19', 'regex'=>'[0-9][0-9][0-9][0-9]/([0][1-9]|[1][0-2])/([0-2][0-9]|[3][0-1])@([01][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9])', 'help-string'=>'expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59)'}} # Fixed value (in seconds) of the Preferred Lifetime field of the prefix in Router Advertisement messages def fixed_time prop_get('fixed-time') end # Fixed value (in seconds) of the Preferred Lifetime field of the prefix in Router Advertisement messages def fixed_time=(val) prop_set('fixed-time', val) end # expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59) def expire_time prop_get('expire-time') end # expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59) def expire_time=(val) prop_set('expire-time', val) end end def preferred_lifetime maybe_register_subclass('preferred-lifetime', PreferredLifetime.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'help-string'=>'IPv6 prefix'}, 'onlink-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages'}, 'auto-config-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages'}} # IPv6 prefix def name prop_get('@name') end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag prop_get('onlink-flag') end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag=(val) prop_set('onlink-flag', val) end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag prop_get('auto-config-flag') end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag=(val) prop_set('auto-config-flag', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def prefix maybe_register_subclass('prefix', Prefix.new(parent_instance: self, client: @client, create_children: @create_children)) end class DnsSupport < ConfigClass def has_multiple_values?; false; end def _section :'dns-support' end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'unicast-only'=>'yes', 'help-string'=>'IPv6 address'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) lifetime in seconds'}} # IPv6 address def name prop_get('@name') end # (4-3600) lifetime in seconds def lifetime prop_get('lifetime') end # (4-3600) lifetime in seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end class Suffix < XML::ConfigClass def has_multiple_values?; true; end def _section :suffix end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'domain name', 'minlen'=>'1', 'maxlen'=>'255'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) lifetime in seconds'}} # domain name def name prop_get('@name') end # (4-3600) lifetime in seconds def lifetime prop_get('lifetime') end # (4-3600) lifetime in seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def suffix maybe_register_subclass('suffix', Suffix.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'defaule'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def dns_support @subclasses['dns-support'] ||= DnsSupport.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'max-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'1800', 'default'=>'600', 'help-string'=>'Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages'}, 'min-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'3', 'max'=>'1350', 'default'=>'200', 'help-string'=>'Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages'}, 'managed-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set the Managed Configuration Flag (M-bit) in Router Advertisement messages'}, 'other-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages'}, 'link-mtu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise', 'multi-types'=>{'rangedint'=>{'min'=>'1280', 'max'=>'9216'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'reachable-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'Reachable Time (in milliseconds) advertised in Router Advertisement messages', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'3600000'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'retransmission-timer'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'Retransmission Timer (in milliseconds) advertised in Router Advertisement messages', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967295'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'hop-limit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'64', 'help-string'=>'Current Hop Limit advertised in Router Advertisement messages', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'255'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'9000', 'default'=>'1800', 'help-string'=>'Router Lifetime (in seconds) advertised in Router Advertisement messages'}, 'router-preference'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'Medium', 'enum'=>[{'value'=>'High', 'help-string'=>'01 High'}, {'value'=>'Medium', 'help-string'=>'00 Medium'}, {'value'=>'Low', 'help-string'=>'11 Low'}]}, 'enable-consistency-check'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'check consistency of RA messages from other routers.'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages def max_interval prop_get('max-interval') end # Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages def max_interval=(val) prop_set('max-interval', val) end # Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages def min_interval prop_get('min-interval') end # Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages def min_interval=(val) prop_set('min-interval', val) end # Set the Managed Configuration Flag (M-bit) in Router Advertisement messages def managed_flag prop_get('managed-flag') end # Set the Managed Configuration Flag (M-bit) in Router Advertisement messages def managed_flag=(val) prop_set('managed-flag', val) end # Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages def other_flag prop_get('other-flag') end # Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages def other_flag=(val) prop_set('other-flag', val) end # value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise def link_mtu prop_get('link-mtu') end # value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise def link_mtu=(val) prop_set('link-mtu', val) end # Reachable Time (in milliseconds) advertised in Router Advertisement messages def reachable_time prop_get('reachable-time') end # Reachable Time (in milliseconds) advertised in Router Advertisement messages def reachable_time=(val) prop_set('reachable-time', val) end # Retransmission Timer (in milliseconds) advertised in Router Advertisement messages def retransmission_timer prop_get('retransmission-timer') end # Retransmission Timer (in milliseconds) advertised in Router Advertisement messages def retransmission_timer=(val) prop_set('retransmission-timer', val) end # Current Hop Limit advertised in Router Advertisement messages def hop_limit prop_get('hop-limit') end # Current Hop Limit advertised in Router Advertisement messages def hop_limit=(val) prop_set('hop-limit', val) end # Router Lifetime (in seconds) advertised in Router Advertisement messages def lifetime prop_get('lifetime') end # Router Lifetime (in seconds) advertised in Router Advertisement messages def lifetime=(val) prop_set('lifetime', val) end def router_preference prop_get('router-preference') end def router_preference=(val) prop_set('router-preference', val) end # check consistency of RA messages from other routers. def enable_consistency_check prop_get('enable-consistency-check') end # check consistency of RA messages from other routers. def enable_consistency_check=(val) prop_set('enable-consistency-check', val) end end def router_advertisement @subclasses['router-advertisement'] ||= RouterAdvertisement.new(parent_instance: self, client: @client, create_children: @create_children) end class Neighbor < XML::ConfigClass def has_multiple_values?; true; end def _section :neighbor end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'help-string'=>'IP address'}, 'hw-address'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'mac-address', 'help-string'=>'MAC address (format xx:xx:xx:xx:xx:xx)'}} # IP address def name prop_get('@name') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address prop_get('hw-address') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address=(val) prop_set('hw-address', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def neighbor maybe_register_subclass('neighbor', Neighbor.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable-ndp-monitor'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable ndp monitoring'}, 'enable-dad'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable duplicate address detection'}, 'dad-attempts'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'10', 'default'=>'1', 'help-string'=>'number of consecutive neighbor solicitation messages sent for duplicate address detection'}, 'ns-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'1', 'help-string'=>'interval (in seconds) between consecutive neighbor solicitation messages'}, 'reachable-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'10', 'max'=>'36000', 'default'=>'30', 'help-string'=>'time (in seconds) that the Reachable status for a neighbor can be maintained'}, 'disable-nud'=>{'node-type'=>'element', 'disabled'=>'yes', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'disable Neighbor Unreachability Detection'}} # enable ndp monitoring def enable_ndp_monitor prop_get('enable-ndp-monitor') end # enable ndp monitoring def enable_ndp_monitor=(val) prop_set('enable-ndp-monitor', val) end # enable duplicate address detection def enable_dad prop_get('enable-dad') end # enable duplicate address detection def enable_dad=(val) prop_set('enable-dad', val) end # number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts prop_get('dad-attempts') end # number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts=(val) prop_set('dad-attempts', val) end # interval (in seconds) between consecutive neighbor solicitation messages def ns_interval prop_get('ns-interval') end # interval (in seconds) between consecutive neighbor solicitation messages def ns_interval=(val) prop_set('ns-interval', val) end # time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time prop_get('reachable-time') end # time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time=(val) prop_set('reachable-time', val) end # disable Neighbor Unreachability Detection def disable_nud prop_get('disable-nud') end # disable Neighbor Unreachability Detection def disable_nud=(val) prop_set('disable-nud', val) end end def neighbor_discovery @subclasses['neighbor-discovery'] ||= NeighborDiscovery.new(parent_instance: self, client: @client, create_children: @create_children) end class DhcpClient < ConfigClass def has_multiple_values?; false; end def _section :'dhcp-client' end class V6Options < ConfigClass def has_multiple_values?; false; end def _section :'v6-options' end class Enable < XML::ConfigClass def has_multiple_values?; true; end def _section :enable end class No < ConfigClass def has_multiple_values?; false; end def _section :no end @props = {} end def no @subclasses['no'] ||= No.new(parent_instance: self, client: @client, create_children: @create_children) end class Yes < ConfigClass def has_multiple_values?; false; end def _section :yes end @props = {'non-temp-addr'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Request Non-Temporary Address Type', 'uiHint-fieldLabel'=>'Non-Temporary Address'}, 'temp-addr'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Request Temporary Address Type', 'uiHint-fieldLabel'=>'Temporary Address'}} # Request Non-Temporary Address Type def non_temp_addr prop_get('non-temp-addr') end # Request Non-Temporary Address Type def non_temp_addr=(val) prop_set('non-temp-addr', val) end # Request Temporary Address Type def temp_addr prop_get('temp-addr') end # Request Temporary Address Type def temp_addr=(val) prop_set('temp-addr', val) end end def yes @subclasses['yes'] ||= Yes.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def enable maybe_register_subclass('enable', Enable.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'support-srvr-reconfig'=>{'node-type'=>'element', 'hidden'=>'yes', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable DHCPv6 Server Re-Configuration Support', 'uiHint-fieldLabel'=>'DHCPv6 Server Re-Configuration Support'}, 'rapid-commit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable Rapid Commit', 'uiHint-fieldLabel'=>'Rapid Commit'}, 'duid-type'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'duid-type-llt', 'optional'=>'yes', 'help-string'=>'Select DUID-LLT/DUID-LL', 'uiHint-fieldLabel'=>'DUID Type', 'enum'=>[{'name'=>'duid-type-llt', 'value'=>'duid-type-llt', 'optional'=>'yes', 'help-string'=>'DUID-LLT'}, {'name'=>'duid-type-ll', 'value'=>'duid-type-ll', 'optional'=>'yes', 'help-string'=>'DUID-LL'}]}} # Enable DHCPv6 Server Re-Configuration Support def support_srvr_reconfig prop_get('support-srvr-reconfig') end # Enable DHCPv6 Server Re-Configuration Support def support_srvr_reconfig=(val) prop_set('support-srvr-reconfig', val) end # Enable Rapid Commit def rapid_commit prop_get('rapid-commit') end # Enable Rapid Commit def rapid_commit=(val) prop_set('rapid-commit', val) end # Select DUID-LLT/DUID-LL def duid_type prop_get('duid-type') end # Select DUID-LLT/DUID-LL def duid_type=(val) prop_set('duid-type', val) end end def v6_options @subclasses['v6-options'] ||= V6Options.new(parent_instance: self, client: @client, create_children: @create_children) end class PrefixDelegation < ConfigClass def has_multiple_values?; false; end def _section :'prefix-delegation' end class Enable < XML::ConfigClass def has_multiple_values?; true; end def _section :enable end class No < ConfigClass def has_multiple_values?; false; end def _section :no end @props = {} end def no @subclasses['no'] ||= No.new(parent_instance: self, client: @client, create_children: @create_children) end class Yes < ConfigClass def has_multiple_values?; false; end def _section :yes end @props = {'prefix-len-hint'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Send prefix length hint to server', 'uiHint-fieldLabel'=>'DHCP Prefix Length Hint'}, 'prefix-len'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'128', 'default'=>'48', 'help-string'=>'Hint DHCP Prefix Length (bits)', 'uiHint-fieldLabel'=>'DHCP Prefix Length'}, 'pfx-pool-name'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'regex'=>'^[a-zA-Z0-9._-]+$', 'help-string'=>'Configure unique Prefix Pool Name', 'uiHint-fieldLabel'=>'Prefix Pool Name'}} # Send prefix length hint to server def prefix_len_hint prop_get('prefix-len-hint') end # Send prefix length hint to server def prefix_len_hint=(val) prop_set('prefix-len-hint', val) end # Hint DHCP Prefix Length (bits) def prefix_len prop_get('prefix-len') end # Hint DHCP Prefix Length (bits) def prefix_len=(val) prop_set('prefix-len', val) end # Configure unique Prefix Pool Name def pfx_pool_name prop_get('pfx-pool-name') end # Configure unique Prefix Pool Name def pfx_pool_name=(val) prop_set('pfx-pool-name', val) end end def yes @subclasses['yes'] ||= Yes.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def enable maybe_register_subclass('enable', Enable.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def prefix_delegation @subclasses['prefix-delegation'] ||= PrefixDelegation.new(parent_instance: self, client: @client, create_children: @create_children) end class NeighborDiscovery < ConfigClass def has_multiple_values?; false; end def _section :'neighbor-discovery' end class DnsServer < ConfigClass def has_multiple_values?; false; end def _section :'dns-server' end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end class Dhcpv6 < ConfigClass def has_multiple_values?; false; end def _section :dhcpv6 end @props = {} end def dhcpv6 @subclasses['dhcpv6'] ||= Dhcpv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Manual < ConfigClass def has_multiple_values?; false; end def _section :manual end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'unicast-only'=>'yes', 'help-string'=>'IPv6 Address', 'uiHint-fieldLabel'=>'Server'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) Lifetime in Seconds'}} # IPv6 Address def name prop_get('@name') end # (4-3600) Lifetime in Seconds def lifetime prop_get('lifetime') end # (4-3600) Lifetime in Seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def manual @subclasses['manual'] ||= Manual.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'defaule'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def dns_server @subclasses['dns-server'] ||= DnsServer.new(parent_instance: self, client: @client, create_children: @create_children) end class DnsSuffix < ConfigClass def has_multiple_values?; false; end def _section :'dns-suffix' end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end class Dhcpv6 < ConfigClass def has_multiple_values?; false; end def _section :dhcpv6 end @props = {} end def dhcpv6 @subclasses['dhcpv6'] ||= Dhcpv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Manual < ConfigClass def has_multiple_values?; false; end def _section :manual end class Suffix < XML::ConfigClass def has_multiple_values?; true; end def _section :suffix end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'domain name', 'minlen'=>'1', 'maxlen'=>'255', 'uiHint-fieldLabel'=>'Domain'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) lifetime in seconds'}} # domain name def name prop_get('@name') end # (4-3600) lifetime in seconds def lifetime prop_get('lifetime') end # (4-3600) lifetime in seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def suffix maybe_register_subclass('suffix', Suffix.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def manual @subclasses['manual'] ||= Manual.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'defaule'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def dns_suffix @subclasses['dns-suffix'] ||= DnsSuffix.new(parent_instance: self, client: @client, create_children: @create_children) end class Neighbor < XML::ConfigClass def has_multiple_values?; true; end def _section :neighbor end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'help-string'=>'IP address'}, 'hw-address'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'mac-address', 'help-string'=>'MAC address (format xx:xx:xx:xx:xx:xx)'}} # IP address def name prop_get('@name') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address prop_get('hw-address') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address=(val) prop_set('hw-address', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def neighbor maybe_register_subclass('neighbor', Neighbor.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable-ndp-monitor'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable NDP Monitoring', 'uiHint-fieldLabel'=>'Enable NDP Monitoring'}, 'enable-dad'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable Duplicate Address Detection', 'uiHint-fieldLabel'=>'Enable Duplicate Address Detection'}, 'dad-attempts'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'10', 'default'=>'1', 'help-string'=>'number of consecutive neighbor solicitation messages sent for duplicate address detection', 'uiHint-fieldLabel'=>'DAD Attempts'}, 'ns-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'1', 'help-string'=>'interval (in seconds) between consecutive neighbor solicitation messages', 'uiHint-fieldLabel'=>'NS Interval'}, 'reachable-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'10', 'max'=>'36000', 'default'=>'30', 'help-string'=>'time (in seconds) that the Reachable status for a neighbor can be maintained', 'uiHint-fieldLabel'=>'Reachable Time'}} # Enable NDP Monitoring def enable_ndp_monitor prop_get('enable-ndp-monitor') end # Enable NDP Monitoring def enable_ndp_monitor=(val) prop_set('enable-ndp-monitor', val) end # Enable Duplicate Address Detection def enable_dad prop_get('enable-dad') end # Enable Duplicate Address Detection def enable_dad=(val) prop_set('enable-dad', val) end # number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts prop_get('dad-attempts') end # number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts=(val) prop_set('dad-attempts', val) end # interval (in seconds) between consecutive neighbor solicitation messages def ns_interval prop_get('ns-interval') end # interval (in seconds) between consecutive neighbor solicitation messages def ns_interval=(val) prop_set('ns-interval', val) end # time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time prop_get('reachable-time') end # time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time=(val) prop_set('reachable-time', val) end end def neighbor_discovery @subclasses['neighbor-discovery'] ||= NeighborDiscovery.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable DHCPv6 Client', 'uiHint-fieldLabel'=>'Enable'}, 'accept-ra-route'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Accept Router Advertised Default Route', 'uiHint-fieldLabel'=>'Accept Router Advertised Route'}, 'default-route-metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'10', 'help-string'=>'Metric of the default route created'}, 'preference'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'high', 'optional'=>'yes', 'help-string'=>'Select Low/Medium/High', 'uiHint-fieldLabel'=>'Preference', 'enum'=>[{'name'=>'low', 'value'=>'low', 'optional'=>'yes', 'help-string'=>'Low'}, {'name'=>'medium', 'value'=>'medium', 'optional'=>'yes', 'help-string'=>'Medium'}, {'name'=>'high', 'value'=>'high', 'optional'=>'yes', 'help-string'=>'High'}]}} # Enable DHCPv6 Client def enable prop_get('enable') end # Enable DHCPv6 Client def enable=(val) prop_set('enable', val) end # Accept Router Advertised Default Route def accept_ra_route prop_get('accept-ra-route') end # Accept Router Advertised Default Route def accept_ra_route=(val) prop_set('accept-ra-route', val) end # Metric of the default route created def default_route_metric prop_get('default-route-metric') end # Metric of the default route created def default_route_metric=(val) prop_set('default-route-metric', val) end # Select Low/Medium/High def preference prop_get('preference') end # Select Low/Medium/High def preference=(val) prop_set('preference', val) end end def dhcp_client @subclasses['dhcp-client'] ||= DhcpClient.new(parent_instance: self, client: @client, create_children: @create_children) end class Inherited < ConfigClass def has_multiple_values?; false; end def _section :inherited end class AssignAddr < XML::ConfigClass def has_multiple_values?; true; end def _section :'assign-addr' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Gua < ConfigClass def has_multiple_values?; false; end def _section :gua end class PoolType < XML::ConfigClass def has_multiple_values?; true; end def _section :'pool-type' end class Dynamic < ConfigClass def has_multiple_values?; false; end def _section :dynamic end @props = {} end def dynamic @subclasses['dynamic'] ||= Dynamic.new(parent_instance: self, client: @client, create_children: @create_children) end class DynamicId < ConfigClass def has_multiple_values?; false; end def _section :'dynamic-id' end @props = {'identifier'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4095', 'help-string'=>'Range [0-4095] must be unqiue for this prefix-pool', 'uiHint-fieldLabel'=>'Identifier'}} # Range [0-4095] must be unqiue for this prefix-pool def identifier prop_get('identifier') end # Range [0-4095] must be unqiue for this prefix-pool def identifier=(val) prop_set('identifier', val) end end def dynamic_id @subclasses['dynamic-id'] ||= DynamicId.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def pool_type maybe_register_subclass('pool-type', PoolType.new(parent_instance: self, client: @client, create_children: @create_children)) end class Advertise < ConfigClass def has_multiple_values?; false; end def _section :advertise end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable advertising this prefix in router advertisements'}, 'onlink-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages', 'uiHint-fieldLabel'=>'On-Link'}, 'auto-config-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages', 'uiHint-fieldLabel'=>'Autonomous'}} # Enable advertising this prefix in router advertisements def enable prop_get('enable') end # Enable advertising this prefix in router advertisements def enable=(val) prop_set('enable', val) end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag prop_get('onlink-flag') end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag=(val) prop_set('onlink-flag', val) end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag prop_get('auto-config-flag') end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag=(val) prop_set('auto-config-flag', val) end end def advertise @subclasses['advertise'] ||= Advertise.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable-on-interface'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable on Interface'}, 'prefix-pool'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix Pool', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'use-cache'=>'yes', 'optional'=>'yes', 'help-string'=>'Prefix-Pool Name'}} # Enable on Interface def enable_on_interface prop_get('enable-on-interface') end # Enable on Interface def enable_on_interface=(val) prop_set('enable-on-interface', val) end # Prefix-Pool Name def prefix_pool prop_get('prefix-pool') end # Prefix-Pool Name def prefix_pool=(val) prop_set('prefix-pool', val) end end def gua @subclasses['gua'] ||= Gua.new(parent_instance: self, client: @client, create_children: @create_children) end class Ula < ConfigClass def has_multiple_values?; false; end def _section :ula end class Advertise < ConfigClass def has_multiple_values?; false; end def _section :advertise end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable advertising this prefix in router advertisements'}, 'valid-lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'2592000', 'help-string'=>'Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages', 'uiHint-fieldLabel'=>'Valid Lifetime', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967294'}, 'enum'=>[{'value'=>'infinity'}]}}, 'preferred-lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'604800', 'help-string'=>'Preferred Lifetime (in seconds) of the prefix advertised in Router advertisement messages', 'uiHint-fieldLabel'=>'Preferred Lifetime', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967294'}, 'enum'=>[{'value'=>'infinity'}]}}, 'onlink-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages', 'uiHint-fieldLabel'=>'On-Link'}, 'auto-config-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages', 'uiHint-fieldLabel'=>'Autonomous'}} # enable advertising this prefix in router advertisements def enable prop_get('enable') end # enable advertising this prefix in router advertisements def enable=(val) prop_set('enable', val) end # Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def valid_lifetime prop_get('valid-lifetime') end # Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def valid_lifetime=(val) prop_set('valid-lifetime', val) end # Preferred Lifetime (in seconds) of the prefix advertised in Router advertisement messages def preferred_lifetime prop_get('preferred-lifetime') end # Preferred Lifetime (in seconds) of the prefix advertised in Router advertisement messages def preferred_lifetime=(val) prop_set('preferred-lifetime', val) end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag prop_get('onlink-flag') end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag=(val) prop_set('onlink-flag', val) end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag prop_get('auto-config-flag') end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag=(val) prop_set('auto-config-flag', val) end end def advertise @subclasses['advertise'] ||= Advertise.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable-on-interface'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Configure this address on Interface', 'uiHint-fieldLabel'=>'Enable Address on Interface'}, 'address'=>{'node-type'=>'element', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'help-string'=>'Configure ULA (Unique Local Address)', 'uiHint-fieldLabel'=>'Address'}, 'prefix'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Use this as prefix to form full address with interface id/EUI-64', 'uiHint-fieldLabel'=>'Use Interface ID as host portion'}, 'anycast'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Anycast Address', 'uiHint-fieldLabel'=>'Anycast'}} # Configure this address on Interface def enable_on_interface prop_get('enable-on-interface') end # Configure this address on Interface def enable_on_interface=(val) prop_set('enable-on-interface', val) end # Configure ULA (Unique Local Address) def address prop_get('address') end # Configure ULA (Unique Local Address) def address=(val) prop_set('address', val) end # Use this as prefix to form full address with interface id/EUI-64 def prefix prop_get('prefix') end # Use this as prefix to form full address with interface id/EUI-64 def prefix=(val) prop_set('prefix', val) end # Anycast Address def anycast prop_get('anycast') end # Anycast Address def anycast=(val) prop_set('anycast', val) end end def ula @subclasses['ula'] ||= Ula.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'help-string'=>'Name', 'regex'=>'^[a-zA-Z0-9._-]+$'}} # Name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def assign_addr maybe_register_subclass('assign-addr', AssignAddr.new(parent_instance: self, client: @client, create_children: @create_children)) end class NeighborDiscovery < ConfigClass def has_multiple_values?; false; end def _section :'neighbor-discovery' end class RouterAdvertisement < ConfigClass def has_multiple_values?; false; end def _section :'router-advertisement' end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'max-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'1800', 'default'=>'600', 'help-string'=>'Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages', 'uiHint-fieldLabel'=>'Max Interval'}, 'min-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'3', 'max'=>'1350', 'default'=>'200', 'help-string'=>'Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages', 'uiHint-fieldLabel'=>'Min Interval'}, 'link-mtu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise', 'uiHint-fieldLabel'=>'Link MTU', 'multi-types'=>{'rangedint'=>{'min'=>'1280', 'max'=>'9216'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'reachable-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'Reachable Time (in milliseconds) advertised in Router Advertisement messages', 'uiHint-fieldLabel'=>'Reachable Time', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'3600000'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'retransmission-timer'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'Retransmission Timer (in milliseconds) advertised in Router Advertisement messages', 'uiHint-fieldLabel'=>'Retrans Timer', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967295'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'hop-limit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'64', 'help-string'=>'Current Hop Limit advertised in Router Advertisement messages', 'uiHint-fieldLabel'=>'Hop Limit', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'255'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'9000', 'default'=>'1800', 'help-string'=>'Router Lifetime (in seconds) advertised in Router Advertisement messages', 'uiHint-fieldLabel'=>'Lifetime'}, 'router-preference'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'Medium', 'uiHint-fieldLabel'=>'Router Preference', 'enum'=>[{'value'=>'High', 'help-string'=>'01 High'}, {'value'=>'Medium', 'help-string'=>'00 Medium'}, {'value'=>'Low', 'help-string'=>'11 Low'}]}, 'managed-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set the Managed Configuration Flag (M-bit) in Router Advertisement messages', 'uiHint-fieldLabel'=>'Managed Configuration'}, 'other-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages', 'uiHint-fieldLabel'=>'Other Configuration'}, 'enable-consistency-check'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'check consistency of RA messages from other routers.', 'uiHint-fieldLabel'=>'Consistency Check'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages def max_interval prop_get('max-interval') end # Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages def max_interval=(val) prop_set('max-interval', val) end # Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages def min_interval prop_get('min-interval') end # Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages def min_interval=(val) prop_set('min-interval', val) end # value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise def link_mtu prop_get('link-mtu') end # value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise def link_mtu=(val) prop_set('link-mtu', val) end # Reachable Time (in milliseconds) advertised in Router Advertisement messages def reachable_time prop_get('reachable-time') end # Reachable Time (in milliseconds) advertised in Router Advertisement messages def reachable_time=(val) prop_set('reachable-time', val) end # Retransmission Timer (in milliseconds) advertised in Router Advertisement messages def retransmission_timer prop_get('retransmission-timer') end # Retransmission Timer (in milliseconds) advertised in Router Advertisement messages def retransmission_timer=(val) prop_set('retransmission-timer', val) end # Current Hop Limit advertised in Router Advertisement messages def hop_limit prop_get('hop-limit') end # Current Hop Limit advertised in Router Advertisement messages def hop_limit=(val) prop_set('hop-limit', val) end # Router Lifetime (in seconds) advertised in Router Advertisement messages def lifetime prop_get('lifetime') end # Router Lifetime (in seconds) advertised in Router Advertisement messages def lifetime=(val) prop_set('lifetime', val) end def router_preference prop_get('router-preference') end def router_preference=(val) prop_set('router-preference', val) end # Set the Managed Configuration Flag (M-bit) in Router Advertisement messages def managed_flag prop_get('managed-flag') end # Set the Managed Configuration Flag (M-bit) in Router Advertisement messages def managed_flag=(val) prop_set('managed-flag', val) end # Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages def other_flag prop_get('other-flag') end # Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages def other_flag=(val) prop_set('other-flag', val) end # check consistency of RA messages from other routers. def enable_consistency_check prop_get('enable-consistency-check') end # check consistency of RA messages from other routers. def enable_consistency_check=(val) prop_set('enable-consistency-check', val) end end def router_advertisement @subclasses['router-advertisement'] ||= RouterAdvertisement.new(parent_instance: self, client: @client, create_children: @create_children) end class DnsServer < ConfigClass def has_multiple_values?; false; end def _section :'dns-server' end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end class Dhcpv6 < ConfigClass def has_multiple_values?; false; end def _section :dhcpv6 end @props = {'prefix-pool'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix Pool', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-Pool Name'}} # Prefix-Pool Name def prefix_pool prop_get('prefix-pool') end # Prefix-Pool Name def prefix_pool=(val) prop_set('prefix-pool', val) end end def dhcpv6 @subclasses['dhcpv6'] ||= Dhcpv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Manual < ConfigClass def has_multiple_values?; false; end def _section :manual end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'unicast-only'=>'yes', 'help-string'=>'IPv6 Address', 'uiHint-fieldLabel'=>'Server'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) Lifetime in Seconds'}} # IPv6 Address def name prop_get('@name') end # (4-3600) Lifetime in Seconds def lifetime prop_get('lifetime') end # (4-3600) Lifetime in Seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def manual @subclasses['manual'] ||= Manual.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'defaule'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def dns_server @subclasses['dns-server'] ||= DnsServer.new(parent_instance: self, client: @client, create_children: @create_children) end class DnsSuffix < ConfigClass def has_multiple_values?; false; end def _section :'dns-suffix' end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end class Dhcpv6 < ConfigClass def has_multiple_values?; false; end def _section :dhcpv6 end @props = {'prefix-pool'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix Pool', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-Pool Name'}} # Prefix-Pool Name def prefix_pool prop_get('prefix-pool') end # Prefix-Pool Name def prefix_pool=(val) prop_set('prefix-pool', val) end end def dhcpv6 @subclasses['dhcpv6'] ||= Dhcpv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Manual < ConfigClass def has_multiple_values?; false; end def _section :manual end class Suffix < XML::ConfigClass def has_multiple_values?; true; end def _section :suffix end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'domain name', 'minlen'=>'1', 'maxlen'=>'255', 'uiHint-fieldLabel'=>'Domain'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) lifetime in seconds'}} # domain name def name prop_get('@name') end # (4-3600) lifetime in seconds def lifetime prop_get('lifetime') end # (4-3600) lifetime in seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def suffix maybe_register_subclass('suffix', Suffix.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def manual @subclasses['manual'] ||= Manual.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'defaule'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def dns_suffix @subclasses['dns-suffix'] ||= DnsSuffix.new(parent_instance: self, client: @client, create_children: @create_children) end class Neighbor < XML::ConfigClass def has_multiple_values?; true; end def _section :neighbor end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'help-string'=>'IP address'}, 'hw-address'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'mac-address', 'help-string'=>'MAC address (format xx:xx:xx:xx:xx:xx)'}} # IP address def name prop_get('@name') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address prop_get('hw-address') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address=(val) prop_set('hw-address', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def neighbor maybe_register_subclass('neighbor', Neighbor.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable-ndp-monitor'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable NDP Monitoring', 'uiHint-fieldLabel'=>'Enable NDP Monitoring'}, 'enable-dad'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable Duplicate Address Detection (DAD)', 'uiHint-fieldLabel'=>'Enable Duplicate Address Detection'}, 'dad-attempts'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'10', 'default'=>'1', 'help-string'=>'Number of consecutive neighbor solicitation messages sent for duplicate address detection', 'uiHint-fieldLabel'=>'DAD Attempts'}, 'ns-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'1', 'help-string'=>'Interval (in seconds) between consecutive neighbor solicitation messages', 'uiHint-fieldLabel'=>'NS Interval'}, 'reachable-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'10', 'max'=>'36000', 'default'=>'30', 'help-string'=>'Time (in seconds) that the Reachable status for a neighbor can be maintained', 'uiHint-fieldLabel'=>'Reachable Time'}} # Enable NDP Monitoring def enable_ndp_monitor prop_get('enable-ndp-monitor') end # Enable NDP Monitoring def enable_ndp_monitor=(val) prop_set('enable-ndp-monitor', val) end # Enable Duplicate Address Detection (DAD) def enable_dad prop_get('enable-dad') end # Enable Duplicate Address Detection (DAD) def enable_dad=(val) prop_set('enable-dad', val) end # Number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts prop_get('dad-attempts') end # Number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts=(val) prop_set('dad-attempts', val) end # Interval (in seconds) between consecutive neighbor solicitation messages def ns_interval prop_get('ns-interval') end # Interval (in seconds) between consecutive neighbor solicitation messages def ns_interval=(val) prop_set('ns-interval', val) end # Time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time prop_get('reachable-time') end # Time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time=(val) prop_set('reachable-time', val) end end def neighbor_discovery @subclasses['neighbor-discovery'] ||= NeighborDiscovery.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable Inherited Interface'}} # Enable Inherited Interface def enable prop_get('enable') end # Enable Inherited Interface def enable=(val) prop_set('enable', val) end end def inherited @subclasses['inherited'] ||= Inherited.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable IPv6 on the interface'}, 'interface-id'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'EUI-64', 'multi-types'=>{'string'=>{'maxlen'=>'16', 'loose-membership'=>'yes', 'help-string'=>'user defined 64-bit identifier (in hex)'}, 'enum'=>[{'value'=>'EUI-64', 'help-string'=>'default 64-bit Extended Unique Identifier'}]}}} # Enable IPv6 on the interface def enabled prop_get('enabled') end # Enable IPv6 on the interface def enabled=(val) prop_set('enabled', val) end def interface_id prop_get('interface-id') end def interface_id=(val) prop_set('interface-id', val) end end def ipv6 @subclasses['ipv6'] ||= Ipv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Arp < XML::ConfigClass def has_multiple_values?; true; end def _section :arp end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'ip-address', 'help-string'=>'IP address'}, 'hw-address'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'mac-address', 'help-string'=>'MAC address (format xx:xx:xx:xx:xx:xx)'}, 'interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Interface associated with this ARP entry'}} # IP address def name prop_get('@name') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address prop_get('hw-address') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address=(val) prop_set('hw-address', val) end # Interface associated with this ARP entry def interface prop_get('interface') end # Interface associated with this ARP entry def interface=(val) prop_set('interface', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def arp maybe_register_subclass('arp', Arp.new(parent_instance: self, client: @client, create_children: @create_children)) end class NdpProxy < ConfigClass def has_multiple_values?; false; end def _section :'ndp-proxy' end class Address < XML::ConfigClass def has_multiple_values?; true; end def _section :address end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'IPv6 address or address object name'}, 'negate'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'max-count'=>'16', 'help-string'=>'put the prefix or address on a block list'}} # IPv6 address or address object name def name prop_get('@name') end # put the prefix or address on a block list def negate prop_get('negate') end # put the prefix or address on a block list def negate=(val) prop_set('negate', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def address maybe_register_subclass('address', Address.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable proxy NDP on the interface'}} # Enable proxy NDP on the interface def enabled prop_get('enabled') end # Enable proxy NDP on the interface def enabled=(val) prop_set('enabled', val) end end def ndp_proxy @subclasses['ndp-proxy'] ||= NdpProxy.new(parent_instance: self, client: @client, create_children: @create_children) end class DhcpClient < ConfigClass def has_multiple_values?; false; end def _section :'dhcp-client' end class SendHostname < ConfigClass def has_multiple_values?; false; end def _section :'send-hostname' end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'hostname'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'system-hostname', 'help-string'=>'Set Interface Hostname', 'multi-types'=>{'string'=>{'regex'=>'^[a-zA-Z0-9\._-]+$', 'minlen'=>'1', 'maxlen'=>'64', 'loose-membership'=>'yes', 'help-string'=>'Custom Interface Hostname'}, 'enum'=>[{'value'=>'system-hostname', 'help-string'=>'System Hostname'}]}}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Set Interface Hostname def hostname prop_get('hostname') end # Set Interface Hostname def hostname=(val) prop_set('hostname', val) end end def send_hostname @subclasses['send-hostname'] ||= SendHostname.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'create-default-route'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Automatically create default route pointing to default gateway provided by server'}, 'default-route-metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'10', 'help-string'=>'Metric of the default route created'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Automatically create default route pointing to default gateway provided by server def create_default_route prop_get('create-default-route') end # Automatically create default route pointing to default gateway provided by server def create_default_route=(val) prop_set('create-default-route', val) end # Metric of the default route created def default_route_metric prop_get('default-route-metric') end # Metric of the default route created def default_route_metric=(val) prop_set('default-route-metric', val) end end def dhcp_client @subclasses['dhcp-client'] ||= DhcpClient.new(parent_instance: self, client: @client, create_children: @create_children) end class DdnsConfig < ConfigClass def has_multiple_values?; false; end def _section :'ddns-config' end class DdnsIp < XML::ConfigClass def has_multiple_values?; true; end def _section :'ddns-ip' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'maxlen'=>'127'}, 'enum'=>[{'value'=>'DHCP'}, {'value'=>'PPPoE'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def ddns_ip maybe_register_subclass('ddns-ip', DdnsIp.new(parent_instance: self, client: @client, create_children: @create_children)) end class DdnsIpv6 < XML::ConfigClass def has_multiple_values?; true; end def _section :'ddns-ipv6' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def ddns_ipv6 maybe_register_subclass('ddns-ipv6', DdnsIpv6.new(parent_instance: self, client: @client, create_children: @create_children)) end class DdnsVendorConfig < XML::ConfigClass def has_multiple_values?; true; end def _section :'ddns-vendor-config' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'255'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ddns_vendor_config maybe_register_subclass('ddns-vendor-config', DdnsVendorConfig.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'ddns-enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'ddns-update-interval'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'30', 'default'=>'1', 'optional'=>'yes'}, 'ddns-hostname'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([$a-zA-Z0-9_\.\-])+$', 'minlen'=>'1', 'maxlen'=>'255', 'help-string'=>'ddns hostname variable or real address'}, 'ddns-cert-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes'}, 'ddns-vendor'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127', 'help-string'=>'Vendor and product type'}} def ddns_enabled prop_get('ddns-enabled') end def ddns_enabled=(val) prop_set('ddns-enabled', val) end def ddns_update_interval prop_get('ddns-update-interval') end def ddns_update_interval=(val) prop_set('ddns-update-interval', val) end # ddns hostname variable or real address def ddns_hostname prop_get('ddns-hostname') end # ddns hostname variable or real address def ddns_hostname=(val) prop_set('ddns-hostname', val) end def ddns_cert_profile prop_get('ddns-cert-profile') end def ddns_cert_profile=(val) prop_set('ddns-cert-profile', val) end # Vendor and product type def ddns_vendor prop_get('ddns-vendor') end # Vendor and product type def ddns_vendor=(val) prop_set('ddns-vendor', val) end end def ddns_config @subclasses['ddns-config'] ||= DdnsConfig.new(parent_instance: self, client: @client, create_children: @create_children) end class Units < XML::ConfigClass def has_multiple_values?; true; end def _section :units end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Bonjour < ConfigClass def has_multiple_values?; false; end def _section :bonjour end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set to support Bonjour service'}, 'ttl-check'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set to check and update TTL'}, 'group-id'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'40', 'min'=>'0', 'max'=>'16', 'help-string'=>'default 0: NO-Group'}} # Set to support Bonjour service def enable prop_get('enable') end # Set to support Bonjour service def enable=(val) prop_set('enable', val) end # Set to check and update TTL def ttl_check prop_get('ttl-check') end # Set to check and update TTL def ttl_check=(val) prop_set('ttl-check', val) end # default 0: NO-Group def group_id prop_get('group-id') end # default 0: NO-Group def group_id=(val) prop_set('group-id', val) end end def bonjour @subclasses['bonjour'] ||= Bonjour.new(parent_instance: self, client: @client, create_children: @create_children) end class AdjustTcpMss < ConfigClass def has_multiple_values?; false; end def _section :'adjust-tcp-mss' end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set if TCP MSS value should be reduced based on mtu'}, 'ipv4-mss-adjustment'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'40', 'min'=>'40', 'max'=>'300', 'help-string'=>'IPv4 MSS adjustment size (in bytes)'}, 'ipv6-mss-adjustment'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'60', 'min'=>'60', 'max'=>'300', 'help-string'=>'IPv6 MSS adjustment size (in bytes)'}} # Set if TCP MSS value should be reduced based on mtu def enable prop_get('enable') end # Set if TCP MSS value should be reduced based on mtu def enable=(val) prop_set('enable', val) end # IPv4 MSS adjustment size (in bytes) def ipv4_mss_adjustment prop_get('ipv4-mss-adjustment') end # IPv4 MSS adjustment size (in bytes) def ipv4_mss_adjustment=(val) prop_set('ipv4-mss-adjustment', val) end # IPv6 MSS adjustment size (in bytes) def ipv6_mss_adjustment prop_get('ipv6-mss-adjustment') end # IPv6 MSS adjustment size (in bytes) def ipv6_mss_adjustment=(val) prop_set('ipv6-mss-adjustment', val) end end def adjust_tcp_mss @subclasses['adjust-tcp-mss'] ||= AdjustTcpMss.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip < XML::ConfigClass def has_multiple_values?; true; end def _section :ip end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'regex'=>'^([ $0-9a-zA-Z:@./_-])+$', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'IP address/netmask or address object name'}} # IP address/netmask or address object name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ip maybe_register_subclass('ip', Ip.new(parent_instance: self, client: @client, create_children: @create_children)) end class Ipv6 < ConfigClass def has_multiple_values?; false; end def _section :ipv6 end class Address < XML::ConfigClass def has_multiple_values?; true; end def _section :address end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Prefix < ConfigClass def has_multiple_values?; false; end def _section :prefix end @props = {} end def prefix @subclasses['prefix'] ||= Prefix.new(parent_instance: self, client: @client, create_children: @create_children) end class Anycast < ConfigClass def has_multiple_values?; false; end def _section :anycast end @props = {} end def anycast @subclasses['anycast'] ||= Anycast.new(parent_instance: self, client: @client, create_children: @create_children) end class Advertise < ConfigClass def has_multiple_values?; false; end def _section :advertise end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable advertising this prefix in router advertisements'}, 'valid-lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'2592000', 'help-string'=>'Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967294'}, 'enum'=>[{'value'=>'infinity'}]}}, 'preferred-lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'604800', 'help-string'=>'Preferred Lifetime (in seconds) of the prefix advertised in Router Advertisement messages', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967294'}, 'enum'=>[{'value'=>'infinity'}]}}, 'onlink-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages'}, 'auto-config-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages'}} # enable advertising this prefix in router advertisements def enable prop_get('enable') end # enable advertising this prefix in router advertisements def enable=(val) prop_set('enable', val) end # Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def valid_lifetime prop_get('valid-lifetime') end # Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def valid_lifetime=(val) prop_set('valid-lifetime', val) end # Preferred Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def preferred_lifetime prop_get('preferred-lifetime') end # Preferred Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def preferred_lifetime=(val) prop_set('preferred-lifetime', val) end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag prop_get('onlink-flag') end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag=(val) prop_set('onlink-flag', val) end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag prop_get('auto-config-flag') end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag=(val) prop_set('auto-config-flag', val) end end def advertise @subclasses['advertise'] ||= Advertise.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'^([ $0-9a-zA-Z:@./_-])+$', 'maxlen'=>'63', 'help-string'=>'IPv6 address/prefix length or address object name'}, 'enable-on-interface'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'configure this address on interface'}} # IPv6 address/prefix length or address object name def name prop_get('@name') end # configure this address on interface def enable_on_interface prop_get('enable-on-interface') end # configure this address on interface def enable_on_interface=(val) prop_set('enable-on-interface', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def address maybe_register_subclass('address', Address.new(parent_instance: self, client: @client, create_children: @create_children)) end class NeighborDiscovery < ConfigClass def has_multiple_values?; false; end def _section :'neighbor-discovery' end class RouterAdvertisement < ConfigClass def has_multiple_values?; false; end def _section :'router-advertisement' end class Prefix < XML::ConfigClass def has_multiple_values?; true; end def _section :prefix end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class ValidLifetime < XML::ConfigClass def has_multiple_values?; true; end def _section :'valid-lifetime' end @props = {'fixed-time'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'default'=>'2592000', 'help-string'=>'fixed value (in seconds) of the Valid Lifetime field of the prefix in Router Advertisement messages'}, 'expire-time'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'19', 'maxlen'=>'19', 'regex'=>'[0-9][0-9][0-9][0-9]/([0][1-9]|[1][0-2])/([0-2][0-9]|[3][0-1])@([01][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9])', 'help-string'=>'expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59)'}} # fixed value (in seconds) of the Valid Lifetime field of the prefix in Router Advertisement messages def fixed_time prop_get('fixed-time') end # fixed value (in seconds) of the Valid Lifetime field of the prefix in Router Advertisement messages def fixed_time=(val) prop_set('fixed-time', val) end # expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59) def expire_time prop_get('expire-time') end # expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59) def expire_time=(val) prop_set('expire-time', val) end end def valid_lifetime maybe_register_subclass('valid-lifetime', ValidLifetime.new(parent_instance: self, client: @client, create_children: @create_children)) end class PreferredLifetime < XML::ConfigClass def has_multiple_values?; true; end def _section :'preferred-lifetime' end @props = {'fixed-time'=>{'node-type'=>'element', 'type'=>'rangedint', 'default'=>'604800', 'min'=>'0', 'max'=>'4294967295', 'help-string'=>'Fixed value (in seconds) of the Preferred Lifetime field of the prefix in Router Advertisement messages'}, 'expire-time'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'19', 'maxlen'=>'19', 'regex'=>'[0-9][0-9][0-9][0-9]/([0][1-9]|[1][0-2])/([0-2][0-9]|[3][0-1])@([01][0-9]|[2][0-3]):([0-5][0-9]):([0-5][0-9])', 'help-string'=>'expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59)'}} # Fixed value (in seconds) of the Preferred Lifetime field of the prefix in Router Advertisement messages def fixed_time prop_get('fixed-time') end # Fixed value (in seconds) of the Preferred Lifetime field of the prefix in Router Advertisement messages def fixed_time=(val) prop_set('fixed-time', val) end # expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59) def expire_time prop_get('expire-time') end # expiration time in date time specification YYYY/MM/DD@hh:mm:ss (e.g. 2006/08/01@23:59:59) def expire_time=(val) prop_set('expire-time', val) end end def preferred_lifetime maybe_register_subclass('preferred-lifetime', PreferredLifetime.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'help-string'=>'IPv6 prefix'}, 'onlink-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages'}, 'auto-config-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages'}} # IPv6 prefix def name prop_get('@name') end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag prop_get('onlink-flag') end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag=(val) prop_set('onlink-flag', val) end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag prop_get('auto-config-flag') end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag=(val) prop_set('auto-config-flag', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def prefix maybe_register_subclass('prefix', Prefix.new(parent_instance: self, client: @client, create_children: @create_children)) end class DnsSupport < ConfigClass def has_multiple_values?; false; end def _section :'dns-support' end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'unicast-only'=>'yes', 'help-string'=>'IPv6 address'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) lifetime in seconds'}} # IPv6 address def name prop_get('@name') end # (4-3600) lifetime in seconds def lifetime prop_get('lifetime') end # (4-3600) lifetime in seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end class Suffix < XML::ConfigClass def has_multiple_values?; true; end def _section :suffix end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'domain name', 'minlen'=>'1', 'maxlen'=>'255'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) lifetime in seconds'}} # domain name def name prop_get('@name') end # (4-3600) lifetime in seconds def lifetime prop_get('lifetime') end # (4-3600) lifetime in seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def suffix maybe_register_subclass('suffix', Suffix.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'defaule'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def dns_support @subclasses['dns-support'] ||= DnsSupport.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'max-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'1800', 'default'=>'600', 'help-string'=>'Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages'}, 'min-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'3', 'max'=>'1350', 'default'=>'200', 'help-string'=>'Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages'}, 'managed-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set the Managed Configuration Flag (M-bit) in Router Advertisement messages'}, 'other-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages'}, 'link-mtu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise', 'multi-types'=>{'rangedint'=>{'min'=>'1280', 'max'=>'9216'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'reachable-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'Reachable Time (in milliseconds) advertised in Router Advertisement messages', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'3600000'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'retransmission-timer'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'Retransmission Timer (in milliseconds) advertised in Router Advertisement messages', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967295'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'hop-limit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'64', 'help-string'=>'Current Hop Limit advertised in Router Advertisement messages', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'255'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'9000', 'default'=>'1800', 'help-string'=>'Router Lifetime (in seconds) advertised in Router Advertisement messages'}, 'router-preference'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'Medium', 'enum'=>[{'value'=>'High', 'help-string'=>'01 High'}, {'value'=>'Medium', 'help-string'=>'00 Medium'}, {'value'=>'Low', 'help-string'=>'11 Low'}]}, 'enable-consistency-check'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'check consistency of RA messages from other routers.'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages def max_interval prop_get('max-interval') end # Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages def max_interval=(val) prop_set('max-interval', val) end # Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages def min_interval prop_get('min-interval') end # Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages def min_interval=(val) prop_set('min-interval', val) end # Set the Managed Configuration Flag (M-bit) in Router Advertisement messages def managed_flag prop_get('managed-flag') end # Set the Managed Configuration Flag (M-bit) in Router Advertisement messages def managed_flag=(val) prop_set('managed-flag', val) end # Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages def other_flag prop_get('other-flag') end # Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages def other_flag=(val) prop_set('other-flag', val) end # value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise def link_mtu prop_get('link-mtu') end # value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise def link_mtu=(val) prop_set('link-mtu', val) end # Reachable Time (in milliseconds) advertised in Router Advertisement messages def reachable_time prop_get('reachable-time') end # Reachable Time (in milliseconds) advertised in Router Advertisement messages def reachable_time=(val) prop_set('reachable-time', val) end # Retransmission Timer (in milliseconds) advertised in Router Advertisement messages def retransmission_timer prop_get('retransmission-timer') end # Retransmission Timer (in milliseconds) advertised in Router Advertisement messages def retransmission_timer=(val) prop_set('retransmission-timer', val) end # Current Hop Limit advertised in Router Advertisement messages def hop_limit prop_get('hop-limit') end # Current Hop Limit advertised in Router Advertisement messages def hop_limit=(val) prop_set('hop-limit', val) end # Router Lifetime (in seconds) advertised in Router Advertisement messages def lifetime prop_get('lifetime') end # Router Lifetime (in seconds) advertised in Router Advertisement messages def lifetime=(val) prop_set('lifetime', val) end def router_preference prop_get('router-preference') end def router_preference=(val) prop_set('router-preference', val) end # check consistency of RA messages from other routers. def enable_consistency_check prop_get('enable-consistency-check') end # check consistency of RA messages from other routers. def enable_consistency_check=(val) prop_set('enable-consistency-check', val) end end def router_advertisement @subclasses['router-advertisement'] ||= RouterAdvertisement.new(parent_instance: self, client: @client, create_children: @create_children) end class Neighbor < XML::ConfigClass def has_multiple_values?; true; end def _section :neighbor end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'help-string'=>'IP address'}, 'hw-address'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'mac-address', 'help-string'=>'MAC address (format xx:xx:xx:xx:xx:xx)'}} # IP address def name prop_get('@name') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address prop_get('hw-address') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address=(val) prop_set('hw-address', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def neighbor maybe_register_subclass('neighbor', Neighbor.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable-ndp-monitor'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable ndp monitoring'}, 'enable-dad'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable duplicate address detection'}, 'dad-attempts'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'10', 'default'=>'1', 'help-string'=>'number of consecutive neighbor solicitation messages sent for duplicate address detection'}, 'ns-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'1', 'help-string'=>'interval (in seconds) between consecutive neighbor solicitation messages'}, 'reachable-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'10', 'max'=>'36000', 'default'=>'30', 'help-string'=>'time (in seconds) that the Reachable status for a neighbor can be maintained'}, 'disable-nud'=>{'node-type'=>'element', 'disabled'=>'yes', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'disable Neighbor Unreachability Detection'}} # enable ndp monitoring def enable_ndp_monitor prop_get('enable-ndp-monitor') end # enable ndp monitoring def enable_ndp_monitor=(val) prop_set('enable-ndp-monitor', val) end # enable duplicate address detection def enable_dad prop_get('enable-dad') end # enable duplicate address detection def enable_dad=(val) prop_set('enable-dad', val) end # number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts prop_get('dad-attempts') end # number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts=(val) prop_set('dad-attempts', val) end # interval (in seconds) between consecutive neighbor solicitation messages def ns_interval prop_get('ns-interval') end # interval (in seconds) between consecutive neighbor solicitation messages def ns_interval=(val) prop_set('ns-interval', val) end # time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time prop_get('reachable-time') end # time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time=(val) prop_set('reachable-time', val) end # disable Neighbor Unreachability Detection def disable_nud prop_get('disable-nud') end # disable Neighbor Unreachability Detection def disable_nud=(val) prop_set('disable-nud', val) end end def neighbor_discovery @subclasses['neighbor-discovery'] ||= NeighborDiscovery.new(parent_instance: self, client: @client, create_children: @create_children) end class DhcpClient < ConfigClass def has_multiple_values?; false; end def _section :'dhcp-client' end class V6Options < ConfigClass def has_multiple_values?; false; end def _section :'v6-options' end class Enable < XML::ConfigClass def has_multiple_values?; true; end def _section :enable end class No < ConfigClass def has_multiple_values?; false; end def _section :no end @props = {} end def no @subclasses['no'] ||= No.new(parent_instance: self, client: @client, create_children: @create_children) end class Yes < ConfigClass def has_multiple_values?; false; end def _section :yes end @props = {'non-temp-addr'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Request Non-Temporary Address Type', 'uiHint-fieldLabel'=>'Non-Temporary Address'}, 'temp-addr'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Request Temporary Address Type', 'uiHint-fieldLabel'=>'Temporary Address'}} # Request Non-Temporary Address Type def non_temp_addr prop_get('non-temp-addr') end # Request Non-Temporary Address Type def non_temp_addr=(val) prop_set('non-temp-addr', val) end # Request Temporary Address Type def temp_addr prop_get('temp-addr') end # Request Temporary Address Type def temp_addr=(val) prop_set('temp-addr', val) end end def yes @subclasses['yes'] ||= Yes.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def enable maybe_register_subclass('enable', Enable.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'support-srvr-reconfig'=>{'node-type'=>'element', 'hidden'=>'yes', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable DHCPv6 Server Re-Configuration Support', 'uiHint-fieldLabel'=>'DHCPv6 Server Re-Configuration Support'}, 'rapid-commit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable Rapid Commit', 'uiHint-fieldLabel'=>'Rapid Commit'}, 'duid-type'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'duid-type-llt', 'optional'=>'yes', 'help-string'=>'Select DUID-LLT/DUID-LL', 'uiHint-fieldLabel'=>'DUID Type', 'enum'=>[{'name'=>'duid-type-llt', 'value'=>'duid-type-llt', 'optional'=>'yes', 'help-string'=>'DUID-LLT'}, {'name'=>'duid-type-ll', 'value'=>'duid-type-ll', 'optional'=>'yes', 'help-string'=>'DUID-LL'}]}} # Enable DHCPv6 Server Re-Configuration Support def support_srvr_reconfig prop_get('support-srvr-reconfig') end # Enable DHCPv6 Server Re-Configuration Support def support_srvr_reconfig=(val) prop_set('support-srvr-reconfig', val) end # Enable Rapid Commit def rapid_commit prop_get('rapid-commit') end # Enable Rapid Commit def rapid_commit=(val) prop_set('rapid-commit', val) end # Select DUID-LLT/DUID-LL def duid_type prop_get('duid-type') end # Select DUID-LLT/DUID-LL def duid_type=(val) prop_set('duid-type', val) end end def v6_options @subclasses['v6-options'] ||= V6Options.new(parent_instance: self, client: @client, create_children: @create_children) end class PrefixDelegation < ConfigClass def has_multiple_values?; false; end def _section :'prefix-delegation' end class Enable < XML::ConfigClass def has_multiple_values?; true; end def _section :enable end class No < ConfigClass def has_multiple_values?; false; end def _section :no end @props = {} end def no @subclasses['no'] ||= No.new(parent_instance: self, client: @client, create_children: @create_children) end class Yes < ConfigClass def has_multiple_values?; false; end def _section :yes end @props = {'prefix-len-hint'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Send prefix length hint to server', 'uiHint-fieldLabel'=>'DHCP Prefix Length Hint'}, 'prefix-len'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'128', 'default'=>'48', 'help-string'=>'Hint DHCP Prefix Length (bits)', 'uiHint-fieldLabel'=>'DHCP Prefix Length'}, 'pfx-pool-name'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'regex'=>'^[a-zA-Z0-9._-]+$', 'help-string'=>'Configure unique Prefix Pool Name', 'uiHint-fieldLabel'=>'Prefix Pool Name'}} # Send prefix length hint to server def prefix_len_hint prop_get('prefix-len-hint') end # Send prefix length hint to server def prefix_len_hint=(val) prop_set('prefix-len-hint', val) end # Hint DHCP Prefix Length (bits) def prefix_len prop_get('prefix-len') end # Hint DHCP Prefix Length (bits) def prefix_len=(val) prop_set('prefix-len', val) end # Configure unique Prefix Pool Name def pfx_pool_name prop_get('pfx-pool-name') end # Configure unique Prefix Pool Name def pfx_pool_name=(val) prop_set('pfx-pool-name', val) end end def yes @subclasses['yes'] ||= Yes.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def enable maybe_register_subclass('enable', Enable.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def prefix_delegation @subclasses['prefix-delegation'] ||= PrefixDelegation.new(parent_instance: self, client: @client, create_children: @create_children) end class NeighborDiscovery < ConfigClass def has_multiple_values?; false; end def _section :'neighbor-discovery' end class DnsServer < ConfigClass def has_multiple_values?; false; end def _section :'dns-server' end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end class Dhcpv6 < ConfigClass def has_multiple_values?; false; end def _section :dhcpv6 end @props = {} end def dhcpv6 @subclasses['dhcpv6'] ||= Dhcpv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Manual < ConfigClass def has_multiple_values?; false; end def _section :manual end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'unicast-only'=>'yes', 'help-string'=>'IPv6 Address', 'uiHint-fieldLabel'=>'Server'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) Lifetime in Seconds'}} # IPv6 Address def name prop_get('@name') end # (4-3600) Lifetime in Seconds def lifetime prop_get('lifetime') end # (4-3600) Lifetime in Seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def manual @subclasses['manual'] ||= Manual.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'defaule'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def dns_server @subclasses['dns-server'] ||= DnsServer.new(parent_instance: self, client: @client, create_children: @create_children) end class DnsSuffix < ConfigClass def has_multiple_values?; false; end def _section :'dns-suffix' end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end class Dhcpv6 < ConfigClass def has_multiple_values?; false; end def _section :dhcpv6 end @props = {} end def dhcpv6 @subclasses['dhcpv6'] ||= Dhcpv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Manual < ConfigClass def has_multiple_values?; false; end def _section :manual end class Suffix < XML::ConfigClass def has_multiple_values?; true; end def _section :suffix end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'domain name', 'minlen'=>'1', 'maxlen'=>'255', 'uiHint-fieldLabel'=>'Domain'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) lifetime in seconds'}} # domain name def name prop_get('@name') end # (4-3600) lifetime in seconds def lifetime prop_get('lifetime') end # (4-3600) lifetime in seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def suffix maybe_register_subclass('suffix', Suffix.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def manual @subclasses['manual'] ||= Manual.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'defaule'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def dns_suffix @subclasses['dns-suffix'] ||= DnsSuffix.new(parent_instance: self, client: @client, create_children: @create_children) end class Neighbor < XML::ConfigClass def has_multiple_values?; true; end def _section :neighbor end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'help-string'=>'IP address'}, 'hw-address'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'mac-address', 'help-string'=>'MAC address (format xx:xx:xx:xx:xx:xx)'}} # IP address def name prop_get('@name') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address prop_get('hw-address') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address=(val) prop_set('hw-address', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def neighbor maybe_register_subclass('neighbor', Neighbor.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable-ndp-monitor'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable NDP Monitoring', 'uiHint-fieldLabel'=>'Enable NDP Monitoring'}, 'enable-dad'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable Duplicate Address Detection', 'uiHint-fieldLabel'=>'Enable Duplicate Address Detection'}, 'dad-attempts'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'10', 'default'=>'1', 'help-string'=>'number of consecutive neighbor solicitation messages sent for duplicate address detection', 'uiHint-fieldLabel'=>'DAD Attempts'}, 'ns-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'1', 'help-string'=>'interval (in seconds) between consecutive neighbor solicitation messages', 'uiHint-fieldLabel'=>'NS Interval'}, 'reachable-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'10', 'max'=>'36000', 'default'=>'30', 'help-string'=>'time (in seconds) that the Reachable status for a neighbor can be maintained', 'uiHint-fieldLabel'=>'Reachable Time'}} # Enable NDP Monitoring def enable_ndp_monitor prop_get('enable-ndp-monitor') end # Enable NDP Monitoring def enable_ndp_monitor=(val) prop_set('enable-ndp-monitor', val) end # Enable Duplicate Address Detection def enable_dad prop_get('enable-dad') end # Enable Duplicate Address Detection def enable_dad=(val) prop_set('enable-dad', val) end # number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts prop_get('dad-attempts') end # number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts=(val) prop_set('dad-attempts', val) end # interval (in seconds) between consecutive neighbor solicitation messages def ns_interval prop_get('ns-interval') end # interval (in seconds) between consecutive neighbor solicitation messages def ns_interval=(val) prop_set('ns-interval', val) end # time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time prop_get('reachable-time') end # time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time=(val) prop_set('reachable-time', val) end end def neighbor_discovery @subclasses['neighbor-discovery'] ||= NeighborDiscovery.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable DHCPv6 Client', 'uiHint-fieldLabel'=>'Enable'}, 'accept-ra-route'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Accept Router Advertised Default Route', 'uiHint-fieldLabel'=>'Accept Router Advertised Route'}, 'default-route-metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'10', 'help-string'=>'Metric of the default route created'}, 'preference'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'high', 'optional'=>'yes', 'help-string'=>'Select Low/Medium/High', 'uiHint-fieldLabel'=>'Preference', 'enum'=>[{'name'=>'low', 'value'=>'low', 'optional'=>'yes', 'help-string'=>'Low'}, {'name'=>'medium', 'value'=>'medium', 'optional'=>'yes', 'help-string'=>'Medium'}, {'name'=>'high', 'value'=>'high', 'optional'=>'yes', 'help-string'=>'High'}]}} # Enable DHCPv6 Client def enable prop_get('enable') end # Enable DHCPv6 Client def enable=(val) prop_set('enable', val) end # Accept Router Advertised Default Route def accept_ra_route prop_get('accept-ra-route') end # Accept Router Advertised Default Route def accept_ra_route=(val) prop_set('accept-ra-route', val) end # Metric of the default route created def default_route_metric prop_get('default-route-metric') end # Metric of the default route created def default_route_metric=(val) prop_set('default-route-metric', val) end # Select Low/Medium/High def preference prop_get('preference') end # Select Low/Medium/High def preference=(val) prop_set('preference', val) end end def dhcp_client @subclasses['dhcp-client'] ||= DhcpClient.new(parent_instance: self, client: @client, create_children: @create_children) end class Inherited < ConfigClass def has_multiple_values?; false; end def _section :inherited end class AssignAddr < XML::ConfigClass def has_multiple_values?; true; end def _section :'assign-addr' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Gua < ConfigClass def has_multiple_values?; false; end def _section :gua end class PoolType < XML::ConfigClass def has_multiple_values?; true; end def _section :'pool-type' end class Dynamic < ConfigClass def has_multiple_values?; false; end def _section :dynamic end @props = {} end def dynamic @subclasses['dynamic'] ||= Dynamic.new(parent_instance: self, client: @client, create_children: @create_children) end class DynamicId < ConfigClass def has_multiple_values?; false; end def _section :'dynamic-id' end @props = {'identifier'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4095', 'help-string'=>'Range [0-4095] must be unqiue for this prefix-pool', 'uiHint-fieldLabel'=>'Identifier'}} # Range [0-4095] must be unqiue for this prefix-pool def identifier prop_get('identifier') end # Range [0-4095] must be unqiue for this prefix-pool def identifier=(val) prop_set('identifier', val) end end def dynamic_id @subclasses['dynamic-id'] ||= DynamicId.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def pool_type maybe_register_subclass('pool-type', PoolType.new(parent_instance: self, client: @client, create_children: @create_children)) end class Advertise < ConfigClass def has_multiple_values?; false; end def _section :advertise end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable advertising this prefix in router advertisements'}, 'onlink-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages', 'uiHint-fieldLabel'=>'On-Link'}, 'auto-config-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages', 'uiHint-fieldLabel'=>'Autonomous'}} # Enable advertising this prefix in router advertisements def enable prop_get('enable') end # Enable advertising this prefix in router advertisements def enable=(val) prop_set('enable', val) end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag prop_get('onlink-flag') end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag=(val) prop_set('onlink-flag', val) end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag prop_get('auto-config-flag') end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag=(val) prop_set('auto-config-flag', val) end end def advertise @subclasses['advertise'] ||= Advertise.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable-on-interface'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable on Interface'}, 'prefix-pool'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix Pool', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'use-cache'=>'yes', 'optional'=>'yes', 'help-string'=>'Prefix-Pool Name'}} # Enable on Interface def enable_on_interface prop_get('enable-on-interface') end # Enable on Interface def enable_on_interface=(val) prop_set('enable-on-interface', val) end # Prefix-Pool Name def prefix_pool prop_get('prefix-pool') end # Prefix-Pool Name def prefix_pool=(val) prop_set('prefix-pool', val) end end def gua @subclasses['gua'] ||= Gua.new(parent_instance: self, client: @client, create_children: @create_children) end class Ula < ConfigClass def has_multiple_values?; false; end def _section :ula end class Advertise < ConfigClass def has_multiple_values?; false; end def _section :advertise end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable advertising this prefix in router advertisements'}, 'valid-lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'2592000', 'help-string'=>'Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages', 'uiHint-fieldLabel'=>'Valid Lifetime', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967294'}, 'enum'=>[{'value'=>'infinity'}]}}, 'preferred-lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'604800', 'help-string'=>'Preferred Lifetime (in seconds) of the prefix advertised in Router advertisement messages', 'uiHint-fieldLabel'=>'Preferred Lifetime', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967294'}, 'enum'=>[{'value'=>'infinity'}]}}, 'onlink-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages', 'uiHint-fieldLabel'=>'On-Link'}, 'auto-config-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages', 'uiHint-fieldLabel'=>'Autonomous'}} # enable advertising this prefix in router advertisements def enable prop_get('enable') end # enable advertising this prefix in router advertisements def enable=(val) prop_set('enable', val) end # Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def valid_lifetime prop_get('valid-lifetime') end # Valid Lifetime (in seconds) of the prefix advertised in Router Advertisement messages def valid_lifetime=(val) prop_set('valid-lifetime', val) end # Preferred Lifetime (in seconds) of the prefix advertised in Router advertisement messages def preferred_lifetime prop_get('preferred-lifetime') end # Preferred Lifetime (in seconds) of the prefix advertised in Router advertisement messages def preferred_lifetime=(val) prop_set('preferred-lifetime', val) end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag prop_get('onlink-flag') end # Set the On-Link Flag (L-bit) of the prefix in Router Advertisement messages def onlink_flag=(val) prop_set('onlink-flag', val) end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag prop_get('auto-config-flag') end # Set the Auto Address Configuration Flag (A-bit) of the prefix in Router Advertisement messages def auto_config_flag=(val) prop_set('auto-config-flag', val) end end def advertise @subclasses['advertise'] ||= Advertise.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable-on-interface'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Configure this address on Interface', 'uiHint-fieldLabel'=>'Enable Address on Interface'}, 'address'=>{'node-type'=>'element', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'help-string'=>'Configure ULA (Unique Local Address)', 'uiHint-fieldLabel'=>'Address'}, 'prefix'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Use this as prefix to form full address with interface id/EUI-64', 'uiHint-fieldLabel'=>'Use Interface ID as host portion'}, 'anycast'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Anycast Address', 'uiHint-fieldLabel'=>'Anycast'}} # Configure this address on Interface def enable_on_interface prop_get('enable-on-interface') end # Configure this address on Interface def enable_on_interface=(val) prop_set('enable-on-interface', val) end # Configure ULA (Unique Local Address) def address prop_get('address') end # Configure ULA (Unique Local Address) def address=(val) prop_set('address', val) end # Use this as prefix to form full address with interface id/EUI-64 def prefix prop_get('prefix') end # Use this as prefix to form full address with interface id/EUI-64 def prefix=(val) prop_set('prefix', val) end # Anycast Address def anycast prop_get('anycast') end # Anycast Address def anycast=(val) prop_set('anycast', val) end end def ula @subclasses['ula'] ||= Ula.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'help-string'=>'Name', 'regex'=>'^[a-zA-Z0-9._-]+$'}} # Name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def assign_addr maybe_register_subclass('assign-addr', AssignAddr.new(parent_instance: self, client: @client, create_children: @create_children)) end class NeighborDiscovery < ConfigClass def has_multiple_values?; false; end def _section :'neighbor-discovery' end class RouterAdvertisement < ConfigClass def has_multiple_values?; false; end def _section :'router-advertisement' end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'max-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'1800', 'default'=>'600', 'help-string'=>'Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages', 'uiHint-fieldLabel'=>'Max Interval'}, 'min-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'3', 'max'=>'1350', 'default'=>'200', 'help-string'=>'Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages', 'uiHint-fieldLabel'=>'Min Interval'}, 'link-mtu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise', 'uiHint-fieldLabel'=>'Link MTU', 'multi-types'=>{'rangedint'=>{'min'=>'1280', 'max'=>'9216'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'reachable-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'Reachable Time (in milliseconds) advertised in Router Advertisement messages', 'uiHint-fieldLabel'=>'Reachable Time', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'3600000'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'retransmission-timer'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unspecified', 'help-string'=>'Retransmission Timer (in milliseconds) advertised in Router Advertisement messages', 'uiHint-fieldLabel'=>'Retrans Timer', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'4294967295'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'hop-limit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'64', 'help-string'=>'Current Hop Limit advertised in Router Advertisement messages', 'uiHint-fieldLabel'=>'Hop Limit', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'255'}, 'enum'=>[{'value'=>'unspecified'}]}}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'9000', 'default'=>'1800', 'help-string'=>'Router Lifetime (in seconds) advertised in Router Advertisement messages', 'uiHint-fieldLabel'=>'Lifetime'}, 'router-preference'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'Medium', 'uiHint-fieldLabel'=>'Router Preference', 'enum'=>[{'value'=>'High', 'help-string'=>'01 High'}, {'value'=>'Medium', 'help-string'=>'00 Medium'}, {'value'=>'Low', 'help-string'=>'11 Low'}]}, 'managed-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set the Managed Configuration Flag (M-bit) in Router Advertisement messages', 'uiHint-fieldLabel'=>'Managed Configuration'}, 'other-flag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages', 'uiHint-fieldLabel'=>'Other Configuration'}, 'enable-consistency-check'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'check consistency of RA messages from other routers.', 'uiHint-fieldLabel'=>'Consistency Check'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages def max_interval prop_get('max-interval') end # Maximum interval (seconds) between consecutive unsolicited Router Advertisement messages def max_interval=(val) prop_set('max-interval', val) end # Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages def min_interval prop_get('min-interval') end # Minimum interval (seconds) between consecutive unsolicited Router Advertisement messages def min_interval=(val) prop_set('min-interval', val) end # value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise def link_mtu prop_get('link-mtu') end # value of MTU option in Router Advertisement messages, upto 9216 in Jumbo-Frame mode, up to 1500 otherwise def link_mtu=(val) prop_set('link-mtu', val) end # Reachable Time (in milliseconds) advertised in Router Advertisement messages def reachable_time prop_get('reachable-time') end # Reachable Time (in milliseconds) advertised in Router Advertisement messages def reachable_time=(val) prop_set('reachable-time', val) end # Retransmission Timer (in milliseconds) advertised in Router Advertisement messages def retransmission_timer prop_get('retransmission-timer') end # Retransmission Timer (in milliseconds) advertised in Router Advertisement messages def retransmission_timer=(val) prop_set('retransmission-timer', val) end # Current Hop Limit advertised in Router Advertisement messages def hop_limit prop_get('hop-limit') end # Current Hop Limit advertised in Router Advertisement messages def hop_limit=(val) prop_set('hop-limit', val) end # Router Lifetime (in seconds) advertised in Router Advertisement messages def lifetime prop_get('lifetime') end # Router Lifetime (in seconds) advertised in Router Advertisement messages def lifetime=(val) prop_set('lifetime', val) end def router_preference prop_get('router-preference') end def router_preference=(val) prop_set('router-preference', val) end # Set the Managed Configuration Flag (M-bit) in Router Advertisement messages def managed_flag prop_get('managed-flag') end # Set the Managed Configuration Flag (M-bit) in Router Advertisement messages def managed_flag=(val) prop_set('managed-flag', val) end # Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages def other_flag prop_get('other-flag') end # Set the Other Stateful Configuration Flag (O-bit) in Router Advertisement messages def other_flag=(val) prop_set('other-flag', val) end # check consistency of RA messages from other routers. def enable_consistency_check prop_get('enable-consistency-check') end # check consistency of RA messages from other routers. def enable_consistency_check=(val) prop_set('enable-consistency-check', val) end end def router_advertisement @subclasses['router-advertisement'] ||= RouterAdvertisement.new(parent_instance: self, client: @client, create_children: @create_children) end class DnsServer < ConfigClass def has_multiple_values?; false; end def _section :'dns-server' end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end class Dhcpv6 < ConfigClass def has_multiple_values?; false; end def _section :dhcpv6 end @props = {'prefix-pool'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix Pool', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-Pool Name'}} # Prefix-Pool Name def prefix_pool prop_get('prefix-pool') end # Prefix-Pool Name def prefix_pool=(val) prop_set('prefix-pool', val) end end def dhcpv6 @subclasses['dhcpv6'] ||= Dhcpv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Manual < ConfigClass def has_multiple_values?; false; end def _section :manual end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'unicast-only'=>'yes', 'help-string'=>'IPv6 Address', 'uiHint-fieldLabel'=>'Server'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) Lifetime in Seconds'}} # IPv6 Address def name prop_get('@name') end # (4-3600) Lifetime in Seconds def lifetime prop_get('lifetime') end # (4-3600) Lifetime in Seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def manual @subclasses['manual'] ||= Manual.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'defaule'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def dns_server @subclasses['dns-server'] ||= DnsServer.new(parent_instance: self, client: @client, create_children: @create_children) end class DnsSuffix < ConfigClass def has_multiple_values?; false; end def _section :'dns-suffix' end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end class Dhcpv6 < ConfigClass def has_multiple_values?; false; end def _section :dhcpv6 end @props = {'prefix-pool'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix Pool', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-Pool Name'}} # Prefix-Pool Name def prefix_pool prop_get('prefix-pool') end # Prefix-Pool Name def prefix_pool=(val) prop_set('prefix-pool', val) end end def dhcpv6 @subclasses['dhcpv6'] ||= Dhcpv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Manual < ConfigClass def has_multiple_values?; false; end def _section :manual end class Suffix < XML::ConfigClass def has_multiple_values?; true; end def _section :suffix end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'domain name', 'minlen'=>'1', 'maxlen'=>'255', 'uiHint-fieldLabel'=>'Domain'}, 'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'4', 'max'=>'3600', 'default'=>'1200', 'help-string'=>'(4-3600) lifetime in seconds'}} # domain name def name prop_get('@name') end # (4-3600) lifetime in seconds def lifetime prop_get('lifetime') end # (4-3600) lifetime in seconds def lifetime=(val) prop_set('lifetime', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def suffix maybe_register_subclass('suffix', Suffix.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def manual @subclasses['manual'] ||= Manual.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'defaule'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def dns_suffix @subclasses['dns-suffix'] ||= DnsSuffix.new(parent_instance: self, client: @client, create_children: @create_children) end class Neighbor < XML::ConfigClass def has_multiple_values?; true; end def _section :neighbor end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'help-string'=>'IP address'}, 'hw-address'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'mac-address', 'help-string'=>'MAC address (format xx:xx:xx:xx:xx:xx)'}} # IP address def name prop_get('@name') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address prop_get('hw-address') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address=(val) prop_set('hw-address', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def neighbor maybe_register_subclass('neighbor', Neighbor.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable-ndp-monitor'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable NDP Monitoring', 'uiHint-fieldLabel'=>'Enable NDP Monitoring'}, 'enable-dad'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable Duplicate Address Detection (DAD)', 'uiHint-fieldLabel'=>'Enable Duplicate Address Detection'}, 'dad-attempts'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'10', 'default'=>'1', 'help-string'=>'Number of consecutive neighbor solicitation messages sent for duplicate address detection', 'uiHint-fieldLabel'=>'DAD Attempts'}, 'ns-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'1', 'help-string'=>'Interval (in seconds) between consecutive neighbor solicitation messages', 'uiHint-fieldLabel'=>'NS Interval'}, 'reachable-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'10', 'max'=>'36000', 'default'=>'30', 'help-string'=>'Time (in seconds) that the Reachable status for a neighbor can be maintained', 'uiHint-fieldLabel'=>'Reachable Time'}} # Enable NDP Monitoring def enable_ndp_monitor prop_get('enable-ndp-monitor') end # Enable NDP Monitoring def enable_ndp_monitor=(val) prop_set('enable-ndp-monitor', val) end # Enable Duplicate Address Detection (DAD) def enable_dad prop_get('enable-dad') end # Enable Duplicate Address Detection (DAD) def enable_dad=(val) prop_set('enable-dad', val) end # Number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts prop_get('dad-attempts') end # Number of consecutive neighbor solicitation messages sent for duplicate address detection def dad_attempts=(val) prop_set('dad-attempts', val) end # Interval (in seconds) between consecutive neighbor solicitation messages def ns_interval prop_get('ns-interval') end # Interval (in seconds) between consecutive neighbor solicitation messages def ns_interval=(val) prop_set('ns-interval', val) end # Time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time prop_get('reachable-time') end # Time (in seconds) that the Reachable status for a neighbor can be maintained def reachable_time=(val) prop_set('reachable-time', val) end end def neighbor_discovery @subclasses['neighbor-discovery'] ||= NeighborDiscovery.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable Inherited Interface'}} # Enable Inherited Interface def enable prop_get('enable') end # Enable Inherited Interface def enable=(val) prop_set('enable', val) end end def inherited @subclasses['inherited'] ||= Inherited.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable IPv6 on the interface'}, 'interface-id'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'EUI-64', 'multi-types'=>{'string'=>{'maxlen'=>'16', 'loose-membership'=>'yes', 'help-string'=>'user defined 64-bit identifier (in hex)'}, 'enum'=>[{'value'=>'EUI-64', 'help-string'=>'default 64-bit Extended Unique Identifier'}]}}} # Enable IPv6 on the interface def enabled prop_get('enabled') end # Enable IPv6 on the interface def enabled=(val) prop_set('enabled', val) end def interface_id prop_get('interface-id') end def interface_id=(val) prop_set('interface-id', val) end end def ipv6 @subclasses['ipv6'] ||= Ipv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Arp < XML::ConfigClass def has_multiple_values?; true; end def _section :arp end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'ip-address', 'help-string'=>'IP address'}, 'hw-address'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'mac-address', 'help-string'=>'MAC address (format xx:xx:xx:xx:xx:xx)'}, 'interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Egress interface associated with this ARP entry'}} # IP address def name prop_get('@name') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address prop_get('hw-address') end # MAC address (format xx:xx:xx:xx:xx:xx) def hw_address=(val) prop_set('hw-address', val) end # Egress interface associated with this ARP entry def interface prop_get('interface') end # Egress interface associated with this ARP entry def interface=(val) prop_set('interface', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def arp maybe_register_subclass('arp', Arp.new(parent_instance: self, client: @client, create_children: @create_children)) end class NdpProxy < ConfigClass def has_multiple_values?; false; end def _section :'ndp-proxy' end class Address < XML::ConfigClass def has_multiple_values?; true; end def _section :address end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'IPv6 address or address object name'}, 'negate'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'max-count'=>'16', 'help-string'=>'put the prefix or address on a block list'}} # IPv6 address or address object name def name prop_get('@name') end # put the prefix or address on a block list def negate prop_get('negate') end # put the prefix or address on a block list def negate=(val) prop_set('negate', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def address maybe_register_subclass('address', Address.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable proxy NDP on the interface'}} # Enable proxy NDP on the interface def enabled prop_get('enabled') end # Enable proxy NDP on the interface def enabled=(val) prop_set('enabled', val) end end def ndp_proxy @subclasses['ndp-proxy'] ||= NdpProxy.new(parent_instance: self, client: @client, create_children: @create_children) end class DhcpClient < ConfigClass def has_multiple_values?; false; end def _section :'dhcp-client' end class SendHostname < ConfigClass def has_multiple_values?; false; end def _section :'send-hostname' end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'hostname'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'system-hostname', 'help-string'=>'Set Interface Hostname', 'multi-types'=>{'string'=>{'regex'=>'^[a-zA-Z0-9\._-]+$', 'minlen'=>'1', 'maxlen'=>'64', 'loose-membership'=>'yes', 'help-string'=>'Custom Interface Hostname'}, 'enum'=>[{'value'=>'system-hostname', 'help-string'=>'System Hostname'}]}}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Set Interface Hostname def hostname prop_get('hostname') end # Set Interface Hostname def hostname=(val) prop_set('hostname', val) end end def send_hostname @subclasses['send-hostname'] ||= SendHostname.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'create-default-route'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Automatically create default route pointing to default gateway provided by server'}, 'default-route-metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'10', 'help-string'=>'Metric of the default route created'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Automatically create default route pointing to default gateway provided by server def create_default_route prop_get('create-default-route') end # Automatically create default route pointing to default gateway provided by server def create_default_route=(val) prop_set('create-default-route', val) end # Metric of the default route created def default_route_metric prop_get('default-route-metric') end # Metric of the default route created def default_route_metric=(val) prop_set('default-route-metric', val) end end def dhcp_client @subclasses['dhcp-client'] ||= DhcpClient.new(parent_instance: self, client: @client, create_children: @create_children) end class DdnsConfig < ConfigClass def has_multiple_values?; false; end def _section :'ddns-config' end class DdnsIp < XML::ConfigClass def has_multiple_values?; true; end def _section :'ddns-ip' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'maxlen'=>'127'}, 'enum'=>[{'value'=>'DHCP'}, {'value'=>'PPPoE'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def ddns_ip maybe_register_subclass('ddns-ip', DdnsIp.new(parent_instance: self, client: @client, create_children: @create_children)) end class DdnsIpv6 < XML::ConfigClass def has_multiple_values?; true; end def _section :'ddns-ipv6' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def ddns_ipv6 maybe_register_subclass('ddns-ipv6', DdnsIpv6.new(parent_instance: self, client: @client, create_children: @create_children)) end class DdnsVendorConfig < XML::ConfigClass def has_multiple_values?; true; end def _section :'ddns-vendor-config' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'255'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ddns_vendor_config maybe_register_subclass('ddns-vendor-config', DdnsVendorConfig.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'ddns-enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'ddns-update-interval'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'30', 'default'=>'1', 'optional'=>'yes'}, 'ddns-hostname'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([$a-zA-Z0-9_\.\-])+$', 'minlen'=>'1', 'maxlen'=>'255', 'help-string'=>'ddns hostname variable or real address'}, 'ddns-cert-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes'}, 'ddns-vendor'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127', 'help-string'=>'Vendor and product type'}} def ddns_enabled prop_get('ddns-enabled') end def ddns_enabled=(val) prop_set('ddns-enabled', val) end def ddns_update_interval prop_get('ddns-update-interval') end def ddns_update_interval=(val) prop_set('ddns-update-interval', val) end # ddns hostname variable or real address def ddns_hostname prop_get('ddns-hostname') end # ddns hostname variable or real address def ddns_hostname=(val) prop_set('ddns-hostname', val) end def ddns_cert_profile prop_get('ddns-cert-profile') end def ddns_cert_profile=(val) prop_set('ddns-cert-profile', val) end # Vendor and product type def ddns_vendor prop_get('ddns-vendor') end # Vendor and product type def ddns_vendor=(val) prop_set('ddns-vendor', val) end end def ddns_config @subclasses['ddns-config'] ||= DdnsConfig.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'prefix'=>'concat(name(../..), \'.\')', 'regex'=>'^([ 0-9a-zA-Z./_-])+$', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z./_-]'}, 'df-ignore'=>{'node-type'=>'element', 'internal'=>'yes', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'mtu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'576', 'max'=>'9216', 'help-string'=>'Maximum Transfer Unit, up to 9216 in Jumbo-Frame mode, up to 1500 otherwise'}, 'interface-management-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'Interface management profile'}, 'netflow-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'Netflow Server Profile'}, 'comment'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'0', 'maxlen'=>'1023'}} # alphanumeric string [ 0-9a-zA-Z./_-] def name prop_get('@name') end def df_ignore prop_get('df-ignore') end def df_ignore=(val) prop_set('df-ignore', val) end # Maximum Transfer Unit, up to 9216 in Jumbo-Frame mode, up to 1500 otherwise def mtu prop_get('mtu') end # Maximum Transfer Unit, up to 9216 in Jumbo-Frame mode, up to 1500 otherwise def mtu=(val) prop_set('mtu', val) end # Interface management profile def interface_management_profile prop_get('interface-management-profile') end # Interface management profile def interface_management_profile=(val) prop_set('interface-management-profile', val) end # Netflow Server Profile def netflow_profile prop_get('netflow-profile') end # Netflow Server Profile def netflow_profile=(val) prop_set('netflow-profile', val) end def comment prop_get('comment') end def comment=(val) prop_set('comment', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def units maybe_register_subclass('units', Units.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'df-ignore'=>{'node-type'=>'element', 'internal'=>'yes', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'mtu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'576', 'max'=>'9216', 'help-string'=>'Maximum Transfer Unit, up to 9216 in Jumbo-Frame mode, up to 1500 otherwise'}, 'interface-management-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'Interface management profile'}, 'netflow-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'Netflow Server Profile'}, 'comment'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'0', 'maxlen'=>'1023'}} def df_ignore prop_get('df-ignore') end def df_ignore=(val) prop_set('df-ignore', val) end # Maximum Transfer Unit, up to 9216 in Jumbo-Frame mode, up to 1500 otherwise def mtu prop_get('mtu') end # Maximum Transfer Unit, up to 9216 in Jumbo-Frame mode, up to 1500 otherwise def mtu=(val) prop_set('mtu', val) end # Interface management profile def interface_management_profile prop_get('interface-management-profile') end # Interface management profile def interface_management_profile=(val) prop_set('interface-management-profile', val) end # Netflow Server Profile def netflow_profile prop_get('netflow-profile') end # Netflow Server Profile def netflow_profile=(val) prop_set('netflow-profile', val) end def comment prop_get('comment') end def comment=(val) prop_set('comment', val) end end def vlan @subclasses['vlan'] ||= Vlan.new(parent_instance: self, client: @client, create_children: @create_children) end class Loopback < ConfigClass def has_multiple_values?; false; end def _section :loopback end class AdjustTcpMss < ConfigClass def has_multiple_values?; false; end def _section :'adjust-tcp-mss' end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set if TCP MSS value should be reduced based on mtu'}, 'ipv4-mss-adjustment'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'40', 'min'=>'40', 'max'=>'300', 'help-string'=>'IPv4 MSS adjustment size (in bytes)'}, 'ipv6-mss-adjustment'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'60', 'min'=>'60', 'max'=>'300', 'help-string'=>'IPv6 MSS adjustment size (in bytes)'}} # Set if TCP MSS value should be reduced based on mtu def enable prop_get('enable') end # Set if TCP MSS value should be reduced based on mtu def enable=(val) prop_set('enable', val) end # IPv4 MSS adjustment size (in bytes) def ipv4_mss_adjustment prop_get('ipv4-mss-adjustment') end # IPv4 MSS adjustment size (in bytes) def ipv4_mss_adjustment=(val) prop_set('ipv4-mss-adjustment', val) end # IPv6 MSS adjustment size (in bytes) def ipv6_mss_adjustment prop_get('ipv6-mss-adjustment') end # IPv6 MSS adjustment size (in bytes) def ipv6_mss_adjustment=(val) prop_set('ipv6-mss-adjustment', val) end end def adjust_tcp_mss @subclasses['adjust-tcp-mss'] ||= AdjustTcpMss.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip < XML::ConfigClass def has_multiple_values?; true; end def _section :ip end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'regex'=>'^([ $0-9a-zA-Z:@./_-])+$', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'IP address or address object name(netmask is not allowed for loopback)'}} # IP address or address object name(netmask is not allowed for loopback) def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ip maybe_register_subclass('ip', Ip.new(parent_instance: self, client: @client, create_children: @create_children)) end class Ipv6 < ConfigClass def has_multiple_values?; false; end def _section :ipv6 end class Address < XML::ConfigClass def has_multiple_values?; true; end def _section :address end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Prefix < ConfigClass def has_multiple_values?; false; end def _section :prefix end @props = {} end def prefix @subclasses['prefix'] ||= Prefix.new(parent_instance: self, client: @client, create_children: @create_children) end class Anycast < ConfigClass def has_multiple_values?; false; end def _section :anycast end @props = {} end def anycast @subclasses['anycast'] ||= Anycast.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'^([ $0-9a-zA-Z:@./_-])+$', 'maxlen'=>'63', 'help-string'=>'IPv6 address or address object name'}, 'enable-on-interface'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'configure this address on interface'}} # IPv6 address or address object name def name prop_get('@name') end # configure this address on interface def enable_on_interface prop_get('enable-on-interface') end # configure this address on interface def enable_on_interface=(val) prop_set('enable-on-interface', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def address maybe_register_subclass('address', Address.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable IPv6 on the interface'}, 'interface-id'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'EUI-64', 'multi-types'=>{'string'=>{'maxlen'=>'16', 'loose-membership'=>'yes', 'help-string'=>'user defined 64-bit identifier (in hex)'}, 'enum'=>[{'value'=>'EUI-64', 'help-string'=>'default 64-bit Extended Unique Identifier'}]}}} # Enable IPv6 on the interface def enabled prop_get('enabled') end # Enable IPv6 on the interface def enabled=(val) prop_set('enabled', val) end def interface_id prop_get('interface-id') end def interface_id=(val) prop_set('interface-id', val) end end def ipv6 @subclasses['ipv6'] ||= Ipv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Unnumbered < ConfigClass def has_multiple_values?; false; end def _section :unnumbered end @props = {'source-interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Source interface to borrow IP from'}} # Source interface to borrow IP from def source_interface prop_get('source-interface') end # Source interface to borrow IP from def source_interface=(val) prop_set('source-interface', val) end end def unnumbered @subclasses['unnumbered'] ||= Unnumbered.new(parent_instance: self, client: @client, create_children: @create_children) end class Units < XML::ConfigClass def has_multiple_values?; true; end def _section :units end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class AdjustTcpMss < ConfigClass def has_multiple_values?; false; end def _section :'adjust-tcp-mss' end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set if TCP MSS value should be reduced based on mtu'}, 'ipv4-mss-adjustment'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'40', 'min'=>'40', 'max'=>'300', 'help-string'=>'IPv4 MSS adjustment size (in bytes)'}, 'ipv6-mss-adjustment'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'60', 'min'=>'60', 'max'=>'300', 'help-string'=>'IPv6 MSS adjustment size (in bytes)'}} # Set if TCP MSS value should be reduced based on mtu def enable prop_get('enable') end # Set if TCP MSS value should be reduced based on mtu def enable=(val) prop_set('enable', val) end # IPv4 MSS adjustment size (in bytes) def ipv4_mss_adjustment prop_get('ipv4-mss-adjustment') end # IPv4 MSS adjustment size (in bytes) def ipv4_mss_adjustment=(val) prop_set('ipv4-mss-adjustment', val) end # IPv6 MSS adjustment size (in bytes) def ipv6_mss_adjustment prop_get('ipv6-mss-adjustment') end # IPv6 MSS adjustment size (in bytes) def ipv6_mss_adjustment=(val) prop_set('ipv6-mss-adjustment', val) end end def adjust_tcp_mss @subclasses['adjust-tcp-mss'] ||= AdjustTcpMss.new(parent_instance: self, client: @client, create_children: @create_children) end class Ip < XML::ConfigClass def has_multiple_values?; true; end def _section :ip end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'regex'=>'^([ $0-9a-zA-Z:@./_-])+$', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'IP address or address object name(netmask is not allowed for loopback)'}} # IP address or address object name(netmask is not allowed for loopback) def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ip maybe_register_subclass('ip', Ip.new(parent_instance: self, client: @client, create_children: @create_children)) end class Ipv6 < ConfigClass def has_multiple_values?; false; end def _section :ipv6 end class Address < XML::ConfigClass def has_multiple_values?; true; end def _section :address end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Prefix < ConfigClass def has_multiple_values?; false; end def _section :prefix end @props = {} end def prefix @subclasses['prefix'] ||= Prefix.new(parent_instance: self, client: @client, create_children: @create_children) end class Anycast < ConfigClass def has_multiple_values?; false; end def _section :anycast end @props = {} end def anycast @subclasses['anycast'] ||= Anycast.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'^([ $0-9a-zA-Z:@./_-])+$', 'maxlen'=>'63', 'help-string'=>'IPv6 address or address object name'}, 'enable-on-interface'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'configure this address on interface'}} # IPv6 address or address object name def name prop_get('@name') end # configure this address on interface def enable_on_interface prop_get('enable-on-interface') end # configure this address on interface def enable_on_interface=(val) prop_set('enable-on-interface', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def address maybe_register_subclass('address', Address.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable IPv6 on the interface'}, 'interface-id'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'EUI-64', 'multi-types'=>{'string'=>{'maxlen'=>'16', 'loose-membership'=>'yes', 'help-string'=>'user defined 64-bit identifier (in hex)'}, 'enum'=>[{'value'=>'EUI-64', 'help-string'=>'default 64-bit Extended Unique Identifier'}]}}} # Enable IPv6 on the interface def enabled prop_get('enabled') end # Enable IPv6 on the interface def enabled=(val) prop_set('enabled', val) end def interface_id prop_get('interface-id') end def interface_id=(val) prop_set('interface-id', val) end end def ipv6 @subclasses['ipv6'] ||= Ipv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Unnumbered < ConfigClass def has_multiple_values?; false; end def _section :unnumbered end @props = {'source-interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Source interface to borrow IP from'}} # Source interface to borrow IP from def source_interface prop_get('source-interface') end # Source interface to borrow IP from def source_interface=(val) prop_set('source-interface', val) end end def unnumbered @subclasses['unnumbered'] ||= Unnumbered.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'prefix'=>'string(\'loopback.\')', 'regex'=>'^((loopback\.)?([1-9][0-9]{0,3}))$', 'help-string'=>'numeric suffix [1-9999]'}, 'mtu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'576', 'max'=>'9216', 'help-string'=>'Maximum Transfer Unit, up to 9216 in Jumbo-Frame mode, up to 1500 otherwise'}, 'interface-management-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'Interface management profile'}, 'netflow-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'Netflow Server Profile'}, 'comment'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'0', 'maxlen'=>'1023'}} # numeric suffix [1-9999] def name prop_get('@name') end # Maximum Transfer Unit, up to 9216 in Jumbo-Frame mode, up to 1500 otherwise def mtu prop_get('mtu') end # Maximum Transfer Unit, up to 9216 in Jumbo-Frame mode, up to 1500 otherwise def mtu=(val) prop_set('mtu', val) end # Interface management profile def interface_management_profile prop_get('interface-management-profile') end # Interface management profile def interface_management_profile=(val) prop_set('interface-management-profile', val) end # Netflow Server Profile def netflow_profile prop_get('netflow-profile') end # Netflow Server Profile def netflow_profile=(val) prop_set('netflow-profile', val) end def comment prop_get('comment') end def comment=(val) prop_set('comment', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def units maybe_register_subclass('units', Units.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'df-ignore'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'mtu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'576', 'max'=>'9216', 'help-string'=>'Maximum Transfer Unit, up to 9216 in Jumbo-Frame mode, up to 1500 otherwise'}, 'interface-management-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'Interface management profile'}, 'netflow-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'Netflow Server Profile'}, 'comment'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'0', 'maxlen'=>'1023'}} def df_ignore prop_get('df-ignore') end def df_ignore=(val) prop_set('df-ignore', val) end # Maximum Transfer Unit, up to 9216 in Jumbo-Frame mode, up to 1500 otherwise def mtu prop_get('mtu') end # Maximum Transfer Unit, up to 9216 in Jumbo-Frame mode, up to 1500 otherwise def mtu=(val) prop_set('mtu', val) end # Interface management profile def interface_management_profile prop_get('interface-management-profile') end # Interface management profile def interface_management_profile=(val) prop_set('interface-management-profile', val) end # Netflow Server Profile def netflow_profile prop_get('netflow-profile') end # Netflow Server Profile def netflow_profile=(val) prop_set('netflow-profile', val) end def comment prop_get('comment') end def comment=(val) prop_set('comment', val) end end def loopback @subclasses['loopback'] ||= Loopback.new(parent_instance: self, client: @client, create_children: @create_children) end class Tunnel < ConfigClass def has_multiple_values?; false; end def _section :tunnel end class Ip < XML::ConfigClass def has_multiple_values?; true; end def _section :ip end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'regex'=>'^([ $0-9a-zA-Z:@./_-])+$', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'IP address/netmask or address object name'}} # IP address/netmask or address object name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ip maybe_register_subclass('ip', Ip.new(parent_instance: self, client: @client, create_children: @create_children)) end class Ipv6 < ConfigClass def has_multiple_values?; false; end def _section :ipv6 end class Address < XML::ConfigClass def has_multiple_values?; true; end def _section :address end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Prefix < ConfigClass def has_multiple_values?; false; end def _section :prefix end @props = {} end def prefix @subclasses['prefix'] ||= Prefix.new(parent_instance: self, client: @client, create_children: @create_children) end class Anycast < ConfigClass def has_multiple_values?; false; end def _section :anycast end @props = {} end def anycast @subclasses['anycast'] ||= Anycast.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'^([ $0-9a-zA-Z:@./_-])+$', 'maxlen'=>'63', 'help-string'=>'IPv6 address/prefix length or address object name'}, 'enable-on-interface'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'configure this address on interface'}} # IPv6 address/prefix length or address object name def name prop_get('@name') end # configure this address on interface def enable_on_interface prop_get('enable-on-interface') end # configure this address on interface def enable_on_interface=(val) prop_set('enable-on-interface', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def address maybe_register_subclass('address', Address.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable IPv6 on the interface'}, 'interface-id'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'EUI-64', 'multi-types'=>{'string'=>{'maxlen'=>'16', 'loose-membership'=>'yes', 'help-string'=>'user defined 64-bit identifier (in hex)'}, 'enum'=>[{'value'=>'EUI-64', 'help-string'=>'default 64-bit Extended Unique Identifier'}]}}} # Enable IPv6 on the interface def enabled prop_get('enabled') end # Enable IPv6 on the interface def enabled=(val) prop_set('enabled', val) end def interface_id prop_get('interface-id') end def interface_id=(val) prop_set('interface-id', val) end end def ipv6 @subclasses['ipv6'] ||= Ipv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Bonjour < ConfigClass def has_multiple_values?; false; end def _section :bonjour end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set to support Bonjour service'}, 'ttl-check'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set to check and update TTL'}, 'group-id'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'40', 'min'=>'0', 'max'=>'16', 'help-string'=>'default 0: NO-Group'}} # Set to support Bonjour service def enable prop_get('enable') end # Set to support Bonjour service def enable=(val) prop_set('enable', val) end # Set to check and update TTL def ttl_check prop_get('ttl-check') end # Set to check and update TTL def ttl_check=(val) prop_set('ttl-check', val) end # default 0: NO-Group def group_id prop_get('group-id') end # default 0: NO-Group def group_id=(val) prop_set('group-id', val) end end def bonjour @subclasses['bonjour'] ||= Bonjour.new(parent_instance: self, client: @client, create_children: @create_children) end class Unnumbered < ConfigClass def has_multiple_values?; false; end def _section :unnumbered end @props = {'source-interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Source interface to borrow IP from'}} # Source interface to borrow IP from def source_interface prop_get('source-interface') end # Source interface to borrow IP from def source_interface=(val) prop_set('source-interface', val) end end def unnumbered @subclasses['unnumbered'] ||= Unnumbered.new(parent_instance: self, client: @client, create_children: @create_children) end class Units < XML::ConfigClass def has_multiple_values?; true; end def _section :units end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Ip < XML::ConfigClass def has_multiple_values?; true; end def _section :ip end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'regex'=>'^([ $0-9a-zA-Z:@./_-])+$', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'IP address/netmask or address object name'}} # IP address/netmask or address object name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ip maybe_register_subclass('ip', Ip.new(parent_instance: self, client: @client, create_children: @create_children)) end class Ipv6 < ConfigClass def has_multiple_values?; false; end def _section :ipv6 end class Address < XML::ConfigClass def has_multiple_values?; true; end def _section :address end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Prefix < ConfigClass def has_multiple_values?; false; end def _section :prefix end @props = {} end def prefix @subclasses['prefix'] ||= Prefix.new(parent_instance: self, client: @client, create_children: @create_children) end class Anycast < ConfigClass def has_multiple_values?; false; end def _section :anycast end @props = {} end def anycast @subclasses['anycast'] ||= Anycast.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'^([ $0-9a-zA-Z:@./_-])+$', 'maxlen'=>'63', 'help-string'=>'IPv6 address/prefix length or address object name'}, 'enable-on-interface'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'configure this address on interface'}} # IPv6 address/prefix length or address object name def name prop_get('@name') end # configure this address on interface def enable_on_interface prop_get('enable-on-interface') end # configure this address on interface def enable_on_interface=(val) prop_set('enable-on-interface', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def address maybe_register_subclass('address', Address.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable IPv6 on the interface'}, 'interface-id'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'EUI-64', 'multi-types'=>{'string'=>{'maxlen'=>'16', 'loose-membership'=>'yes', 'help-string'=>'user defined 64-bit identifier (in hex)'}, 'enum'=>[{'value'=>'EUI-64', 'help-string'=>'default 64-bit Extended Unique Identifier'}]}}} # Enable IPv6 on the interface def enabled prop_get('enabled') end # Enable IPv6 on the interface def enabled=(val) prop_set('enabled', val) end def interface_id prop_get('interface-id') end def interface_id=(val) prop_set('interface-id', val) end end def ipv6 @subclasses['ipv6'] ||= Ipv6.new(parent_instance: self, client: @client, create_children: @create_children) end class Bonjour < ConfigClass def has_multiple_values?; false; end def _section :bonjour end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set to support Bonjour service'}, 'ttl-check'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Set to check and update TTL'}, 'group-id'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'40', 'min'=>'0', 'max'=>'16', 'help-string'=>'default 0: NO-Group'}} # Set to support Bonjour service def enable prop_get('enable') end # Set to support Bonjour service def enable=(val) prop_set('enable', val) end # Set to check and update TTL def ttl_check prop_get('ttl-check') end # Set to check and update TTL def ttl_check=(val) prop_set('ttl-check', val) end # default 0: NO-Group def group_id prop_get('group-id') end # default 0: NO-Group def group_id=(val) prop_set('group-id', val) end end def bonjour @subclasses['bonjour'] ||= Bonjour.new(parent_instance: self, client: @client, create_children: @create_children) end class Unnumbered < ConfigClass def has_multiple_values?; false; end def _section :unnumbered end @props = {'source-interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Source interface to borrow IP from'}} # Source interface to borrow IP from def source_interface prop_get('source-interface') end # Source interface to borrow IP from def source_interface=(val) prop_set('source-interface', val) end end def unnumbered @subclasses['unnumbered'] ||= Unnumbered.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'prefix'=>'string(\'tunnel.\')', 'regex'=>'^((tunnel\.)?([1-9][0-9]{0,3}))$', 'help-string'=>'numeric string [1-9999]'}, 'df-ignore'=>{'node-type'=>'element', 'internal'=>'yes', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'mtu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'576', 'max'=>'9216', 'help-string'=>'Maximum Transfer Unit, up to 9216 in Jumbo-Frame mode, up to 1500 otherwise'}, 'interface-management-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'Interface management profile'}, 'netflow-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'Netflow Server Profile'}, 'comment'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'0', 'maxlen'=>'1023'}, 'link-tag'=>{'node-type'=>'element', 'optional'=>'yes', 'hidden'=>'yes', 'type'=>'string', 'maxlen'=>'127'}} # numeric string [1-9999] def name prop_get('@name') end def df_ignore prop_get('df-ignore') end def df_ignore=(val) prop_set('df-ignore', val) end # Maximum Transfer Unit, up to 9216 in Jumbo-Frame mode, up to 1500 otherwise def mtu prop_get('mtu') end # Maximum Transfer Unit, up to 9216 in Jumbo-Frame mode, up to 1500 otherwise def mtu=(val) prop_set('mtu', val) end # Interface management profile def interface_management_profile prop_get('interface-management-profile') end # Interface management profile def interface_management_profile=(val) prop_set('interface-management-profile', val) end # Netflow Server Profile def netflow_profile prop_get('netflow-profile') end # Netflow Server Profile def netflow_profile=(val) prop_set('netflow-profile', val) end def comment prop_get('comment') end def comment=(val) prop_set('comment', val) end def link_tag prop_get('link-tag') end def link_tag=(val) prop_set('link-tag', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def units maybe_register_subclass('units', Units.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'df-ignore'=>{'node-type'=>'element', 'internal'=>'yes', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'mtu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'576', 'max'=>'9216', 'help-string'=>'Maximum Transfer Unit, up to 9216 in Jumbo-Frame mode, up to 1500 otherwise'}, 'interface-management-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'Interface management profile'}, 'netflow-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'Netflow Server Profile'}, 'comment'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'0', 'maxlen'=>'1023'}} def df_ignore prop_get('df-ignore') end def df_ignore=(val) prop_set('df-ignore', val) end # Maximum Transfer Unit, up to 9216 in Jumbo-Frame mode, up to 1500 otherwise def mtu prop_get('mtu') end # Maximum Transfer Unit, up to 9216 in Jumbo-Frame mode, up to 1500 otherwise def mtu=(val) prop_set('mtu', val) end # Interface management profile def interface_management_profile prop_get('interface-management-profile') end # Interface management profile def interface_management_profile=(val) prop_set('interface-management-profile', val) end # Netflow Server Profile def netflow_profile prop_get('netflow-profile') end # Netflow Server Profile def netflow_profile=(val) prop_set('netflow-profile', val) end def comment prop_get('comment') end def comment=(val) prop_set('comment', val) end end def tunnel @subclasses['tunnel'] ||= Tunnel.new(parent_instance: self, client: @client, create_children: @create_children) end class Sdwan < ConfigClass def has_multiple_values?; false; end def _section :sdwan end class Units < XML::ConfigClass def has_multiple_values?; true; end def _section :units end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Interface < XML::ConfigClass def has_multiple_values?; true; end def _section :interface end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'max-count'=>'9'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def interface maybe_register_subclass('interface', Interface.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'prefix'=>'string(\'sdwan.\')', 'regex'=>'^((sdwan\.)?([1-9][0-9]{0,3}))$', 'help-string'=>'numeric string [1-9999]'}, 'comment'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'0', 'maxlen'=>'1023'}, 'cluster-name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'0', 'maxlen'=>'64'}, 'link-tag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'127'}, 'allow-saas-monitor'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'hidden'=>'yes', 'help-string'=>'Allow sending probe packets for saas monitoring'}, 'metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'10', 'hidden'=>'yes', 'help-string'=>'Metric for relative route preference'}} # numeric string [1-9999] def name prop_get('@name') end def comment prop_get('comment') end def comment=(val) prop_set('comment', val) end def cluster_name prop_get('cluster-name') end def cluster_name=(val) prop_set('cluster-name', val) end def link_tag prop_get('link-tag') end def link_tag=(val) prop_set('link-tag', val) end # Allow sending probe packets for saas monitoring def allow_saas_monitor prop_get('allow-saas-monitor') end # Allow sending probe packets for saas monitoring def allow_saas_monitor=(val) prop_set('allow-saas-monitor', val) end # Metric for relative route preference def metric prop_get('metric') end # Metric for relative route preference def metric=(val) prop_set('metric', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def units maybe_register_subclass('units', Units.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def sdwan @subclasses['sdwan'] ||= Sdwan.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def interface @subclasses['interface'] ||= Interface.new(parent_instance: self, client: @client, create_children: @create_children) end class Ike < ConfigClass def has_multiple_values?; false; end def _section :ike end class Gateway < XML::ConfigClass def has_multiple_values?; true; end def _section :gateway end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class PeerAddress < XML::ConfigClass def has_multiple_values?; true; end def _section :'peer-address' end class Dynamic < ConfigClass def has_multiple_values?; false; end def _section :dynamic end @props = {} end def dynamic @subclasses['dynamic'] ||= Dynamic.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'ip'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'peer gateway has static IP address', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'ipspec'=>{'unicast-only'=>'yes'}}}, 'fqdn'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'help-string'=>'peer gateway FQDN name'}} # peer gateway has static IP address def ip prop_get('ip') end # peer gateway has static IP address def ip=(val) prop_set('ip', val) end # peer gateway FQDN name def fqdn prop_get('fqdn') end # peer gateway FQDN name def fqdn=(val) prop_set('fqdn', val) end end def peer_address maybe_register_subclass('peer-address', PeerAddress.new(parent_instance: self, client: @client, create_children: @create_children)) end class LocalAddress < ConfigClass def has_multiple_values?; false; end def _section :'local-address' end @props = {'interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'local gateway end-point'}, 'ip'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'specify exact IP address if interface has multiple addresses'}, 'floating-ip'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.vpn-srcaddr.floating-ip-disable=True', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Floating IP address in HA Active-Active configuration'}} # local gateway end-point def interface prop_get('interface') end # local gateway end-point def interface=(val) prop_set('interface', val) end # specify exact IP address if interface has multiple addresses def ip prop_get('ip') end # specify exact IP address if interface has multiple addresses def ip=(val) prop_set('ip', val) end # Floating IP address in HA Active-Active configuration def floating_ip prop_get('floating-ip') end # Floating IP address in HA Active-Active configuration def floating_ip=(val) prop_set('floating-ip', val) end end def local_address @subclasses['local-address'] ||= LocalAddress.new(parent_instance: self, client: @client, create_children: @create_children) end class PeerId < ConfigClass def has_multiple_values?; false; end def _section :'peer-id' end @props = {'type'=>{'node-type'=>'element', 'type'=>'string', 'complete-handler'=>'ike-id-type-completer'}, 'id'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'1', 'maxlen'=>'1024', 'help-string'=>'Peer ID string', 'regex'=>'^(.+\@[\*a-zA-Z0-9.-]+)$|^([\*$a-zA-Z0-9_:.-]+)$|^(([[:xdigit:]][[:xdigit:]])+)$|^([a-zA-Z0-9.]+=(\\,|[^,])+[, ]+)*([a-zA-Z0-9.]+=(\\,|[^,])+)$', 'complete-handler'=>'certificate-field-completer'}, 'matching'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'exact', 'help-string'=>'Enable peer ID wildcard match for certificate authentication', 'enum'=>[{'value'=>'exact', 'help-string'=>'Exact match'}, {'value'=>'wildcard', 'help-string'=>'Wildcard'}]}} def type prop_get('type') end def type=(val) prop_set('type', val) end # Peer ID string def id prop_get('id') end # Peer ID string def id=(val) prop_set('id', val) end # Enable peer ID wildcard match for certificate authentication def matching prop_get('matching') end # Enable peer ID wildcard match for certificate authentication def matching=(val) prop_set('matching', val) end end def peer_id @subclasses['peer-id'] ||= PeerId.new(parent_instance: self, client: @client, create_children: @create_children) end class LocalId < ConfigClass def has_multiple_values?; false; end def _section :'local-id' end @props = {'type'=>{'node-type'=>'element', 'type'=>'string', 'complete-handler'=>'ike-id-type-completer'}, 'id'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'1', 'maxlen'=>'1024', 'help-string'=>'Local ID string', 'regex'=>'^(.+\@[a-zA-Z0-9.-]+)$|^([$a-zA-Z0-9_:.-]+)$|^(([[:xdigit:]][[:xdigit:]])+)$|^([a-zA-Z0-9.]+=(\\,|[^,])+[, ]+)*([a-zA-Z0-9.]+=(\\,|[^,])+)$', 'complete-handler'=>'certificate-field-completer'}} def type prop_get('type') end def type=(val) prop_set('type', val) end # Local ID string def id prop_get('id') end # Local ID string def id=(val) prop_set('id', val) end end def local_id @subclasses['local-id'] ||= LocalId.new(parent_instance: self, client: @client, create_children: @create_children) end class Authentication < XML::ConfigClass def has_multiple_values?; true; end def _section :authentication end class PreSharedKey < ConfigClass def has_multiple_values?; false; end def _section :'pre-shared-key' end @props = {'key'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'the string used as pre-shared key', 'maxlen'=>'255', 'encrypt'=>'yes', 'skip-commit-validation'=>'yes'}} # the string used as pre-shared key def key prop_get('key') end # the string used as pre-shared key def key=(val) prop_set('key', val) end end def pre_shared_key @subclasses['pre-shared-key'] ||= PreSharedKey.new(parent_instance: self, client: @client, create_children: @create_children) end class Certificate < ConfigClass def has_multiple_values?; false; end def _section :certificate end class LocalCertificate < ConfigClass def has_multiple_values?; false; end def _section :'local-certificate' end class HashAndUrl < ConfigClass def has_multiple_values?; false; end def _section :'hash-and-url' end @props = {'enable'=>{'node-type'=>'element', 'type'=>'bool', 'help-string'=>'Use hash-and-url for local certificate', 'default'=>'no'}, 'base-url'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1024', 'regex'=>'^http://.+$', 'help-string'=>'The host and directory part of URL for local certificates(http only)'}} # Use hash-and-url for local certificate def enable prop_get('enable') end # Use hash-and-url for local certificate def enable=(val) prop_set('enable', val) end # The host and directory part of URL for local certificates(http only) def base_url prop_get('base-url') end # The host and directory part of URL for local certificates(http only) def base_url=(val) prop_set('base-url', val) end end def hash_and_url @subclasses['hash-and-url'] ||= HashAndUrl.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Local certificate name', 'maxlen'=>'255'}} # Local certificate name def name prop_get('name') end # Local certificate name def name=(val) prop_set('name', val) end end def local_certificate @subclasses['local-certificate'] ||= LocalCertificate.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'certificate-profile'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Profile for certificate valdiation during IKE negotiation'}, 'use-management-as-source'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Use management interface IP as source to retrieve http certificates'}, 'strict-validation-revocation'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable strict validation of peer\'s extended key use'}, 'allow-id-payload-mismatch'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Permit peer identification and certificate payload identification mismatch'}} # Profile for certificate valdiation during IKE negotiation def certificate_profile prop_get('certificate-profile') end # Profile for certificate valdiation during IKE negotiation def certificate_profile=(val) prop_set('certificate-profile', val) end # Use management interface IP as source to retrieve http certificates def use_management_as_source prop_get('use-management-as-source') end # Use management interface IP as source to retrieve http certificates def use_management_as_source=(val) prop_set('use-management-as-source', val) end # Enable strict validation of peer's extended key use def strict_validation_revocation prop_get('strict-validation-revocation') end # Enable strict validation of peer's extended key use def strict_validation_revocation=(val) prop_set('strict-validation-revocation', val) end # Permit peer identification and certificate payload identification mismatch def allow_id_payload_mismatch prop_get('allow-id-payload-mismatch') end # Permit peer identification and certificate payload identification mismatch def allow_id_payload_mismatch=(val) prop_set('allow-id-payload-mismatch', val) end end def certificate @subclasses['certificate'] ||= Certificate.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def authentication maybe_register_subclass('authentication', Authentication.new(parent_instance: self, client: @client, create_children: @create_children)) end class Protocol < ConfigClass def has_multiple_values?; false; end def _section :protocol end class Ikev1 < ConfigClass def has_multiple_values?; false; end def _section :ikev1 end class Dpd < ConfigClass def has_multiple_values?; false; end def _section :dpd end @props = {'enable'=>{'node-type'=>'element', 'type'=>'bool', 'help-string'=>'Enable Dead-Peer-Detection', 'default'=>'yes'}, 'interval'=>{'node-type'=>'element', 'optional'=>'yes', 'help-string'=>'sending interval for probing packets (in seconds)', 'type'=>'rangedint', 'min'=>'2', 'max'=>'100', 'default'=>'5'}, 'retry'=>{'node-type'=>'element', 'optional'=>'yes', 'help-string'=>'number of retries before disconnection', 'type'=>'rangedint', 'min'=>'2', 'max'=>'100', 'default'=>'5'}} # Enable Dead-Peer-Detection def enable prop_get('enable') end # Enable Dead-Peer-Detection def enable=(val) prop_set('enable', val) end # sending interval for probing packets (in seconds) def interval prop_get('interval') end # sending interval for probing packets (in seconds) def interval=(val) prop_set('interval', val) end # number of retries before disconnection def retry prop_get('retry') end # number of retries before disconnection def retry=(val) prop_set('retry', val) end end def dpd @subclasses['dpd'] ||= Dpd.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'exchange-mode'=>{'node-type'=>'element', 'type'=>'enum', 'help-string'=>'Exchange mode', 'default'=>'auto', 'optional'=>'yes', 'enum'=>[{'value'=>'auto', 'help-string'=>'choose IKE exchange mode automatically'}, {'value'=>'main', 'help-string'=>'use main mode'}, {'value'=>'aggressive', 'help-string'=>'use aggressive mode'}]}, 'ike-crypto-profile'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'IKE SA crypto profile name', 'default'=>'default', 'optional'=>'yes'}, 'commit-bit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Send commit bit', 'disabled'=>'yes'}, 'initial-contact'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Send initial contact', 'disabled'=>'yes'}} # Exchange mode def exchange_mode prop_get('exchange-mode') end # Exchange mode def exchange_mode=(val) prop_set('exchange-mode', val) end # IKE SA crypto profile name def ike_crypto_profile prop_get('ike-crypto-profile') end # IKE SA crypto profile name def ike_crypto_profile=(val) prop_set('ike-crypto-profile', val) end # Send commit bit def commit_bit prop_get('commit-bit') end # Send commit bit def commit_bit=(val) prop_set('commit-bit', val) end # Send initial contact def initial_contact prop_get('initial-contact') end # Send initial contact def initial_contact=(val) prop_set('initial-contact', val) end end def ikev1 @subclasses['ikev1'] ||= Ikev1.new(parent_instance: self, client: @client, create_children: @create_children) end class Ikev2 < ConfigClass def has_multiple_values?; false; end def _section :ikev2 end class Dpd < ConfigClass def has_multiple_values?; false; end def _section :dpd end @props = {'enable'=>{'node-type'=>'element', 'type'=>'bool', 'help-string'=>'Enable sending empty information liveness check message', 'default'=>'yes'}, 'interval'=>{'node-type'=>'element', 'optional'=>'yes', 'help-string'=>'delay interval before sending probing packets (in seconds)', 'type'=>'rangedint', 'min'=>'2', 'max'=>'100', 'default'=>'5'}} # Enable sending empty information liveness check message def enable prop_get('enable') end # Enable sending empty information liveness check message def enable=(val) prop_set('enable', val) end # delay interval before sending probing packets (in seconds) def interval prop_get('interval') end # delay interval before sending probing packets (in seconds) def interval=(val) prop_set('interval', val) end end def dpd @subclasses['dpd'] ||= Dpd.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'ike-crypto-profile'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'IKE SA crypto profile name', 'default'=>'default', 'optional'=>'yes'}, 'require-cookie'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Require cookie', 'default'=>'no'}, 'send-peer-id'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Send peer ID', 'default'=>'yes', 'disabled'=>'yes'}} # IKE SA crypto profile name def ike_crypto_profile prop_get('ike-crypto-profile') end # IKE SA crypto profile name def ike_crypto_profile=(val) prop_set('ike-crypto-profile', val) end # Require cookie def require_cookie prop_get('require-cookie') end # Require cookie def require_cookie=(val) prop_set('require-cookie', val) end # Send peer ID def send_peer_id prop_get('send-peer-id') end # Send peer ID def send_peer_id=(val) prop_set('send-peer-id', val) end end def ikev2 @subclasses['ikev2'] ||= Ikev2.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'version'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-string'=>'IKE protocol version', 'default'=>'ikev1', 'enum'=>[{'value'=>'ikev1', 'help-string'=>'IKEv1 only mode'}, {'value'=>'ikev2', 'help-string'=>'IKEv2 only mode'}, {'value'=>'ikev2-preferred', 'help-string'=>'IKEv2 preferred mode'}]}} # IKE protocol version def version prop_get('version') end # IKE protocol version def version=(val) prop_set('version', val) end end def protocol @subclasses['protocol'] ||= Protocol.new(parent_instance: self, client: @client, create_children: @create_children) end class ProtocolCommon < ConfigClass def has_multiple_values?; false; end def _section :'protocol-common' end class NatTraversal < ConfigClass def has_multiple_values?; false; end def _section :'nat-traversal' end @props = {'enable'=>{'node-type'=>'element', 'help-string'=>'Enable NAT-Traversal', 'type'=>'bool', 'default'=>'no'}, 'keep-alive-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'help-string'=>'sending interval for NAT keep-alive packets (in seconds)', 'type'=>'rangedint', 'min'=>'10', 'max'=>'3600', 'default'=>'20'}, 'udp-checksum-enable'=>{'node-type'=>'element', 'optional'=>'yes', 'help-string'=>'Enable UDP checksum', 'type'=>'bool', 'default'=>'no'}} # Enable NAT-Traversal def enable prop_get('enable') end # Enable NAT-Traversal def enable=(val) prop_set('enable', val) end # sending interval for NAT keep-alive packets (in seconds) def keep_alive_interval prop_get('keep-alive-interval') end # sending interval for NAT keep-alive packets (in seconds) def keep_alive_interval=(val) prop_set('keep-alive-interval', val) end # Enable UDP checksum def udp_checksum_enable prop_get('udp-checksum-enable') end # Enable UDP checksum def udp_checksum_enable=(val) prop_set('udp-checksum-enable', val) end end def nat_traversal @subclasses['nat-traversal'] ||= NatTraversal.new(parent_instance: self, client: @client, create_children: @create_children) end class Fragmentation < ConfigClass def has_multiple_values?; false; end def _section :fragmentation end @props = {'enable'=>{'node-type'=>'element', 'type'=>'bool', 'help-string'=>'Enable IKE fragmentation', 'default'=>'no'}} # Enable IKE fragmentation def enable prop_get('enable') end # Enable IKE fragmentation def enable=(val) prop_set('enable', val) end end def fragmentation @subclasses['fragmentation'] ||= Fragmentation.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'passive-mode'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Enable passive mode (responder only)', 'default'=>'no'}} # Enable passive mode (responder only) def passive_mode prop_get('passive-mode') end # Enable passive mode (responder only) def passive_mode=(val) prop_set('passive-mode', val) end end def protocol_common @subclasses['protocol-common'] ||= ProtocolCommon.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string begin with letter: [0-9a-zA-Z._-]', 'regex'=>'^[a-zA-Z]{1}[0-9a-zA-Z._-]*$'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable the IKE gateway'}, 'ipv6'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'use IPv6 for the IKE gateway'}, 'comment'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'0', 'maxlen'=>'1023'}} # alphanumeric string begin with letter: [0-9a-zA-Z._-] def name prop_get('@name') end # Disable the IKE gateway def disabled prop_get('disabled') end # Disable the IKE gateway def disabled=(val) prop_set('disabled', val) end # use IPv6 for the IKE gateway def ipv6 prop_get('ipv6') end # use IPv6 for the IKE gateway def ipv6=(val) prop_set('ipv6', val) end def comment prop_get('comment') end def comment=(val) prop_set('comment', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def gateway maybe_register_subclass('gateway', Gateway.new(parent_instance: self, client: @client, create_children: @create_children)) end class CryptoProfiles < ConfigClass def has_multiple_values?; false; end def _section :'crypto-profiles' end class IkeCryptoProfiles < XML::ConfigClass def has_multiple_values?; true; end def _section :'ike-crypto-profiles' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Encryption < XML::ConfigClass def has_multiple_values?; true; end def _section :encryption end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'aes-128-cbc', 'enum'=>[{'value'=>'3des', 'prune-on'=>'cc-only-mode', 'help-string'=>'NIST rating 112-bit strength'}, {'value'=>'aes-128-cbc', 'help-string'=>'NIST rating 128-bit strength'}, {'value'=>'aes-192-cbc', 'help-string'=>'NIST rating 192-bit strength'}, {'value'=>'aes-256-cbc', 'help-string'=>'NIST rating 256-bit strength'}, {'value'=>'aes-128-gcm', 'help-string'=>'NIST rating 128-bit strength AES GCM 16'}, {'value'=>'aes-256-gcm', 'help-string'=>'NIST rating 256-bit strength AES GCM 16'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def encryption maybe_register_subclass('encryption', Encryption.new(parent_instance: self, client: @client, create_children: @create_children)) end class Hash < XML::ConfigClass def has_multiple_values?; true; end def _section :hash end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'sha1', 'enum'=>[{'value'=>'non-auth', 'help-string'=>'Integrity check is unnecessary when AESGCM is chosen'}, {'value'=>'md5', 'prune-on'=>'fips-mode', 'help-string'=>'below 80-bit strength'}, {'value'=>'sha1', 'help-string'=>'NIST rating 128-bit strength'}, {'value'=>'sha256', 'help-string'=>'NIST rating 256-bit strength'}, {'value'=>'sha384', 'help-string'=>'NIST rating over 256-bit strength'}, {'value'=>'sha512', 'help-string'=>'NIST rating over 256-bit strength'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def hash maybe_register_subclass('hash', Hash.new(parent_instance: self, client: @client, create_children: @create_children)) end class DhGroup < XML::ConfigClass def has_multiple_values?; true; end def _section :'dh-group' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'group2', 'enum'=>[{'value'=>'group1', 'prune-on'=>'fips-mode', 'help-string'=>'768-bit MODP Group'}, {'value'=>'group2', 'prune-on'=>'fips-mode', 'help-string'=>'1024-bit MODP Group, NIST rating 80-bit strength'}, {'value'=>'group5', 'prune-on'=>'fips-mode', 'help-string'=>'1536-bit MODP Group'}, {'value'=>'group14', 'help-string'=>'2048-bit MODP Group, NIST rating 112-bit strength'}, {'value'=>'group15', 'help-string'=>'3027-bit MODP Group, NIST rating 112-bit strength'}, {'value'=>'group16', 'help-string'=>'4096-bit MODP Group, NIST rating 112-bit strength'}, {'value'=>'group19', 'help-string'=>'256-bit random ECP Group'}, {'value'=>'group20', 'help-string'=>'384-bit random ECP Group'}, {'value'=>'group21', 'help-string'=>'512-bit random ECP Group'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def dh_group maybe_register_subclass('dh-group', DhGroup.new(parent_instance: self, client: @client, create_children: @create_children)) end class Lifetime < XML::ConfigClass def has_multiple_values?; true; end def _section :lifetime end @props = {'seconds'=>{'node-type'=>'element', 'help-string'=>'specify lifetime in seconds', 'type'=>'rangedint', 'max'=>'65535', 'min'=>'180'}, 'minutes'=>{'node-type'=>'element', 'help-string'=>'specify lifetime in minutes', 'type'=>'rangedint', 'max'=>'65535', 'min'=>'3'}, 'hours'=>{'node-type'=>'element', 'help-string'=>'specify lifetime in hours', 'type'=>'rangedint', 'max'=>'65535', 'min'=>'1', 'default'=>'8'}, 'days'=>{'node-type'=>'element', 'help-string'=>'specify lifetime in days', 'type'=>'rangedint', 'max'=>'365', 'min'=>'1'}} # specify lifetime in seconds def seconds prop_get('seconds') end # specify lifetime in seconds def seconds=(val) prop_set('seconds', val) end # specify lifetime in minutes def minutes prop_get('minutes') end # specify lifetime in minutes def minutes=(val) prop_set('minutes', val) end # specify lifetime in hours def hours prop_get('hours') end # specify lifetime in hours def hours=(val) prop_set('hours', val) end # specify lifetime in days def days prop_get('days') end # specify lifetime in days def days=(val) prop_set('days', val) end end def lifetime maybe_register_subclass('lifetime', Lifetime.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string begin with letter: [0-9a-zA-Z._-]', 'regex'=>'^[a-zA-Z]{1}[0-9a-zA-Z._-]*$'}, 'authentication-multiple'=>{'node-type'=>'element', 'help-string'=>'IKEv2 SA reauthentication interval equals authetication-multiple * rekey-lifetime; 0 means reauthentication disabled', 'type'=>'rangedint', 'max'=>'50', 'optional'=>'yes', 'default'=>'0'}} # alphanumeric string begin with letter: [0-9a-zA-Z._-] def name prop_get('@name') end # IKEv2 SA reauthentication interval equals authetication-multiple * rekey-lifetime; 0 means reauthentication disabled def authentication_multiple prop_get('authentication-multiple') end # IKEv2 SA reauthentication interval equals authetication-multiple * rekey-lifetime; 0 means reauthentication disabled def authentication_multiple=(val) prop_set('authentication-multiple', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ike_crypto_profiles maybe_register_subclass('ike-crypto-profiles', IkeCryptoProfiles.new(parent_instance: self, client: @client, create_children: @create_children)) end class IpsecCryptoProfiles < XML::ConfigClass def has_multiple_values?; true; end def _section :'ipsec-crypto-profiles' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Esp < ConfigClass def has_multiple_values?; false; end def _section :esp end class Encryption < XML::ConfigClass def has_multiple_values?; true; end def _section :encryption end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'aes-128-cbc', 'enum'=>[{'value'=>'3des', 'prune-on'=>'cc-only-mode', 'help-string'=>'NIST rating 112-bit strength'}, {'value'=>'aes-128-cbc', 'help-string'=>'NIST rating 128-bit strength'}, {'value'=>'aes-192-cbc', 'help-string'=>'NIST rating 192-bit strength'}, {'value'=>'aes-256-cbc', 'help-string'=>'NIST rating 256-bit strength'}, {'value'=>'aes-128-ccm', 'help-string'=>'NIST rating 128-bit strength, AES CCM 16'}, {'value'=>'aes-128-gcm', 'help-string'=>'NIST rating 128-bit strength, AES GCM 16'}, {'value'=>'aes-256-gcm', 'help-string'=>'NIST rating 256-bit strength, AES GCM 16'}, {'value'=>'null', 'prune-on'=>'fips-mode'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def encryption maybe_register_subclass('encryption', Encryption.new(parent_instance: self, client: @client, create_children: @create_children)) end class Authentication < XML::ConfigClass def has_multiple_values?; true; end def _section :authentication end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'default'=>'sha1', 'complete-handler'=>'esp-auth-completer'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def authentication maybe_register_subclass('authentication', Authentication.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def esp @subclasses['esp'] ||= Esp.new(parent_instance: self, client: @client, create_children: @create_children) end class Ah < ConfigClass def has_multiple_values?; false; end def _section :ah end class Authentication < XML::ConfigClass def has_multiple_values?; true; end def _section :authentication end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'sha1', 'enum'=>[{'value'=>'md5', 'prune-on'=>'fips-mode', 'help-string'=>'below 80-bit strength'}, {'value'=>'sha1', 'help-string'=>'NIST rating 128-bit strength'}, {'value'=>'sha256', 'help-string'=>'NIST rating 256-bit strength'}, {'value'=>'sha384', 'help-string'=>'NIST rating over 256-bit strength'}, {'value'=>'sha512', 'help-string'=>'NIST rating over 256-bit strength'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def authentication maybe_register_subclass('authentication', Authentication.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def ah @subclasses['ah'] ||= Ah.new(parent_instance: self, client: @client, create_children: @create_children) end class Lifetime < XML::ConfigClass def has_multiple_values?; true; end def _section :lifetime end @props = {'seconds'=>{'node-type'=>'element', 'help-string'=>'specify lifetime in seconds', 'type'=>'rangedint', 'max'=>'65535', 'min'=>'180'}, 'minutes'=>{'node-type'=>'element', 'help-string'=>'specify lifetime in minutes', 'type'=>'rangedint', 'max'=>'65535', 'min'=>'3'}, 'hours'=>{'node-type'=>'element', 'help-string'=>'specify lifetime in hours', 'type'=>'rangedint', 'max'=>'65535', 'min'=>'1', 'default'=>'1'}, 'days'=>{'node-type'=>'element', 'help-string'=>'specify lifetime in days', 'type'=>'rangedint', 'max'=>'365', 'min'=>'1'}} # specify lifetime in seconds def seconds prop_get('seconds') end # specify lifetime in seconds def seconds=(val) prop_set('seconds', val) end # specify lifetime in minutes def minutes prop_get('minutes') end # specify lifetime in minutes def minutes=(val) prop_set('minutes', val) end # specify lifetime in hours def hours prop_get('hours') end # specify lifetime in hours def hours=(val) prop_set('hours', val) end # specify lifetime in days def days prop_get('days') end # specify lifetime in days def days=(val) prop_set('days', val) end end def lifetime maybe_register_subclass('lifetime', Lifetime.new(parent_instance: self, client: @client, create_children: @create_children)) end class Lifesize < XML::ConfigClass def has_multiple_values?; true; end def _section :lifesize end @props = {'kb'=>{'node-type'=>'element', 'help-string'=>'specify lifesize in kilobytes(KB)', 'optional'=>'yes', 'type'=>'rangedint', 'max'=>'65535', 'min'=>'1'}, 'mb'=>{'node-type'=>'element', 'help-string'=>'specify lifesize in megabytes(MB)', 'optional'=>'yes', 'type'=>'rangedint', 'max'=>'65535', 'min'=>'1'}, 'gb'=>{'node-type'=>'element', 'help-string'=>'specify lifesize in gigabytes(GB)', 'optional'=>'yes', 'type'=>'rangedint', 'max'=>'65535', 'min'=>'1'}, 'tb'=>{'node-type'=>'element', 'help-string'=>'specify lifesize in terabytes(TB)', 'optional'=>'yes', 'type'=>'rangedint', 'max'=>'65535', 'min'=>'1'}} # specify lifesize in kilobytes(KB) def kb prop_get('kb') end # specify lifesize in kilobytes(KB) def kb=(val) prop_set('kb', val) end # specify lifesize in megabytes(MB) def mb prop_get('mb') end # specify lifesize in megabytes(MB) def mb=(val) prop_set('mb', val) end # specify lifesize in gigabytes(GB) def gb prop_get('gb') end # specify lifesize in gigabytes(GB) def gb=(val) prop_set('gb', val) end # specify lifesize in terabytes(TB) def tb prop_get('tb') end # specify lifesize in terabytes(TB) def tb=(val) prop_set('tb', val) end end def lifesize maybe_register_subclass('lifesize', Lifesize.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string begin with letter: [0-9a-zA-Z._-]', 'regex'=>'^[a-zA-Z]{1}[0-9a-zA-Z._-]*$'}, 'dh-group'=>{'node-type'=>'element', 'type'=>'enum', 'help-string'=>'phase-2 DH group (PFS DH group)', 'optional'=>'yes', 'default'=>'group2', 'enum'=>[{'value'=>'no-pfs', 'prune-on'=>'fips-mode', 'help-string'=>'disable PFS feature'}, {'value'=>'group1', 'prune-on'=>'fips-mode', 'help-string'=>'768-bit MODP Group'}, {'value'=>'group2', 'prune-on'=>'fips-mode', 'help-string'=>'1024-bit MODP Group, NIST rating 80-bit strength'}, {'value'=>'group5', 'prune-on'=>'fips-mode', 'help-string'=>'1536-bit MODP Group'}, {'value'=>'group14', 'help-string'=>'2048-bit MODP Group, NIST rating 112-bit strength'}, {'value'=>'group15', 'help-string'=>'3027-bit MODP Group, NIST rating 112-bit strength'}, {'value'=>'group16', 'help-string'=>'4096-bit MODP Group, NIST rating 112-bit strength'}, {'value'=>'group19', 'help-string'=>'256-bit random ECP Group'}, {'value'=>'group20', 'help-string'=>'384-bit random ECP Group'}, {'value'=>'group21', 'help-string'=>'512-bit random ECP Group'}]}} # alphanumeric string begin with letter: [0-9a-zA-Z._-] def name prop_get('@name') end # phase-2 DH group (PFS DH group) def dh_group prop_get('dh-group') end # phase-2 DH group (PFS DH group) def dh_group=(val) prop_set('dh-group', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ipsec_crypto_profiles maybe_register_subclass('ipsec-crypto-profiles', IpsecCryptoProfiles.new(parent_instance: self, client: @client, create_children: @create_children)) end class GlobalProtectAppCryptoProfiles < XML::ConfigClass def has_multiple_values?; true; end def _section :'global-protect-app-crypto-profiles' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Encryption < XML::ConfigClass def has_multiple_values?; true; end def _section :encryption end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'aes-128-cbc', 'enum'=>[{'value'=>'aes-128-cbc', 'help-string'=>'NIST rating 128-bit strength'}, {'value'=>'aes-128-gcm', 'help-string'=>'NIST rating 128-bit strength, AES GCM 16'}, {'value'=>'aes-256-gcm', 'help-string'=>'NIST rating 256-bit strength, AES GCM 16'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def encryption maybe_register_subclass('encryption', Encryption.new(parent_instance: self, client: @client, create_children: @create_children)) end class Authentication < XML::ConfigClass def has_multiple_values?; true; end def _section :authentication end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'sha1', 'enum'=>[{'value'=>'sha1', 'help-string'=>'NIST rating 128-bit strength'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def authentication maybe_register_subclass('authentication', Authentication.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string begin with letter: [0-9a-zA-Z._-]', 'regex'=>'^[a-zA-Z]{1}[0-9a-zA-Z._-]*$'}} # alphanumeric string begin with letter: [0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def global_protect_app_crypto_profiles maybe_register_subclass('global-protect-app-crypto-profiles', GlobalProtectAppCryptoProfiles.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def crypto_profiles @subclasses['crypto-profiles'] ||= CryptoProfiles.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ike @subclasses['ike'] ||= Ike.new(parent_instance: self, client: @client, create_children: @create_children) end class Tunnel < ConfigClass def has_multiple_values?; false; end def _section :tunnel end class Hop < XML::ConfigClass def has_multiple_values?; true; end def _section :hop end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class PeerAddress < ConfigClass def has_multiple_values?; false; end def _section :'peer-address' end @props = {'ip'=>{'node-type'=>'element', 'type'=>'ipspec', 'unicast-only'=>'yes', 'help-string'=>'Tunnel peer IP address'}} # Tunnel peer IP address def ip prop_get('ip') end # Tunnel peer IP address def ip=(val) prop_set('ip', val) end end def peer_address @subclasses['peer-address'] ||= PeerAddress.new(parent_instance: self, client: @client, create_children: @create_children) end class LocalAddress < ConfigClass def has_multiple_values?; false; end def _section :'local-address' end @props = {'interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Interface to termate tunnel'}, 'ip'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-only'=>'yes', 'help-string'=>'IP address if interface has multiple addresses'}} # Interface to termate tunnel def interface prop_get('interface') end # Interface to termate tunnel def interface=(val) prop_set('interface', val) end # IP address if interface has multiple addresses def ip prop_get('ip') end # IP address if interface has multiple addresses def ip=(val) prop_set('ip', val) end end def local_address @subclasses['local-address'] ||= LocalAddress.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'tunnel-interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Tunnel interface to bind'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # Tunnel interface to bind def tunnel_interface prop_get('tunnel-interface') end # Tunnel interface to bind def tunnel_interface=(val) prop_set('tunnel-interface', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def hop maybe_register_subclass('hop', Hop.new(parent_instance: self, client: @client, create_children: @create_children)) end class Gre < XML::ConfigClass def has_multiple_values?; true; end def _section :gre end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class LocalAddress < ConfigClass def has_multiple_values?; false; end def _section :'local-address' end @props = {'interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Interface to terminate tunnel'}, 'ip'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'specify exact IP address if interface has multiple addresses'}, 'floating-ip'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.tunnel.gre.local-address.floating-ip-disable=True', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Floating IP address in HA Active-Active configuration'}} # Interface to terminate tunnel def interface prop_get('interface') end # Interface to terminate tunnel def interface=(val) prop_set('interface', val) end # specify exact IP address if interface has multiple addresses def ip prop_get('ip') end # specify exact IP address if interface has multiple addresses def ip=(val) prop_set('ip', val) end # Floating IP address in HA Active-Active configuration def floating_ip prop_get('floating-ip') end # Floating IP address in HA Active-Active configuration def floating_ip=(val) prop_set('floating-ip', val) end end def local_address @subclasses['local-address'] ||= LocalAddress.new(parent_instance: self, client: @client, create_children: @create_children) end class PeerAddress < ConfigClass def has_multiple_values?; false; end def _section :'peer-address' end @props = {'ip'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Peer IP address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # Peer IP address def ip prop_get('ip') end # Peer IP address def ip=(val) prop_set('ip', val) end end def peer_address @subclasses['peer-address'] ||= PeerAddress.new(parent_instance: self, client: @client, create_children: @create_children) end class KeepAlive < ConfigClass def has_multiple_values?; false; end def _section :'keep-alive' end @props = {'enable'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Enable tunnel monitoring on this tunnel'}, 'interval'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'1', 'max'=>'50', 'default'=>'10', 'help-string'=>'Interval'}, 'retry'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'1', 'max'=>'64', 'default'=>'3', 'help-string'=>'Retry'}, 'hold-timer'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'1', 'max'=>'64', 'default'=>'5', 'help-string'=>'Hold timer'}} # Enable tunnel monitoring on this tunnel def enable prop_get('enable') end # Enable tunnel monitoring on this tunnel def enable=(val) prop_set('enable', val) end # Interval def interval prop_get('interval') end # Interval def interval=(val) prop_set('interval', val) end # Retry def retry prop_get('retry') end # Retry def retry=(val) prop_set('retry', val) end # Hold timer def hold_timer prop_get('hold-timer') end # Hold timer def hold_timer=(val) prop_set('hold-timer', val) end end def keep_alive @subclasses['keep-alive'] ||= KeepAlive.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string begin with letter: [0-9a-zA-Z._-]', 'regex'=>'^[a-zA-Z]{1}[0-9a-zA-Z._-]*$'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable the GRE tunnel'}, 'copy-tos'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Copy IP TOS bits from inner packet to GRE packet'}, 'erspan'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'tap mode for ERSPAN'}, 'ttl'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'1', 'max'=>'255', 'default'=>'64', 'help-string'=>'TTL'}, 'tunnel-interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'to apply GRE tunnels to tunnel interface'}} # alphanumeric string begin with letter: [0-9a-zA-Z._-] def name prop_get('@name') end # Disable the GRE tunnel def disabled prop_get('disabled') end # Disable the GRE tunnel def disabled=(val) prop_set('disabled', val) end # Copy IP TOS bits from inner packet to GRE packet def copy_tos prop_get('copy-tos') end # Copy IP TOS bits from inner packet to GRE packet def copy_tos=(val) prop_set('copy-tos', val) end # tap mode for ERSPAN def erspan prop_get('erspan') end # tap mode for ERSPAN def erspan=(val) prop_set('erspan', val) end # TTL def ttl prop_get('ttl') end # TTL def ttl=(val) prop_set('ttl', val) end # to apply GRE tunnels to tunnel interface def tunnel_interface prop_get('tunnel-interface') end # to apply GRE tunnels to tunnel interface def tunnel_interface=(val) prop_set('tunnel-interface', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def gre maybe_register_subclass('gre', Gre.new(parent_instance: self, client: @client, create_children: @create_children)) end class Ipsec < XML::ConfigClass def has_multiple_values?; true; end def _section :ipsec end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class TunnelMonitor < ConfigClass def has_multiple_values?; false; end def _section :'tunnel-monitor' end @props = {'enable'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Enable tunnel monitoring on this tunnel'}, 'destination-ip'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'Destination IP to send ICMP probe', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'proxy-id'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Which proxy-id (or proxy-id-v6) the monitoring traffic will use'}, 'tunnel-monitor-profile'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'monitoring action', 'optional'=>'yes'}} # Enable tunnel monitoring on this tunnel def enable prop_get('enable') end # Enable tunnel monitoring on this tunnel def enable=(val) prop_set('enable', val) end # Destination IP to send ICMP probe def destination_ip prop_get('destination-ip') end # Destination IP to send ICMP probe def destination_ip=(val) prop_set('destination-ip', val) end # Which proxy-id (or proxy-id-v6) the monitoring traffic will use def proxy_id prop_get('proxy-id') end # Which proxy-id (or proxy-id-v6) the monitoring traffic will use def proxy_id=(val) prop_set('proxy-id', val) end # monitoring action def tunnel_monitor_profile prop_get('tunnel-monitor-profile') end # monitoring action def tunnel_monitor_profile=(val) prop_set('tunnel-monitor-profile', val) end end def tunnel_monitor @subclasses['tunnel-monitor'] ||= TunnelMonitor.new(parent_instance: self, client: @client, create_children: @create_children) end class AutoKey < ConfigClass def has_multiple_values?; false; end def _section :'auto-key' end class IkeGateway < XML::ConfigClass def has_multiple_values?; true; end def _section :'ike-gateway' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'IKE gateway name'}, 'as-nexthop'=>{'node-type'=>'element', 'disabled'=>'yes', 'type'=>'ipspec', 'unicast-only'=>'yes', 'optional'=>'yes', 'help-string'=>'manually register this IKE gateway as the given nexthop value'}} # IKE gateway name def name prop_get('@name') end # manually register this IKE gateway as the given nexthop value def as_nexthop prop_get('as-nexthop') end # manually register this IKE gateway as the given nexthop value def as_nexthop=(val) prop_set('as-nexthop', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ike_gateway maybe_register_subclass('ike-gateway', IkeGateway.new(parent_instance: self, client: @client, create_children: @create_children)) end class ProxyId < XML::ConfigClass def has_multiple_values?; true; end def _section :'proxy-id' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Protocol < XML::ConfigClass def has_multiple_values?; true; end def _section :protocol end class Any < ConfigClass def has_multiple_values?; false; end def _section :any end @props = {} end def any @subclasses['any'] ||= Any.new(parent_instance: self, client: @client, create_children: @create_children) end class Tcp < ConfigClass def has_multiple_values?; false; end def _section :tcp end @props = {'local-port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535', 'default'=>'0', 'optional'=>'yes'}, 'remote-port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535', 'default'=>'0', 'optional'=>'yes'}} def local_port prop_get('local-port') end def local_port=(val) prop_set('local-port', val) end def remote_port prop_get('remote-port') end def remote_port=(val) prop_set('remote-port', val) end end def tcp @subclasses['tcp'] ||= Tcp.new(parent_instance: self, client: @client, create_children: @create_children) end class Udp < ConfigClass def has_multiple_values?; false; end def _section :udp end @props = {'local-port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535', 'default'=>'0', 'optional'=>'yes'}, 'remote-port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535', 'default'=>'0', 'optional'=>'yes'}} def local_port prop_get('local-port') end def local_port=(val) prop_set('local-port', val) end def remote_port prop_get('remote-port') end def remote_port=(val) prop_set('remote-port', val) end end def udp @subclasses['udp'] ||= Udp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'number'=>{'node-type'=>'element', 'help-string'=>'IP protocol number', 'type'=>'rangedint', 'min'=>'1', 'max'=>'254', 'no-default'=>'yes'}} # IP protocol number def number prop_get('number') end # IP protocol number def number=(val) prop_set('number', val) end end def protocol maybe_register_subclass('protocol', Protocol.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string begin with letter: [0-9a-zA-Z._-]', 'regex'=>'^[a-zA-Z]{1}[0-9a-zA-Z._-]*$'}, 'local'=>{'node-type'=>'element', 'help-string'=>'IP subnet or IP address represents local network', 'type'=>'multiple', 'optional'=>'yes', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'remote'=>{'node-type'=>'element', 'help-string'=>'IP subnet or IP address represents remote network', 'type'=>'multiple', 'ipv4-only'=>'yes', 'optional'=>'yes', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}}}} # alphanumeric string begin with letter: [0-9a-zA-Z._-] def name prop_get('@name') end # IP subnet or IP address represents local network def local prop_get('local') end # IP subnet or IP address represents local network def local=(val) prop_set('local', val) end # IP subnet or IP address represents remote network def remote prop_get('remote') end # IP subnet or IP address represents remote network def remote=(val) prop_set('remote', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def proxy_id maybe_register_subclass('proxy-id', ProxyId.new(parent_instance: self, client: @client, create_children: @create_children)) end class ProxyIdV6 < XML::ConfigClass def has_multiple_values?; true; end def _section :'proxy-id-v6' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Protocol < XML::ConfigClass def has_multiple_values?; true; end def _section :protocol end class Any < ConfigClass def has_multiple_values?; false; end def _section :any end @props = {} end def any @subclasses['any'] ||= Any.new(parent_instance: self, client: @client, create_children: @create_children) end class Tcp < ConfigClass def has_multiple_values?; false; end def _section :tcp end @props = {'local-port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535', 'default'=>'0', 'optional'=>'yes'}, 'remote-port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535', 'default'=>'0', 'optional'=>'yes'}} def local_port prop_get('local-port') end def local_port=(val) prop_set('local-port', val) end def remote_port prop_get('remote-port') end def remote_port=(val) prop_set('remote-port', val) end end def tcp @subclasses['tcp'] ||= Tcp.new(parent_instance: self, client: @client, create_children: @create_children) end class Udp < ConfigClass def has_multiple_values?; false; end def _section :udp end @props = {'local-port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535', 'default'=>'0', 'optional'=>'yes'}, 'remote-port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535', 'default'=>'0', 'optional'=>'yes'}} def local_port prop_get('local-port') end def local_port=(val) prop_set('local-port', val) end def remote_port prop_get('remote-port') end def remote_port=(val) prop_set('remote-port', val) end end def udp @subclasses['udp'] ||= Udp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'number'=>{'node-type'=>'element', 'help-string'=>'IP protocol number', 'type'=>'rangedint', 'min'=>'1', 'max'=>'254', 'no-default'=>'yes'}} # IP protocol number def number prop_get('number') end # IP protocol number def number=(val) prop_set('number', val) end end def protocol maybe_register_subclass('protocol', Protocol.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string begin with letter: [0-9a-zA-Z._-]', 'regex'=>'^[a-zA-Z]{1}[0-9a-zA-Z._-]*$'}, 'local'=>{'node-type'=>'element', 'help-string'=>'IP subnet or IP address represents local network', 'type'=>'multiple', 'optional'=>'yes', 'multi-types'=>{'ipspec'=>{'ipv6-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'remote'=>{'node-type'=>'element', 'help-string'=>'IP subnet or IP address represents remote network', 'type'=>'multiple', 'ipv6-only'=>'yes', 'optional'=>'yes', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}}}} # alphanumeric string begin with letter: [0-9a-zA-Z._-] def name prop_get('@name') end # IP subnet or IP address represents local network def local prop_get('local') end # IP subnet or IP address represents local network def local=(val) prop_set('local', val) end # IP subnet or IP address represents remote network def remote prop_get('remote') end # IP subnet or IP address represents remote network def remote=(val) prop_set('remote', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def proxy_id_v6 maybe_register_subclass('proxy-id-v6', ProxyIdV6.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'ipsec-crypto-profile'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'IPSec crypto profile name', 'optional'=>'yes', 'default'=>'default'}} # IPSec crypto profile name def ipsec_crypto_profile prop_get('ipsec-crypto-profile') end # IPSec crypto profile name def ipsec_crypto_profile=(val) prop_set('ipsec-crypto-profile', val) end end def auto_key @subclasses['auto-key'] ||= AutoKey.new(parent_instance: self, client: @client, create_children: @create_children) end class ManualKey < ConfigClass def has_multiple_values?; false; end def _section :'manual-key' end class PeerAddress < ConfigClass def has_multiple_values?; false; end def _section :'peer-address' end @props = {'ip'=>{'node-type'=>'element', 'type'=>'ipspec', 'unicast-only'=>'yes', 'help-string'=>'Tunnel peer IP address'}} # Tunnel peer IP address def ip prop_get('ip') end # Tunnel peer IP address def ip=(val) prop_set('ip', val) end end def peer_address @subclasses['peer-address'] ||= PeerAddress.new(parent_instance: self, client: @client, create_children: @create_children) end class LocalAddress < ConfigClass def has_multiple_values?; false; end def _section :'local-address' end @props = {'interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Interface to termate tunnel'}, 'ip'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'specify exact IP address if interface has multiple addresses'}, 'floating-ip'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.vpn-srcaddr.floating-ip-disable=True', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Floating IP address in HA Active-Active configuration'}} # Interface to termate tunnel def interface prop_get('interface') end # Interface to termate tunnel def interface=(val) prop_set('interface', val) end # specify exact IP address if interface has multiple addresses def ip prop_get('ip') end # specify exact IP address if interface has multiple addresses def ip=(val) prop_set('ip', val) end # Floating IP address in HA Active-Active configuration def floating_ip prop_get('floating-ip') end # Floating IP address in HA Active-Active configuration def floating_ip=(val) prop_set('floating-ip', val) end end def local_address @subclasses['local-address'] ||= LocalAddress.new(parent_instance: self, client: @client, create_children: @create_children) end class Esp < ConfigClass def has_multiple_values?; false; end def _section :esp end class Authentication < ConfigClass def has_multiple_values?; false; end def _section :authentication end class Md5 < ConfigClass def has_multiple_values?; false; end def _section :md5 end @props = {'key'=>{'node-type'=>'element', 'maxlen'=>'255', 'type'=>'string', 'encrypt'=>'yes', 'show-help-tip'=>'yes', 'help-string'=>'hex format xxxxxxxx[-xxxxxxxx]... total 4 sections', 'regex'=>'^([0-9a-fA-F]{8}-){3}[0-9a-fA-F]{8}$'}} # hex format xxxxxxxx[-xxxxxxxx]... total 4 sections def key prop_get('key') end # hex format xxxxxxxx[-xxxxxxxx]... total 4 sections def key=(val) prop_set('key', val) end end def md5 @subclasses['md5'] ||= Md5.new(parent_instance: self, client: @client, create_children: @create_children) end class Sha1 < ConfigClass def has_multiple_values?; false; end def _section :sha1 end @props = {'key'=>{'node-type'=>'element', 'maxlen'=>'255', 'type'=>'string', 'encrypt'=>'yes', 'show-help-tip'=>'yes', 'help-string'=>'hex format xxxxxxxx[-xxxxxxxx]... total 5 sections', 'regex'=>'^([0-9a-fA-F]{8}-){4}[0-9a-fA-F]{8}$'}} # hex format xxxxxxxx[-xxxxxxxx]... total 5 sections def key prop_get('key') end # hex format xxxxxxxx[-xxxxxxxx]... total 5 sections def key=(val) prop_set('key', val) end end def sha1 @subclasses['sha1'] ||= Sha1.new(parent_instance: self, client: @client, create_children: @create_children) end class Sha256 < ConfigClass def has_multiple_values?; false; end def _section :sha256 end @props = {'key'=>{'node-type'=>'element', 'maxlen'=>'255', 'type'=>'string', 'encrypt'=>'yes', 'show-help-tip'=>'yes', 'help-string'=>'hex format xxxxxxxx[-xxxxxxxx]... total 8 sections', 'regex'=>'^([0-9a-fA-F]{8}-){7}[0-9a-fA-F]{8}$'}} # hex format xxxxxxxx[-xxxxxxxx]... total 8 sections def key prop_get('key') end # hex format xxxxxxxx[-xxxxxxxx]... total 8 sections def key=(val) prop_set('key', val) end end def sha256 @subclasses['sha256'] ||= Sha256.new(parent_instance: self, client: @client, create_children: @create_children) end class Sha384 < ConfigClass def has_multiple_values?; false; end def _section :sha384 end @props = {'key'=>{'node-type'=>'element', 'maxlen'=>'255', 'type'=>'string', 'encrypt'=>'yes', 'show-help-tip'=>'yes', 'help-string'=>'hex format xxxxxxxx[-xxxxxxxx]... total 12 sections', 'regex'=>'^([0-9a-fA-F]{8}-){11}[0-9a-fA-F]{8}$'}} # hex format xxxxxxxx[-xxxxxxxx]... total 12 sections def key prop_get('key') end # hex format xxxxxxxx[-xxxxxxxx]... total 12 sections def key=(val) prop_set('key', val) end end def sha384 @subclasses['sha384'] ||= Sha384.new(parent_instance: self, client: @client, create_children: @create_children) end class Sha512 < ConfigClass def has_multiple_values?; false; end def _section :sha512 end @props = {'key'=>{'node-type'=>'element', 'maxlen'=>'255', 'type'=>'string', 'encrypt'=>'yes', 'show-help-tip'=>'yes', 'help-string'=>'hex format xxxxxxxx[-xxxxxxxx]... total 16 sections', 'regex'=>'^([0-9a-fA-F]{8}-){15}[0-9a-fA-F]{8}$'}} # hex format xxxxxxxx[-xxxxxxxx]... total 16 sections def key prop_get('key') end # hex format xxxxxxxx[-xxxxxxxx]... total 16 sections def key=(val) prop_set('key', val) end end def sha512 @subclasses['sha512'] ||= Sha512.new(parent_instance: self, client: @client, create_children: @create_children) end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def authentication @subclasses['authentication'] ||= Authentication.new(parent_instance: self, client: @client, create_children: @create_children) end class Encryption < ConfigClass def has_multiple_values?; false; end def _section :encryption end @props = {'algorithm'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'aes-128-cbc', 'enum'=>[{'value'=>'des', 'prune-on'=>'cc-only-mode', 'help-string'=>'key is 64 bit'}, {'value'=>'3des', 'prune-on'=>'cc-only-mode', 'help-string'=>'key is 192 bit'}, {'value'=>'aes-128-cbc', 'help-string'=>'key is 128 bit'}, {'value'=>'aes-192-cbc', 'help-string'=>'key is 192 bit'}, {'value'=>'aes-256-cbc', 'help-string'=>'key is 256 bit'}, {'value'=>'null', 'prune-on'=>'fips-mode'}]}, 'key'=>{'node-type'=>'element', 'optional'=>'yes', 'maxlen'=>'255', 'type'=>'string', 'encrypt'=>'yes', 'show-help-tip'=>'yes', 'help-string'=>'hex format xxxxxxxx[-xxxxxxxx]... total number of sections: des: 2, 3des: 6, aes-128-cbc: 4, aes-192-cbc: 6, aes-256-cbc: 8', 'regex'=>'^([0-9a-fA-F]{8}-[0-9a-fA-F]{8}-){0,3}[0-9a-fA-F]{8}-[0-9a-fA-F]{8}$'}} def algorithm prop_get('algorithm') end def algorithm=(val) prop_set('algorithm', val) end # hex format xxxxxxxx[-xxxxxxxx]... total number of sections: des: 2, 3des: 6, aes-128-cbc: 4, aes-192-cbc: 6, aes-256-cbc: 8 def key prop_get('key') end # hex format xxxxxxxx[-xxxxxxxx]... total number of sections: des: 2, 3des: 6, aes-128-cbc: 4, aes-192-cbc: 6, aes-256-cbc: 8 def key=(val) prop_set('key', val) end end def encryption @subclasses['encryption'] ||= Encryption.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def esp @subclasses['esp'] ||= Esp.new(parent_instance: self, client: @client, create_children: @create_children) end class Ah < ConfigClass def has_multiple_values?; false; end def _section :ah end class Md5 < ConfigClass def has_multiple_values?; false; end def _section :md5 end @props = {'key'=>{'node-type'=>'element', 'maxlen'=>'255', 'type'=>'string', 'encrypt'=>'yes', 'show-help-tip'=>'yes', 'help-string'=>'hex format xxxxxxxx[-xxxxxxxx]... total 4 sections', 'regex'=>'^([0-9a-fA-F]{8}-){3}[0-9a-fA-F]{8}$'}} # hex format xxxxxxxx[-xxxxxxxx]... total 4 sections def key prop_get('key') end # hex format xxxxxxxx[-xxxxxxxx]... total 4 sections def key=(val) prop_set('key', val) end end def md5 @subclasses['md5'] ||= Md5.new(parent_instance: self, client: @client, create_children: @create_children) end class Sha1 < ConfigClass def has_multiple_values?; false; end def _section :sha1 end @props = {'key'=>{'node-type'=>'element', 'maxlen'=>'255', 'type'=>'string', 'encrypt'=>'yes', 'show-help-tip'=>'yes', 'help-string'=>'hex format xxxxxxxx[-xxxxxxxx]... total 5 sections', 'regex'=>'^([0-9a-fA-F]{8}-){4}[0-9a-fA-F]{8}$'}} # hex format xxxxxxxx[-xxxxxxxx]... total 5 sections def key prop_get('key') end # hex format xxxxxxxx[-xxxxxxxx]... total 5 sections def key=(val) prop_set('key', val) end end def sha1 @subclasses['sha1'] ||= Sha1.new(parent_instance: self, client: @client, create_children: @create_children) end class Sha256 < ConfigClass def has_multiple_values?; false; end def _section :sha256 end @props = {'key'=>{'node-type'=>'element', 'maxlen'=>'255', 'type'=>'string', 'encrypt'=>'yes', 'show-help-tip'=>'yes', 'help-string'=>'hex format xxxxxxxx[-xxxxxxxx]... total 8 sections', 'regex'=>'^([0-9a-fA-F]{8}-){7}[0-9a-fA-F]{8}$'}} # hex format xxxxxxxx[-xxxxxxxx]... total 8 sections def key prop_get('key') end # hex format xxxxxxxx[-xxxxxxxx]... total 8 sections def key=(val) prop_set('key', val) end end def sha256 @subclasses['sha256'] ||= Sha256.new(parent_instance: self, client: @client, create_children: @create_children) end class Sha384 < ConfigClass def has_multiple_values?; false; end def _section :sha384 end @props = {'key'=>{'node-type'=>'element', 'maxlen'=>'255', 'type'=>'string', 'encrypt'=>'yes', 'show-help-tip'=>'yes', 'help-string'=>'hex format xxxxxxxx[-xxxxxxxx]... total 12 sections', 'regex'=>'^([0-9a-fA-F]{8}-){11}[0-9a-fA-F]{8}$'}} # hex format xxxxxxxx[-xxxxxxxx]... total 12 sections def key prop_get('key') end # hex format xxxxxxxx[-xxxxxxxx]... total 12 sections def key=(val) prop_set('key', val) end end def sha384 @subclasses['sha384'] ||= Sha384.new(parent_instance: self, client: @client, create_children: @create_children) end class Sha512 < ConfigClass def has_multiple_values?; false; end def _section :sha512 end @props = {'key'=>{'node-type'=>'element', 'maxlen'=>'255', 'type'=>'string', 'encrypt'=>'yes', 'show-help-tip'=>'yes', 'help-string'=>'hex format xxxxxxxx[-xxxxxxxx]... total 16 sections', 'regex'=>'^([0-9a-fA-F]{8}-){15}[0-9a-fA-F]{8}$'}} # hex format xxxxxxxx[-xxxxxxxx]... total 16 sections def key prop_get('key') end # hex format xxxxxxxx[-xxxxxxxx]... total 16 sections def key=(val) prop_set('key', val) end end def sha512 @subclasses['sha512'] ||= Sha512.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ah @subclasses['ah'] ||= Ah.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'local-spi'=>{'node-type'=>'element', 'help-string'=>'Outbound SPI, hex format xxxxxxxx. range 00001000 to 1FFFFFFF', 'type'=>'string', 'regex'=>'^(0000[1-9a-fA-F]{1}[0-9a-fA-F]{3}|000[1-9a-fA-F]{1}[0-9a-fA-F]{4}|00[1-9a-fA-F]{1}[0-9a-fA-F]{5}|0[1-9a-fA-F]{1}[0-9a-fA-F]{6}|1[0-9a-fA-F]{7})$'}, 'remote-spi'=>{'node-type'=>'element', 'help-string'=>'Inbound SPI, hex format xxxxxxxx.', 'type'=>'string', 'regex'=>'^([0-9a-fA-F]{8})$'}} # Outbound SPI, hex format xxxxxxxx. range 00001000 to 1FFFFFFF def local_spi prop_get('local-spi') end # Outbound SPI, hex format xxxxxxxx. range 00001000 to 1FFFFFFF def local_spi=(val) prop_set('local-spi', val) end # Inbound SPI, hex format xxxxxxxx. def remote_spi prop_get('remote-spi') end # Inbound SPI, hex format xxxxxxxx. def remote_spi=(val) prop_set('remote-spi', val) end end def manual_key @subclasses['manual-key'] ||= ManualKey.new(parent_instance: self, client: @client, create_children: @create_children) end class GlobalProtectSatellite < ConfigClass def has_multiple_values?; false; end def _section :'global-protect-satellite' end class LocalAddress < ConfigClass def has_multiple_values?; false; end def _section :'local-address' end class Ip < ConfigClass def has_multiple_values?; false; end def _section :ip end @props = {'ipv4'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'specify exact IP address if interface has multiple addresses'}, 'ipv6'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'specify exact local IPv6 address if interface has multiple addresses'}} # specify exact IP address if interface has multiple addresses def ipv4 prop_get('ipv4') end # specify exact IP address if interface has multiple addresses def ipv4=(val) prop_set('ipv4', val) end # specify exact local IPv6 address if interface has multiple addresses def ipv6 prop_get('ipv6') end # specify exact local IPv6 address if interface has multiple addresses def ipv6=(val) prop_set('ipv6', val) end end def ip @subclasses['ip'] ||= Ip.new(parent_instance: self, client: @client, create_children: @create_children) end class FloatingIp < ConfigClass def has_multiple_values?; false; end def _section :'floating-ip' end @props = {'ipv4'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.tunnel.ipsec.floating-ip.satd-floating-ip-check.ipv4-disable=True', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Floating IP address in HA Active-Active configuration'}, 'ipv6'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Floating IPv6 address in HA Active-Active configuration'}} # Floating IP address in HA Active-Active configuration def ipv4 prop_get('ipv4') end # Floating IP address in HA Active-Active configuration def ipv4=(val) prop_set('ipv4', val) end # Floating IPv6 address in HA Active-Active configuration def ipv6 prop_get('ipv6') end # Floating IPv6 address in HA Active-Active configuration def ipv6=(val) prop_set('ipv6', val) end end def floating_ip @subclasses['floating-ip'] ||= FloatingIp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Interface to communicate with Portal'}} # Interface to communicate with Portal def interface prop_get('interface') end # Interface to communicate with Portal def interface=(val) prop_set('interface', val) end end def local_address @subclasses['local-address'] ||= LocalAddress.new(parent_instance: self, client: @client, create_children: @create_children) end class PublishRoutes < XML::ConfigClass def has_multiple_values?; true; end def _section :'publish-routes' end @props = {'member'=>{'node-type'=>'element', 'type'=>'ipspec', 'subnet-only'=>'yes'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def publish_routes maybe_register_subclass('publish-routes', PublishRoutes.new(parent_instance: self, client: @client, create_children: @create_children)) end class PublishConnectedRoutes < ConfigClass def has_multiple_values?; false; end def _section :'publish-connected-routes' end @props = {'enable'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable publishing of connected and static routes'}} # Enable publishing of connected and static routes def enable prop_get('enable') end # Enable publishing of connected and static routes def enable=(val) prop_set('enable', val) end end def publish_connected_routes @subclasses['publish-connected-routes'] ||= PublishConnectedRoutes.new(parent_instance: self, client: @client, create_children: @create_children) end class ExternalCa < ConfigClass def has_multiple_values?; false; end def _section :'external-ca' end @props = {'local-certificate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'GlobalProtect satellite certificate file name', 'maxlen'=>'255'}, 'certificate-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Profile for authenticating GlobalProtect gateway certificates'}} # GlobalProtect satellite certificate file name def local_certificate prop_get('local-certificate') end # GlobalProtect satellite certificate file name def local_certificate=(val) prop_set('local-certificate', val) end # Profile for authenticating GlobalProtect gateway certificates def certificate_profile prop_get('certificate-profile') end # Profile for authenticating GlobalProtect gateway certificates def certificate_profile=(val) prop_set('certificate-profile', val) end end def external_ca @subclasses['external-ca'] ||= ExternalCa.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'portal-address'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'help-string'=>'GlobalProtect portal address'}, 'ipv6-preferred'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Prefer to register to portal in ipv6. Only applicable to fqdn portal-address'}} # GlobalProtect portal address def portal_address prop_get('portal-address') end # GlobalProtect portal address def portal_address=(val) prop_set('portal-address', val) end # Prefer to register to portal in ipv6. Only applicable to fqdn portal-address def ipv6_preferred prop_get('ipv6-preferred') end # Prefer to register to portal in ipv6. Only applicable to fqdn portal-address def ipv6_preferred=(val) prop_set('ipv6-preferred', val) end end def global_protect_satellite @subclasses['global-protect-satellite'] ||= GlobalProtectSatellite.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string begin with letter: [0-9a-zA-Z._-]', 'regex'=>'^[a-zA-Z]{1}[0-9a-zA-Z._-]*$'}, 'ipsec-mode'=>{'node-type'=>'element', 'default'=>'tunnel', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'tunnel'}, {'value'=>'transport'}]}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable the IPSec tunnel'}, 'ipv6'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'use IPv6 for the IPSec tunnel'}, 'comment'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'0', 'maxlen'=>'1023'}, 'tunnel-interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'to apply IPSec VPN tunnels to tunnel interface'}, 'anti-replay'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable Anti-Replay check on this tunnel'}, 'anti-replay-window'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'1024', 'help-string'=>'64,128,256,512,1024,2048,4096', 'enum'=>[{'value'=>'64', 'help-string'=>'64'}, {'value'=>'128', 'help-string'=>'128'}, {'value'=>'256', 'help-string'=>'256'}, {'value'=>'512', 'help-string'=>'512'}, {'value'=>'1024', 'help-string'=>'1024'}, {'value'=>'2048', 'help-string'=>'2048'}, {'value'=>'4096', 'help-string'=>'4096'}]}, 'copy-tos'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Copy IP TOS bits from inner packet to IPSec packet (not recommended)'}, 'copy-flow-label'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Copy IPv6 flow label for 6in6 tunnel from inner packet to IPSec packet (not recommended)'}, 'enable-gre-encapsulation'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'allow GRE over IPSec'}} # alphanumeric string begin with letter: [0-9a-zA-Z._-] def name prop_get('@name') end def ipsec_mode prop_get('ipsec-mode') end def ipsec_mode=(val) prop_set('ipsec-mode', val) end # Disable the IPSec tunnel def disabled prop_get('disabled') end # Disable the IPSec tunnel def disabled=(val) prop_set('disabled', val) end # use IPv6 for the IPSec tunnel def ipv6 prop_get('ipv6') end # use IPv6 for the IPSec tunnel def ipv6=(val) prop_set('ipv6', val) end def comment prop_get('comment') end def comment=(val) prop_set('comment', val) end # to apply IPSec VPN tunnels to tunnel interface def tunnel_interface prop_get('tunnel-interface') end # to apply IPSec VPN tunnels to tunnel interface def tunnel_interface=(val) prop_set('tunnel-interface', val) end # Enable Anti-Replay check on this tunnel def anti_replay prop_get('anti-replay') end # Enable Anti-Replay check on this tunnel def anti_replay=(val) prop_set('anti-replay', val) end # 64,128,256,512,1024,2048,4096 def anti_replay_window prop_get('anti-replay-window') end # 64,128,256,512,1024,2048,4096 def anti_replay_window=(val) prop_set('anti-replay-window', val) end # Copy IP TOS bits from inner packet to IPSec packet (not recommended) def copy_tos prop_get('copy-tos') end # Copy IP TOS bits from inner packet to IPSec packet (not recommended) def copy_tos=(val) prop_set('copy-tos', val) end # Copy IPv6 flow label for 6in6 tunnel from inner packet to IPSec packet (not recommended) def copy_flow_label prop_get('copy-flow-label') end # Copy IPv6 flow label for 6in6 tunnel from inner packet to IPSec packet (not recommended) def copy_flow_label=(val) prop_set('copy-flow-label', val) end # allow GRE over IPSec def enable_gre_encapsulation prop_get('enable-gre-encapsulation') end # allow GRE over IPSec def enable_gre_encapsulation=(val) prop_set('enable-gre-encapsulation', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ipsec maybe_register_subclass('ipsec', Ipsec.new(parent_instance: self, client: @client, create_children: @create_children)) end class GlobalProtectGateway < XML::ConfigClass def has_multiple_values?; true; end def _section :'global-protect-gateway' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class LocalAddress < ConfigClass def has_multiple_values?; false; end def _section :'local-address' end class Ip < ConfigClass def has_multiple_values?; false; end def _section :ip end @props = {'ipv4'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'IPv4 address'}, 'ipv6'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'IPv6 address'}} # IPv4 address def ipv4 prop_get('ipv4') end # IPv4 address def ipv4=(val) prop_set('ipv4', val) end # IPv6 address def ipv6 prop_get('ipv6') end # IPv6 address def ipv6=(val) prop_set('ipv6', val) end end def ip @subclasses['ip'] ||= Ip.new(parent_instance: self, client: @client, create_children: @create_children) end class FloatingIp < ConfigClass def has_multiple_values?; false; end def _section :'floating-ip' end @props = {'ipv4'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Floating IP address'}, 'ipv6'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'Floating IPv6 address'}} # Floating IP address def ipv4 prop_get('ipv4') end # Floating IP address def ipv4=(val) prop_set('ipv4', val) end # Floating IPv6 address def ipv6 prop_get('ipv6') end # Floating IPv6 address def ipv6=(val) prop_set('ipv6', val) end end def floating_ip @subclasses['floating-ip'] ||= FloatingIp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'ip-address-family'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'ipv4', 'optional'=>'yes', 'help-string'=>'specify the family of the local address', 'enum'=>[{'value'=>'ipv4', 'help-string'=>'IPv4 Only'}, {'value'=>'ipv6', 'help-string'=>'IPv6 Only'}, {'value'=>'ipv4_ipv6', 'help-string'=>'IPv4 and IPv6'}]}, 'interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'local gateway end-point'}} # specify the family of the local address def ip_address_family prop_get('ip-address-family') end # specify the family of the local address def ip_address_family=(val) prop_set('ip-address-family', val) end # local gateway end-point def interface prop_get('interface') end # local gateway end-point def interface=(val) prop_set('interface', val) end end def local_address @subclasses['local-address'] ||= LocalAddress.new(parent_instance: self, client: @client, create_children: @create_children) end class Ipsec < ConfigClass def has_multiple_values?; false; end def _section :ipsec end class ThirdPartyClient < ConfigClass def has_multiple_values?; false; end def _section :'third-party-client' end @props = {'enable'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable thrid party client support'}, 'group-name'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'255', 'help-string'=>'group name'}, 'group-password'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'255', 'encrypt'=>'yes', 'help-string'=>'group password'}, 'rekey-noauth'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Skip Auth on IKE Rekey'}} # Enable thrid party client support def enable prop_get('enable') end # Enable thrid party client support def enable=(val) prop_set('enable', val) end # group name def group_name prop_get('group-name') end # group name def group_name=(val) prop_set('group-name', val) end # group password def group_password prop_get('group-password') end # group password def group_password=(val) prop_set('group-password', val) end # Skip Auth on IKE Rekey def rekey_noauth prop_get('rekey-noauth') end # Skip Auth on IKE Rekey def rekey_noauth=(val) prop_set('rekey-noauth', val) end end def third_party_client @subclasses['third-party-client'] ||= ThirdPartyClient.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable IPSec'}, 'server-udp-port'=>{'node-type'=>'element', 'disabled'=>'yes', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'1', 'max'=>'65535', 'default'=>'4501', 'help-string'=>'the port number used to send/receive IPSec over UDP traffic on GlobalProtect gateway side'}, 'ipsec-crypto-profile'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes', 'help-string'=>'IPSec crypto profile name', 'default'=>'default'}} # Enable IPSec def enable prop_get('enable') end # Enable IPSec def enable=(val) prop_set('enable', val) end # the port number used to send/receive IPSec over UDP traffic on GlobalProtect gateway side def server_udp_port prop_get('server-udp-port') end # the port number used to send/receive IPSec over UDP traffic on GlobalProtect gateway side def server_udp_port=(val) prop_set('server-udp-port', val) end # IPSec crypto profile name def ipsec_crypto_profile prop_get('ipsec-crypto-profile') end # IPSec crypto profile name def ipsec_crypto_profile=(val) prop_set('ipsec-crypto-profile', val) end end def ipsec @subclasses['ipsec'] ||= Ipsec.new(parent_instance: self, client: @client, create_children: @create_children) end class Ssl < ConfigClass def has_multiple_values?; false; end def _section :ssl end @props = {'server-port'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'1', 'max'=>'65535', 'default'=>'443', 'help-string'=>'the port number used to send/receive SSL traffic on GlobalProtect gateway side'}} # the port number used to send/receive SSL traffic on GlobalProtect gateway side def server_port prop_get('server-port') end # the port number used to send/receive SSL traffic on GlobalProtect gateway side def server_port=(val) prop_set('server-port', val) end end def ssl @subclasses['ssl'] ||= Ssl.new(parent_instance: self, client: @client, create_children: @create_children) end class IpPool < XML::ConfigClass def has_multiple_values?; true; end def _section :'ip-pool' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes'}, 'iprangespec'=>{}, 'string'=>{'maxlen'=>'63', 'loose-membership'=>'yes'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def ip_pool maybe_register_subclass('ip-pool', IpPool.new(parent_instance: self, client: @client, create_children: @create_children)) end class Client < ConfigClass def has_multiple_values?; false; end def _section :client end class Inheritance < ConfigClass def has_multiple_values?; false; end def _section :inheritance end @props = {'source'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Dynamic interface'}} # Dynamic interface def source prop_get('source') end # Dynamic interface def source=(val) prop_set('source', val) end end def inheritance @subclasses['inheritance'] ||= Inheritance.new(parent_instance: self, client: @client, create_children: @create_children) end class DnsServer < ConfigClass def has_multiple_values?; false; end def _section :'dns-server' end @props = {'primary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'DNS primary server ip address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'help-string'=>'DNS server ip'}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'inherited'}]}}, 'secondary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'DNS secondary server ip address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'help-string'=>'DNS server ip'}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'inherited'}]}}} # DNS primary server ip address def primary prop_get('primary') end # DNS primary server ip address def primary=(val) prop_set('primary', val) end # DNS secondary server ip address def secondary prop_get('secondary') end # DNS secondary server ip address def secondary=(val) prop_set('secondary', val) end end def dns_server @subclasses['dns-server'] ||= DnsServer.new(parent_instance: self, client: @client, create_children: @create_children) end class WinsServer < ConfigClass def has_multiple_values?; false; end def _section :'wins-server' end @props = {'primary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'WINS primary server ip address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'help-string'=>'WINS server ip'}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'inherited'}]}}, 'secondary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'WINS secondary server ip address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'help-string'=>'WINS server ip'}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'inherited'}]}}} # WINS primary server ip address def primary prop_get('primary') end # WINS primary server ip address def primary=(val) prop_set('primary', val) end # WINS secondary server ip address def secondary prop_get('secondary') end # WINS secondary server ip address def secondary=(val) prop_set('secondary', val) end end def wins_server @subclasses['wins-server'] ||= WinsServer.new(parent_instance: self, client: @client, create_children: @create_children) end class DnsSuffix < XML::ConfigClass def has_multiple_values?; true; end def _section :'dns-suffix' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'DNS suffix for client'}} # DNS suffix for client def member prop_get('member') end # DNS suffix for client def member=(val) prop_set('member', val) end end def dns_suffix maybe_register_subclass('dns-suffix', DnsSuffix.new(parent_instance: self, client: @client, create_children: @create_children)) end class ExcludeVideoTraffic < ConfigClass def has_multiple_values?; false; end def _section :'exclude-video-traffic' end class Applications < XML::ConfigClass def has_multiple_values?; true; end def _section :applications end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'max-count'=>'200', 'multi-types'=>{'string'=>{'maxlen'=>'63'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def applications maybe_register_subclass('applications', Applications.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Enable exclude video traffic'}} # Enable exclude video traffic def enabled prop_get('enabled') end # Enable exclude video traffic def enabled=(val) prop_set('enabled', val) end end def exclude_video_traffic @subclasses['exclude-video-traffic'] ||= ExcludeVideoTraffic.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'dns-suffix-inherited'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Enable dns-suffix inheritance from dynamic interface'}} # Enable dns-suffix inheritance from dynamic interface def dns_suffix_inherited prop_get('dns-suffix-inherited') end # Enable dns-suffix inheritance from dynamic interface def dns_suffix_inherited=(val) prop_set('dns-suffix-inherited', val) end end def client @subclasses['client'] ||= Client.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'33', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string begin with letter: [ 0-9a-zA-Z._-]'}, 'tunnel-interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'to apply GlobalProtect gateway tunnels to tunnel interface'}, 'max-user'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'1', 'platform-max'=>'cfg.general.max-ssl-tunnel', 'help-string'=>'max number of concurrent logined users'}} # alphanumeric string begin with letter: [ 0-9a-zA-Z._-] def name prop_get('@name') end # to apply GlobalProtect gateway tunnels to tunnel interface def tunnel_interface prop_get('tunnel-interface') end # to apply GlobalProtect gateway tunnels to tunnel interface def tunnel_interface=(val) prop_set('tunnel-interface', val) end # max number of concurrent logined users def max_user prop_get('max-user') end # max number of concurrent logined users def max_user=(val) prop_set('max-user', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def global_protect_gateway maybe_register_subclass('global-protect-gateway', GlobalProtectGateway.new(parent_instance: self, client: @client, create_children: @create_children)) end class GlobalProtectSiteToSite < XML::ConfigClass def has_multiple_values?; true; end def _section :'global-protect-site-to-site' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class LocalAddress < ConfigClass def has_multiple_values?; false; end def _section :'local-address' end class Ip < ConfigClass def has_multiple_values?; false; end def _section :ip end @props = {'ipv4'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'IPv4 address'}, 'ipv6'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'IPv6 address'}} # IPv4 address def ipv4 prop_get('ipv4') end # IPv4 address def ipv4=(val) prop_set('ipv4', val) end # IPv6 address def ipv6 prop_get('ipv6') end # IPv6 address def ipv6=(val) prop_set('ipv6', val) end end def ip @subclasses['ip'] ||= Ip.new(parent_instance: self, client: @client, create_children: @create_children) end class FloatingIp < ConfigClass def has_multiple_values?; false; end def _section :'floating-ip' end @props = {'ipv4'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Floating IP address'}, 'ipv6'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'Floating IPv6 address'}} # Floating IP address def ipv4 prop_get('ipv4') end # Floating IP address def ipv4=(val) prop_set('ipv4', val) end # Floating IPv6 address def ipv6 prop_get('ipv6') end # Floating IPv6 address def ipv6=(val) prop_set('ipv6', val) end end def floating_ip @subclasses['floating-ip'] ||= FloatingIp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'ip-address-family'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'ipv4', 'optional'=>'yes', 'help-string'=>'specify the family of the local address', 'enum'=>[{'value'=>'ipv4', 'help-string'=>'IPv4 Only'}, {'value'=>'ipv6', 'help-string'=>'IPv6 Only'}, {'value'=>'ipv4_ipv6', 'help-string'=>'IPv4 and IPv6'}]}, 'interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'local gateway end-point'}} # specify the family of the local address def ip_address_family prop_get('ip-address-family') end # specify the family of the local address def ip_address_family=(val) prop_set('ip-address-family', val) end # local gateway end-point def interface prop_get('interface') end # local gateway end-point def interface=(val) prop_set('interface', val) end end def local_address @subclasses['local-address'] ||= LocalAddress.new(parent_instance: self, client: @client, create_children: @create_children) end class Client < ConfigClass def has_multiple_values?; false; end def _section :client end class IpPool < XML::ConfigClass def has_multiple_values?; true; end def _section :'ip-pool' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes'}, 'iprangespec'=>{}, 'string'=>{'maxlen'=>'63'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def ip_pool maybe_register_subclass('ip-pool', IpPool.new(parent_instance: self, client: @client, create_children: @create_children)) end class Inheritance < ConfigClass def has_multiple_values?; false; end def _section :inheritance end @props = {'source'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Dynamic interface'}} # Dynamic interface def source prop_get('source') end # Dynamic interface def source=(val) prop_set('source', val) end end def inheritance @subclasses['inheritance'] ||= Inheritance.new(parent_instance: self, client: @client, create_children: @create_children) end class DnsServer < ConfigClass def has_multiple_values?; false; end def _section :'dns-server' end @props = {'primary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'DNS primary server ip address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'help-string'=>'DNS server ip'}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'inherited'}]}}, 'secondary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'DNS secondary server ip address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'help-string'=>'DNS server ip'}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'inherited'}]}}} # DNS primary server ip address def primary prop_get('primary') end # DNS primary server ip address def primary=(val) prop_set('primary', val) end # DNS secondary server ip address def secondary prop_get('secondary') end # DNS secondary server ip address def secondary=(val) prop_set('secondary', val) end end def dns_server @subclasses['dns-server'] ||= DnsServer.new(parent_instance: self, client: @client, create_children: @create_children) end class DnsSuffix < XML::ConfigClass def has_multiple_values?; true; end def _section :'dns-suffix' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'DNS suffix for client'}} # DNS suffix for client def member prop_get('member') end # DNS suffix for client def member=(val) prop_set('member', val) end end def dns_suffix maybe_register_subclass('dns-suffix', DnsSuffix.new(parent_instance: self, client: @client, create_children: @create_children)) end class SplitTunneling < ConfigClass def has_multiple_values?; false; end def _section :'split-tunneling' end class AccessRoute < XML::ConfigClass def has_multiple_values?; true; end def _section :'access-route' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def access_route maybe_register_subclass('access-route', AccessRoute.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def split_tunneling @subclasses['split-tunneling'] ||= SplitTunneling.new(parent_instance: self, client: @client, create_children: @create_children) end class TunnelMonitor < ConfigClass def has_multiple_values?; false; end def _section :'tunnel-monitor' end @props = {'enable'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Enable tunnel monitoring on this tunnel'}, 'destination-ip'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'Destination IP to send ICMP probe', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes', 'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'destination-ipv6'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'Destination IPv6 to send ICMP probe', 'multi-types'=>{'ipspec'=>{'ipv6-only'=>'yes', 'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'tunnel-monitor-profile'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'monitoring action', 'optional'=>'yes'}} # Enable tunnel monitoring on this tunnel def enable prop_get('enable') end # Enable tunnel monitoring on this tunnel def enable=(val) prop_set('enable', val) end # Destination IP to send ICMP probe def destination_ip prop_get('destination-ip') end # Destination IP to send ICMP probe def destination_ip=(val) prop_set('destination-ip', val) end # Destination IPv6 to send ICMP probe def destination_ipv6 prop_get('destination-ipv6') end # Destination IPv6 to send ICMP probe def destination_ipv6=(val) prop_set('destination-ipv6', val) end # monitoring action def tunnel_monitor_profile prop_get('tunnel-monitor-profile') end # monitoring action def tunnel_monitor_profile=(val) prop_set('tunnel-monitor-profile', val) end end def tunnel_monitor @subclasses['tunnel-monitor'] ||= TunnelMonitor.new(parent_instance: self, client: @client, create_children: @create_children) end class ValidNetworks < XML::ConfigClass def has_multiple_values?; true; end def _section :'valid-networks' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'subnet-only'=>'yes', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def valid_networks maybe_register_subclass('valid-networks', ValidNetworks.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'config-refresh-interval'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'1', 'max'=>'48', 'default'=>'2', 'help-string'=>'GlobalProtect gateway configuration refresh interval in hours'}, 'dns-suffix-inherited'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Enable dns-suffix inheritance from dynamic interface'}, 'ipsec-crypto-profile'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'IPSec crypto profile name', 'default'=>'default'}, 'accept-published-routes'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Whether Gateway should accept routes published by Satellite'}, 'anti-replay'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable Anti-Replay check on this tunnel'}, 'anti-replay-window'=>{'node-type'=>'element', 'internal'=>'yes', 'optional'=>'yes', 'type'=>'enum', 'default'=>'1024', 'help-string'=>'64,128,256,512,1024,2048,4096', 'enum'=>[{'value'=>'64', 'help-string'=>'64'}, {'value'=>'128', 'help-string'=>'128'}, {'value'=>'256', 'help-string'=>'256'}, {'value'=>'512', 'help-string'=>'512'}, {'value'=>'1024', 'help-string'=>'1024'}, {'value'=>'2048', 'help-string'=>'2048'}, {'value'=>'4096', 'help-string'=>'4096'}]}, 'copy-tos'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Copy IP TOS bits from inner packet to IPSec packet (not recommended)'}} # GlobalProtect gateway configuration refresh interval in hours def config_refresh_interval prop_get('config-refresh-interval') end # GlobalProtect gateway configuration refresh interval in hours def config_refresh_interval=(val) prop_set('config-refresh-interval', val) end # Enable dns-suffix inheritance from dynamic interface def dns_suffix_inherited prop_get('dns-suffix-inherited') end # Enable dns-suffix inheritance from dynamic interface def dns_suffix_inherited=(val) prop_set('dns-suffix-inherited', val) end # IPSec crypto profile name def ipsec_crypto_profile prop_get('ipsec-crypto-profile') end # IPSec crypto profile name def ipsec_crypto_profile=(val) prop_set('ipsec-crypto-profile', val) end # Whether Gateway should accept routes published by Satellite def accept_published_routes prop_get('accept-published-routes') end # Whether Gateway should accept routes published by Satellite def accept_published_routes=(val) prop_set('accept-published-routes', val) end # Enable Anti-Replay check on this tunnel def anti_replay prop_get('anti-replay') end # Enable Anti-Replay check on this tunnel def anti_replay=(val) prop_set('anti-replay', val) end # 64,128,256,512,1024,2048,4096 def anti_replay_window prop_get('anti-replay-window') end # 64,128,256,512,1024,2048,4096 def anti_replay_window=(val) prop_set('anti-replay-window', val) end # Copy IP TOS bits from inner packet to IPSec packet (not recommended) def copy_tos prop_get('copy-tos') end # Copy IP TOS bits from inner packet to IPSec packet (not recommended) def copy_tos=(val) prop_set('copy-tos', val) end end def client @subclasses['client'] ||= Client.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'33', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string begin with letter: [ 0-9a-zA-Z._-]'}, 'tunnel-interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'to apply GlobalProtect site to site tunnels to tunnel interface'}} # alphanumeric string begin with letter: [ 0-9a-zA-Z._-] def name prop_get('@name') end # to apply GlobalProtect site to site tunnels to tunnel interface def tunnel_interface prop_get('tunnel-interface') end # to apply GlobalProtect site to site tunnels to tunnel interface def tunnel_interface=(val) prop_set('tunnel-interface', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def global_protect_site_to_site maybe_register_subclass('global-protect-site-to-site', GlobalProtectSiteToSite.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def tunnel @subclasses['tunnel'] ||= Tunnel.new(parent_instance: self, client: @client, create_children: @create_children) end class Vlan < XML::ConfigClass def has_multiple_values?; true; end def _section :vlan end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Interface < XML::ConfigClass def has_multiple_values?; true; end def _section :interface end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'30'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def interface maybe_register_subclass('interface', Interface.new(parent_instance: self, client: @client, create_children: @create_children)) end class Mac < XML::ConfigClass def has_multiple_values?; true; end def _section :mac end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'mac-address', 'help-string'=>'MAC address (format xx:xx:xx:xx:xx:xx)'}, 'interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Interface name'}} # MAC address (format xx:xx:xx:xx:xx:xx) def name prop_get('@name') end # Interface name def interface prop_get('interface') end # Interface name def interface=(val) prop_set('interface', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def mac maybe_register_subclass('mac', Mac.new(parent_instance: self, client: @client, create_children: @create_children)) end class VirtualInterface < ConfigClass def has_multiple_values?; false; end def _section :'virtual-interface' end @props = {'interface'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Virtual interface'}} # Virtual interface def interface prop_get('interface') end # Virtual interface def interface=(val) prop_set('interface', val) end end def virtual_interface @subclasses['virtual-interface'] ||= VirtualInterface.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vlan maybe_register_subclass('vlan', Vlan.new(parent_instance: self, client: @client, create_children: @create_children)) end class Qos < ConfigClass def has_multiple_values?; false; end def _section :qos end class Profile < XML::ConfigClass def has_multiple_values?; true; end def _section :profile end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class AggregateBandwidth < ConfigClass def has_multiple_values?; false; end def _section :'aggregate-bandwidth' end @props = {'egress-max'=>{'node-type'=>'element', 'type'=>'float', 'optional'=>'yes', 'min'=>'0', 'max'=>'68000', 'platform-max'=>'cfg.general.max-qosbw', 'default'=>'0', 'help-string'=>'max sending bandwidth in mbps'}, 'egress-guaranteed'=>{'node-type'=>'element', 'type'=>'float', 'optional'=>'yes', 'min'=>'0', 'max'=>'60000', 'platform-max'=>'cfg.general.max-qosbw', 'default'=>'0', 'help-string'=>'guaranteed sending bandwidth in mbps'}} # max sending bandwidth in mbps def egress_max prop_get('egress-max') end # max sending bandwidth in mbps def egress_max=(val) prop_set('egress-max', val) end # guaranteed sending bandwidth in mbps def egress_guaranteed prop_get('egress-guaranteed') end # guaranteed sending bandwidth in mbps def egress_guaranteed=(val) prop_set('egress-guaranteed', val) end end def aggregate_bandwidth @subclasses['aggregate-bandwidth'] ||= AggregateBandwidth.new(parent_instance: self, client: @client, create_children: @create_children) end class ClassBandwidthType < XML::ConfigClass def has_multiple_values?; true; end def _section :'class-bandwidth-type' end class Mbps < ConfigClass def has_multiple_values?; false; end def _section :mbps end class Klass < XML::ConfigClass def has_multiple_values?; true; end def _section :class end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class ClassBandwidth < ConfigClass def has_multiple_values?; false; end def _section :'class-bandwidth' end @props = {'egress-max'=>{'node-type'=>'element', 'type'=>'float', 'optional'=>'yes', 'min'=>'0', 'max'=>'68000', 'platform-max'=>'cfg.general.max-qosbw', 'default'=>'0', 'help-string'=>'max sending bandwidth in mbps'}, 'egress-guaranteed'=>{'node-type'=>'element', 'type'=>'float', 'optional'=>'yes', 'min'=>'0', 'max'=>'60000', 'platform-max'=>'cfg.general.max-qosbw', 'default'=>'0', 'help-string'=>'guaranteed sending bandwidth in mbps'}} # max sending bandwidth in mbps def egress_max prop_get('egress-max') end # max sending bandwidth in mbps def egress_max=(val) prop_set('egress-max', val) end # guaranteed sending bandwidth in mbps def egress_guaranteed prop_get('egress-guaranteed') end # guaranteed sending bandwidth in mbps def egress_guaranteed=(val) prop_set('egress-guaranteed', val) end end def class_bandwidth @subclasses['class-bandwidth'] ||= ClassBandwidth.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'traffic class'}, 'priority'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'medium', 'help-string'=>'traffic class priority', 'enum'=>[{'value'=>'real-time', 'help-string'=>'highest priority'}, {'value'=>'high', 'help-string'=>'high priority'}, {'value'=>'medium', 'help-string'=>'medium priority'}, {'value'=>'low', 'help-string'=>'low priority'}]}, 'round-trip-time'=>{'node-type'=>'element', 'disabled'=>'yes', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'0', 'max'=>'1000', 'default'=>'20', 'help-string'=>'estimated average round trip time (in milli-seconds) for network path'}} # traffic class def name prop_get('@name') end # traffic class priority def priority prop_get('priority') end # traffic class priority def priority=(val) prop_set('priority', val) end # estimated average round trip time (in milli-seconds) for network path def round_trip_time prop_get('round-trip-time') end # estimated average round trip time (in milli-seconds) for network path def round_trip_time=(val) prop_set('round-trip-time', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def class maybe_register_subclass('class', Klass.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def mbps @subclasses['mbps'] ||= Mbps.new(parent_instance: self, client: @client, create_children: @create_children) end class Percentage < ConfigClass def has_multiple_values?; false; end def _section :percentage end class Klass < XML::ConfigClass def has_multiple_values?; true; end def _section :class end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class ClassBandwidth < ConfigClass def has_multiple_values?; false; end def _section :'class-bandwidth' end @props = {'egress-max'=>{'node-type'=>'element', 'type'=>'float', 'optional'=>'yes', 'min'=>'0', 'max'=>'100', 'default'=>'0', 'help-string'=>'max sending bandwidth percentage'}, 'egress-guaranteed'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'100', 'default'=>'0', 'help-string'=>'guaranteed sending bandwidth percentage'}} # max sending bandwidth percentage def egress_max prop_get('egress-max') end # max sending bandwidth percentage def egress_max=(val) prop_set('egress-max', val) end # guaranteed sending bandwidth percentage def egress_guaranteed prop_get('egress-guaranteed') end # guaranteed sending bandwidth percentage def egress_guaranteed=(val) prop_set('egress-guaranteed', val) end end def class_bandwidth @subclasses['class-bandwidth'] ||= ClassBandwidth.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'traffic class'}, 'priority'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'medium', 'help-string'=>'traffic class priority', 'enum'=>[{'value'=>'real-time', 'help-string'=>'highest priority'}, {'value'=>'high', 'help-string'=>'high priority'}, {'value'=>'medium', 'help-string'=>'medium priority'}, {'value'=>'low', 'help-string'=>'low priority'}]}, 'round-trip-time'=>{'node-type'=>'element', 'disabled'=>'yes', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'0', 'max'=>'1000', 'default'=>'20', 'help-string'=>'estimated average round trip time (in milli-seconds) for network path'}} # traffic class def name prop_get('@name') end # traffic class priority def priority prop_get('priority') end # traffic class priority def priority=(val) prop_set('priority', val) end # estimated average round trip time (in milli-seconds) for network path def round_trip_time prop_get('round-trip-time') end # estimated average round trip time (in milli-seconds) for network path def round_trip_time=(val) prop_set('round-trip-time', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def class maybe_register_subclass('class', Klass.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def percentage @subclasses['percentage'] ||= Percentage.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def class_bandwidth_type maybe_register_subclass('class-bandwidth-type', ClassBandwidthType.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def profile maybe_register_subclass('profile', Profile.new(parent_instance: self, client: @client, create_children: @create_children)) end class Interface < XML::ConfigClass def has_multiple_values?; true; end def _section :interface end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class InterfaceBandwidth < ConfigClass def has_multiple_values?; false; end def _section :'interface-bandwidth' end @props = {'egress-max'=>{'node-type'=>'element', 'complete-handler'=>'sdwan-emax-completer', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'0', 'help-string'=>'max bandwidth in mbps', 'multi-types'=>{'float'=>{'min'=>'0', 'max'=>'68000'}, 'string'=>{'maxlen'=>'63'}}}} # max bandwidth in mbps def egress_max prop_get('egress-max') end # max bandwidth in mbps def egress_max=(val) prop_set('egress-max', val) end end def interface_bandwidth @subclasses['interface-bandwidth'] ||= InterfaceBandwidth.new(parent_instance: self, client: @client, create_children: @create_children) end class TunnelTraffic < ConfigClass def has_multiple_values?; false; end def _section :'tunnel-traffic' end class Groups < XML::ConfigClass def has_multiple_values?; true; end def _section :groups end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Members < XML::ConfigClass def has_multiple_values?; true; end def _section :members end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'tunnel interface'}, 'qos-profile'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'apply QoS profile for traffic go through the tunnel interface'}} # tunnel interface def name prop_get('@name') end # apply QoS profile for traffic go through the tunnel interface def qos_profile prop_get('qos-profile') end # apply QoS profile for traffic go through the tunnel interface def qos_profile=(val) prop_set('qos-profile', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def members maybe_register_subclass('members', Members.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'enum', 'maxlen'=>'31', 'help-string'=>'tunnel traffic group', 'enum'=>[{'value'=>'tunnel-traffic-group', 'help-string'=>'the pre-defined group for tunnel traffic'}]}} # tunnel traffic group def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def groups maybe_register_subclass('groups', Groups.new(parent_instance: self, client: @client, create_children: @create_children)) end class DefaultGroup < ConfigClass def has_multiple_values?; false; end def _section :'default-group' end @props = {'per-tunnel-qos-profile'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'apply QoS profile for traffic go through each tunnel interface'}} # apply QoS profile for traffic go through each tunnel interface def per_tunnel_qos_profile prop_get('per-tunnel-qos-profile') end # apply QoS profile for traffic go through each tunnel interface def per_tunnel_qos_profile=(val) prop_set('per-tunnel-qos-profile', val) end end def default_group @subclasses['default-group'] ||= DefaultGroup.new(parent_instance: self, client: @client, create_children: @create_children) end class Bandwidth < ConfigClass def has_multiple_values?; false; end def _section :bandwidth end @props = {'egress-max'=>{'node-type'=>'element', 'type'=>'float', 'optional'=>'yes', 'min'=>'0', 'max'=>'68000', 'platform-max'=>'cfg.general.max-qosbw', 'default'=>'0', 'help-string'=>'max sending bandwidth in mbps'}, 'egress-guaranteed'=>{'node-type'=>'element', 'type'=>'float', 'optional'=>'yes', 'min'=>'0', 'max'=>'60000', 'platform-max'=>'cfg.general.max-qosbw', 'default'=>'0', 'help-string'=>'guaranteed sending bandwidth in mbps'}} # max sending bandwidth in mbps def egress_max prop_get('egress-max') end # max sending bandwidth in mbps def egress_max=(val) prop_set('egress-max', val) end # guaranteed sending bandwidth in mbps def egress_guaranteed prop_get('egress-guaranteed') end # guaranteed sending bandwidth in mbps def egress_guaranteed=(val) prop_set('egress-guaranteed', val) end end def bandwidth @subclasses['bandwidth'] ||= Bandwidth.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def tunnel_traffic @subclasses['tunnel-traffic'] ||= TunnelTraffic.new(parent_instance: self, client: @client, create_children: @create_children) end class RegularTraffic < ConfigClass def has_multiple_values?; false; end def _section :'regular-traffic' end class Groups < XML::ConfigClass def has_multiple_values?; true; end def _section :groups end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Members < XML::ConfigClass def has_multiple_values?; true; end def _section :members end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Match < ConfigClass def has_multiple_values?; false; end def _section :match end class LocalAddress < ConfigClass def has_multiple_values?; false; end def _section :'local-address' end class Address < XML::ConfigClass def has_multiple_values?; true; end def _section :address end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'max-count'=>'1', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def address maybe_register_subclass('address', Address.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'interface'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'local side interface'}, 'destination_interface'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'destination interface'}} # local side interface def interface prop_get('interface') end # local side interface def interface=(val) prop_set('interface', val) end # destination interface def destination_interface prop_get('destination_interface') end # destination interface def destination_interface=(val) prop_set('destination_interface', val) end end def local_address @subclasses['local-address'] ||= LocalAddress.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def match @subclasses['match'] ||= Match.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'31', 'help-string'=>'name of this QoS member entity'}, 'qos-profile'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'apply QoS profile for traffic go through the group of hosts'}} # name of this QoS member entity def name prop_get('@name') end # apply QoS profile for traffic go through the group of hosts def qos_profile prop_get('qos-profile') end # apply QoS profile for traffic go through the group of hosts def qos_profile=(val) prop_set('qos-profile', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def members maybe_register_subclass('members', Members.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'enum', 'maxlen'=>'31', 'help-string'=>'regular traffic group', 'enum'=>[{'value'=>'regular-traffic-group', 'help-string'=>'the pre-defined group for regular traffic'}]}} # regular traffic group def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def groups maybe_register_subclass('groups', Groups.new(parent_instance: self, client: @client, create_children: @create_children)) end class DefaultGroup < ConfigClass def has_multiple_values?; false; end def _section :'default-group' end @props = {'qos-profile'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'apply QoS profile for aggregated traffic'}} # apply QoS profile for aggregated traffic def qos_profile prop_get('qos-profile') end # apply QoS profile for aggregated traffic def qos_profile=(val) prop_set('qos-profile', val) end end def default_group @subclasses['default-group'] ||= DefaultGroup.new(parent_instance: self, client: @client, create_children: @create_children) end class Bandwidth < ConfigClass def has_multiple_values?; false; end def _section :bandwidth end @props = {'egress-max'=>{'node-type'=>'element', 'type'=>'float', 'optional'=>'yes', 'min'=>'0', 'max'=>'68000', 'platform-max'=>'cfg.general.max-qosbw', 'default'=>'0', 'help-string'=>'max sending bandwidth in mbps'}, 'egress-guaranteed'=>{'node-type'=>'element', 'type'=>'float', 'optional'=>'yes', 'min'=>'0', 'max'=>'60000', 'platform-max'=>'cfg.general.max-qosbw', 'default'=>'0', 'help-string'=>'guaranteed sending bandwidth in mbps'}} # max sending bandwidth in mbps def egress_max prop_get('egress-max') end # max sending bandwidth in mbps def egress_max=(val) prop_set('egress-max', val) end # guaranteed sending bandwidth in mbps def egress_guaranteed prop_get('egress-guaranteed') end # guaranteed sending bandwidth in mbps def egress_guaranteed=(val) prop_set('egress-guaranteed', val) end end def bandwidth @subclasses['bandwidth'] ||= Bandwidth.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def regular_traffic @subclasses['regular-traffic'] ||= RegularTraffic.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'regex'=>'^([\$]?[a-zA-Z0-9:@./_-])+$', 'help-string'=>'Interface name'}, 'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Turn on QoS feature on this interface'}} # Interface name def name prop_get('@name') end # Turn on QoS feature on this interface def enabled prop_get('enabled') end # Turn on QoS feature on this interface def enabled=(val) prop_set('enabled', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def interface maybe_register_subclass('interface', Interface.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def qos @subclasses['qos'] ||= Qos.new(parent_instance: self, client: @client, create_children: @create_children) end class SpanningTree < XML::ConfigClass def has_multiple_values?; true; end def _section :'spanning-tree' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Port < XML::ConfigClass def has_multiple_values?; true; end def _section :port end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'Switch port name'}, 'priority'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'0', 'max'=>'256', 'default'=>'32', 'help-string'=>'Port priority'}, 'cost'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'0', 'max'=>'256', 'default'=>'32', 'help-string'=>'Port cost'}, 'link-type'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'help-string'=>'Port link type', 'enum'=>[{'value'=>'auto', 'help-string'=>'Automatically detect edge port'}, {'value'=>'edge', 'help-string'=>'Edge port'}, {'value'=>'point-to-point', 'help-string'=>'Point-to-point link'}]}} # Switch port name def name prop_get('@name') end # Port priority def priority prop_get('priority') end # Port priority def priority=(val) prop_set('priority', val) end # Port cost def cost prop_get('cost') end # Port cost def cost=(val) prop_set('cost', val) end # Port link type def link_type prop_get('link-type') end # Port link type def link_type=(val) prop_set('link-type', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def port maybe_register_subclass('port', Port.new(parent_instance: self, client: @client, create_children: @create_children)) end class Time < ConfigClass def has_multiple_values?; false; end def _section :time end @props = {'hello-time'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'1', 'max'=>'2', 'default'=>'2', 'help-string'=>'Hello Time (in seconds)'}, 'max-age'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'6', 'max'=>'40', 'default'=>'20', 'help-string'=>'Max Age (in seconds)'}, 'forward-delay'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'4', 'max'=>'30', 'default'=>'15', 'help-string'=>'Forward Delay (in seconds)'}} # Hello Time (in seconds) def hello_time prop_get('hello-time') end # Hello Time (in seconds) def hello_time=(val) prop_set('hello-time', val) end # Max Age (in seconds) def max_age prop_get('max-age') end # Max Age (in seconds) def max_age=(val) prop_set('max-age', val) end # Forward Delay (in seconds) def forward_delay prop_get('forward-delay') end # Forward Delay (in seconds) def forward_delay=(val) prop_set('forward-delay', val) end end def time @subclasses['time'] ||= Time.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'vlan'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'VLAN of the instance'}, 'mode'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'rstp', 'help-string'=>'Rapid Spanning Tree Protocol'}, {'value'=>'per-vlan-rstp', 'help-string'=>'Per-VLAN Rapid Spanning Tree'}]}, 'bridge-priority'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'0', 'max'=>'65535', 'default'=>'32768', 'help-string'=>'Bridge priority'}, 'port-priority'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'0', 'max'=>'256', 'default'=>'32', 'help-string'=>'Default port priority within this instance'}, 'port-cost'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'0', 'max'=>'256', 'default'=>'32', 'help-string'=>'Default port cost within this instance'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # VLAN of the instance def vlan prop_get('vlan') end # VLAN of the instance def vlan=(val) prop_set('vlan', val) end def mode prop_get('mode') end def mode=(val) prop_set('mode', val) end # Bridge priority def bridge_priority prop_get('bridge-priority') end # Bridge priority def bridge_priority=(val) prop_set('bridge-priority', val) end # Default port priority within this instance def port_priority prop_get('port-priority') end # Default port priority within this instance def port_priority=(val) prop_set('port-priority', val) end # Default port cost within this instance def port_cost prop_get('port-cost') end # Default port cost within this instance def port_cost=(val) prop_set('port-cost', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def spanning_tree maybe_register_subclass('spanning-tree', SpanningTree.new(parent_instance: self, client: @client, create_children: @create_children)) end class VirtualWire < XML::ConfigClass def has_multiple_values?; true; end def _section :'virtual-wire' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class MulticastFirewalling < ConfigClass def has_multiple_values?; false; end def _section :'multicast-firewalling' end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Enable firewalling for non-unicast traffic', 'default'=>'no'}} # Enable firewalling for non-unicast traffic def enable prop_get('enable') end # Enable firewalling for non-unicast traffic def enable=(val) prop_set('enable', val) end end def multicast_firewalling @subclasses['multicast-firewalling'] ||= MulticastFirewalling.new(parent_instance: self, client: @client, create_children: @create_children) end class LinkStatePassThrough < ConfigClass def has_multiple_values?; false; end def _section :'link-state-pass-through' end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Enable link state passthrough', 'default'=>'yes'}} # Enable link state passthrough def enable prop_get('enable') end # Enable link state passthrough def enable=(val) prop_set('enable', val) end end def link_state_pass_through @subclasses['link-state-pass-through'] ||= LinkStatePassThrough.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'interface1'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Interface 1'}, 'interface2'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Interface 2'}, 'tag-allowed'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangelistspec', 'min'=>'0', 'max'=>'4094', 'help-string'=>'Allowed 802.1q VLAN tags', 'prune-on-sdb'=>'cfg.platform.vm.virtual-wire.tag-allowed-disable=True'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # Interface 1 def interface1 prop_get('interface1') end # Interface 1 def interface1=(val) prop_set('interface1', val) end # Interface 2 def interface2 prop_get('interface2') end # Interface 2 def interface2=(val) prop_set('interface2', val) end # Allowed 802.1q VLAN tags def tag_allowed prop_get('tag-allowed') end # Allowed 802.1q VLAN tags def tag_allowed=(val) prop_set('tag-allowed', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def virtual_wire maybe_register_subclass('virtual-wire', VirtualWire.new(parent_instance: self, client: @client, create_children: @create_children)) end class VirtualRouter < XML::ConfigClass def has_multiple_values?; true; end def _section :'virtual-router' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Interface < XML::ConfigClass def has_multiple_values?; true; end def _section :interface end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def interface maybe_register_subclass('interface', Interface.new(parent_instance: self, client: @client, create_children: @create_children)) end class RoutingTable < ConfigClass def has_multiple_values?; false; end def _section :'routing-table' end class Ip < ConfigClass def has_multiple_values?; false; end def _section :ip end class StaticRoute < XML::ConfigClass def has_multiple_values?; true; end def _section :'static-route' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Nexthop < XML::ConfigClass def has_multiple_values?; true; end def _section :nexthop end class Receive < ConfigClass def has_multiple_values?; false; end def _section :receive end @props = {} end def receive @subclasses['receive'] ||= Receive.new(parent_instance: self, client: @client, create_children: @create_children) end class Discard < ConfigClass def has_multiple_values?; false; end def _section :discard end @props = {} end def discard @subclasses['discard'] ||= Discard.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'ip-address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Next hop IP address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'ipv4-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'fqdn'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'regex'=>'^([a-zA-Z0-9._-])+$', 'help-string'=>'nexthop address FQDN address object configuration'}, 'next-vr'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Next hop virtual router'}, 'tunnel'=>{'node-type'=>'element', 'disabled'=>'yes', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'Forward packet through tunnel'}} # Next hop IP address def ip_address prop_get('ip-address') end # Next hop IP address def ip_address=(val) prop_set('ip-address', val) end # nexthop address FQDN address object configuration def fqdn prop_get('fqdn') end # nexthop address FQDN address object configuration def fqdn=(val) prop_set('fqdn', val) end # Next hop virtual router def next_vr prop_get('next-vr') end # Next hop virtual router def next_vr=(val) prop_set('next-vr', val) end # Forward packet through tunnel def tunnel prop_get('tunnel') end # Forward packet through tunnel def tunnel=(val) prop_set('tunnel', val) end end def nexthop maybe_register_subclass('nexthop', Nexthop.new(parent_instance: self, client: @client, create_children: @create_children)) end class RouteTable < ConfigClass def has_multiple_values?; false; end def _section :'route-table' end class Unicast < ConfigClass def has_multiple_values?; false; end def _section :unicast end @props = {} end def unicast @subclasses['unicast'] ||= Unicast.new(parent_instance: self, client: @client, create_children: @create_children) end class Multicast < ConfigClass def has_multiple_values?; false; end def _section :multicast end @props = {} end def multicast @subclasses['multicast'] ||= Multicast.new(parent_instance: self, client: @client, create_children: @create_children) end class Both < ConfigClass def has_multiple_values?; false; end def _section :both end @props = {} end def both @subclasses['both'] ||= Both.new(parent_instance: self, client: @client, create_children: @create_children) end class NoInstall < ConfigClass def has_multiple_values?; false; end def _section :'no-install' end @props = {} end def no_install @subclasses['no-install'] ||= NoInstall.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def route_table @subclasses['route-table'] ||= RouteTable.new(parent_instance: self, client: @client, create_children: @create_children) end class Bfd < ConfigClass def has_multiple_values?; false; end def _section :bfd end @props = {'profile'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'None', 'help-string'=>'BFD profile', 'optional'=>'yes', 'multi-types'=>{'string'=>{}, 'enum'=>[{'value'=>'None', 'help-string'=>'Disable BFD'}]}}} # BFD profile def profile prop_get('profile') end # BFD profile def profile=(val) prop_set('profile', val) end end def bfd @subclasses['bfd'] ||= Bfd.new(parent_instance: self, client: @client, create_children: @create_children) end class PathMonitor < ConfigClass def has_multiple_values?; false; end def _section :'path-monitor' end class MonitorDestinations < XML::ConfigClass def has_multiple_values?; true; end def _section :'monitor-destinations' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'source'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Source IP address', 'multi-types'=>{'string'=>{}, 'enum'=>[{'value'=>'DHCP', 'help-string'=>'Use DHCP Client Address'}, {'value'=>'PPPOE', 'help-string'=>'Use PPPoE Client Address'}]}}, 'destination'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'Destination IP address'}, 'interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'60', 'default'=>'3', 'help-string'=>'ping interval'}, 'count'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'3', 'max'=>'10', 'default'=>'5', 'help-string'=>'ping count'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Source IP address def source prop_get('source') end # Source IP address def source=(val) prop_set('source', val) end # Destination IP address def destination prop_get('destination') end # Destination IP address def destination=(val) prop_set('destination', val) end # ping interval def interval prop_get('interval') end # ping interval def interval=(val) prop_set('interval', val) end # ping count def count prop_get('count') end # ping count def count=(val) prop_set('count', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def monitor_destinations maybe_register_subclass('monitor-destinations', MonitorDestinations.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'failure-condition'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'any', 'help-string'=>'failure condition', 'enum'=>[{'value'=>'any'}, {'value'=>'all'}]}, 'hold-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'1440', 'default'=>'2', 'help-string'=>'hold time (minutes)'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # failure condition def failure_condition prop_get('failure-condition') end # failure condition def failure_condition=(val) prop_set('failure-condition', val) end # hold time (minutes) def hold_time prop_get('hold-time') end # hold time (minutes) def hold_time=(val) prop_set('hold-time', val) end end def path_monitor @subclasses['path-monitor'] ||= PathMonitor.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [0-9a-zA-Z._-]'}, 'destination'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Destination IP address/prefix', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes', 'ipv4-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'interface'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string'}, 'admin-dist'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'10', 'max'=>'240', 'help-string'=>'adminitrative distance'}, 'metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'10', 'help-string'=>'metric value (path cost)'}} # alphanumeric string [0-9a-zA-Z._-] def name prop_get('@name') end # Destination IP address/prefix def destination prop_get('destination') end # Destination IP address/prefix def destination=(val) prop_set('destination', val) end def interface prop_get('interface') end def interface=(val) prop_set('interface', val) end # adminitrative distance def admin_dist prop_get('admin-dist') end # adminitrative distance def admin_dist=(val) prop_set('admin-dist', val) end # metric value (path cost) def metric prop_get('metric') end # metric value (path cost) def metric=(val) prop_set('metric', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def static_route maybe_register_subclass('static-route', StaticRoute.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def ip @subclasses['ip'] ||= Ip.new(parent_instance: self, client: @client, create_children: @create_children) end class Ipv6 < ConfigClass def has_multiple_values?; false; end def _section :ipv6 end class StaticRoute < XML::ConfigClass def has_multiple_values?; true; end def _section :'static-route' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Nexthop < XML::ConfigClass def has_multiple_values?; true; end def _section :nexthop end class Receive < ConfigClass def has_multiple_values?; false; end def _section :receive end @props = {} end def receive @subclasses['receive'] ||= Receive.new(parent_instance: self, client: @client, create_children: @create_children) end class Discard < ConfigClass def has_multiple_values?; false; end def _section :discard end @props = {} end def discard @subclasses['discard'] ||= Discard.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'ipv6-address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Next hop IP address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'next-vr'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Next hop virtual router'}, 'tunnel'=>{'node-type'=>'element', 'disabled'=>'yes', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'Forward packet through tunnel'}} # Next hop IP address def ipv6_address prop_get('ipv6-address') end # Next hop IP address def ipv6_address=(val) prop_set('ipv6-address', val) end # Next hop virtual router def next_vr prop_get('next-vr') end # Next hop virtual router def next_vr=(val) prop_set('next-vr', val) end # Forward packet through tunnel def tunnel prop_get('tunnel') end # Forward packet through tunnel def tunnel=(val) prop_set('tunnel', val) end end def nexthop maybe_register_subclass('nexthop', Nexthop.new(parent_instance: self, client: @client, create_children: @create_children)) end class Option < ConfigClass def has_multiple_values?; false; end def _section :option end class Passive < ConfigClass def has_multiple_values?; false; end def _section :passive end @props = {} end def passive @subclasses['passive'] ||= Passive.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def option @subclasses['option'] ||= Option.new(parent_instance: self, client: @client, create_children: @create_children) end class RouteTable < ConfigClass def has_multiple_values?; false; end def _section :'route-table' end class Unicast < ConfigClass def has_multiple_values?; false; end def _section :unicast end @props = {} end def unicast @subclasses['unicast'] ||= Unicast.new(parent_instance: self, client: @client, create_children: @create_children) end class NoInstall < ConfigClass def has_multiple_values?; false; end def _section :'no-install' end @props = {} end def no_install @subclasses['no-install'] ||= NoInstall.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def route_table @subclasses['route-table'] ||= RouteTable.new(parent_instance: self, client: @client, create_children: @create_children) end class Bfd < ConfigClass def has_multiple_values?; false; end def _section :bfd end @props = {'profile'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'None', 'help-string'=>'BFD profile', 'optional'=>'yes', 'multi-types'=>{'string'=>{}, 'enum'=>[{'value'=>'None', 'help-string'=>'Disable BFD'}]}}} # BFD profile def profile prop_get('profile') end # BFD profile def profile=(val) prop_set('profile', val) end end def bfd @subclasses['bfd'] ||= Bfd.new(parent_instance: self, client: @client, create_children: @create_children) end class PathMonitor < ConfigClass def has_multiple_values?; false; end def _section :'path-monitor' end class MonitorDestinations < XML::ConfigClass def has_multiple_values?; true; end def _section :'monitor-destinations' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'source'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Source IP address', 'multi-types'=>{'string'=>{}}}, 'destination'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'Destination IP address'}, 'interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'60', 'default'=>'3', 'help-string'=>'ping interval'}, 'count'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'3', 'max'=>'10', 'default'=>'5', 'help-string'=>'ping count'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Source IP address def source prop_get('source') end # Source IP address def source=(val) prop_set('source', val) end # Destination IP address def destination prop_get('destination') end # Destination IP address def destination=(val) prop_set('destination', val) end # ping interval def interval prop_get('interval') end # ping interval def interval=(val) prop_set('interval', val) end # ping count def count prop_get('count') end # ping count def count=(val) prop_set('count', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def monitor_destinations maybe_register_subclass('monitor-destinations', MonitorDestinations.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'failure-condition'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'any', 'help-string'=>'failure condition', 'enum'=>[{'value'=>'any'}, {'value'=>'all'}]}, 'hold-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'1440', 'default'=>'2', 'help-string'=>'hold time (minutes)'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # failure condition def failure_condition prop_get('failure-condition') end # failure condition def failure_condition=(val) prop_set('failure-condition', val) end # hold time (minutes) def hold_time prop_get('hold-time') end # hold time (minutes) def hold_time=(val) prop_set('hold-time', val) end end def path_monitor @subclasses['path-monitor'] ||= PathMonitor.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [0-9a-zA-Z._-]'}, 'destination'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Destination IP address/prefix', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'interface'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string'}, 'admin-dist'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'10', 'max'=>'240', 'help-string'=>'adminitrative distance'}, 'metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'10', 'help-string'=>'metric value (path cost)'}} # alphanumeric string [0-9a-zA-Z._-] def name prop_get('@name') end # Destination IP address/prefix def destination prop_get('destination') end # Destination IP address/prefix def destination=(val) prop_set('destination', val) end def interface prop_get('interface') end def interface=(val) prop_set('interface', val) end # adminitrative distance def admin_dist prop_get('admin-dist') end # adminitrative distance def admin_dist=(val) prop_set('admin-dist', val) end # metric value (path cost) def metric prop_get('metric') end # metric value (path cost) def metric=(val) prop_set('metric', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def static_route maybe_register_subclass('static-route', StaticRoute.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def ipv6 @subclasses['ipv6'] ||= Ipv6.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def routing_table @subclasses['routing-table'] ||= RoutingTable.new(parent_instance: self, client: @client, create_children: @create_children) end class Multicast < ConfigClass def has_multiple_values?; false; end def _section :multicast end class InterfaceGroup < XML::ConfigClass def has_multiple_values?; true; end def _section :'interface-group' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Interface < XML::ConfigClass def has_multiple_values?; true; end def _section :interface end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def interface maybe_register_subclass('interface', Interface.new(parent_instance: self, client: @client, create_children: @create_children)) end class GroupPermission < ConfigClass def has_multiple_values?; false; end def _section :'group-permission' end class AnySourceMulticast < XML::ConfigClass def has_multiple_values?; true; end def _section :'any-source-multicast' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'16', 'help-string'=>'rule name'}, 'group-address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'group-address/prefix', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes', 'multicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'included'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'included'}} # rule name def name prop_get('@name') end # group-address/prefix def group_address prop_get('group-address') end # group-address/prefix def group_address=(val) prop_set('group-address', val) end # included def included prop_get('included') end # included def included=(val) prop_set('included', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def any_source_multicast maybe_register_subclass('any-source-multicast', AnySourceMulticast.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceSpecificMulticast < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-specific-multicast' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'16', 'help-string'=>'rule name'}, 'group-address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'group-address/prefix', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes', 'multicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'source-address'=>{'node-type'=>'element', 'type'=>'multiple', 'ipv4-only'=>'yes', 'help-string'=>'source-address/prefix', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}}}, 'included'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'included'}} # rule name def name prop_get('@name') end # group-address/prefix def group_address prop_get('group-address') end # group-address/prefix def group_address=(val) prop_set('group-address', val) end # source-address/prefix def source_address prop_get('source-address') end # source-address/prefix def source_address=(val) prop_set('source-address', val) end # included def included prop_get('included') end # included def included=(val) prop_set('included', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def source_specific_multicast maybe_register_subclass('source-specific-multicast', SourceSpecificMulticast.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def group_permission @subclasses['group-permission'] ||= GroupPermission.new(parent_instance: self, client: @client, create_children: @create_children) end class Igmp < ConfigClass def has_multiple_values?; false; end def _section :igmp end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'enable IGMP'}, 'version'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'3', 'help-string'=>'IGMP version number', 'enum'=>[{'value'=>'1'}, {'value'=>'2'}, {'value'=>'3'}]}, 'mode'=>{'node-type'=>'element', 'optional'=>'yes', 'disabled'=>'yes', 'type'=>'multiple', 'default'=>'router', 'help-string'=>'IGMP mode', 'multi-types'=>{'enum'=>[{'value'=>'router'}, {'value'=>'host'}]}}, 'max-query-response-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'default'=>'10', 'min'=>'0', 'max'=>'3174.4', 'help-string'=>'maximum query response time for general group membership queries in seconds'}, 'query-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'125', 'min'=>'1', 'max'=>'31744', 'help-string'=>'interval between group/source specific query messages'}, 'last-member-query-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'default'=>'1', 'min'=>'0.1', 'max'=>'3174.4', 'help-string'=>'interval between group/source specific query messages (including those sent in response of leave group messages)'}, 'immediate-leave'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'leave group immediately when a leave message is received'}, 'robustness'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'2', 'help-string'=>'robustness variable', 'enum'=>[{'value'=>'1'}, {'value'=>'2'}, {'value'=>'3'}, {'value'=>'4'}, {'value'=>'5'}, {'value'=>'6'}, {'value'=>'7'}]}, 'max-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unlimited', 'help-string'=>'maximum number of groups allowed on this interface', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'65535'}, 'enum'=>[{'value'=>'unlimited'}]}}, 'max-sources'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unlimited', 'help-string'=>'maximum number of source-specific memberships allowed on this interface', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'65535'}, 'enum'=>[{'value'=>'unlimited'}]}}, 'router-alert-policing'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'drop IGMP packets without Router Alert option'}} # enable IGMP def enable prop_get('enable') end # enable IGMP def enable=(val) prop_set('enable', val) end # IGMP version number def version prop_get('version') end # IGMP version number def version=(val) prop_set('version', val) end # IGMP mode def mode prop_get('mode') end # IGMP mode def mode=(val) prop_set('mode', val) end # maximum query response time for general group membership queries in seconds def max_query_response_time prop_get('max-query-response-time') end # maximum query response time for general group membership queries in seconds def max_query_response_time=(val) prop_set('max-query-response-time', val) end # interval between group/source specific query messages def query_interval prop_get('query-interval') end # interval between group/source specific query messages def query_interval=(val) prop_set('query-interval', val) end # interval between group/source specific query messages (including those sent in response of leave group messages) def last_member_query_interval prop_get('last-member-query-interval') end # interval between group/source specific query messages (including those sent in response of leave group messages) def last_member_query_interval=(val) prop_set('last-member-query-interval', val) end # leave group immediately when a leave message is received def immediate_leave prop_get('immediate-leave') end # leave group immediately when a leave message is received def immediate_leave=(val) prop_set('immediate-leave', val) end # robustness variable def robustness prop_get('robustness') end # robustness variable def robustness=(val) prop_set('robustness', val) end # maximum number of groups allowed on this interface def max_groups prop_get('max-groups') end # maximum number of groups allowed on this interface def max_groups=(val) prop_set('max-groups', val) end # maximum number of source-specific memberships allowed on this interface def max_sources prop_get('max-sources') end # maximum number of source-specific memberships allowed on this interface def max_sources=(val) prop_set('max-sources', val) end # drop IGMP packets without Router Alert option def router_alert_policing prop_get('router-alert-policing') end # drop IGMP packets without Router Alert option def router_alert_policing=(val) prop_set('router-alert-policing', val) end end def igmp @subclasses['igmp'] ||= Igmp.new(parent_instance: self, client: @client, create_children: @create_children) end class Pim < ConfigClass def has_multiple_values?; false; end def _section :pim end class AllowedNeighbors < XML::ConfigClass def has_multiple_values?; true; end def _section :'allowed-neighbors' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'multiple', 'help-string'=>'ip address/prefix', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}}}} # ip address/prefix def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def allowed_neighbors maybe_register_subclass('allowed-neighbors', AllowedNeighbors.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'assert-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65534', 'default'=>'177', 'help-string'=>'interval between PIM Assert messages, in seconds'}, 'hello-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'18000', 'default'=>'30', 'help-string'=>'interval between PIM Hello messages, in seconds, a value of 0 represents an \'infinite\' interval'}, 'join-prune-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'18000', 'default'=>'60', 'help-string'=>'interval between PIM Join/Prune messages, in seconds'}, 'dr-priority'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'default'=>'1', 'help-string'=>'Designated Router priority'}, 'bsr-border'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'interface is bootstrap border'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # interval between PIM Assert messages, in seconds def assert_interval prop_get('assert-interval') end # interval between PIM Assert messages, in seconds def assert_interval=(val) prop_set('assert-interval', val) end # interval between PIM Hello messages, in seconds, a value of 0 represents an 'infinite' interval def hello_interval prop_get('hello-interval') end # interval between PIM Hello messages, in seconds, a value of 0 represents an 'infinite' interval def hello_interval=(val) prop_set('hello-interval', val) end # interval between PIM Join/Prune messages, in seconds def join_prune_interval prop_get('join-prune-interval') end # interval between PIM Join/Prune messages, in seconds def join_prune_interval=(val) prop_set('join-prune-interval', val) end # Designated Router priority def dr_priority prop_get('dr-priority') end # Designated Router priority def dr_priority=(val) prop_set('dr-priority', val) end # interface is bootstrap border def bsr_border prop_get('bsr-border') end # interface is bootstrap border def bsr_border=(val) prop_set('bsr-border', val) end end def pim @subclasses['pim'] ||= Pim.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'16', 'help-string'=>'interface group name'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}} # interface group name def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def interface_group maybe_register_subclass('interface-group', InterfaceGroup.new(parent_instance: self, client: @client, create_children: @create_children)) end class SsmAddressSpace < XML::ConfigClass def has_multiple_values?; true; end def _section :'ssm-address-space' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'16', 'help-string'=>'rule name'}, 'group-address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'group-address/prefix', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes', 'multicast-only'=>'yes', 'default'=>'232.0.0.0/8'}, 'string'=>{'maxlen'=>'63'}}}, 'included'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'included'}} # rule name def name prop_get('@name') end # group-address/prefix def group_address prop_get('group-address') end # group-address/prefix def group_address=(val) prop_set('group-address', val) end # included def included prop_get('included') end # included def included=(val) prop_set('included', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ssm_address_space maybe_register_subclass('ssm-address-space', SsmAddressSpace.new(parent_instance: self, client: @client, create_children: @create_children)) end class SptThreshold < XML::ConfigClass def has_multiple_values?; true; end def _section :'spt-threshold' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{'multicast-only'=>'yes', 'ipv4-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'threshold'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'0', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'4294967295', 'help-string'=>'data rate (kbps) at which a SPT switch is triggered'}, 'enum'=>[{'value'=>'never', 'help-string'=>'do not switch to spt'}, {'value'=>'0', 'help-string'=>'switch on first data packet'}]}}} def name prop_get('@name') end def threshold prop_get('threshold') end def threshold=(val) prop_set('threshold', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def spt_threshold maybe_register_subclass('spt-threshold', SptThreshold.new(parent_instance: self, client: @client, create_children: @create_children)) end class Rp < ConfigClass def has_multiple_values?; false; end def _section :rp end class LocalRp < ConfigClass def has_multiple_values?; false; end def _section :'local-rp' end class StaticRp < ConfigClass def has_multiple_values?; false; end def _section :'static-rp' end class GroupAddresses < XML::ConfigClass def has_multiple_values?; true; end def _section :'group-addresses' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes', 'multicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def group_addresses maybe_register_subclass('group-addresses', GroupAddresses.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'interface'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'local RP interface'}, 'address'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'local RP address'}, 'override'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Override learned RP for the same group'}} # local RP interface def interface prop_get('interface') end # local RP interface def interface=(val) prop_set('interface', val) end # local RP address def address prop_get('address') end # local RP address def address=(val) prop_set('address', val) end # Override learned RP for the same group def override prop_get('override') end # Override learned RP for the same group def override=(val) prop_set('override', val) end end def static_rp @subclasses['static-rp'] ||= StaticRp.new(parent_instance: self, client: @client, create_children: @create_children) end class CandidateRp < ConfigClass def has_multiple_values?; false; end def _section :'candidate-rp' end class GroupAddresses < XML::ConfigClass def has_multiple_values?; true; end def _section :'group-addresses' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes', 'multicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def group_addresses maybe_register_subclass('group-addresses', GroupAddresses.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'candidate RP interface'}, 'address'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'candidate RP address'}, 'priority'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255', 'default'=>'192', 'help-string'=>'The priority for this candidate rt'}, 'advertisement-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'26214', 'default'=>'60', 'help-string'=>'The time interval in seconds between candidate rp advertisements'}} # candidate RP interface def interface prop_get('interface') end # candidate RP interface def interface=(val) prop_set('interface', val) end # candidate RP address def address prop_get('address') end # candidate RP address def address=(val) prop_set('address', val) end # The priority for this candidate rt def priority prop_get('priority') end # The priority for this candidate rt def priority=(val) prop_set('priority', val) end # The time interval in seconds between candidate rp advertisements def advertisement_interval prop_get('advertisement-interval') end # The time interval in seconds between candidate rp advertisements def advertisement_interval=(val) prop_set('advertisement-interval', val) end end def candidate_rp @subclasses['candidate-rp'] ||= CandidateRp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def local_rp @subclasses['local-rp'] ||= LocalRp.new(parent_instance: self, client: @client, create_children: @create_children) end class ExternalRp < XML::ConfigClass def has_multiple_values?; true; end def _section :'external-rp' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class GroupAddresses < XML::ConfigClass def has_multiple_values?; true; end def _section :'group-addresses' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes', 'multicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def group_addresses maybe_register_subclass('group-addresses', GroupAddresses.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'multiple', 'help-string'=>'RP address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'ipv4-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'override'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Override learned RP for the same group'}} # RP address def name prop_get('@name') end # Override learned RP for the same group def override prop_get('override') end # Override learned RP for the same group def override=(val) prop_set('override', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def external_rp maybe_register_subclass('external-rp', ExternalRp.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def rp @subclasses['rp'] ||= Rp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable multicast protocol'}, 'mode'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'disabled'=>'yes', 'default'=>'PIM-SM', 'enum'=>[{'value'=>'PIM-SM', 'help-string'=>'PIM Sparse Mode'}, {'value'=>'IGMP-Proxy', 'help-string'=>'IGMP Proxy'}]}, 'route-ageout-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'210', 'min'=>'210', 'max'=>'7200', 'help-string'=>'time to wait before aging out a multicast route after data stops, in seconds'}} # enable multicast protocol def enable prop_get('enable') end # enable multicast protocol def enable=(val) prop_set('enable', val) end def mode prop_get('mode') end def mode=(val) prop_set('mode', val) end # time to wait before aging out a multicast route after data stops, in seconds def route_ageout_time prop_get('route-ageout-time') end # time to wait before aging out a multicast route after data stops, in seconds def route_ageout_time=(val) prop_set('route-ageout-time', val) end end def multicast @subclasses['multicast'] ||= Multicast.new(parent_instance: self, client: @client, create_children: @create_children) end class Protocol < ConfigClass def has_multiple_values?; false; end def _section :protocol end class RedistProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'redist-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Filter < ConfigClass def has_multiple_values?; false; end def _section :filter end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'enum'=>[{'value'=>'static'}, {'value'=>'connect'}, {'value'=>'rip'}, {'value'=>'ospf'}, {'value'=>'bgp'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end class Interface < XML::ConfigClass def has_multiple_values?; true; end def _section :interface end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def interface maybe_register_subclass('interface', Interface.new(parent_instance: self, client: @client, create_children: @create_children)) end class Destination < XML::ConfigClass def has_multiple_values?; true; end def _section :destination end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination maybe_register_subclass('destination', Destination.new(parent_instance: self, client: @client, create_children: @create_children)) end class Nexthop < XML::ConfigClass def has_multiple_values?; true; end def _section :nexthop end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def nexthop maybe_register_subclass('nexthop', Nexthop.new(parent_instance: self, client: @client, create_children: @create_children)) end class Ospf < ConfigClass def has_multiple_values?; false; end def _section :ospf end class PathType < XML::ConfigClass def has_multiple_values?; true; end def _section :'path-type' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'intra-area'}, {'value'=>'inter-area'}, {'value'=>'ext-1'}, {'value'=>'ext-2'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def path_type maybe_register_subclass('path-type', PathType.new(parent_instance: self, client: @client, create_children: @create_children)) end class Area < XML::ConfigClass def has_multiple_values?; true; end def _section :area end @props = {'member'=>{'node-type'=>'element', 'type'=>'ipspec', 'unicast-only'=>'yes'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def area maybe_register_subclass('area', Area.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'4294967295'}, 'ipspec'=>{'unicast-only'=>'yes', 'ipv4-only'=>'yes'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def ospf @subclasses['ospf'] ||= Ospf.new(parent_instance: self, client: @client, create_children: @create_children) end class Bgp < ConfigClass def has_multiple_values?; false; end def _section :bgp end class Community < XML::ConfigClass def has_multiple_values?; true; end def _section :community end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'max-count'=>'10', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'4294967295', 'help-string'=>'32-bit value in decimal'}, 'string'=>{'regex'=>'^[0][xX][0-9A-Fa-f]{8}$|^[1-9][0-9]{0,4}:[1-9][0-9]{0,4}$', 'maxlen'=>'11', 'help-string'=>'32-bit value in hex, or in AS:VAL format, AS and VAL each in 0-65535 range'}, 'enum'=>[{'value'=>'no-export', 'help-string'=>'well known community value: NO_EXPORT'}, {'value'=>'no-advertise', 'help-string'=>'well known community value: NO_ADVERTISE'}, {'value'=>'local-as', 'help-string'=>'well known community value: NO_EXPORT_SUBCONFED'}, {'value'=>'nopeer', 'help-string'=>'well known community value: NOPEER'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def community maybe_register_subclass('community', Community.new(parent_instance: self, client: @client, create_children: @create_children)) end class ExtendedCommunity < XML::ConfigClass def has_multiple_values?; true; end def _section :'extended-community' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'max-count'=>'5', 'multi-types'=>{'string'=>{'regex'=>'^([0][xX][[:xdigit:]]{16,16})|(([[:digit:]]+|target|origin):[[:digit:].]+:[[:digit:].]+)$', 'maxlen'=>'40', 'help-string'=>'64-bit value in hex, or one of TYPE:AS:VAL, TYPE:IP:VAL, TYPE:A.B:VAL format, TYPE is \'target\', \'origin\' or decimal number (0-65535)'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def extended_community maybe_register_subclass('extended-community', ExtendedCommunity.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def bgp @subclasses['bgp'] ||= Bgp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def filter @subclasses['filter'] ||= Filter.new(parent_instance: self, client: @client, create_children: @create_children) end class Action < XML::ConfigClass def has_multiple_values?; true; end def _section :action end class NoRedist < ConfigClass def has_multiple_values?; false; end def _section :'no-redist' end @props = {} end def no_redist @subclasses['no-redist'] ||= NoRedist.new(parent_instance: self, client: @client, create_children: @create_children) end class Redist < ConfigClass def has_multiple_values?; false; end def _section :redist end @props = {} end def redist @subclasses['redist'] ||= Redist.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def action maybe_register_subclass('action', Action.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'16', 'help-string'=>'profile name'}, 'priority'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'help-string'=>'priority'}} # profile name def name prop_get('@name') end # priority def priority prop_get('priority') end # priority def priority=(val) prop_set('priority', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def redist_profile maybe_register_subclass('redist-profile', RedistProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class RedistProfileIpv6 < XML::ConfigClass def has_multiple_values?; true; end def _section :'redist-profile-ipv6' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Filter < ConfigClass def has_multiple_values?; false; end def _section :filter end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'enum'=>[{'value'=>'static'}, {'value'=>'connect'}, {'value'=>'ospfv3'}, {'value'=>'bgp'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end class Interface < XML::ConfigClass def has_multiple_values?; true; end def _section :interface end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def interface maybe_register_subclass('interface', Interface.new(parent_instance: self, client: @client, create_children: @create_children)) end class Destination < XML::ConfigClass def has_multiple_values?; true; end def _section :destination end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{'ipv6-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination maybe_register_subclass('destination', Destination.new(parent_instance: self, client: @client, create_children: @create_children)) end class Nexthop < XML::ConfigClass def has_multiple_values?; true; end def _section :nexthop end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{'ipv6-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def nexthop maybe_register_subclass('nexthop', Nexthop.new(parent_instance: self, client: @client, create_children: @create_children)) end class Ospfv3 < ConfigClass def has_multiple_values?; false; end def _section :ospfv3 end class PathType < XML::ConfigClass def has_multiple_values?; true; end def _section :'path-type' end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'intra-area'}, {'value'=>'inter-area'}, {'value'=>'ext-1'}, {'value'=>'ext-2'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def path_type maybe_register_subclass('path-type', PathType.new(parent_instance: self, client: @client, create_children: @create_children)) end class Area < XML::ConfigClass def has_multiple_values?; true; end def _section :area end @props = {'member'=>{'node-type'=>'element', 'type'=>'ipspec', 'unicast-only'=>'yes'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def area maybe_register_subclass('area', Area.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'4294967295'}, 'ipspec'=>{'unicast-only'=>'yes', 'ipv4-only'=>'yes'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def ospfv3 @subclasses['ospfv3'] ||= Ospfv3.new(parent_instance: self, client: @client, create_children: @create_children) end class Bgp < ConfigClass def has_multiple_values?; false; end def _section :bgp end class Community < XML::ConfigClass def has_multiple_values?; true; end def _section :community end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'max-count'=>'10', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'4294967295', 'help-string'=>'32-bit value in decimal'}, 'string'=>{'regex'=>'^[0][xX][0-9A-Fa-f]{8}$|^[1-9][0-9]{0,4}:[1-9][0-9]{0,4}$', 'maxlen'=>'11', 'help-string'=>'32-bit value in hex, or in AS:VAL format, AS and VAL each in 0-65535 range'}, 'enum'=>[{'value'=>'no-export', 'help-string'=>'well known community value: NO_EXPORT'}, {'value'=>'no-advertise', 'help-string'=>'well known community value: NO_ADVERTISE'}, {'value'=>'local-as', 'help-string'=>'well known community value: NO_EXPORT_SUBCONFED'}, {'value'=>'nopeer', 'help-string'=>'well known community value: NOPEER'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def community maybe_register_subclass('community', Community.new(parent_instance: self, client: @client, create_children: @create_children)) end class ExtendedCommunity < XML::ConfigClass def has_multiple_values?; true; end def _section :'extended-community' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'max-count'=>'5', 'multi-types'=>{'string'=>{'regex'=>'^([0][xX][[:xdigit:]]{16,16})|(([[:digit:]]+|target|origin):[[:digit:].]+:[[:digit:].]+)$', 'maxlen'=>'40', 'help-string'=>'64-bit value in hex, or one of TYPE:AS:VAL, TYPE:IP:VAL, TYPE:A.B:VAL format, TYPE is \'target\', \'origin\' or decimal number (0-65535)'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def extended_community maybe_register_subclass('extended-community', ExtendedCommunity.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def bgp @subclasses['bgp'] ||= Bgp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def filter @subclasses['filter'] ||= Filter.new(parent_instance: self, client: @client, create_children: @create_children) end class Action < XML::ConfigClass def has_multiple_values?; true; end def _section :action end class NoRedist < ConfigClass def has_multiple_values?; false; end def _section :'no-redist' end @props = {} end def no_redist @subclasses['no-redist'] ||= NoRedist.new(parent_instance: self, client: @client, create_children: @create_children) end class Redist < ConfigClass def has_multiple_values?; false; end def _section :redist end @props = {} end def redist @subclasses['redist'] ||= Redist.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def action maybe_register_subclass('action', Action.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'46', 'help-string'=>'profile name'}, 'priority'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'help-string'=>'priority'}} # profile name def name prop_get('@name') end # priority def priority prop_get('priority') end # priority def priority=(val) prop_set('priority', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def redist_profile_ipv6 maybe_register_subclass('redist-profile-ipv6', RedistProfileIpv6.new(parent_instance: self, client: @client, create_children: @create_children)) end class Rip < ConfigClass def has_multiple_values?; false; end def _section :rip end class Timers < ConfigClass def has_multiple_values?; false; end def _section :timers end @props = {'interval-seconds'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'60', 'default'=>'1', 'help-string'=>'timer interval value in seconds'}, 'update-intervals'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'default'=>'30', 'help-string'=>'number of intervals take between route advertisement (RIP response packet)'}, 'expire-intervals'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'default'=>'180', 'help-string'=>'number of intervals take between route last updated to its expiration'}, 'delete-intervals'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'default'=>'120', 'help-string'=>'number of intervals take between route expiration to its deletion'}} # timer interval value in seconds def interval_seconds prop_get('interval-seconds') end # timer interval value in seconds def interval_seconds=(val) prop_set('interval-seconds', val) end # number of intervals take between route advertisement (RIP response packet) def update_intervals prop_get('update-intervals') end # number of intervals take between route advertisement (RIP response packet) def update_intervals=(val) prop_set('update-intervals', val) end # number of intervals take between route last updated to its expiration def expire_intervals prop_get('expire-intervals') end # number of intervals take between route last updated to its expiration def expire_intervals=(val) prop_set('expire-intervals', val) end # number of intervals take between route expiration to its deletion def delete_intervals prop_get('delete-intervals') end # number of intervals take between route expiration to its deletion def delete_intervals=(val) prop_set('delete-intervals', val) end end def timers @subclasses['timers'] ||= Timers.new(parent_instance: self, client: @client, create_children: @create_children) end class AuthProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'auth-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Md5 < XML::ConfigClass def has_multiple_values?; true; end def _section :md5 end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255', 'help-string'=>'Key-ID'}, 'key'=>{'node-type'=>'element', 'type'=>'string', 'encrypt'=>'yes', 'skip-commit-validation'=>'yes', 'maxlen'=>'16', 'help-string'=>'key for the authentication'}, 'preferred'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'prefer to use this key when sending packet'}} # Key-ID def name prop_get('@name') end # key for the authentication def key prop_get('key') end # key for the authentication def key=(val) prop_set('key', val) end # prefer to use this key when sending packet def preferred prop_get('preferred') end # prefer to use this key when sending packet def preferred=(val) prop_set('preferred', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def md5 maybe_register_subclass('md5', Md5.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'31'}, 'password'=>{'node-type'=>'element', 'optional'=>'yes', 'encrypt'=>'yes', 'type'=>'string', 'maxlen'=>'16', 'skip-commit-validation'=>'yes', 'help-string'=>'Simple password authentication'}} def name prop_get('@name') end # Simple password authentication def password prop_get('password') end # Simple password authentication def password=(val) prop_set('password', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def auth_profile maybe_register_subclass('auth-profile', AuthProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class GlobalBfd < ConfigClass def has_multiple_values?; false; end def _section :'global-bfd' end @props = {'profile'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'None', 'help-string'=>'BFD profile', 'optional'=>'yes', 'multi-types'=>{'string'=>{}, 'enum'=>[{'value'=>'None', 'help-string'=>'Disable BFD'}]}}} # BFD profile def profile prop_get('profile') end # BFD profile def profile=(val) prop_set('profile', val) end end def global_bfd @subclasses['global-bfd'] ||= GlobalBfd.new(parent_instance: self, client: @client, create_children: @create_children) end class Interface < XML::ConfigClass def has_multiple_values?; true; end def _section :interface end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class DefaultRoute < XML::ConfigClass def has_multiple_values?; true; end def _section :'default-route' end class Disable < ConfigClass def has_multiple_values?; false; end def _section :disable end @props = {} end def disable @subclasses['disable'] ||= Disable.new(parent_instance: self, client: @client, create_children: @create_children) end class Advertise < ConfigClass def has_multiple_values?; false; end def _section :advertise end @props = {'metric'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'15', 'default'=>'10', 'help-string'=>'metric to be used when advertise default route via RIP'}} # metric to be used when advertise default route via RIP def metric prop_get('metric') end # metric to be used when advertise default route via RIP def metric=(val) prop_set('metric', val) end end def advertise @subclasses['advertise'] ||= Advertise.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def default_route maybe_register_subclass('default-route', DefaultRoute.new(parent_instance: self, client: @client, create_children: @create_children)) end class Bfd < ConfigClass def has_multiple_values?; false; end def _section :bfd end @props = {'profile'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'Inherit-vr-global-setting', 'help-string'=>'BFD profile', 'optional'=>'yes', 'multi-types'=>{'string'=>{}, 'enum'=>[{'value'=>'None', 'help-string'=>'Disable BFD'}, {'value'=>'Inherit-vr-global-setting', 'help-string'=>'Inherit Protocol\'s Global BFD Profile'}]}}} # BFD profile def profile prop_get('profile') end # BFD profile def profile=(val) prop_set('profile', val) end end def bfd @subclasses['bfd'] ||= Bfd.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'interface name'}, 'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'authentication'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes', 'help-string'=>'Authentication options'}, 'mode'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'normal', 'enum'=>[{'value'=>'normal', 'help-string'=>'send and receive'}, {'value'=>'passive', 'help-string'=>'receive only'}, {'value'=>'send-only', 'help-string'=>'send only, do not receive RIP updates'}]}} # interface name def name prop_get('@name') end def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Authentication options def authentication prop_get('authentication') end # Authentication options def authentication=(val) prop_set('authentication', val) end def mode prop_get('mode') end def mode=(val) prop_set('mode', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def interface maybe_register_subclass('interface', Interface.new(parent_instance: self, client: @client, create_children: @create_children)) end class ExportRules < XML::ConfigClass def has_multiple_values?; true; end def _section :'export-rules' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'16', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'16', 'help-string'=>'metric value'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # metric value def metric prop_get('metric') end # metric value def metric=(val) prop_set('metric', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def export_rules maybe_register_subclass('export-rules', ExportRules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'reject-default-route'=>{'node-type'=>'element', 'optional'=>'yes', 'help-string'=>'do not learn default route from RIP', 'type'=>'bool', 'default'=>'yes'}, 'allow-redist-default-route'=>{'node-type'=>'element', 'optional'=>'yes', 'help-string'=>'allow redistribute default route to RIP', 'type'=>'bool', 'default'=>'no'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # do not learn default route from RIP def reject_default_route prop_get('reject-default-route') end # do not learn default route from RIP def reject_default_route=(val) prop_set('reject-default-route', val) end # allow redistribute default route to RIP def allow_redist_default_route prop_get('allow-redist-default-route') end # allow redistribute default route to RIP def allow_redist_default_route=(val) prop_set('allow-redist-default-route', val) end end def rip @subclasses['rip'] ||= Rip.new(parent_instance: self, client: @client, create_children: @create_children) end class Ospf < ConfigClass def has_multiple_values?; false; end def _section :ospf end class FloodPrevention < ConfigClass def has_multiple_values?; false; end def _section :'flood-prevention' end class Hello < ConfigClass def has_multiple_values?; false; end def _section :hello end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'max-packet'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'64', 'default'=>'8', 'help-string'=>'Maximum of outstanding Hello packets'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Maximum of outstanding Hello packets def max_packet prop_get('max-packet') end # Maximum of outstanding Hello packets def max_packet=(val) prop_set('max-packet', val) end end def hello @subclasses['hello'] ||= Hello.new(parent_instance: self, client: @client, create_children: @create_children) end class Lsa < ConfigClass def has_multiple_values?; false; end def _section :lsa end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'max-packet'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'64', 'default'=>'8', 'help-string'=>'Maximum of outstanding LSAs'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Maximum of outstanding LSAs def max_packet prop_get('max-packet') end # Maximum of outstanding LSAs def max_packet=(val) prop_set('max-packet', val) end end def lsa @subclasses['lsa'] ||= Lsa.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def flood_prevention @subclasses['flood-prevention'] ||= FloodPrevention.new(parent_instance: self, client: @client, create_children: @create_children) end class Timers < ConfigClass def has_multiple_values?; false; end def _section :timers end @props = {'spf-calculation-delay'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0.05', 'max'=>'10', 'default'=>'5', 'help-string'=>'Delay in seconds before running the SPF algorithm'}, 'lsa-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'1', 'max'=>'10', 'default'=>'5', 'help-string'=>'The minimum time in seconds between distinct originations of any particular LSA'}} # Delay in seconds before running the SPF algorithm def spf_calculation_delay prop_get('spf-calculation-delay') end # Delay in seconds before running the SPF algorithm def spf_calculation_delay=(val) prop_set('spf-calculation-delay', val) end # The minimum time in seconds between distinct originations of any particular LSA def lsa_interval prop_get('lsa-interval') end # The minimum time in seconds between distinct originations of any particular LSA def lsa_interval=(val) prop_set('lsa-interval', val) end end def timers @subclasses['timers'] ||= Timers.new(parent_instance: self, client: @client, create_children: @create_children) end class AuthProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'auth-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Md5 < XML::ConfigClass def has_multiple_values?; true; end def _section :md5 end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255', 'help-string'=>'Key-ID'}, 'key'=>{'node-type'=>'element', 'encrypt'=>'yes', 'type'=>'string', 'skip-commit-validation'=>'yes', 'maxlen'=>'16', 'help-string'=>'key for the authentication'}, 'preferred'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'use this key when sending packet'}} # Key-ID def name prop_get('@name') end # key for the authentication def key prop_get('key') end # key for the authentication def key=(val) prop_set('key', val) end # use this key when sending packet def preferred prop_get('preferred') end # use this key when sending packet def preferred=(val) prop_set('preferred', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def md5 maybe_register_subclass('md5', Md5.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'31'}, 'password'=>{'node-type'=>'element', 'optional'=>'yes', 'encrypt'=>'yes', 'skip-commit-validation'=>'yes', 'type'=>'string', 'maxlen'=>'8', 'help-string'=>'Simple password authentication'}} def name prop_get('@name') end # Simple password authentication def password prop_get('password') end # Simple password authentication def password=(val) prop_set('password', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def auth_profile maybe_register_subclass('auth-profile', AuthProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class GlobalBfd < ConfigClass def has_multiple_values?; false; end def _section :'global-bfd' end @props = {'profile'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'None', 'help-string'=>'BFD profile', 'optional'=>'yes', 'multi-types'=>{'string'=>{}, 'enum'=>[{'value'=>'None', 'help-string'=>'Disable BFD'}]}}} # BFD profile def profile prop_get('profile') end # BFD profile def profile=(val) prop_set('profile', val) end end def global_bfd @subclasses['global-bfd'] ||= GlobalBfd.new(parent_instance: self, client: @client, create_children: @create_children) end class Area < XML::ConfigClass def has_multiple_values?; true; end def _section :area end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Normal < ConfigClass def has_multiple_values?; false; end def _section :normal end @props = {} end def normal @subclasses['normal'] ||= Normal.new(parent_instance: self, client: @client, create_children: @create_children) end class Stub < ConfigClass def has_multiple_values?; false; end def _section :stub end class DefaultRoute < XML::ConfigClass def has_multiple_values?; true; end def _section :'default-route' end class Disable < ConfigClass def has_multiple_values?; false; end def _section :disable end @props = {} end def disable @subclasses['disable'] ||= Disable.new(parent_instance: self, client: @client, create_children: @create_children) end class Advertise < ConfigClass def has_multiple_values?; false; end def _section :advertise end @props = {'metric'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'default'=>'10', 'help-string'=>'metric to be used when advertise default route within this stub area'}} # metric to be used when advertise default route within this stub area def metric prop_get('metric') end # metric to be used when advertise default route within this stub area def metric=(val) prop_set('metric', val) end end def advertise @subclasses['advertise'] ||= Advertise.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def default_route maybe_register_subclass('default-route', DefaultRoute.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'accept-summary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}} def accept_summary prop_get('accept-summary') end def accept_summary=(val) prop_set('accept-summary', val) end end def stub @subclasses['stub'] ||= Stub.new(parent_instance: self, client: @client, create_children: @create_children) end class Nssa < ConfigClass def has_multiple_values?; false; end def _section :nssa end class DefaultRoute < XML::ConfigClass def has_multiple_values?; true; end def _section :'default-route' end class Disable < ConfigClass def has_multiple_values?; false; end def _section :disable end @props = {} end def disable @subclasses['disable'] ||= Disable.new(parent_instance: self, client: @client, create_children: @create_children) end class Advertise < ConfigClass def has_multiple_values?; false; end def _section :advertise end @props = {'metric'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'default'=>'10', 'help-string'=>'metric to be used when advertise default route within this stub area'}, 'type'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'ext-2', 'help-string'=>'metric type to be used when advertise default route', 'enum'=>[{'value'=>'ext-1', 'help-string'=>'metric comparable with OSPF metric'}, {'value'=>'ext-2', 'help-string'=>'external route is always less preferred than OSPF routes'}]}} # metric to be used when advertise default route within this stub area def metric prop_get('metric') end # metric to be used when advertise default route within this stub area def metric=(val) prop_set('metric', val) end # metric type to be used when advertise default route def type prop_get('type') end # metric type to be used when advertise default route def type=(val) prop_set('type', val) end end def advertise @subclasses['advertise'] ||= Advertise.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def default_route maybe_register_subclass('default-route', DefaultRoute.new(parent_instance: self, client: @client, create_children: @create_children)) end class NssaExtRange < XML::ConfigClass def has_multiple_values?; true; end def _section :'nssa-ext-range' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Advertise < ConfigClass def has_multiple_values?; false; end def _section :advertise end @props = {} end def advertise @subclasses['advertise'] ||= Advertise.new(parent_instance: self, client: @client, create_children: @create_children) end class Suppress < ConfigClass def has_multiple_values?; false; end def _section :suppress end @props = {} end def suppress @subclasses['suppress'] ||= Suppress.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'help-string'=>'network/prefix'}} # network/prefix def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def nssa_ext_range maybe_register_subclass('nssa-ext-range', NssaExtRange.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'accept-summary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}} def accept_summary prop_get('accept-summary') end def accept_summary=(val) prop_set('accept-summary', val) end end def nssa @subclasses['nssa'] ||= Nssa.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end class Range < XML::ConfigClass def has_multiple_values?; true; end def _section :range end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Advertise < ConfigClass def has_multiple_values?; false; end def _section :advertise end @props = {} end def advertise @subclasses['advertise'] ||= Advertise.new(parent_instance: self, client: @client, create_children: @create_children) end class Suppress < ConfigClass def has_multiple_values?; false; end def _section :suppress end @props = {} end def suppress @subclasses['suppress'] ||= Suppress.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'multiple', 'help-string'=>'network/prefix', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}}}} # network/prefix def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def range maybe_register_subclass('range', Range.new(parent_instance: self, client: @client, create_children: @create_children)) end class Interface < XML::ConfigClass def has_multiple_values?; true; end def _section :interface end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class LinkType < XML::ConfigClass def has_multiple_values?; true; end def _section :'link-type' end class Broadcast < ConfigClass def has_multiple_values?; false; end def _section :broadcast end @props = {} end def broadcast @subclasses['broadcast'] ||= Broadcast.new(parent_instance: self, client: @client, create_children: @create_children) end class P2p < ConfigClass def has_multiple_values?; false; end def _section :p2p end @props = {} end def p2p @subclasses['p2p'] ||= P2p.new(parent_instance: self, client: @client, create_children: @create_children) end class P2mp < ConfigClass def has_multiple_values?; false; end def _section :p2mp end @props = {} end def p2mp @subclasses['p2mp'] ||= P2mp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def link_type maybe_register_subclass('link-type', LinkType.new(parent_instance: self, client: @client, create_children: @create_children)) end class Neighbor < XML::ConfigClass def has_multiple_values?; true; end def _section :neighbor end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'unicast-only'=>'yes'}, 'metric'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Cost of neighbor', 'disabled'=>'yes'}} def name prop_get('@name') end # Cost of neighbor def metric prop_get('metric') end # Cost of neighbor def metric=(val) prop_set('metric', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def neighbor maybe_register_subclass('neighbor', Neighbor.new(parent_instance: self, client: @client, create_children: @create_children)) end class Bfd < ConfigClass def has_multiple_values?; false; end def _section :bfd end @props = {'profile'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'Inherit-vr-global-setting', 'help-string'=>'BFD profile', 'optional'=>'yes', 'multi-types'=>{'string'=>{}, 'enum'=>[{'value'=>'None', 'help-string'=>'Disable BFD'}, {'value'=>'Inherit-vr-global-setting', 'help-string'=>'Inherit Protocol\'s Global BFD Profile'}]}}} # BFD profile def profile prop_get('profile') end # BFD profile def profile=(val) prop_set('profile', val) end end def bfd @subclasses['bfd'] ||= Bfd.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'interface name'}, 'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable OSPF in this interface'}, 'passive'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Suppress the sending of hello packets in this interface'}, 'metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'10', 'help-string'=>'Cost of OSPF interface'}, 'priority'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255', 'default'=>'1', 'help-string'=>'Priority for OSPF designated router selection'}, 'hello-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'3600', 'default'=>'10', 'help-string'=>'Interval (in seconds) to send Hello packets'}, 'dead-counts'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'3', 'max'=>'20', 'default'=>'4', 'help-string'=>'number of lost hello packets to declare router down'}, 'retransmit-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'5', 'help-string'=>'Interval (in seconds) to retransmit LSAs'}, 'transit-delay'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'1', 'help-string'=>'Estimated delay (in seconds) to transmit LSAs'}, 'authentication'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes', 'help-string'=>'Authentication options'}, 'gr-delay'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'10', 'default'=>'10', 'help-string'=>'Period (in seconds) used to send grace LSAs before first hello is sent when graceful restart starts'}} # interface name def name prop_get('@name') end # Enable OSPF in this interface def enable prop_get('enable') end # Enable OSPF in this interface def enable=(val) prop_set('enable', val) end # Suppress the sending of hello packets in this interface def passive prop_get('passive') end # Suppress the sending of hello packets in this interface def passive=(val) prop_set('passive', val) end # Cost of OSPF interface def metric prop_get('metric') end # Cost of OSPF interface def metric=(val) prop_set('metric', val) end # Priority for OSPF designated router selection def priority prop_get('priority') end # Priority for OSPF designated router selection def priority=(val) prop_set('priority', val) end # Interval (in seconds) to send Hello packets def hello_interval prop_get('hello-interval') end # Interval (in seconds) to send Hello packets def hello_interval=(val) prop_set('hello-interval', val) end # number of lost hello packets to declare router down def dead_counts prop_get('dead-counts') end # number of lost hello packets to declare router down def dead_counts=(val) prop_set('dead-counts', val) end # Interval (in seconds) to retransmit LSAs def retransmit_interval prop_get('retransmit-interval') end # Interval (in seconds) to retransmit LSAs def retransmit_interval=(val) prop_set('retransmit-interval', val) end # Estimated delay (in seconds) to transmit LSAs def transit_delay prop_get('transit-delay') end # Estimated delay (in seconds) to transmit LSAs def transit_delay=(val) prop_set('transit-delay', val) end # Authentication options def authentication prop_get('authentication') end # Authentication options def authentication=(val) prop_set('authentication', val) end # Period (in seconds) used to send grace LSAs before first hello is sent when graceful restart starts def gr_delay prop_get('gr-delay') end # Period (in seconds) used to send grace LSAs before first hello is sent when graceful restart starts def gr_delay=(val) prop_set('gr-delay', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def interface maybe_register_subclass('interface', Interface.new(parent_instance: self, client: @client, create_children: @create_children)) end class VirtualLink < XML::ConfigClass def has_multiple_values?; true; end def _section :'virtual-link' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Bfd < ConfigClass def has_multiple_values?; false; end def _section :bfd end @props = {'profile'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'Inherit-vr-global-setting', 'help-string'=>'BFD profile', 'optional'=>'yes', 'multi-types'=>{'string'=>{}, 'enum'=>[{'value'=>'None', 'help-string'=>'Disable BFD'}, {'value'=>'Inherit-vr-global-setting', 'help-string'=>'Inherit Protocol\'s Global BFD Profile'}]}}} # BFD profile def profile prop_get('profile') end # BFD profile def profile=(val) prop_set('profile', val) end end def bfd @subclasses['bfd'] ||= Bfd.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'help-string'=>'virtual-link name'}, 'neighbor-id'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'neighbor router id for virtual link', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'transit-area-id'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'id of transit area, cannot be backbone, stub or NSSA'}, 'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable this virtual link'}, 'hello-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'3600', 'default'=>'10', 'help-string'=>'Interval (in seconds) to send Hello packets'}, 'dead-counts'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'3', 'max'=>'20', 'default'=>'4', 'help-string'=>'number of lost hello packets to declare router down'}, 'retransmit-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'5', 'help-string'=>'Interval (in seconds) to retransmit LSAs'}, 'transit-delay'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'1', 'help-string'=>'Estimated delay (in seconds) to transmit LSAs'}, 'passive'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'disabled'=>'yes', 'help-string'=>'Suppress the sending of hello packets in this virtual link'}, 'authentication'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes', 'help-string'=>'Authentication options'}} # virtual-link name def name prop_get('@name') end # neighbor router id for virtual link def neighbor_id prop_get('neighbor-id') end # neighbor router id for virtual link def neighbor_id=(val) prop_set('neighbor-id', val) end # id of transit area, cannot be backbone, stub or NSSA def transit_area_id prop_get('transit-area-id') end # id of transit area, cannot be backbone, stub or NSSA def transit_area_id=(val) prop_set('transit-area-id', val) end # Enable this virtual link def enable prop_get('enable') end # Enable this virtual link def enable=(val) prop_set('enable', val) end # Interval (in seconds) to send Hello packets def hello_interval prop_get('hello-interval') end # Interval (in seconds) to send Hello packets def hello_interval=(val) prop_set('hello-interval', val) end # number of lost hello packets to declare router down def dead_counts prop_get('dead-counts') end # number of lost hello packets to declare router down def dead_counts=(val) prop_set('dead-counts', val) end # Interval (in seconds) to retransmit LSAs def retransmit_interval prop_get('retransmit-interval') end # Interval (in seconds) to retransmit LSAs def retransmit_interval=(val) prop_set('retransmit-interval', val) end # Estimated delay (in seconds) to transmit LSAs def transit_delay prop_get('transit-delay') end # Estimated delay (in seconds) to transmit LSAs def transit_delay=(val) prop_set('transit-delay', val) end # Suppress the sending of hello packets in this virtual link def passive prop_get('passive') end # Suppress the sending of hello packets in this virtual link def passive=(val) prop_set('passive', val) end # Authentication options def authentication prop_get('authentication') end # Authentication options def authentication=(val) prop_set('authentication', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def virtual_link maybe_register_subclass('virtual-link', VirtualLink.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'multiple', 'help-string'=>'Area ID', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # Area ID def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def area maybe_register_subclass('area', Area.new(parent_instance: self, client: @client, create_children: @create_children)) end class ExportRules < XML::ConfigClass def has_multiple_values?; true; end def _section :'export-rules' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'multiple', 'multi-types'=>{'string'=>{'help-string'=>'redistribute routes using redist-profile'}, 'ipspec'=>{'subnet-only'=>'yes', 'ipv4-only'=>'yes', 'help-string'=>'generate subnet for redistribution'}}}, 'new-path-type'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'ext-2', 'help-string'=>'path type to be used for imported external routes', 'enum'=>[{'value'=>'ext-1', 'help-string'=>'metric comparable with OSPF metric'}, {'value'=>'ext-2', 'help-string'=>'external route is always less preferred than OSPF routes'}]}, 'new-tag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'new tag value', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'4294967295'}, 'ipspec'=>{'unicast-only'=>'yes', 'ipv4-only'=>'yes'}}}, 'metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'metric value'}} def name prop_get('@name') end # path type to be used for imported external routes def new_path_type prop_get('new-path-type') end # path type to be used for imported external routes def new_path_type=(val) prop_set('new-path-type', val) end # new tag value def new_tag prop_get('new-tag') end # new tag value def new_tag=(val) prop_set('new-tag', val) end # metric value def metric prop_get('metric') end # metric value def metric=(val) prop_set('metric', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def export_rules maybe_register_subclass('export-rules', ExportRules.new(parent_instance: self, client: @client, create_children: @create_children)) end class GracefulRestart < ConfigClass def has_multiple_values?; false; end def _section :'graceful-restart' end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'grace-period'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'5', 'max'=>'1800', 'default'=>'120', 'help-string'=>'maximum local restarting time (in seconds)'}, 'helper-enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'enable/disable helping neighboring routers to graceful restart'}, 'strict-LSA-checking'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'enable/disable strict LSA checking. Abort GR if lsa change is detected'}, 'max-neighbor-restart-time'=>{'node-type'=>'element', 'optional'=>'yes', 'help-string'=>'maximum of neighbor restart time accepted (in seconds)', 'type'=>'rangedint', 'min'=>'5', 'max'=>'1800', 'default'=>'140'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # maximum local restarting time (in seconds) def grace_period prop_get('grace-period') end # maximum local restarting time (in seconds) def grace_period=(val) prop_set('grace-period', val) end # enable/disable helping neighboring routers to graceful restart def helper_enable prop_get('helper-enable') end # enable/disable helping neighboring routers to graceful restart def helper_enable=(val) prop_set('helper-enable', val) end # enable/disable strict LSA checking. Abort GR if lsa change is detected def strict_LSA_checking prop_get('strict-LSA-checking') end # enable/disable strict LSA checking. Abort GR if lsa change is detected def strict_LSA_checking=(val) prop_set('strict-LSA-checking', val) end # maximum of neighbor restart time accepted (in seconds) def max_neighbor_restart_time prop_get('max-neighbor-restart-time') end # maximum of neighbor restart time accepted (in seconds) def max_neighbor_restart_time=(val) prop_set('max-neighbor-restart-time', val) end end def graceful_restart @subclasses['graceful-restart'] ||= GracefulRestart.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'router-id'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'router id of this OSPF instance', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'ipv4-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'reject-default-route'=>{'node-type'=>'element', 'optional'=>'yes', 'help-string'=>'do not learn default route from OSPF', 'type'=>'bool', 'default'=>'yes'}, 'allow-redist-default-route'=>{'node-type'=>'element', 'optional'=>'yes', 'help-string'=>'allow redistribute default route to OSPF', 'type'=>'bool', 'default'=>'no'}, 'rfc1583'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'rfc-1583 compatibility'}} # router id of this OSPF instance def router_id prop_get('router-id') end # router id of this OSPF instance def router_id=(val) prop_set('router-id', val) end def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # do not learn default route from OSPF def reject_default_route prop_get('reject-default-route') end # do not learn default route from OSPF def reject_default_route=(val) prop_set('reject-default-route', val) end # allow redistribute default route to OSPF def allow_redist_default_route prop_get('allow-redist-default-route') end # allow redistribute default route to OSPF def allow_redist_default_route=(val) prop_set('allow-redist-default-route', val) end # rfc-1583 compatibility def rfc1583 prop_get('rfc1583') end # rfc-1583 compatibility def rfc1583=(val) prop_set('rfc1583', val) end end def ospf @subclasses['ospf'] ||= Ospf.new(parent_instance: self, client: @client, create_children: @create_children) end class Ospfv3 < ConfigClass def has_multiple_values?; false; end def _section :ospfv3 end class Timers < ConfigClass def has_multiple_values?; false; end def _section :timers end @props = {'spf-calculation-delay'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0.05', 'max'=>'10', 'default'=>'5', 'help-string'=>'Delay in seconds before running the SPF algorithm'}, 'lsa-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'1', 'max'=>'10', 'default'=>'5', 'help-string'=>'The minimum time in seconds between distinct originations of any particular LSA'}} # Delay in seconds before running the SPF algorithm def spf_calculation_delay prop_get('spf-calculation-delay') end # Delay in seconds before running the SPF algorithm def spf_calculation_delay=(val) prop_set('spf-calculation-delay', val) end # The minimum time in seconds between distinct originations of any particular LSA def lsa_interval prop_get('lsa-interval') end # The minimum time in seconds between distinct originations of any particular LSA def lsa_interval=(val) prop_set('lsa-interval', val) end end def timers @subclasses['timers'] ||= Timers.new(parent_instance: self, client: @client, create_children: @create_children) end class AuthProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'auth-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Esp < ConfigClass def has_multiple_values?; false; end def _section :esp end class Authentication < ConfigClass def has_multiple_values?; false; end def _section :authentication end class Md5 < ConfigClass def has_multiple_values?; false; end def _section :md5 end @props = {'key'=>{'node-type'=>'element', 'maxlen'=>'255', 'type'=>'string', 'encrypt'=>'yes', 'skip-commit-validation'=>'yes', 'show-help-tip'=>'yes', 'help-string'=>'hex format xxxxxxxx[-xxxxxxxx]... total 4 sections'}} # hex format xxxxxxxx[-xxxxxxxx]... total 4 sections def key prop_get('key') end # hex format xxxxxxxx[-xxxxxxxx]... total 4 sections def key=(val) prop_set('key', val) end end def md5 @subclasses['md5'] ||= Md5.new(parent_instance: self, client: @client, create_children: @create_children) end class Sha1 < ConfigClass def has_multiple_values?; false; end def _section :sha1 end @props = {'key'=>{'node-type'=>'element', 'maxlen'=>'255', 'type'=>'string', 'encrypt'=>'yes', 'skip-commit-validation'=>'yes', 'show-help-tip'=>'yes', 'help-string'=>'hex format xxxxxxxx[-xxxxxxxx]... total 5 sections'}} # hex format xxxxxxxx[-xxxxxxxx]... total 5 sections def key prop_get('key') end # hex format xxxxxxxx[-xxxxxxxx]... total 5 sections def key=(val) prop_set('key', val) end end def sha1 @subclasses['sha1'] ||= Sha1.new(parent_instance: self, client: @client, create_children: @create_children) end class Sha256 < ConfigClass def has_multiple_values?; false; end def _section :sha256 end @props = {'key'=>{'node-type'=>'element', 'maxlen'=>'255', 'type'=>'string', 'encrypt'=>'yes', 'skip-commit-validation'=>'yes', 'show-help-tip'=>'yes', 'help-string'=>'hex format xxxxxxxx[-xxxxxxxx]... total 8 sections'}} # hex format xxxxxxxx[-xxxxxxxx]... total 8 sections def key prop_get('key') end # hex format xxxxxxxx[-xxxxxxxx]... total 8 sections def key=(val) prop_set('key', val) end end def sha256 @subclasses['sha256'] ||= Sha256.new(parent_instance: self, client: @client, create_children: @create_children) end class Sha384 < ConfigClass def has_multiple_values?; false; end def _section :sha384 end @props = {'key'=>{'node-type'=>'element', 'maxlen'=>'255', 'type'=>'string', 'encrypt'=>'yes', 'skip-commit-validation'=>'yes', 'show-help-tip'=>'yes', 'help-string'=>'hex format xxxxxxxx[-xxxxxxxx]... total 12 sections'}} # hex format xxxxxxxx[-xxxxxxxx]... total 12 sections def key prop_get('key') end # hex format xxxxxxxx[-xxxxxxxx]... total 12 sections def key=(val) prop_set('key', val) end end def sha384 @subclasses['sha384'] ||= Sha384.new(parent_instance: self, client: @client, create_children: @create_children) end class Sha512 < ConfigClass def has_multiple_values?; false; end def _section :sha512 end @props = {'key'=>{'node-type'=>'element', 'maxlen'=>'255', 'type'=>'string', 'encrypt'=>'yes', 'skip-commit-validation'=>'yes', 'show-help-tip'=>'yes', 'help-string'=>'hex format xxxxxxxx[-xxxxxxxx]... total 16 sections'}} # hex format xxxxxxxx[-xxxxxxxx]... total 16 sections def key prop_get('key') end # hex format xxxxxxxx[-xxxxxxxx]... total 16 sections def key=(val) prop_set('key', val) end end def sha512 @subclasses['sha512'] ||= Sha512.new(parent_instance: self, client: @client, create_children: @create_children) end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def authentication @subclasses['authentication'] ||= Authentication.new(parent_instance: self, client: @client, create_children: @create_children) end class Encryption < ConfigClass def has_multiple_values?; false; end def _section :encryption end @props = {'algorithm'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'3des', 'prune-on'=>'cc-only-mode', 'help-string'=>'key is 192 bit'}, {'value'=>'aes-128-cbc', 'help-string'=>'key is 128 bit'}, {'value'=>'aes-192-cbc', 'help-string'=>'key is 192 bit'}, {'value'=>'aes-256-cbc', 'help-string'=>'key is 256 bit'}, {'value'=>'null', 'prune-on'=>'fips-mode'}]}, 'key'=>{'node-type'=>'element', 'optional'=>'yes', 'maxlen'=>'255', 'type'=>'string', 'encrypt'=>'yes', 'skip-commit-validation'=>'yes', 'show-help-tip'=>'yes', 'help-string'=>'hex format xxxxxxxx[-xxxxxxxx]... total number of sections: 3des: 6, aes128: 4, aes192: 6, aes256: 8'}} def algorithm prop_get('algorithm') end def algorithm=(val) prop_set('algorithm', val) end # hex format xxxxxxxx[-xxxxxxxx]... total number of sections: 3des: 6, aes128: 4, aes192: 6, aes256: 8 def key prop_get('key') end # hex format xxxxxxxx[-xxxxxxxx]... total number of sections: 3des: 6, aes128: 4, aes192: 6, aes256: 8 def key=(val) prop_set('key', val) end end def encryption @subclasses['encryption'] ||= Encryption.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def esp @subclasses['esp'] ||= Esp.new(parent_instance: self, client: @client, create_children: @create_children) end class Ah < ConfigClass def has_multiple_values?; false; end def _section :ah end class Md5 < ConfigClass def has_multiple_values?; false; end def _section :md5 end @props = {'key'=>{'node-type'=>'element', 'maxlen'=>'255', 'type'=>'string', 'encrypt'=>'yes', 'skip-commit-validation'=>'yes', 'show-help-tip'=>'yes', 'help-string'=>'hex format xxxxxxxx[-xxxxxxxx]... total 4 sections'}} # hex format xxxxxxxx[-xxxxxxxx]... total 4 sections def key prop_get('key') end # hex format xxxxxxxx[-xxxxxxxx]... total 4 sections def key=(val) prop_set('key', val) end end def md5 @subclasses['md5'] ||= Md5.new(parent_instance: self, client: @client, create_children: @create_children) end class Sha1 < ConfigClass def has_multiple_values?; false; end def _section :sha1 end @props = {'key'=>{'node-type'=>'element', 'maxlen'=>'255', 'type'=>'string', 'encrypt'=>'yes', 'skip-commit-validation'=>'yes', 'show-help-tip'=>'yes', 'help-string'=>'hex format xxxxxxxx[-xxxxxxxx]... total 5 sections'}} # hex format xxxxxxxx[-xxxxxxxx]... total 5 sections def key prop_get('key') end # hex format xxxxxxxx[-xxxxxxxx]... total 5 sections def key=(val) prop_set('key', val) end end def sha1 @subclasses['sha1'] ||= Sha1.new(parent_instance: self, client: @client, create_children: @create_children) end class Sha256 < ConfigClass def has_multiple_values?; false; end def _section :sha256 end @props = {'key'=>{'node-type'=>'element', 'maxlen'=>'255', 'type'=>'string', 'encrypt'=>'yes', 'skip-commit-validation'=>'yes', 'show-help-tip'=>'yes', 'help-string'=>'hex format xxxxxxxx[-xxxxxxxx]... total 8 sections'}} # hex format xxxxxxxx[-xxxxxxxx]... total 8 sections def key prop_get('key') end # hex format xxxxxxxx[-xxxxxxxx]... total 8 sections def key=(val) prop_set('key', val) end end def sha256 @subclasses['sha256'] ||= Sha256.new(parent_instance: self, client: @client, create_children: @create_children) end class Sha384 < ConfigClass def has_multiple_values?; false; end def _section :sha384 end @props = {'key'=>{'node-type'=>'element', 'maxlen'=>'255', 'type'=>'string', 'encrypt'=>'yes', 'skip-commit-validation'=>'yes', 'show-help-tip'=>'yes', 'help-string'=>'hex format xxxxxxxx[-xxxxxxxx]... total 12 sections'}} # hex format xxxxxxxx[-xxxxxxxx]... total 12 sections def key prop_get('key') end # hex format xxxxxxxx[-xxxxxxxx]... total 12 sections def key=(val) prop_set('key', val) end end def sha384 @subclasses['sha384'] ||= Sha384.new(parent_instance: self, client: @client, create_children: @create_children) end class Sha512 < ConfigClass def has_multiple_values?; false; end def _section :sha512 end @props = {'key'=>{'node-type'=>'element', 'maxlen'=>'255', 'type'=>'string', 'encrypt'=>'yes', 'skip-commit-validation'=>'yes', 'show-help-tip'=>'yes', 'help-string'=>'hex format xxxxxxxx[-xxxxxxxx]... total 16 sections'}} # hex format xxxxxxxx[-xxxxxxxx]... total 16 sections def key prop_get('key') end # hex format xxxxxxxx[-xxxxxxxx]... total 16 sections def key=(val) prop_set('key', val) end end def sha512 @subclasses['sha512'] ||= Sha512.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ah @subclasses['ah'] ||= Ah.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'31'}, 'spi'=>{'node-type'=>'element', 'help-string'=>'SPI for both inbound and outbound SA, hex format xxxxxxxx.', 'type'=>'string', 'regex'=>'^([0-9a-fA-F]{8})$'}} def name prop_get('@name') end # SPI for both inbound and outbound SA, hex format xxxxxxxx. def spi prop_get('spi') end # SPI for both inbound and outbound SA, hex format xxxxxxxx. def spi=(val) prop_set('spi', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def auth_profile maybe_register_subclass('auth-profile', AuthProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class GlobalBfd < ConfigClass def has_multiple_values?; false; end def _section :'global-bfd' end @props = {'profile'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'None', 'help-string'=>'BFD profile', 'optional'=>'yes', 'multi-types'=>{'string'=>{}, 'enum'=>[{'value'=>'None', 'help-string'=>'Disable BFD'}]}}} # BFD profile def profile prop_get('profile') end # BFD profile def profile=(val) prop_set('profile', val) end end def global_bfd @subclasses['global-bfd'] ||= GlobalBfd.new(parent_instance: self, client: @client, create_children: @create_children) end class Area < XML::ConfigClass def has_multiple_values?; true; end def _section :area end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Normal < ConfigClass def has_multiple_values?; false; end def _section :normal end @props = {} end def normal @subclasses['normal'] ||= Normal.new(parent_instance: self, client: @client, create_children: @create_children) end class Stub < ConfigClass def has_multiple_values?; false; end def _section :stub end class DefaultRoute < XML::ConfigClass def has_multiple_values?; true; end def _section :'default-route' end class Disable < ConfigClass def has_multiple_values?; false; end def _section :disable end @props = {} end def disable @subclasses['disable'] ||= Disable.new(parent_instance: self, client: @client, create_children: @create_children) end class Advertise < ConfigClass def has_multiple_values?; false; end def _section :advertise end @props = {'metric'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'16777215', 'default'=>'10', 'help-string'=>'metric to be used when advertise default route within this stub area'}} # metric to be used when advertise default route within this stub area def metric prop_get('metric') end # metric to be used when advertise default route within this stub area def metric=(val) prop_set('metric', val) end end def advertise @subclasses['advertise'] ||= Advertise.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def default_route maybe_register_subclass('default-route', DefaultRoute.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'accept-summary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable the origination and propagation of summary LSA to this area'}} # Enable the origination and propagation of summary LSA to this area def accept_summary prop_get('accept-summary') end # Enable the origination and propagation of summary LSA to this area def accept_summary=(val) prop_set('accept-summary', val) end end def stub @subclasses['stub'] ||= Stub.new(parent_instance: self, client: @client, create_children: @create_children) end class Nssa < ConfigClass def has_multiple_values?; false; end def _section :nssa end class DefaultRoute < XML::ConfigClass def has_multiple_values?; true; end def _section :'default-route' end class Disable < ConfigClass def has_multiple_values?; false; end def _section :disable end @props = {} end def disable @subclasses['disable'] ||= Disable.new(parent_instance: self, client: @client, create_children: @create_children) end class Advertise < ConfigClass def has_multiple_values?; false; end def _section :advertise end @props = {'metric'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'16777215', 'default'=>'10', 'help-string'=>'metric to be used when advertise default route within this stub area'}, 'type'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'ext-2', 'help-string'=>'metric type to be used when advertise default route', 'enum'=>[{'value'=>'ext-1', 'help-string'=>'metric comparable with OSPF metric'}, {'value'=>'ext-2', 'help-string'=>'external route is always less preferred than OSPF routes'}]}} # metric to be used when advertise default route within this stub area def metric prop_get('metric') end # metric to be used when advertise default route within this stub area def metric=(val) prop_set('metric', val) end # metric type to be used when advertise default route def type prop_get('type') end # metric type to be used when advertise default route def type=(val) prop_set('type', val) end end def advertise @subclasses['advertise'] ||= Advertise.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def default_route maybe_register_subclass('default-route', DefaultRoute.new(parent_instance: self, client: @client, create_children: @create_children)) end class NssaExtRange < XML::ConfigClass def has_multiple_values?; true; end def _section :'nssa-ext-range' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Advertise < ConfigClass def has_multiple_values?; false; end def _section :advertise end @props = {} end def advertise @subclasses['advertise'] ||= Advertise.new(parent_instance: self, client: @client, create_children: @create_children) end class Suppress < ConfigClass def has_multiple_values?; false; end def _section :suppress end @props = {} end def suppress @subclasses['suppress'] ||= Suppress.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'help-string'=>'network/prefix'}, 'route-tag'=>{'node-type'=>'element', 'disabled'=>'yes', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'help-string'=>'route tag value'}} # network/prefix def name prop_get('@name') end # route tag value def route_tag prop_get('route-tag') end # route tag value def route_tag=(val) prop_set('route-tag', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def nssa_ext_range maybe_register_subclass('nssa-ext-range', NssaExtRange.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'accept-summary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable the origination and propagation of summary LSA to this area'}} # Enable the origination and propagation of summary LSA to this area def accept_summary prop_get('accept-summary') end # Enable the origination and propagation of summary LSA to this area def accept_summary=(val) prop_set('accept-summary', val) end end def nssa @subclasses['nssa'] ||= Nssa.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end class Range < XML::ConfigClass def has_multiple_values?; true; end def _section :range end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Advertise < ConfigClass def has_multiple_values?; false; end def _section :advertise end @props = {} end def advertise @subclasses['advertise'] ||= Advertise.new(parent_instance: self, client: @client, create_children: @create_children) end class Suppress < ConfigClass def has_multiple_values?; false; end def _section :suppress end @props = {} end def suppress @subclasses['suppress'] ||= Suppress.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'multiple', 'help-string'=>'network/prefix', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}}}} # network/prefix def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def range maybe_register_subclass('range', Range.new(parent_instance: self, client: @client, create_children: @create_children)) end class Interface < XML::ConfigClass def has_multiple_values?; true; end def _section :interface end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class LinkType < XML::ConfigClass def has_multiple_values?; true; end def _section :'link-type' end class Broadcast < ConfigClass def has_multiple_values?; false; end def _section :broadcast end @props = {} end def broadcast @subclasses['broadcast'] ||= Broadcast.new(parent_instance: self, client: @client, create_children: @create_children) end class P2p < ConfigClass def has_multiple_values?; false; end def _section :p2p end @props = {} end def p2p @subclasses['p2p'] ||= P2p.new(parent_instance: self, client: @client, create_children: @create_children) end class P2mp < ConfigClass def has_multiple_values?; false; end def _section :p2mp end @props = {} end def p2mp @subclasses['p2mp'] ||= P2mp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def link_type maybe_register_subclass('link-type', LinkType.new(parent_instance: self, client: @client, create_children: @create_children)) end class Neighbor < XML::ConfigClass def has_multiple_values?; true; end def _section :neighbor end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'unicast-only'=>'yes'}} def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def neighbor maybe_register_subclass('neighbor', Neighbor.new(parent_instance: self, client: @client, create_children: @create_children)) end class Bfd < ConfigClass def has_multiple_values?; false; end def _section :bfd end @props = {'profile'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'Inherit-vr-global-setting', 'help-string'=>'BFD profile', 'optional'=>'yes', 'multi-types'=>{'string'=>{}, 'enum'=>[{'value'=>'None', 'help-string'=>'Disable BFD'}, {'value'=>'Inherit-vr-global-setting', 'help-string'=>'Inherit Protocol\'s Global BFD Profile'}]}}} # BFD profile def profile prop_get('profile') end # BFD profile def profile=(val) prop_set('profile', val) end end def bfd @subclasses['bfd'] ||= Bfd.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'interface name'}, 'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable OSPF in this interface'}, 'instance-id'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255', 'default'=>'0', 'help-string'=>'OSPFv3 instance ID'}, 'passive'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Suppress the sending of hello packets in this interface'}, 'metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'10', 'help-string'=>'Cost of OSPF interface'}, 'priority'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255', 'default'=>'1', 'help-string'=>'Priority for OSPF designated router selection'}, 'hello-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'10', 'help-string'=>'Interval (in seconds) to send Hello packets'}, 'dead-counts'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'3', 'max'=>'20', 'default'=>'4', 'help-string'=>'number of lost hello packets to declare router down'}, 'retransmit-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'1800', 'default'=>'5', 'help-string'=>'Interval (in seconds) to retransmit LSAs'}, 'transit-delay'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'1800', 'default'=>'1', 'help-string'=>'Estimated delay (in seconds) to transmit LSAs'}, 'authentication'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes', 'help-string'=>'Authentication options'}, 'gr-delay'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'10', 'default'=>'10', 'help-string'=>'Period (in seconds) used to send grace LSAs before first hello is sent when graceful restart starts'}} # interface name def name prop_get('@name') end # Enable OSPF in this interface def enable prop_get('enable') end # Enable OSPF in this interface def enable=(val) prop_set('enable', val) end # OSPFv3 instance ID def instance_id prop_get('instance-id') end # OSPFv3 instance ID def instance_id=(val) prop_set('instance-id', val) end # Suppress the sending of hello packets in this interface def passive prop_get('passive') end # Suppress the sending of hello packets in this interface def passive=(val) prop_set('passive', val) end # Cost of OSPF interface def metric prop_get('metric') end # Cost of OSPF interface def metric=(val) prop_set('metric', val) end # Priority for OSPF designated router selection def priority prop_get('priority') end # Priority for OSPF designated router selection def priority=(val) prop_set('priority', val) end # Interval (in seconds) to send Hello packets def hello_interval prop_get('hello-interval') end # Interval (in seconds) to send Hello packets def hello_interval=(val) prop_set('hello-interval', val) end # number of lost hello packets to declare router down def dead_counts prop_get('dead-counts') end # number of lost hello packets to declare router down def dead_counts=(val) prop_set('dead-counts', val) end # Interval (in seconds) to retransmit LSAs def retransmit_interval prop_get('retransmit-interval') end # Interval (in seconds) to retransmit LSAs def retransmit_interval=(val) prop_set('retransmit-interval', val) end # Estimated delay (in seconds) to transmit LSAs def transit_delay prop_get('transit-delay') end # Estimated delay (in seconds) to transmit LSAs def transit_delay=(val) prop_set('transit-delay', val) end # Authentication options def authentication prop_get('authentication') end # Authentication options def authentication=(val) prop_set('authentication', val) end # Period (in seconds) used to send grace LSAs before first hello is sent when graceful restart starts def gr_delay prop_get('gr-delay') end # Period (in seconds) used to send grace LSAs before first hello is sent when graceful restart starts def gr_delay=(val) prop_set('gr-delay', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def interface maybe_register_subclass('interface', Interface.new(parent_instance: self, client: @client, create_children: @create_children)) end class VirtualLink < XML::ConfigClass def has_multiple_values?; true; end def _section :'virtual-link' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Bfd < ConfigClass def has_multiple_values?; false; end def _section :bfd end @props = {'profile'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'Inherit-vr-global-setting', 'help-string'=>'BFD profile', 'optional'=>'yes', 'multi-types'=>{'string'=>{}, 'enum'=>[{'value'=>'None', 'help-string'=>'Disable BFD'}, {'value'=>'Inherit-vr-global-setting', 'help-string'=>'Inherit Protocol\'s Global BFD Profile'}]}}} # BFD profile def profile prop_get('profile') end # BFD profile def profile=(val) prop_set('profile', val) end end def bfd @subclasses['bfd'] ||= Bfd.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'help-string'=>'virtual-link name'}, 'neighbor-id'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'neighbor router id for virtual link', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'transit-area-id'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'id of transit area, cannot be backbone, stub or NSSA'}, 'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable this virtual link'}, 'interface-id'=>{'node-type'=>'element', 'disabled'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2147483647', 'help-string'=>'The interface ID assigned to the OSPFv3 virtual interface.'}, 'instance-id'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255', 'default'=>'0', 'help-string'=>'OSPFv3 instance ID'}, 'hello-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'10', 'help-string'=>'Interval (in seconds) to send Hello packets'}, 'dead-counts'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'3', 'max'=>'20', 'default'=>'4', 'help-string'=>'number of lost hello packets to declare router down'}, 'retransmit-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'1800', 'default'=>'5', 'help-string'=>'Interval (in seconds) to retransmit LSAs'}, 'transit-delay'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'1800', 'default'=>'1', 'help-string'=>'Estimated delay (in seconds) to transmit LSAs'}, 'passive'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'disabled'=>'yes', 'help-string'=>'Suppress the sending of hello packets in this virtual link'}, 'authentication'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes', 'help-string'=>'Authentication options'}} # virtual-link name def name prop_get('@name') end # neighbor router id for virtual link def neighbor_id prop_get('neighbor-id') end # neighbor router id for virtual link def neighbor_id=(val) prop_set('neighbor-id', val) end # id of transit area, cannot be backbone, stub or NSSA def transit_area_id prop_get('transit-area-id') end # id of transit area, cannot be backbone, stub or NSSA def transit_area_id=(val) prop_set('transit-area-id', val) end # Enable this virtual link def enable prop_get('enable') end # Enable this virtual link def enable=(val) prop_set('enable', val) end # The interface ID assigned to the OSPFv3 virtual interface. def interface_id prop_get('interface-id') end # The interface ID assigned to the OSPFv3 virtual interface. def interface_id=(val) prop_set('interface-id', val) end # OSPFv3 instance ID def instance_id prop_get('instance-id') end # OSPFv3 instance ID def instance_id=(val) prop_set('instance-id', val) end # Interval (in seconds) to send Hello packets def hello_interval prop_get('hello-interval') end # Interval (in seconds) to send Hello packets def hello_interval=(val) prop_set('hello-interval', val) end # number of lost hello packets to declare router down def dead_counts prop_get('dead-counts') end # number of lost hello packets to declare router down def dead_counts=(val) prop_set('dead-counts', val) end # Interval (in seconds) to retransmit LSAs def retransmit_interval prop_get('retransmit-interval') end # Interval (in seconds) to retransmit LSAs def retransmit_interval=(val) prop_set('retransmit-interval', val) end # Estimated delay (in seconds) to transmit LSAs def transit_delay prop_get('transit-delay') end # Estimated delay (in seconds) to transmit LSAs def transit_delay=(val) prop_set('transit-delay', val) end # Suppress the sending of hello packets in this virtual link def passive prop_get('passive') end # Suppress the sending of hello packets in this virtual link def passive=(val) prop_set('passive', val) end # Authentication options def authentication prop_get('authentication') end # Authentication options def authentication=(val) prop_set('authentication', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def virtual_link maybe_register_subclass('virtual-link', VirtualLink.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'multiple', 'help-string'=>'Area ID', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'authentication'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes', 'help-string'=>'Authentication options'}} # Area ID def name prop_get('@name') end # Authentication options def authentication prop_get('authentication') end # Authentication options def authentication=(val) prop_set('authentication', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def area maybe_register_subclass('area', Area.new(parent_instance: self, client: @client, create_children: @create_children)) end class ExportRules < XML::ConfigClass def has_multiple_values?; true; end def _section :'export-rules' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'multiple', 'multi-types'=>{'string'=>{'help-string'=>'redistribute routes using redist-profile'}, 'ipspec'=>{'ipv6-only'=>'yes', 'subnet-only'=>'yes', 'help-string'=>'generate subnet for redistribution'}}}, 'new-path-type'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'ext-2', 'help-string'=>'path type to be used for imported external routes', 'enum'=>[{'value'=>'ext-1', 'help-string'=>'metric comparable with OSPF metric'}, {'value'=>'ext-2', 'help-string'=>'external route is always less preferred than OSPF routes'}]}, 'new-tag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'new tag value', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'4294967295'}, 'ipspec'=>{'unicast-only'=>'yes', 'ipv4-only'=>'yes'}}}, 'metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'16777215', 'help-string'=>'metric value'}} def name prop_get('@name') end # path type to be used for imported external routes def new_path_type prop_get('new-path-type') end # path type to be used for imported external routes def new_path_type=(val) prop_set('new-path-type', val) end # new tag value def new_tag prop_get('new-tag') end # new tag value def new_tag=(val) prop_set('new-tag', val) end # metric value def metric prop_get('metric') end # metric value def metric=(val) prop_set('metric', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def export_rules maybe_register_subclass('export-rules', ExportRules.new(parent_instance: self, client: @client, create_children: @create_children)) end class GracefulRestart < ConfigClass def has_multiple_values?; false; end def _section :'graceful-restart' end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'grace-period'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'5', 'max'=>'1800', 'default'=>'120', 'help-string'=>'maximum local restarting time (in seconds)'}, 'helper-enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'enable/disable helping neighboring routers to graceful restart'}, 'strict-LSA-checking'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'enable/disable strict LSA checking. Abort GR if lsa change is detected'}, 'max-neighbor-restart-time'=>{'node-type'=>'element', 'optional'=>'yes', 'help-string'=>'maximum of neighbor restart time accepted (in seconds)', 'type'=>'rangedint', 'min'=>'5', 'max'=>'1800', 'default'=>'140'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # maximum local restarting time (in seconds) def grace_period prop_get('grace-period') end # maximum local restarting time (in seconds) def grace_period=(val) prop_set('grace-period', val) end # enable/disable helping neighboring routers to graceful restart def helper_enable prop_get('helper-enable') end # enable/disable helping neighboring routers to graceful restart def helper_enable=(val) prop_set('helper-enable', val) end # enable/disable strict LSA checking. Abort GR if lsa change is detected def strict_LSA_checking prop_get('strict-LSA-checking') end # enable/disable strict LSA checking. Abort GR if lsa change is detected def strict_LSA_checking=(val) prop_set('strict-LSA-checking', val) end # maximum of neighbor restart time accepted (in seconds) def max_neighbor_restart_time prop_get('max-neighbor-restart-time') end # maximum of neighbor restart time accepted (in seconds) def max_neighbor_restart_time=(val) prop_set('max-neighbor-restart-time', val) end end def graceful_restart @subclasses['graceful-restart'] ||= GracefulRestart.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'router-id'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'router id of this OSPFv3 instance', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'reject-default-route'=>{'node-type'=>'element', 'optional'=>'yes', 'help-string'=>'do not learn default route from OSPF', 'type'=>'bool', 'default'=>'yes'}, 'allow-redist-default-route'=>{'node-type'=>'element', 'optional'=>'yes', 'help-string'=>'allow redistribute default route to OSPF', 'type'=>'bool', 'default'=>'no'}, 'disable-transit-traffic'=>{'node-type'=>'element', 'optional'=>'yes', 'help-string'=>'whether OSPFv3 should set the R- and V6-bits in its Router-LSAs', 'type'=>'bool', 'default'=>'no'}} # router id of this OSPFv3 instance def router_id prop_get('router-id') end # router id of this OSPFv3 instance def router_id=(val) prop_set('router-id', val) end def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # do not learn default route from OSPF def reject_default_route prop_get('reject-default-route') end # do not learn default route from OSPF def reject_default_route=(val) prop_set('reject-default-route', val) end # allow redistribute default route to OSPF def allow_redist_default_route prop_get('allow-redist-default-route') end # allow redistribute default route to OSPF def allow_redist_default_route=(val) prop_set('allow-redist-default-route', val) end # whether OSPFv3 should set the R- and V6-bits in its Router-LSAs def disable_transit_traffic prop_get('disable-transit-traffic') end # whether OSPFv3 should set the R- and V6-bits in its Router-LSAs def disable_transit_traffic=(val) prop_set('disable-transit-traffic', val) end end def ospfv3 @subclasses['ospfv3'] ||= Ospfv3.new(parent_instance: self, client: @client, create_children: @create_children) end class Bgp < ConfigClass def has_multiple_values?; false; end def _section :bgp end class RoutingOptions < ConfigClass def has_multiple_values?; false; end def _section :'routing-options' end class Med < ConfigClass def has_multiple_values?; false; end def _section :med end @props = {'always-compare-med'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'always compare MEDs'}, 'deterministic-med-comparison'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'deterministic MEDs comparison'}} # always compare MEDs def always_compare_med prop_get('always-compare-med') end # always compare MEDs def always_compare_med=(val) prop_set('always-compare-med', val) end # deterministic MEDs comparison def deterministic_med_comparison prop_get('deterministic-med-comparison') end # deterministic MEDs comparison def deterministic_med_comparison=(val) prop_set('deterministic-med-comparison', val) end end def med @subclasses['med'] ||= Med.new(parent_instance: self, client: @client, create_children: @create_children) end class OutboundRouteFilter < ConfigClass def has_multiple_values?; false; end def _section :'outbound-route-filter' end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable ORF'}, 'max-received-entries'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'help-string'=>'maximum of prefixes to receive'}, 'cisco-prefix-mode'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'vendor-compatible mode'}} # enable ORF def enable prop_get('enable') end # enable ORF def enable=(val) prop_set('enable', val) end # maximum of prefixes to receive def max_received_entries prop_get('max-received-entries') end # maximum of prefixes to receive def max_received_entries=(val) prop_set('max-received-entries', val) end # vendor-compatible mode def cisco_prefix_mode prop_get('cisco-prefix-mode') end # vendor-compatible mode def cisco_prefix_mode=(val) prop_set('cisco-prefix-mode', val) end end def outbound_route_filter @subclasses['outbound-route-filter'] ||= OutboundRouteFilter.new(parent_instance: self, client: @client, create_children: @create_children) end class GracefulRestart < ConfigClass def has_multiple_values?; false; end def _section :'graceful-restart' end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'stale-route-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'120', 'help-string'=>'time to remove stale routes after peer restart (in seconds)'}, 'local-restart-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'120', 'help-string'=>'local restart time to advertise to peer (in seconds)'}, 'max-peer-restart-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'120', 'help-string'=>'maximum of peer restart time accepted (in seconds)'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # time to remove stale routes after peer restart (in seconds) def stale_route_time prop_get('stale-route-time') end # time to remove stale routes after peer restart (in seconds) def stale_route_time=(val) prop_set('stale-route-time', val) end # local restart time to advertise to peer (in seconds) def local_restart_time prop_get('local-restart-time') end # local restart time to advertise to peer (in seconds) def local_restart_time=(val) prop_set('local-restart-time', val) end # maximum of peer restart time accepted (in seconds) def max_peer_restart_time prop_get('max-peer-restart-time') end # maximum of peer restart time accepted (in seconds) def max_peer_restart_time=(val) prop_set('max-peer-restart-time', val) end end def graceful_restart @subclasses['graceful-restart'] ||= GracefulRestart.new(parent_instance: self, client: @client, create_children: @create_children) end class Aggregate < ConfigClass def has_multiple_values?; false; end def _section :aggregate end @props = {'aggregate-med'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'aggregate route only if they have same MED attributes'}} # aggregate route only if they have same MED attributes def aggregate_med prop_get('aggregate-med') end # aggregate route only if they have same MED attributes def aggregate_med=(val) prop_set('aggregate-med', val) end end def aggregate @subclasses['aggregate'] ||= Aggregate.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'as-format'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'2-byte', 'help-string'=>'AS format', 'enum'=>[{'value'=>'2-byte', 'help-string'=>'2-byte AS format'}, {'value'=>'4-byte', 'help-string'=>'4-byte AS format specified in rfc-4893'}]}, 'default-local-preference'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'default'=>'100', 'help-string'=>'default local preference'}, 'reflector-cluster-id'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'route reflector cluster ID', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'ipv4-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'confederation-member-as'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'confederation requires member-AS number', 'multi-types'=>{'string'=>{'maxlen'=>'63', 'loose-membership'=>'yes'}, 'rangedint'=>{'min'=>'1', 'max'=>'4294967295'}}}} # AS format def as_format prop_get('as-format') end # AS format def as_format=(val) prop_set('as-format', val) end # default local preference def default_local_preference prop_get('default-local-preference') end # default local preference def default_local_preference=(val) prop_set('default-local-preference', val) end # route reflector cluster ID def reflector_cluster_id prop_get('reflector-cluster-id') end # route reflector cluster ID def reflector_cluster_id=(val) prop_set('reflector-cluster-id', val) end # confederation requires member-AS number def confederation_member_as prop_get('confederation-member-as') end # confederation requires member-AS number def confederation_member_as=(val) prop_set('confederation-member-as', val) end end def routing_options @subclasses['routing-options'] ||= RoutingOptions.new(parent_instance: self, client: @client, create_children: @create_children) end class AuthProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'auth-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'31'}, 'secret'=>{'node-type'=>'element', 'optional'=>'yes', 'encrypt'=>'yes', 'skip-commit-validation'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'shared secret for the TCP MD5 authentication'}} def name prop_get('@name') end # shared secret for the TCP MD5 authentication def secret prop_get('secret') end # shared secret for the TCP MD5 authentication def secret=(val) prop_set('secret', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def auth_profile maybe_register_subclass('auth-profile', AuthProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class DampeningProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'dampening-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'31'}, 'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'cutoff'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'1000', 'default'=>'1.25', 'help-string'=>'cutoff threshold value'}, 'reuse'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'1000', 'default'=>'0.5', 'help-string'=>'reuse threshold value'}, 'max-hold-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'900', 'help-string'=>'maximum of hold-down time (in seconds)'}, 'decay-half-life-reachable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'300', 'help-string'=>'Decay half-life while reachable (in seconds)'}, 'decay-half-life-unreachable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'900', 'help-string'=>'Decay half-life while unreachable (in seconds)'}} def name prop_get('@name') end def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # cutoff threshold value def cutoff prop_get('cutoff') end # cutoff threshold value def cutoff=(val) prop_set('cutoff', val) end # reuse threshold value def reuse prop_get('reuse') end # reuse threshold value def reuse=(val) prop_set('reuse', val) end # maximum of hold-down time (in seconds) def max_hold_time prop_get('max-hold-time') end # maximum of hold-down time (in seconds) def max_hold_time=(val) prop_set('max-hold-time', val) end # Decay half-life while reachable (in seconds) def decay_half_life_reachable prop_get('decay-half-life-reachable') end # Decay half-life while reachable (in seconds) def decay_half_life_reachable=(val) prop_set('decay-half-life-reachable', val) end # Decay half-life while unreachable (in seconds) def decay_half_life_unreachable prop_get('decay-half-life-unreachable') end # Decay half-life while unreachable (in seconds) def decay_half_life_unreachable=(val) prop_set('decay-half-life-unreachable', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def dampening_profile maybe_register_subclass('dampening-profile', DampeningProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class GlobalBfd < ConfigClass def has_multiple_values?; false; end def _section :'global-bfd' end @props = {'profile'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'None', 'help-string'=>'BFD profile', 'optional'=>'yes', 'multi-types'=>{'string'=>{}, 'enum'=>[{'value'=>'None', 'help-string'=>'Disable BFD'}]}}} # BFD profile def profile prop_get('profile') end # BFD profile def profile=(val) prop_set('profile', val) end end def global_bfd @subclasses['global-bfd'] ||= GlobalBfd.new(parent_instance: self, client: @client, create_children: @create_children) end class PeerGroup < XML::ConfigClass def has_multiple_values?; true; end def _section :'peer-group' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Ibgp < ConfigClass def has_multiple_values?; false; end def _section :ibgp end @props = {'export-nexthop'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'original', 'enum'=>[{'value'=>'original', 'help-string'=>'keep original nexthop'}, {'value'=>'use-self', 'help-string'=>'override nexthop with self address'}]}} def export_nexthop prop_get('export-nexthop') end def export_nexthop=(val) prop_set('export-nexthop', val) end end def ibgp @subclasses['ibgp'] ||= Ibgp.new(parent_instance: self, client: @client, create_children: @create_children) end class EbgpConfed < ConfigClass def has_multiple_values?; false; end def _section :'ebgp-confed' end @props = {'export-nexthop'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'original', 'enum'=>[{'value'=>'original', 'help-string'=>'keep original nexthop'}, {'value'=>'use-self', 'help-string'=>'override nexthop with self address'}]}} def export_nexthop prop_get('export-nexthop') end def export_nexthop=(val) prop_set('export-nexthop', val) end end def ebgp_confed @subclasses['ebgp-confed'] ||= EbgpConfed.new(parent_instance: self, client: @client, create_children: @create_children) end class IbgpConfed < ConfigClass def has_multiple_values?; false; end def _section :'ibgp-confed' end @props = {'export-nexthop'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'original', 'enum'=>[{'value'=>'original', 'help-string'=>'keep original nexthop'}, {'value'=>'use-self', 'help-string'=>'override nexthop with self address'}]}} def export_nexthop prop_get('export-nexthop') end def export_nexthop=(val) prop_set('export-nexthop', val) end end def ibgp_confed @subclasses['ibgp-confed'] ||= IbgpConfed.new(parent_instance: self, client: @client, create_children: @create_children) end class Ebgp < ConfigClass def has_multiple_values?; false; end def _section :ebgp end @props = {'import-nexthop'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'original', 'enum'=>[{'value'=>'original', 'help-string'=>'keep original nexthop'}, {'value'=>'use-peer', 'help-string'=>'override nexthop with peer address'}]}, 'export-nexthop'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'resolve', 'enum'=>[{'value'=>'resolve', 'help-string'=>'export locally resolved nexthop'}, {'value'=>'use-self', 'help-string'=>'export self address as nexthop'}]}, 'remove-private-as'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'remove private AS when exporting route'}} def import_nexthop prop_get('import-nexthop') end def import_nexthop=(val) prop_set('import-nexthop', val) end def export_nexthop prop_get('export-nexthop') end def export_nexthop=(val) prop_set('export-nexthop', val) end # remove private AS when exporting route def remove_private_as prop_get('remove-private-as') end # remove private AS when exporting route def remove_private_as=(val) prop_set('remove-private-as', val) end end def ebgp @subclasses['ebgp'] ||= Ebgp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end class Peer < XML::ConfigClass def has_multiple_values?; true; end def _section :peer end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SubsequentAddressFamilyIdentifier < ConfigClass def has_multiple_values?; false; end def _section :'subsequent-address-family-identifier' end @props = {'unicast'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'multicast'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} def unicast prop_get('unicast') end def unicast=(val) prop_set('unicast', val) end def multicast prop_get('multicast') end def multicast=(val) prop_set('multicast', val) end end def subsequent_address_family_identifier @subclasses['subsequent-address-family-identifier'] ||= SubsequentAddressFamilyIdentifier.new(parent_instance: self, client: @client, create_children: @create_children) end class LocalAddress < ConfigClass def has_multiple_values?; false; end def _section :'local-address' end @props = {'interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'interface to accept BGP session'}, 'ip'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'50', 'help-string'=>'specify exact IP address if interface has multiple addresses'}} # interface to accept BGP session def interface prop_get('interface') end # interface to accept BGP session def interface=(val) prop_set('interface', val) end # specify exact IP address if interface has multiple addresses def ip prop_get('ip') end # specify exact IP address if interface has multiple addresses def ip=(val) prop_set('ip', val) end end def local_address @subclasses['local-address'] ||= LocalAddress.new(parent_instance: self, client: @client, create_children: @create_children) end class PeerAddress < ConfigClass def has_multiple_values?; false; end def _section :'peer-address' end @props = {'ip'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'peer address configuration', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'fqdn'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'regex'=>'^([a-zA-Z0-9._-])+$', 'help-string'=>'bgp peer FQDN address object configuration'}} # peer address configuration def ip prop_get('ip') end # peer address configuration def ip=(val) prop_set('ip', val) end # bgp peer FQDN address object configuration def fqdn prop_get('fqdn') end # bgp peer FQDN address object configuration def fqdn=(val) prop_set('fqdn', val) end end def peer_address @subclasses['peer-address'] ||= PeerAddress.new(parent_instance: self, client: @client, create_children: @create_children) end class ConnectionOptions < ConfigClass def has_multiple_values?; false; end def _section :'connection-options' end class IncomingBgpConnection < ConfigClass def has_multiple_values?; false; end def _section :'incoming-bgp-connection' end @props = {'remote-port'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'0', 'max'=>'65535', 'default'=>'0', 'help-string'=>'restrict remote port for incoming BGP connections'}, 'allow'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}} # restrict remote port for incoming BGP connections def remote_port prop_get('remote-port') end # restrict remote port for incoming BGP connections def remote_port=(val) prop_set('remote-port', val) end def allow prop_get('allow') end def allow=(val) prop_set('allow', val) end end def incoming_bgp_connection @subclasses['incoming-bgp-connection'] ||= IncomingBgpConnection.new(parent_instance: self, client: @client, create_children: @create_children) end class OutgoingBgpConnection < ConfigClass def has_multiple_values?; false; end def _section :'outgoing-bgp-connection' end @props = {'local-port'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'0', 'max'=>'65535', 'default'=>'0', 'help-string'=>'use specific local port for outgoing BGP connections'}, 'allow'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}} # use specific local port for outgoing BGP connections def local_port prop_get('local-port') end # use specific local port for outgoing BGP connections def local_port=(val) prop_set('local-port', val) end def allow prop_get('allow') end def allow=(val) prop_set('allow', val) end end def outgoing_bgp_connection @subclasses['outgoing-bgp-connection'] ||= OutgoingBgpConnection.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'authentication'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes', 'help-string'=>'Authentication options'}, 'keep-alive-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'30', 'help-string'=>'keep-alive interval (in seconds)', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'1200', 'default'=>'30'}}}, 'min-route-adv-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'600', 'default'=>'30', 'help-string'=>'Minimum Route Advertisement Interval (in seconds)'}, 'multihop'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255', 'default'=>'0', 'help-string'=>'IP TTL value used for sending BGP packet. set to 0 means eBGP use 2, iBGP use 255'}, 'open-delay-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'240', 'default'=>'0', 'help-string'=>'open delay time (in seconds)'}, 'hold-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'90', 'help-string'=>'hold time (in seconds)', 'multi-types'=>{'rangedint'=>{'min'=>'3', 'max'=>'3600', 'default'=>'90'}}}, 'idle-hold-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'15', 'help-string'=>'idle hold time (in seconds)'}} # Authentication options def authentication prop_get('authentication') end # Authentication options def authentication=(val) prop_set('authentication', val) end # keep-alive interval (in seconds) def keep_alive_interval prop_get('keep-alive-interval') end # keep-alive interval (in seconds) def keep_alive_interval=(val) prop_set('keep-alive-interval', val) end # Minimum Route Advertisement Interval (in seconds) def min_route_adv_interval prop_get('min-route-adv-interval') end # Minimum Route Advertisement Interval (in seconds) def min_route_adv_interval=(val) prop_set('min-route-adv-interval', val) end # IP TTL value used for sending BGP packet. set to 0 means eBGP use 2, iBGP use 255 def multihop prop_get('multihop') end # IP TTL value used for sending BGP packet. set to 0 means eBGP use 2, iBGP use 255 def multihop=(val) prop_set('multihop', val) end # open delay time (in seconds) def open_delay_time prop_get('open-delay-time') end # open delay time (in seconds) def open_delay_time=(val) prop_set('open-delay-time', val) end # hold time (in seconds) def hold_time prop_get('hold-time') end # hold time (in seconds) def hold_time=(val) prop_set('hold-time', val) end # idle hold time (in seconds) def idle_hold_time prop_get('idle-hold-time') end # idle hold time (in seconds) def idle_hold_time=(val) prop_set('idle-hold-time', val) end end def connection_options @subclasses['connection-options'] ||= ConnectionOptions.new(parent_instance: self, client: @client, create_children: @create_children) end class Bfd < ConfigClass def has_multiple_values?; false; end def _section :bfd end @props = {'profile'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'Inherit-vr-global-setting', 'help-string'=>'BFD profile', 'optional'=>'yes', 'multi-types'=>{'string'=>{}, 'enum'=>[{'value'=>'None', 'help-string'=>'Disable BFD'}, {'value'=>'Inherit-vr-global-setting', 'help-string'=>'Inherit Protocol\'s Global BFD Profile'}]}}} # BFD profile def profile prop_get('profile') end # BFD profile def profile=(val) prop_set('profile', val) end end def bfd @subclasses['bfd'] ||= Bfd.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'31'}, 'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'peer-as'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'peer AS number', 'multi-types'=>{'string'=>{'maxlen'=>'63', 'loose-membership'=>'yes'}, 'rangedint'=>{'min'=>'1', 'max'=>'4294967295'}}}, 'enable-mp-bgp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'address-family-identifier'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'ipv4', 'help-string'=>'select AFI for this peer', 'enum'=>[{'value'=>'ipv4', 'help-string'=>'enable IPv4 route exchange'}, {'value'=>'ipv6', 'help-string'=>'enable IPv6 route exchange'}]}, 'enable-sender-side-loop-detection'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'reflector-client'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'non-client', 'help-string'=>'this peer is reflector client', 'enum'=>[{'value'=>'non-client', 'help-string'=>'not a reflector client'}, {'value'=>'client', 'help-string'=>'reflector client'}, {'value'=>'meshed-client', 'help-string'=>'fully meshed reflector client'}]}, 'peering-type'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'unspecified', 'help-string'=>'peering type that affects NOPEER community value handling', 'enum'=>[{'value'=>'bilateral', 'help-string'=>'block sending and receiving routes with NOPEER community value'}, {'value'=>'unspecified', 'help-string'=>'disregard NOPEER community value with this peer'}]}, 'aggregated-confed-as-path'=>{'node-type'=>'element', 'type'=>'bool', 'disabled'=>'yes', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'this peer understands aggregated confederation AS path'}, 'max-prefixes'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'5000', 'help-string'=>'maximum of prefixes to receive from peer', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'100000', 'default'=>'5000'}, 'enum'=>[{'value'=>'unlimited'}]}}, 'max-orf-entries'=>{'node-type'=>'element', 'disabled'=>'yes', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'1', 'max'=>'100000', 'default'=>'5000', 'help-string'=>'maximum of ORF entries accepted from peer'}, 'soft-reset-with-stored-info'=>{'node-type'=>'element', 'type'=>'bool', 'disabled'=>'yes', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'soft reset with stored info'}} def name prop_get('@name') end def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # peer AS number def peer_as prop_get('peer-as') end # peer AS number def peer_as=(val) prop_set('peer-as', val) end def enable_mp_bgp prop_get('enable-mp-bgp') end def enable_mp_bgp=(val) prop_set('enable-mp-bgp', val) end # select AFI for this peer def address_family_identifier prop_get('address-family-identifier') end # select AFI for this peer def address_family_identifier=(val) prop_set('address-family-identifier', val) end def enable_sender_side_loop_detection prop_get('enable-sender-side-loop-detection') end def enable_sender_side_loop_detection=(val) prop_set('enable-sender-side-loop-detection', val) end # this peer is reflector client def reflector_client prop_get('reflector-client') end # this peer is reflector client def reflector_client=(val) prop_set('reflector-client', val) end # peering type that affects NOPEER community value handling def peering_type prop_get('peering-type') end # peering type that affects NOPEER community value handling def peering_type=(val) prop_set('peering-type', val) end # this peer understands aggregated confederation AS path def aggregated_confed_as_path prop_get('aggregated-confed-as-path') end # this peer understands aggregated confederation AS path def aggregated_confed_as_path=(val) prop_set('aggregated-confed-as-path', val) end # maximum of prefixes to receive from peer def max_prefixes prop_get('max-prefixes') end # maximum of prefixes to receive from peer def max_prefixes=(val) prop_set('max-prefixes', val) end # maximum of ORF entries accepted from peer def max_orf_entries prop_get('max-orf-entries') end # maximum of ORF entries accepted from peer def max_orf_entries=(val) prop_set('max-orf-entries', val) end # soft reset with stored info def soft_reset_with_stored_info prop_get('soft-reset-with-stored-info') end # soft reset with stored info def soft_reset_with_stored_info=(val) prop_set('soft-reset-with-stored-info', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def peer maybe_register_subclass('peer', Peer.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'31'}, 'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'aggregated-confed-as-path'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'the peers understand aggregated confederation AS path'}, 'soft-reset-with-stored-info'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'soft reset with stored info'}} def name prop_get('@name') end def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # the peers understand aggregated confederation AS path def aggregated_confed_as_path prop_get('aggregated-confed-as-path') end # the peers understand aggregated confederation AS path def aggregated_confed_as_path=(val) prop_set('aggregated-confed-as-path', val) end # soft reset with stored info def soft_reset_with_stored_info prop_get('soft-reset-with-stored-info') end # soft reset with stored info def soft_reset_with_stored_info=(val) prop_set('soft-reset-with-stored-info', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def peer_group maybe_register_subclass('peer-group', PeerGroup.new(parent_instance: self, client: @client, create_children: @create_children)) end class Policy < ConfigClass def has_multiple_values?; false; end def _section :policy end class Import < ConfigClass def has_multiple_values?; false; end def _section :import end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class UsedBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'used-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def used_by maybe_register_subclass('used-by', UsedBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Match < ConfigClass def has_multiple_values?; false; end def _section :match end class AddressPrefix < XML::ConfigClass def has_multiple_values?; true; end def _section :'address-prefix' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'exact'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'help-string'=>'match exact prefix length'}} def name prop_get('@name') end # match exact prefix length def exact prop_get('exact') end # match exact prefix length def exact=(val) prop_set('exact', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def address_prefix maybe_register_subclass('address-prefix', AddressPrefix.new(parent_instance: self, client: @client, create_children: @create_children)) end class Nexthop < XML::ConfigClass def has_multiple_values?; true; end def _section :nexthop end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def nexthop maybe_register_subclass('nexthop', Nexthop.new(parent_instance: self, client: @client, create_children: @create_children)) end class FromPeer < XML::ConfigClass def has_multiple_values?; true; end def _section :'from-peer' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'filter by peer that sent this route'}} # filter by peer that sent this route def member prop_get('member') end # filter by peer that sent this route def member=(val) prop_set('member', val) end end def from_peer maybe_register_subclass('from-peer', FromPeer.new(parent_instance: self, client: @client, create_children: @create_children)) end class AsPath < ConfigClass def has_multiple_values?; false; end def _section :'as-path' end @props = {'regex'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'126', 'help-string'=>'AS-path regular expression'}} # AS-path regular expression def regex prop_get('regex') end # AS-path regular expression def regex=(val) prop_set('regex', val) end end def as_path @subclasses['as-path'] ||= AsPath.new(parent_instance: self, client: @client, create_children: @create_children) end class Community < ConfigClass def has_multiple_values?; false; end def _section :community end @props = {'regex'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'126', 'help-string'=>'AS-path regular expression'}} # AS-path regular expression def regex prop_get('regex') end # AS-path regular expression def regex=(val) prop_set('regex', val) end end def community @subclasses['community'] ||= Community.new(parent_instance: self, client: @client, create_children: @create_children) end class ExtendedCommunity < ConfigClass def has_multiple_values?; false; end def _section :'extended-community' end @props = {'regex'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'126', 'help-string'=>'AS-path regular expression'}} # AS-path regular expression def regex prop_get('regex') end # AS-path regular expression def regex=(val) prop_set('regex', val) end end def extended_community @subclasses['extended-community'] ||= ExtendedCommunity.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'afi'=>{'node-type'=>'element', 'disabled'=>'yes', 'type'=>'enum', 'optional'=>'yes', 'help-string'=>'Address Family Identifier', 'enum'=>[{'value'=>'ip', 'help-string'=>'IPv4 (INET)'}, {'value'=>'ipv6', 'help-string'=>'IPv6 (INET6)'}]}, 'safi'=>{'node-type'=>'element', 'disabled'=>'yes', 'type'=>'enum', 'optional'=>'yes', 'help-string'=>'Subsequent Address Family Identifier', 'enum'=>[{'value'=>'ip', 'help-string'=>'IPv4 (INET)'}, {'value'=>'ipv6', 'help-string'=>'IPv6 (INET6)'}]}, 'route-table'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'unicast', 'help-string'=>'route table to match rule', 'enum'=>[{'value'=>'unicast', 'help-string'=>'unicast table'}, {'value'=>'multicast', 'help-string'=>'multicast table'}, {'value'=>'both', 'help-string'=>'both unicast and multicast tables'}]}, 'med'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} # Address Family Identifier def afi prop_get('afi') end # Address Family Identifier def afi=(val) prop_set('afi', val) end # Subsequent Address Family Identifier def safi prop_get('safi') end # Subsequent Address Family Identifier def safi=(val) prop_set('safi', val) end # route table to match rule def route_table prop_get('route-table') end # route table to match rule def route_table=(val) prop_set('route-table', val) end def med prop_get('med') end def med=(val) prop_set('med', val) end end def match @subclasses['match'] ||= Match.new(parent_instance: self, client: @client, create_children: @create_children) end class Action < ConfigClass def has_multiple_values?; false; end def _section :action end class Deny < ConfigClass def has_multiple_values?; false; end def _section :deny end @props = {} end def deny @subclasses['deny'] ||= Deny.new(parent_instance: self, client: @client, create_children: @create_children) end class Allow < ConfigClass def has_multiple_values?; false; end def _section :allow end class Update < ConfigClass def has_multiple_values?; false; end def _section :update end class AsPath < ConfigClass def has_multiple_values?; false; end def _section :'as-path' end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end class Remove < ConfigClass def has_multiple_values?; false; end def _section :remove end @props = {} end def remove @subclasses['remove'] ||= Remove.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'prepend'=>{'node-type'=>'element', 'disabled'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'default'=>'1', 'help-string'=>'prepend local AS for specified number of times'}, 'remove-and-prepend'=>{'node-type'=>'element', 'disabled'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'default'=>'1', 'help-string'=>'remove matched AS path(s), and prepend local AS for specified number of times'}} # prepend local AS for specified number of times def prepend prop_get('prepend') end # prepend local AS for specified number of times def prepend=(val) prop_set('prepend', val) end # remove matched AS path(s), and prepend local AS for specified number of times def remove_and_prepend prop_get('remove-and-prepend') end # remove matched AS path(s), and prepend local AS for specified number of times def remove_and_prepend=(val) prop_set('remove-and-prepend', val) end end def as_path @subclasses['as-path'] ||= AsPath.new(parent_instance: self, client: @client, create_children: @create_children) end class Community < ConfigClass def has_multiple_values?; false; end def _section :community end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end class RemoveAll < ConfigClass def has_multiple_values?; false; end def _section :'remove-all' end @props = {} end def remove_all @subclasses['remove-all'] ||= RemoveAll.new(parent_instance: self, client: @client, create_children: @create_children) end class Append < XML::ConfigClass def has_multiple_values?; true; end def _section :append end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'max-count'=>'1', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'4294967295', 'help-string'=>'32-bit value in decimal'}, 'string'=>{'regex'=>'^[0][xX][0-9A-Fa-f]{8}$|^0:[1-9][0-9]{0,4}$|^[1-9][0-9]{0,4}:[0-9]{1,5}$', 'maxlen'=>'11', 'help-string'=>'32-bit value in hex, or in AS:VAL format, AS and VAL each in 0-65535 range but not 0:0'}, 'enum'=>[{'value'=>'no-export', 'help-string'=>'well known community value: NO_EXPORT'}, {'value'=>'no-advertise', 'help-string'=>'well known community value: NO_ADVERTISE'}, {'value'=>'local-as', 'help-string'=>'well known community value: NO_EXPORT_SUBCONFED'}, {'value'=>'nopeer', 'help-string'=>'well known community value: NOPEER'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def append maybe_register_subclass('append', Append.new(parent_instance: self, client: @client, create_children: @create_children)) end class Overwrite < XML::ConfigClass def has_multiple_values?; true; end def _section :overwrite end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'max-count'=>'1', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'4294967295', 'help-string'=>'32-bit value in decimal'}, 'string'=>{'regex'=>'^[0][xX][0-9A-Fa-f]{8}$|^0:[1-9][0-9]{0,4}$|^[1-9][0-9]{0,4}:[0-9]{1,5}$', 'maxlen'=>'11', 'help-string'=>'32-bit value in hex, or in AS:VAL format, AS and VAL each in 0-65535 range but not 0:0'}, 'enum'=>[{'value'=>'no-export', 'help-string'=>'well known community value: NO_EXPORT'}, {'value'=>'no-advertise', 'help-string'=>'well known community value: NO_ADVERTISE'}, {'value'=>'local-as', 'help-string'=>'well known community value: NO_EXPORT_SUBCONFED'}, {'value'=>'nopeer', 'help-string'=>'well known community value: NOPEER'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def overwrite maybe_register_subclass('overwrite', Overwrite.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'remove-regex'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127', 'help-string'=>'remove specified coummnity match regular expression'}} # remove specified coummnity match regular expression def remove_regex prop_get('remove-regex') end # remove specified coummnity match regular expression def remove_regex=(val) prop_set('remove-regex', val) end end def community @subclasses['community'] ||= Community.new(parent_instance: self, client: @client, create_children: @create_children) end class ExtendedCommunity < ConfigClass def has_multiple_values?; false; end def _section :'extended-community' end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end class RemoveAll < ConfigClass def has_multiple_values?; false; end def _section :'remove-all' end @props = {} end def remove_all @subclasses['remove-all'] ||= RemoveAll.new(parent_instance: self, client: @client, create_children: @create_children) end class Append < XML::ConfigClass def has_multiple_values?; true; end def _section :append end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'max-count'=>'1', 'multi-types'=>{'string'=>{'regex'=>'^([0][xX][A-Fa-f0-9]{16,16})|(([0-9]+|target|origin):[0-9]+(\.[0-9]+)?:[0-9]+)$', 'maxlen'=>'40', 'help-string'=>'64-bit value in hex, or one of TYPE:AS:VAL, TYPE:IP:VAL, TYPE:A.B:VAL format, TYPE is \'target\', \'origin\' or decimal number (0-65535)'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def append maybe_register_subclass('append', Append.new(parent_instance: self, client: @client, create_children: @create_children)) end class Overwrite < XML::ConfigClass def has_multiple_values?; true; end def _section :overwrite end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'max-count'=>'1', 'multi-types'=>{'string'=>{'regex'=>'^([0][xX][A-Fa-f0-9]{16,16})|(([0-9]+|target|origin):[0-9]+(\.[0-9]+)?:[0-9]+)$', 'maxlen'=>'40', 'help-string'=>'64-bit value in hex, or one of TYPE:AS:VAL, TYPE:IP:VAL, TYPE:A.B:VAL format, TYPE is \'target\', \'origin\' or decimal number (0-65535)'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def overwrite maybe_register_subclass('overwrite', Overwrite.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'remove-regex'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127', 'help-string'=>'remove specified coummnity match regular expression'}} # remove specified coummnity match regular expression def remove_regex prop_get('remove-regex') end # remove specified coummnity match regular expression def remove_regex=(val) prop_set('remove-regex', val) end end def extended_community @subclasses['extended-community'] ||= ExtendedCommunity.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'local-preference'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'help-string'=>'new local preference value'}, 'med'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'help-string'=>'new MED value'}, 'weight'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535', 'help-string'=>'new weight value'}, 'nexthop'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'nexthop address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'origin'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-string'=>'new route origin', 'enum'=>[{'value'=>'igp', 'help-string'=>'route originated from IGP'}, {'value'=>'egp', 'help-string'=>'route originated from EGP'}, {'value'=>'incomplete'}]}, 'as-path-limit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'help-string'=>'add AS path limit attribute if it does not exist '}} # new local preference value def local_preference prop_get('local-preference') end # new local preference value def local_preference=(val) prop_set('local-preference', val) end # new MED value def med prop_get('med') end # new MED value def med=(val) prop_set('med', val) end # new weight value def weight prop_get('weight') end # new weight value def weight=(val) prop_set('weight', val) end # nexthop address def nexthop prop_get('nexthop') end # nexthop address def nexthop=(val) prop_set('nexthop', val) end # new route origin def origin prop_get('origin') end # new route origin def origin=(val) prop_set('origin', val) end # add AS path limit attribute if it does not exist def as_path_limit prop_get('as-path-limit') end # add AS path limit attribute if it does not exist def as_path_limit=(val) prop_set('as-path-limit', val) end end def update @subclasses['update'] ||= Update.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'dampening'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'route flap dampening profile'}} # route flap dampening profile def dampening prop_get('dampening') end # route flap dampening profile def dampening=(val) prop_set('dampening', val) end end def allow @subclasses['allow'] ||= Allow.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def action @subclasses['action'] ||= Action.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63'}, 'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable'}} def name prop_get('@name') end # Enable def enable prop_get('enable') end # Enable def enable=(val) prop_set('enable', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def import @subclasses['import'] ||= Import.new(parent_instance: self, client: @client, create_children: @create_children) end class Export < ConfigClass def has_multiple_values?; false; end def _section :export end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class UsedBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'used-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def used_by maybe_register_subclass('used-by', UsedBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Match < ConfigClass def has_multiple_values?; false; end def _section :match end class AddressPrefix < XML::ConfigClass def has_multiple_values?; true; end def _section :'address-prefix' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'exact'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'help-string'=>'match exact prefix length'}} def name prop_get('@name') end # match exact prefix length def exact prop_get('exact') end # match exact prefix length def exact=(val) prop_set('exact', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def address_prefix maybe_register_subclass('address-prefix', AddressPrefix.new(parent_instance: self, client: @client, create_children: @create_children)) end class Nexthop < XML::ConfigClass def has_multiple_values?; true; end def _section :nexthop end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def nexthop maybe_register_subclass('nexthop', Nexthop.new(parent_instance: self, client: @client, create_children: @create_children)) end class FromPeer < XML::ConfigClass def has_multiple_values?; true; end def _section :'from-peer' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'filter by peer that sent this route'}} # filter by peer that sent this route def member prop_get('member') end # filter by peer that sent this route def member=(val) prop_set('member', val) end end def from_peer maybe_register_subclass('from-peer', FromPeer.new(parent_instance: self, client: @client, create_children: @create_children)) end class AsPath < ConfigClass def has_multiple_values?; false; end def _section :'as-path' end @props = {'regex'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'126', 'help-string'=>'AS-path regular expression'}} # AS-path regular expression def regex prop_get('regex') end # AS-path regular expression def regex=(val) prop_set('regex', val) end end def as_path @subclasses['as-path'] ||= AsPath.new(parent_instance: self, client: @client, create_children: @create_children) end class Community < ConfigClass def has_multiple_values?; false; end def _section :community end @props = {'regex'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'126', 'help-string'=>'AS-path regular expression'}} # AS-path regular expression def regex prop_get('regex') end # AS-path regular expression def regex=(val) prop_set('regex', val) end end def community @subclasses['community'] ||= Community.new(parent_instance: self, client: @client, create_children: @create_children) end class ExtendedCommunity < ConfigClass def has_multiple_values?; false; end def _section :'extended-community' end @props = {'regex'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'126', 'help-string'=>'AS-path regular expression'}} # AS-path regular expression def regex prop_get('regex') end # AS-path regular expression def regex=(val) prop_set('regex', val) end end def extended_community @subclasses['extended-community'] ||= ExtendedCommunity.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'afi'=>{'node-type'=>'element', 'disabled'=>'yes', 'type'=>'enum', 'optional'=>'yes', 'help-string'=>'Address Family Identifier', 'enum'=>[{'value'=>'ip', 'help-string'=>'IPv4 (INET)'}, {'value'=>'ipv6', 'help-string'=>'IPv6 (INET6)'}]}, 'safi'=>{'node-type'=>'element', 'disabled'=>'yes', 'type'=>'enum', 'optional'=>'yes', 'help-string'=>'Subsequent Address Family Identifier', 'enum'=>[{'value'=>'ip', 'help-string'=>'IPv4 (INET)'}, {'value'=>'ipv6', 'help-string'=>'IPv6 (INET6)'}]}, 'route-table'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'unicast', 'help-string'=>'route table to match rule', 'enum'=>[{'value'=>'unicast', 'help-string'=>'unicast table'}, {'value'=>'multicast', 'help-string'=>'multicast table'}, {'value'=>'both', 'help-string'=>'both unicast and multicast tables'}]}, 'med'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} # Address Family Identifier def afi prop_get('afi') end # Address Family Identifier def afi=(val) prop_set('afi', val) end # Subsequent Address Family Identifier def safi prop_get('safi') end # Subsequent Address Family Identifier def safi=(val) prop_set('safi', val) end # route table to match rule def route_table prop_get('route-table') end # route table to match rule def route_table=(val) prop_set('route-table', val) end def med prop_get('med') end def med=(val) prop_set('med', val) end end def match @subclasses['match'] ||= Match.new(parent_instance: self, client: @client, create_children: @create_children) end class Action < ConfigClass def has_multiple_values?; false; end def _section :action end class Deny < ConfigClass def has_multiple_values?; false; end def _section :deny end @props = {} end def deny @subclasses['deny'] ||= Deny.new(parent_instance: self, client: @client, create_children: @create_children) end class Allow < ConfigClass def has_multiple_values?; false; end def _section :allow end class Update < ConfigClass def has_multiple_values?; false; end def _section :update end class AsPath < ConfigClass def has_multiple_values?; false; end def _section :'as-path' end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end class Remove < ConfigClass def has_multiple_values?; false; end def _section :remove end @props = {} end def remove @subclasses['remove'] ||= Remove.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'prepend'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'default'=>'1', 'help-string'=>'prepend local AS for specified number of times'}, 'remove-and-prepend'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'default'=>'1', 'help-string'=>'remove matched AS path(s), and prepend local AS for specified number of times'}} # prepend local AS for specified number of times def prepend prop_get('prepend') end # prepend local AS for specified number of times def prepend=(val) prop_set('prepend', val) end # remove matched AS path(s), and prepend local AS for specified number of times def remove_and_prepend prop_get('remove-and-prepend') end # remove matched AS path(s), and prepend local AS for specified number of times def remove_and_prepend=(val) prop_set('remove-and-prepend', val) end end def as_path @subclasses['as-path'] ||= AsPath.new(parent_instance: self, client: @client, create_children: @create_children) end class Community < ConfigClass def has_multiple_values?; false; end def _section :community end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end class RemoveAll < ConfigClass def has_multiple_values?; false; end def _section :'remove-all' end @props = {} end def remove_all @subclasses['remove-all'] ||= RemoveAll.new(parent_instance: self, client: @client, create_children: @create_children) end class Append < XML::ConfigClass def has_multiple_values?; true; end def _section :append end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'max-count'=>'1', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'4294967295', 'help-string'=>'32-bit value in decimal'}, 'string'=>{'regex'=>'^[0][xX][0-9A-Fa-f]{8}$|^0:[1-9][0-9]{0,4}$|^[1-9][0-9]{0,4}:[0-9]{1,5}$', 'maxlen'=>'11', 'help-string'=>'32-bit value in hex, or in AS:VAL format, AS and VAL each in 0-65535 range but not 0:0'}, 'enum'=>[{'value'=>'no-export', 'help-string'=>'well known community value: NO_EXPORT'}, {'value'=>'no-advertise', 'help-string'=>'well known community value: NO_ADVERTISE'}, {'value'=>'local-as', 'help-string'=>'well known community value: NO_EXPORT_SUBCONFED'}, {'value'=>'nopeer', 'help-string'=>'well known community value: NOPEER'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def append maybe_register_subclass('append', Append.new(parent_instance: self, client: @client, create_children: @create_children)) end class Overwrite < XML::ConfigClass def has_multiple_values?; true; end def _section :overwrite end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'max-count'=>'1', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'4294967295', 'help-string'=>'32-bit value in decimal'}, 'string'=>{'regex'=>'^[0][xX][0-9A-Fa-f]{8}$|^0:[1-9][0-9]{0,4}$|^[1-9][0-9]{0,4}:[0-9]{1,5}$', 'maxlen'=>'11', 'help-string'=>'32-bit value in hex, or in AS:VAL format, AS and VAL each in 0-65535 range but not 0:0'}, 'enum'=>[{'value'=>'no-export', 'help-string'=>'well known community value: NO_EXPORT'}, {'value'=>'no-advertise', 'help-string'=>'well known community value: NO_ADVERTISE'}, {'value'=>'local-as', 'help-string'=>'well known community value: NO_EXPORT_SUBCONFED'}, {'value'=>'nopeer', 'help-string'=>'well known community value: NOPEER'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def overwrite maybe_register_subclass('overwrite', Overwrite.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'remove-regex'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127', 'help-string'=>'remove specified coummnity match regular expression'}} # remove specified coummnity match regular expression def remove_regex prop_get('remove-regex') end # remove specified coummnity match regular expression def remove_regex=(val) prop_set('remove-regex', val) end end def community @subclasses['community'] ||= Community.new(parent_instance: self, client: @client, create_children: @create_children) end class ExtendedCommunity < ConfigClass def has_multiple_values?; false; end def _section :'extended-community' end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end class RemoveAll < ConfigClass def has_multiple_values?; false; end def _section :'remove-all' end @props = {} end def remove_all @subclasses['remove-all'] ||= RemoveAll.new(parent_instance: self, client: @client, create_children: @create_children) end class Append < XML::ConfigClass def has_multiple_values?; true; end def _section :append end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'max-count'=>'1', 'multi-types'=>{'string'=>{'regex'=>'^([0][xX][A-Fa-f0-9]{16,16})|(([0-9]+|target|origin):[0-9]+(\.[0-9]+)?:[0-9]+)$', 'maxlen'=>'40', 'help-string'=>'64-bit value in hex, or one of TYPE:AS:VAL, TYPE:IP:VAL, TYPE:A.B:VAL format, TYPE is \'target\', \'origin\' or decimal number (0-65535)'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def append maybe_register_subclass('append', Append.new(parent_instance: self, client: @client, create_children: @create_children)) end class Overwrite < XML::ConfigClass def has_multiple_values?; true; end def _section :overwrite end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'max-count'=>'1', 'multi-types'=>{'string'=>{'regex'=>'^([0][xX][A-Fa-f0-9]{16,16})|(([0-9]+|target|origin):[0-9]+(\.[0-9]+)?:[0-9]+)$', 'maxlen'=>'40', 'help-string'=>'64-bit value in hex, or one of TYPE:AS:VAL, TYPE:IP:VAL, TYPE:A.B:VAL format, TYPE is \'target\', \'origin\' or decimal number (0-65535)'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def overwrite maybe_register_subclass('overwrite', Overwrite.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'remove-regex'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127', 'help-string'=>'remove specified coummnity match regular expression'}} # remove specified coummnity match regular expression def remove_regex prop_get('remove-regex') end # remove specified coummnity match regular expression def remove_regex=(val) prop_set('remove-regex', val) end end def extended_community @subclasses['extended-community'] ||= ExtendedCommunity.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'local-preference'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'help-string'=>'new local preference value'}, 'med'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'help-string'=>'new MED value'}, 'nexthop'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'nexthop address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'origin'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-string'=>'new route origin', 'enum'=>[{'value'=>'igp', 'help-string'=>'route originated from IGP'}, {'value'=>'egp', 'help-string'=>'route originated from EGP'}, {'value'=>'incomplete'}]}, 'as-path-limit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'help-string'=>'add AS path limit attribute if it does not exist '}} # new local preference value def local_preference prop_get('local-preference') end # new local preference value def local_preference=(val) prop_set('local-preference', val) end # new MED value def med prop_get('med') end # new MED value def med=(val) prop_set('med', val) end # nexthop address def nexthop prop_get('nexthop') end # nexthop address def nexthop=(val) prop_set('nexthop', val) end # new route origin def origin prop_get('origin') end # new route origin def origin=(val) prop_set('origin', val) end # add AS path limit attribute if it does not exist def as_path_limit prop_get('as-path-limit') end # add AS path limit attribute if it does not exist def as_path_limit=(val) prop_set('as-path-limit', val) end end def update @subclasses['update'] ||= Update.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def allow @subclasses['allow'] ||= Allow.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def action @subclasses['action'] ||= Action.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'31'}, 'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable'}} def name prop_get('@name') end # Enable def enable prop_get('enable') end # Enable def enable=(val) prop_set('enable', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def export @subclasses['export'] ||= Export.new(parent_instance: self, client: @client, create_children: @create_children) end class ConditionalAdvertisement < ConfigClass def has_multiple_values?; false; end def _section :'conditional-advertisement' end class Policy < XML::ConfigClass def has_multiple_values?; true; end def _section :policy end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class UsedBy < XML::ConfigClass def has_multiple_values?; true; end def _section :'used-by' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def used_by maybe_register_subclass('used-by', UsedBy.new(parent_instance: self, client: @client, create_children: @create_children)) end class NonExistFilters < XML::ConfigClass def has_multiple_values?; true; end def _section :'non-exist-filters' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Match < ConfigClass def has_multiple_values?; false; end def _section :match end class AddressPrefix < XML::ConfigClass def has_multiple_values?; true; end def _section :'address-prefix' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'exact'=>{'node-type'=>'element', 'type'=>'bool', 'disabled'=>'yes', 'optional'=>'yes', 'help-string'=>'match exact prefix length'}} def name prop_get('@name') end # match exact prefix length def exact prop_get('exact') end # match exact prefix length def exact=(val) prop_set('exact', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def address_prefix maybe_register_subclass('address-prefix', AddressPrefix.new(parent_instance: self, client: @client, create_children: @create_children)) end class Nexthop < XML::ConfigClass def has_multiple_values?; true; end def _section :nexthop end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def nexthop maybe_register_subclass('nexthop', Nexthop.new(parent_instance: self, client: @client, create_children: @create_children)) end class FromPeer < XML::ConfigClass def has_multiple_values?; true; end def _section :'from-peer' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'filter by peer that sent this route'}} # filter by peer that sent this route def member prop_get('member') end # filter by peer that sent this route def member=(val) prop_set('member', val) end end def from_peer maybe_register_subclass('from-peer', FromPeer.new(parent_instance: self, client: @client, create_children: @create_children)) end class AsPath < ConfigClass def has_multiple_values?; false; end def _section :'as-path' end @props = {'regex'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'126', 'help-string'=>'AS-path regular expression'}} # AS-path regular expression def regex prop_get('regex') end # AS-path regular expression def regex=(val) prop_set('regex', val) end end def as_path @subclasses['as-path'] ||= AsPath.new(parent_instance: self, client: @client, create_children: @create_children) end class Community < ConfigClass def has_multiple_values?; false; end def _section :community end @props = {'regex'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'126', 'help-string'=>'AS-path regular expression'}} # AS-path regular expression def regex prop_get('regex') end # AS-path regular expression def regex=(val) prop_set('regex', val) end end def community @subclasses['community'] ||= Community.new(parent_instance: self, client: @client, create_children: @create_children) end class ExtendedCommunity < ConfigClass def has_multiple_values?; false; end def _section :'extended-community' end @props = {'regex'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'126', 'help-string'=>'AS-path regular expression'}} # AS-path regular expression def regex prop_get('regex') end # AS-path regular expression def regex=(val) prop_set('regex', val) end end def extended_community @subclasses['extended-community'] ||= ExtendedCommunity.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'afi'=>{'node-type'=>'element', 'disabled'=>'yes', 'type'=>'enum', 'optional'=>'yes', 'help-string'=>'Address Family Identifier', 'enum'=>[{'value'=>'ip', 'help-string'=>'IPv4 (INET)'}, {'value'=>'ipv6', 'help-string'=>'IPv6 (INET6)'}]}, 'safi'=>{'node-type'=>'element', 'disabled'=>'yes', 'type'=>'enum', 'optional'=>'yes', 'help-string'=>'Subsequent Address Family Identifier', 'enum'=>[{'value'=>'ip', 'help-string'=>'IPv4 (INET)'}, {'value'=>'ipv6', 'help-string'=>'IPv6 (INET6)'}]}, 'route-table'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'unicast', 'help-string'=>'route table to match rule', 'enum'=>[{'value'=>'unicast', 'help-string'=>'unicast table'}, {'value'=>'multicast', 'help-string'=>'multicast table'}, {'value'=>'both', 'help-string'=>'both unicast and multicast tables'}]}, 'med'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} # Address Family Identifier def afi prop_get('afi') end # Address Family Identifier def afi=(val) prop_set('afi', val) end # Subsequent Address Family Identifier def safi prop_get('safi') end # Subsequent Address Family Identifier def safi=(val) prop_set('safi', val) end # route table to match rule def route_table prop_get('route-table') end # route table to match rule def route_table=(val) prop_set('route-table', val) end def med prop_get('med') end def med=(val) prop_set('med', val) end end def match @subclasses['match'] ||= Match.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'31'}, 'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'enble this filter'}} def name prop_get('@name') end # enble this filter def enable prop_get('enable') end # enble this filter def enable=(val) prop_set('enable', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def non_exist_filters maybe_register_subclass('non-exist-filters', NonExistFilters.new(parent_instance: self, client: @client, create_children: @create_children)) end class AdvertiseFilters < XML::ConfigClass def has_multiple_values?; true; end def _section :'advertise-filters' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Match < ConfigClass def has_multiple_values?; false; end def _section :match end class AddressPrefix < XML::ConfigClass def has_multiple_values?; true; end def _section :'address-prefix' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'exact'=>{'node-type'=>'element', 'type'=>'bool', 'disabled'=>'yes', 'optional'=>'yes', 'help-string'=>'match exact prefix length'}} def name prop_get('@name') end # match exact prefix length def exact prop_get('exact') end # match exact prefix length def exact=(val) prop_set('exact', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def address_prefix maybe_register_subclass('address-prefix', AddressPrefix.new(parent_instance: self, client: @client, create_children: @create_children)) end class Nexthop < XML::ConfigClass def has_multiple_values?; true; end def _section :nexthop end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def nexthop maybe_register_subclass('nexthop', Nexthop.new(parent_instance: self, client: @client, create_children: @create_children)) end class FromPeer < XML::ConfigClass def has_multiple_values?; true; end def _section :'from-peer' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'filter by peer that sent this route'}} # filter by peer that sent this route def member prop_get('member') end # filter by peer that sent this route def member=(val) prop_set('member', val) end end def from_peer maybe_register_subclass('from-peer', FromPeer.new(parent_instance: self, client: @client, create_children: @create_children)) end class AsPath < ConfigClass def has_multiple_values?; false; end def _section :'as-path' end @props = {'regex'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'126', 'help-string'=>'AS-path regular expression'}} # AS-path regular expression def regex prop_get('regex') end # AS-path regular expression def regex=(val) prop_set('regex', val) end end def as_path @subclasses['as-path'] ||= AsPath.new(parent_instance: self, client: @client, create_children: @create_children) end class Community < ConfigClass def has_multiple_values?; false; end def _section :community end @props = {'regex'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'126', 'help-string'=>'AS-path regular expression'}} # AS-path regular expression def regex prop_get('regex') end # AS-path regular expression def regex=(val) prop_set('regex', val) end end def community @subclasses['community'] ||= Community.new(parent_instance: self, client: @client, create_children: @create_children) end class ExtendedCommunity < ConfigClass def has_multiple_values?; false; end def _section :'extended-community' end @props = {'regex'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'126', 'help-string'=>'AS-path regular expression'}} # AS-path regular expression def regex prop_get('regex') end # AS-path regular expression def regex=(val) prop_set('regex', val) end end def extended_community @subclasses['extended-community'] ||= ExtendedCommunity.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'afi'=>{'node-type'=>'element', 'disabled'=>'yes', 'type'=>'enum', 'optional'=>'yes', 'help-string'=>'Address Family Identifier', 'enum'=>[{'value'=>'ip', 'help-string'=>'IPv4 (INET)'}, {'value'=>'ipv6', 'help-string'=>'IPv6 (INET6)'}]}, 'safi'=>{'node-type'=>'element', 'disabled'=>'yes', 'type'=>'enum', 'optional'=>'yes', 'help-string'=>'Subsequent Address Family Identifier', 'enum'=>[{'value'=>'ip', 'help-string'=>'IPv4 (INET)'}, {'value'=>'ipv6', 'help-string'=>'IPv6 (INET6)'}]}, 'route-table'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'unicast', 'help-string'=>'route table to match rule', 'enum'=>[{'value'=>'unicast', 'help-string'=>'unicast table'}, {'value'=>'multicast', 'help-string'=>'multicast table'}, {'value'=>'both', 'help-string'=>'both unicast and multicast tables'}]}, 'med'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} # Address Family Identifier def afi prop_get('afi') end # Address Family Identifier def afi=(val) prop_set('afi', val) end # Subsequent Address Family Identifier def safi prop_get('safi') end # Subsequent Address Family Identifier def safi=(val) prop_set('safi', val) end # route table to match rule def route_table prop_get('route-table') end # route table to match rule def route_table=(val) prop_set('route-table', val) end def med prop_get('med') end def med=(val) prop_set('med', val) end end def match @subclasses['match'] ||= Match.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'31'}, 'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'enble this filter'}} def name prop_get('@name') end # enble this filter def enable prop_get('enable') end # enble this filter def enable=(val) prop_set('enable', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def advertise_filters maybe_register_subclass('advertise-filters', AdvertiseFilters.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'31'}, 'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'enble this policy'}} def name prop_get('@name') end # enble this policy def enable prop_get('enable') end # enble this policy def enable=(val) prop_set('enable', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def policy maybe_register_subclass('policy', Policy.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def conditional_advertisement @subclasses['conditional-advertisement'] ||= ConditionalAdvertisement.new(parent_instance: self, client: @client, create_children: @create_children) end class Aggregation < ConfigClass def has_multiple_values?; false; end def _section :aggregation end class Address < XML::ConfigClass def has_multiple_values?; true; end def _section :address end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class AggregateRouteAttributes < ConfigClass def has_multiple_values?; false; end def _section :'aggregate-route-attributes' end class AsPath < ConfigClass def has_multiple_values?; false; end def _section :'as-path' end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end class Remove < ConfigClass def has_multiple_values?; false; end def _section :remove end @props = {} end def remove @subclasses['remove'] ||= Remove.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'prepend'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'default'=>'1', 'help-string'=>'prepend local AS for specified number of times'}, 'remove-and-prepend'=>{'node-type'=>'element', 'disabled'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'default'=>'1', 'help-string'=>'remove matched AS path(s), and prepend local AS for specified number of times'}} # prepend local AS for specified number of times def prepend prop_get('prepend') end # prepend local AS for specified number of times def prepend=(val) prop_set('prepend', val) end # remove matched AS path(s), and prepend local AS for specified number of times def remove_and_prepend prop_get('remove-and-prepend') end # remove matched AS path(s), and prepend local AS for specified number of times def remove_and_prepend=(val) prop_set('remove-and-prepend', val) end end def as_path @subclasses['as-path'] ||= AsPath.new(parent_instance: self, client: @client, create_children: @create_children) end class Community < ConfigClass def has_multiple_values?; false; end def _section :community end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end class RemoveAll < ConfigClass def has_multiple_values?; false; end def _section :'remove-all' end @props = {} end def remove_all @subclasses['remove-all'] ||= RemoveAll.new(parent_instance: self, client: @client, create_children: @create_children) end class Append < XML::ConfigClass def has_multiple_values?; true; end def _section :append end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'max-count'=>'1', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'4294967295', 'help-string'=>'32-bit value in decimal'}, 'string'=>{'regex'=>'^[0][xX][0-9A-Fa-f]{8}$|^0:[1-9][0-9]{0,4}$|^[1-9][0-9]{0,4}:[0-9]{1,5}$', 'maxlen'=>'11', 'help-string'=>'32-bit value in hex, or in AS:VAL format, AS and VAL each in 0-65535 range but not 0:0'}, 'enum'=>[{'value'=>'no-export', 'help-string'=>'well known community value: NO_EXPORT'}, {'value'=>'no-advertise', 'help-string'=>'well known community value: NO_ADVERTISE'}, {'value'=>'local-as', 'help-string'=>'well known community value: NO_EXPORT_SUBCONFED'}, {'value'=>'nopeer', 'help-string'=>'well known community value: NOPEER'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def append maybe_register_subclass('append', Append.new(parent_instance: self, client: @client, create_children: @create_children)) end class Overwrite < XML::ConfigClass def has_multiple_values?; true; end def _section :overwrite end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'max-count'=>'1', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'4294967295', 'help-string'=>'32-bit value in decimal'}, 'string'=>{'regex'=>'^[0][xX][0-9A-Fa-f]{8}$|^0:[1-9][0-9]{0,4}$|^[1-9][0-9]{0,4}:[0-9]{1,5}$', 'maxlen'=>'11', 'help-string'=>'32-bit value in hex, or in AS:VAL format, AS and VAL each in 0-65535 range but not 0:0'}, 'enum'=>[{'value'=>'no-export', 'help-string'=>'well known community value: NO_EXPORT'}, {'value'=>'no-advertise', 'help-string'=>'well known community value: NO_ADVERTISE'}, {'value'=>'local-as', 'help-string'=>'well known community value: NO_EXPORT_SUBCONFED'}, {'value'=>'nopeer', 'help-string'=>'well known community value: NOPEER'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def overwrite maybe_register_subclass('overwrite', Overwrite.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'remove-regex'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127', 'help-string'=>'remove specified coummnity match regular expression'}} # remove specified coummnity match regular expression def remove_regex prop_get('remove-regex') end # remove specified coummnity match regular expression def remove_regex=(val) prop_set('remove-regex', val) end end def community @subclasses['community'] ||= Community.new(parent_instance: self, client: @client, create_children: @create_children) end class ExtendedCommunity < ConfigClass def has_multiple_values?; false; end def _section :'extended-community' end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end class RemoveAll < ConfigClass def has_multiple_values?; false; end def _section :'remove-all' end @props = {} end def remove_all @subclasses['remove-all'] ||= RemoveAll.new(parent_instance: self, client: @client, create_children: @create_children) end class Append < XML::ConfigClass def has_multiple_values?; true; end def _section :append end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'max-count'=>'1', 'multi-types'=>{'string'=>{'regex'=>'^([0][xX][A-Fa-f0-9]{16,16})|(([0-9]+|target|origin):[0-9]+(\.[0-9]+)?:[0-9]+)$', 'maxlen'=>'40', 'help-string'=>'64-bit value in hex, or one of TYPE:AS:VAL, TYPE:IP:VAL, TYPE:A.B:VAL format, TYPE is \'target\', \'origin\' or decimal number (0-65535)'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def append maybe_register_subclass('append', Append.new(parent_instance: self, client: @client, create_children: @create_children)) end class Overwrite < XML::ConfigClass def has_multiple_values?; true; end def _section :overwrite end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'max-count'=>'1', 'multi-types'=>{'string'=>{'regex'=>'^([0][xX][A-Fa-f0-9]{16,16})|(([0-9]+|target|origin):[0-9]+(\.[0-9]+)?:[0-9]+)$', 'maxlen'=>'40', 'help-string'=>'64-bit value in hex, or one of TYPE:AS:VAL, TYPE:IP:VAL, TYPE:A.B:VAL format, TYPE is \'target\', \'origin\' or decimal number (0-65535)'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def overwrite maybe_register_subclass('overwrite', Overwrite.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'remove-regex'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127', 'help-string'=>'remove specified coummnity match regular expression'}} # remove specified coummnity match regular expression def remove_regex prop_get('remove-regex') end # remove specified coummnity match regular expression def remove_regex=(val) prop_set('remove-regex', val) end end def extended_community @subclasses['extended-community'] ||= ExtendedCommunity.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'local-preference'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'help-string'=>'new local preference value'}, 'med'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'help-string'=>'new MED value'}, 'weight'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65535', 'help-string'=>'new weight value'}, 'nexthop'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'nexthop address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'origin'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-string'=>'new route origin', 'enum'=>[{'value'=>'igp', 'help-string'=>'route originated from IGP'}, {'value'=>'egp', 'help-string'=>'route originated from EGP'}, {'value'=>'incomplete'}]}, 'as-path-limit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'help-string'=>'add AS path limit attribute if it does not exist '}} # new local preference value def local_preference prop_get('local-preference') end # new local preference value def local_preference=(val) prop_set('local-preference', val) end # new MED value def med prop_get('med') end # new MED value def med=(val) prop_set('med', val) end # new weight value def weight prop_get('weight') end # new weight value def weight=(val) prop_set('weight', val) end # nexthop address def nexthop prop_get('nexthop') end # nexthop address def nexthop=(val) prop_set('nexthop', val) end # new route origin def origin prop_get('origin') end # new route origin def origin=(val) prop_set('origin', val) end # add AS path limit attribute if it does not exist def as_path_limit prop_get('as-path-limit') end # add AS path limit attribute if it does not exist def as_path_limit=(val) prop_set('as-path-limit', val) end end def aggregate_route_attributes @subclasses['aggregate-route-attributes'] ||= AggregateRouteAttributes.new(parent_instance: self, client: @client, create_children: @create_children) end class SuppressFilters < XML::ConfigClass def has_multiple_values?; true; end def _section :'suppress-filters' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Match < ConfigClass def has_multiple_values?; false; end def _section :match end class AddressPrefix < XML::ConfigClass def has_multiple_values?; true; end def _section :'address-prefix' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'exact'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'help-string'=>'match exact prefix length'}} def name prop_get('@name') end # match exact prefix length def exact prop_get('exact') end # match exact prefix length def exact=(val) prop_set('exact', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def address_prefix maybe_register_subclass('address-prefix', AddressPrefix.new(parent_instance: self, client: @client, create_children: @create_children)) end class Nexthop < XML::ConfigClass def has_multiple_values?; true; end def _section :nexthop end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def nexthop maybe_register_subclass('nexthop', Nexthop.new(parent_instance: self, client: @client, create_children: @create_children)) end class FromPeer < XML::ConfigClass def has_multiple_values?; true; end def _section :'from-peer' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'filter by peer that sent this route'}} # filter by peer that sent this route def member prop_get('member') end # filter by peer that sent this route def member=(val) prop_set('member', val) end end def from_peer maybe_register_subclass('from-peer', FromPeer.new(parent_instance: self, client: @client, create_children: @create_children)) end class AsPath < ConfigClass def has_multiple_values?; false; end def _section :'as-path' end @props = {'regex'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'126', 'help-string'=>'AS-path regular expression'}} # AS-path regular expression def regex prop_get('regex') end # AS-path regular expression def regex=(val) prop_set('regex', val) end end def as_path @subclasses['as-path'] ||= AsPath.new(parent_instance: self, client: @client, create_children: @create_children) end class Community < ConfigClass def has_multiple_values?; false; end def _section :community end @props = {'regex'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'126', 'help-string'=>'AS-path regular expression'}} # AS-path regular expression def regex prop_get('regex') end # AS-path regular expression def regex=(val) prop_set('regex', val) end end def community @subclasses['community'] ||= Community.new(parent_instance: self, client: @client, create_children: @create_children) end class ExtendedCommunity < ConfigClass def has_multiple_values?; false; end def _section :'extended-community' end @props = {'regex'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'126', 'help-string'=>'AS-path regular expression'}} # AS-path regular expression def regex prop_get('regex') end # AS-path regular expression def regex=(val) prop_set('regex', val) end end def extended_community @subclasses['extended-community'] ||= ExtendedCommunity.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'afi'=>{'node-type'=>'element', 'disabled'=>'yes', 'type'=>'enum', 'optional'=>'yes', 'help-string'=>'Address Family Identifier', 'enum'=>[{'value'=>'ip', 'help-string'=>'IPv4 (INET)'}, {'value'=>'ipv6', 'help-string'=>'IPv6 (INET6)'}]}, 'safi'=>{'node-type'=>'element', 'disabled'=>'yes', 'type'=>'enum', 'optional'=>'yes', 'help-string'=>'Subsequent Address Family Identifier', 'enum'=>[{'value'=>'ip', 'help-string'=>'IPv4 (INET)'}, {'value'=>'ipv6', 'help-string'=>'IPv6 (INET6)'}]}, 'route-table'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'unicast', 'help-string'=>'route table to match rule', 'enum'=>[{'value'=>'unicast', 'help-string'=>'unicast table'}, {'value'=>'multicast', 'help-string'=>'multicast table'}, {'value'=>'both', 'help-string'=>'both unicast and multicast tables'}]}, 'med'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} # Address Family Identifier def afi prop_get('afi') end # Address Family Identifier def afi=(val) prop_set('afi', val) end # Subsequent Address Family Identifier def safi prop_get('safi') end # Subsequent Address Family Identifier def safi=(val) prop_set('safi', val) end # route table to match rule def route_table prop_get('route-table') end # route table to match rule def route_table=(val) prop_set('route-table', val) end def med prop_get('med') end def med=(val) prop_set('med', val) end end def match @subclasses['match'] ||= Match.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'31'}, 'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'enble this rule'}} def name prop_get('@name') end # enble this rule def enable prop_get('enable') end # enble this rule def enable=(val) prop_set('enable', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def suppress_filters maybe_register_subclass('suppress-filters', SuppressFilters.new(parent_instance: self, client: @client, create_children: @create_children)) end class AdvertiseFilters < XML::ConfigClass def has_multiple_values?; true; end def _section :'advertise-filters' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Match < ConfigClass def has_multiple_values?; false; end def _section :match end class AddressPrefix < XML::ConfigClass def has_multiple_values?; true; end def _section :'address-prefix' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'exact'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'help-string'=>'match exact prefix length'}} def name prop_get('@name') end # match exact prefix length def exact prop_get('exact') end # match exact prefix length def exact=(val) prop_set('exact', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def address_prefix maybe_register_subclass('address-prefix', AddressPrefix.new(parent_instance: self, client: @client, create_children: @create_children)) end class Nexthop < XML::ConfigClass def has_multiple_values?; true; end def _section :nexthop end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def nexthop maybe_register_subclass('nexthop', Nexthop.new(parent_instance: self, client: @client, create_children: @create_children)) end class FromPeer < XML::ConfigClass def has_multiple_values?; true; end def _section :'from-peer' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'filter by peer that sent this route'}} # filter by peer that sent this route def member prop_get('member') end # filter by peer that sent this route def member=(val) prop_set('member', val) end end def from_peer maybe_register_subclass('from-peer', FromPeer.new(parent_instance: self, client: @client, create_children: @create_children)) end class AsPath < ConfigClass def has_multiple_values?; false; end def _section :'as-path' end @props = {'regex'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'126', 'help-string'=>'AS-path regular expression'}} # AS-path regular expression def regex prop_get('regex') end # AS-path regular expression def regex=(val) prop_set('regex', val) end end def as_path @subclasses['as-path'] ||= AsPath.new(parent_instance: self, client: @client, create_children: @create_children) end class Community < ConfigClass def has_multiple_values?; false; end def _section :community end @props = {'regex'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'126', 'help-string'=>'AS-path regular expression'}} # AS-path regular expression def regex prop_get('regex') end # AS-path regular expression def regex=(val) prop_set('regex', val) end end def community @subclasses['community'] ||= Community.new(parent_instance: self, client: @client, create_children: @create_children) end class ExtendedCommunity < ConfigClass def has_multiple_values?; false; end def _section :'extended-community' end @props = {'regex'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'126', 'help-string'=>'AS-path regular expression'}} # AS-path regular expression def regex prop_get('regex') end # AS-path regular expression def regex=(val) prop_set('regex', val) end end def extended_community @subclasses['extended-community'] ||= ExtendedCommunity.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'afi'=>{'node-type'=>'element', 'disabled'=>'yes', 'type'=>'enum', 'optional'=>'yes', 'help-string'=>'Address Family Identifier', 'enum'=>[{'value'=>'ip', 'help-string'=>'IPv4 (INET)'}, {'value'=>'ipv6', 'help-string'=>'IPv6 (INET6)'}]}, 'safi'=>{'node-type'=>'element', 'disabled'=>'yes', 'type'=>'enum', 'optional'=>'yes', 'help-string'=>'Subsequent Address Family Identifier', 'enum'=>[{'value'=>'ip', 'help-string'=>'IPv4 (INET)'}, {'value'=>'ipv6', 'help-string'=>'IPv6 (INET6)'}]}, 'route-table'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'unicast', 'help-string'=>'route table to match rule', 'enum'=>[{'value'=>'unicast', 'help-string'=>'unicast table'}, {'value'=>'multicast', 'help-string'=>'multicast table'}, {'value'=>'both', 'help-string'=>'both unicast and multicast tables'}]}, 'med'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295'}} # Address Family Identifier def afi prop_get('afi') end # Address Family Identifier def afi=(val) prop_set('afi', val) end # Subsequent Address Family Identifier def safi prop_get('safi') end # Subsequent Address Family Identifier def safi=(val) prop_set('safi', val) end # route table to match rule def route_table prop_get('route-table') end # route table to match rule def route_table=(val) prop_set('route-table', val) end def med prop_get('med') end def med=(val) prop_set('med', val) end end def match @subclasses['match'] ||= Match.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'31'}, 'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'enble this rule'}} def name prop_get('@name') end # enble this rule def enable prop_get('enable') end # enble this rule def enable=(val) prop_set('enable', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def advertise_filters maybe_register_subclass('advertise-filters', AdvertiseFilters.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'31'}, 'prefix'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'aggregating address prefix', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'enable aggregation for this prefix'}, 'summary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'summarize route'}, 'as-set'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'generate AS-set attribute'}} def name prop_get('@name') end # aggregating address prefix def prefix prop_get('prefix') end # aggregating address prefix def prefix=(val) prop_set('prefix', val) end # enable aggregation for this prefix def enable prop_get('enable') end # enable aggregation for this prefix def enable=(val) prop_set('enable', val) end # summarize route def summary prop_get('summary') end # summarize route def summary=(val) prop_set('summary', val) end # generate AS-set attribute def as_set prop_get('as-set') end # generate AS-set attribute def as_set=(val) prop_set('as-set', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def address maybe_register_subclass('address', Address.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def aggregation @subclasses['aggregation'] ||= Aggregation.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def policy @subclasses['policy'] ||= Policy.new(parent_instance: self, client: @client, create_children: @create_children) end class RedistRules < XML::ConfigClass def has_multiple_values?; true; end def _section :'redist-rules' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SetCommunity < XML::ConfigClass def has_multiple_values?; true; end def _section :'set-community' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'max-count'=>'10', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'4294967295', 'help-string'=>'32-bit value in decimal'}, 'string'=>{'regex'=>'^[0][xX][0-9A-Fa-f]{8}$|^0:[1-9][0-9]{0,4}$|^[1-9][0-9]{0,4}:[0-9]{1,5}$', 'maxlen'=>'11', 'help-string'=>'32-bit value in hex, or in AS:VAL format, AS and VAL each in 0-65535 range but not 0:0'}, 'enum'=>[{'value'=>'no-export', 'help-string'=>'well known community value: NO_EXPORT'}, {'value'=>'no-advertise', 'help-string'=>'well known community value: NO_ADVERTISE'}, {'value'=>'local-as', 'help-string'=>'well known community value: NO_EXPORT_SUBCONFED'}, {'value'=>'nopeer', 'help-string'=>'well known community value: NOPEER'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def set_community maybe_register_subclass('set-community', SetCommunity.new(parent_instance: self, client: @client, create_children: @create_children)) end class SetExtendedCommunity < XML::ConfigClass def has_multiple_values?; true; end def _section :'set-extended-community' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'max-count'=>'5', 'multi-types'=>{'string'=>{'regex'=>'^([0][xX][A-Fa-f0-9]{16,16})|(([0-9]+|target|origin):[0-9]+(\.[0-9]+)?:[0-9]+)$', 'maxlen'=>'40', 'help-string'=>'64-bit value in hex, or one of TYPE:AS:VAL, TYPE:IP:VAL, TYPE:A.B:VAL format, TYPE is \'target\', \'origin\' or decimal number (0-65535)'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def set_extended_community maybe_register_subclass('set-extended-community', SetExtendedCommunity.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'multiple', 'multi-types'=>{'string'=>{'subtype'=>'object-name', 'help-string'=>'redistribute routes using redist-profile'}, 'ipspec'=>{'subnet-only'=>'yes', 'help-string'=>'generate subnet for redistribution'}}}, 'address-family-identifier'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'ipv4', 'help-string'=>'select redistribution profile type', 'enum'=>[{'value'=>'ipv4', 'help-string'=>'choose IPv4 redistribution profiles'}, {'value'=>'ipv6', 'help-string'=>'choose IPv6 redistribution profile'}]}, 'route-table'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'unicast', 'help-string'=>'select destination SAFI for redistribution', 'enum'=>[{'value'=>'unicast', 'help-string'=>'redistribute as unicast route'}, {'value'=>'multicast', 'help-string'=>'redistribute as multicast route'}, {'value'=>'both', 'help-string'=>'redistribute as both unicast and multicast route'}]}, 'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'set-origin'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'incomplete', 'help-string'=>'add the ORIGIN path attribute', 'enum'=>[{'value'=>'igp', 'help-string'=>'Path interior to originating AS'}, {'value'=>'egp', 'help-string'=>'Path learned via EGP protocol'}, {'value'=>'incomplete', 'help-string'=>'Path was learned by some other means'}]}, 'set-med'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'help-string'=>'add the MULTI_EXIT_DISC path attribute'}, 'set-local-preference'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'help-string'=>'add the LOCAL_PREF path attribute'}, 'set-as-path-limit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'help-string'=>'add the AS_PATHLIMIT path attribute'}, 'metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'metric value'}} def name prop_get('@name') end # select redistribution profile type def address_family_identifier prop_get('address-family-identifier') end # select redistribution profile type def address_family_identifier=(val) prop_set('address-family-identifier', val) end # select destination SAFI for redistribution def route_table prop_get('route-table') end # select destination SAFI for redistribution def route_table=(val) prop_set('route-table', val) end def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # add the ORIGIN path attribute def set_origin prop_get('set-origin') end # add the ORIGIN path attribute def set_origin=(val) prop_set('set-origin', val) end # add the MULTI_EXIT_DISC path attribute def set_med prop_get('set-med') end # add the MULTI_EXIT_DISC path attribute def set_med=(val) prop_set('set-med', val) end # add the LOCAL_PREF path attribute def set_local_preference prop_get('set-local-preference') end # add the LOCAL_PREF path attribute def set_local_preference=(val) prop_set('set-local-preference', val) end # add the AS_PATHLIMIT path attribute def set_as_path_limit prop_get('set-as-path-limit') end # add the AS_PATHLIMIT path attribute def set_as_path_limit=(val) prop_set('set-as-path-limit', val) end # metric value def metric prop_get('metric') end # metric value def metric=(val) prop_set('metric', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def redist_rules maybe_register_subclass('redist-rules', RedistRules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'router-id'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'router id of this BGP instance', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'ipv4-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'local-as'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'local AS number', 'multi-types'=>{'string'=>{'maxlen'=>'63', 'loose-membership'=>'yes'}, 'rangedint'=>{'min'=>'1', 'max'=>'4294967295'}}}, 'reject-default-route'=>{'node-type'=>'element', 'optional'=>'yes', 'help-string'=>'do not learn default route from BGP', 'type'=>'bool', 'default'=>'yes'}, 'allow-redist-default-route'=>{'node-type'=>'element', 'optional'=>'yes', 'help-string'=>'allow redistribute default route to BGP', 'type'=>'bool', 'default'=>'no'}, 'install-route'=>{'node-type'=>'element', 'optional'=>'yes', 'help-string'=>'Populate BGP learned route to global route table', 'type'=>'bool', 'default'=>'no'}, 'ecmp-multi-as'=>{'node-type'=>'element', 'optional'=>'yes', 'help-string'=>'Support multiple AS in ECMP', 'type'=>'bool', 'default'=>'no'}, 'enforce-first-as'=>{'node-type'=>'element', 'optional'=>'yes', 'help-string'=>'Enforce First AS for EBGP', 'type'=>'bool', 'default'=>'yes'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # router id of this BGP instance def router_id prop_get('router-id') end # router id of this BGP instance def router_id=(val) prop_set('router-id', val) end # local AS number def local_as prop_get('local-as') end # local AS number def local_as=(val) prop_set('local-as', val) end # do not learn default route from BGP def reject_default_route prop_get('reject-default-route') end # do not learn default route from BGP def reject_default_route=(val) prop_set('reject-default-route', val) end # allow redistribute default route to BGP def allow_redist_default_route prop_get('allow-redist-default-route') end # allow redistribute default route to BGP def allow_redist_default_route=(val) prop_set('allow-redist-default-route', val) end # Populate BGP learned route to global route table def install_route prop_get('install-route') end # Populate BGP learned route to global route table def install_route=(val) prop_set('install-route', val) end # Support multiple AS in ECMP def ecmp_multi_as prop_get('ecmp-multi-as') end # Support multiple AS in ECMP def ecmp_multi_as=(val) prop_set('ecmp-multi-as', val) end # Enforce First AS for EBGP def enforce_first_as prop_get('enforce-first-as') end # Enforce First AS for EBGP def enforce_first_as=(val) prop_set('enforce-first-as', val) end end def bgp @subclasses['bgp'] ||= Bgp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def protocol @subclasses['protocol'] ||= Protocol.new(parent_instance: self, client: @client, create_children: @create_children) end class AdminDists < ConfigClass def has_multiple_values?; false; end def _section :'admin-dists' end @props = {'static'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'10', 'max'=>'240', 'default'=>'10', 'help-string'=>'administrative distance used for static routes'}, 'static-ipv6'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'10', 'max'=>'240', 'default'=>'10', 'help-string'=>'administrative distance used for ipv6 static routes'}, 'ospf-int'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'10', 'max'=>'240', 'default'=>'30', 'help-string'=>'administrative distance used for OSPF internal routes'}, 'ospf-ext'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'10', 'max'=>'240', 'default'=>'110', 'help-string'=>'administrative distance used for OSPF external routes'}, 'ospfv3-int'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'10', 'max'=>'240', 'default'=>'30', 'help-string'=>'administrative distance used for OSPFv3 internal routes'}, 'ospfv3-ext'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'10', 'max'=>'240', 'default'=>'110', 'help-string'=>'administrative distance used for OSPFv3 external routes'}, 'ibgp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'10', 'max'=>'240', 'default'=>'200', 'help-string'=>'administrative distance used for iBGP routes'}, 'ebgp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'10', 'max'=>'240', 'default'=>'20', 'help-string'=>'administrative distance used for eBGP routes'}, 'rip'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'10', 'max'=>'240', 'default'=>'120', 'help-string'=>'administrative distance used for RIP routes'}} # administrative distance used for static routes def static prop_get('static') end # administrative distance used for static routes def static=(val) prop_set('static', val) end # administrative distance used for ipv6 static routes def static_ipv6 prop_get('static-ipv6') end # administrative distance used for ipv6 static routes def static_ipv6=(val) prop_set('static-ipv6', val) end # administrative distance used for OSPF internal routes def ospf_int prop_get('ospf-int') end # administrative distance used for OSPF internal routes def ospf_int=(val) prop_set('ospf-int', val) end # administrative distance used for OSPF external routes def ospf_ext prop_get('ospf-ext') end # administrative distance used for OSPF external routes def ospf_ext=(val) prop_set('ospf-ext', val) end # administrative distance used for OSPFv3 internal routes def ospfv3_int prop_get('ospfv3-int') end # administrative distance used for OSPFv3 internal routes def ospfv3_int=(val) prop_set('ospfv3-int', val) end # administrative distance used for OSPFv3 external routes def ospfv3_ext prop_get('ospfv3-ext') end # administrative distance used for OSPFv3 external routes def ospfv3_ext=(val) prop_set('ospfv3-ext', val) end # administrative distance used for iBGP routes def ibgp prop_get('ibgp') end # administrative distance used for iBGP routes def ibgp=(val) prop_set('ibgp', val) end # administrative distance used for eBGP routes def ebgp prop_get('ebgp') end # administrative distance used for eBGP routes def ebgp=(val) prop_set('ebgp', val) end # administrative distance used for RIP routes def rip prop_get('rip') end # administrative distance used for RIP routes def rip=(val) prop_set('rip', val) end end def admin_dists @subclasses['admin-dists'] ||= AdminDists.new(parent_instance: self, client: @client, create_children: @create_children) end class Ecmp < ConfigClass def has_multiple_values?; false; end def _section :ecmp end class Algorithm < ConfigClass def has_multiple_values?; false; end def _section :algorithm end class IpModulo < ConfigClass def has_multiple_values?; false; end def _section :'ip-modulo' end @props = {} end def ip_modulo @subclasses['ip-modulo'] ||= IpModulo.new(parent_instance: self, client: @client, create_children: @create_children) end class IpHash < ConfigClass def has_multiple_values?; false; end def _section :'ip-hash' end @props = {'src-only'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'only use source address for hash', 'uiHint-fieldLabel'=>'Use Source Address Only'}, 'use-port'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'use source/destination port for hash'}, 'hash-seed'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'default'=>'0', 'help-string'=>'User-specified hash seed'}} # only use source address for hash def src_only prop_get('src-only') end # only use source address for hash def src_only=(val) prop_set('src-only', val) end # use source/destination port for hash def use_port prop_get('use-port') end # use source/destination port for hash def use_port=(val) prop_set('use-port', val) end # User-specified hash seed def hash_seed prop_get('hash-seed') end # User-specified hash seed def hash_seed=(val) prop_set('hash-seed', val) end end def ip_hash @subclasses['ip-hash'] ||= IpHash.new(parent_instance: self, client: @client, create_children: @create_children) end class WeightedRoundRobin < ConfigClass def has_multiple_values?; false; end def _section :'weighted-round-robin' end class Interface < XML::ConfigClass def has_multiple_values?; true; end def _section :interface end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'interface name'}, 'weight'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'default'=>'100', 'help-string'=>'interface ECMP weight'}} # interface name def name prop_get('@name') end # interface ECMP weight def weight prop_get('weight') end # interface ECMP weight def weight=(val) prop_set('weight', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def interface maybe_register_subclass('interface', Interface.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def weighted_round_robin @subclasses['weighted-round-robin'] ||= WeightedRoundRobin.new(parent_instance: self, client: @client, create_children: @create_children) end class BalancedRoundRobin < ConfigClass def has_multiple_values?; false; end def _section :'balanced-round-robin' end @props = {} end def balanced_round_robin @subclasses['balanced-round-robin'] ||= BalancedRoundRobin.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def algorithm @subclasses['algorithm'] ||= Algorithm.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable Equal Cost Multipath routing, change this configuration will result in a virtual router restart'}, 'max-path'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'2', 'max'=>'4', 'default'=>'2', 'help-string'=>'Maxmum number of ECMP paths supported, change this configuration will result in a virtual router restart'}, 'symmetric-return'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'allows return packets to egress out of the ingress interface of the flow'}, 'strict-source-path'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'force VPN traffic to exit interface that the source-ip belongs to'}} # enable Equal Cost Multipath routing, change this configuration will result in a virtual router restart def enable prop_get('enable') end # enable Equal Cost Multipath routing, change this configuration will result in a virtual router restart def enable=(val) prop_set('enable', val) end # Maxmum number of ECMP paths supported, change this configuration will result in a virtual router restart def max_path prop_get('max-path') end # Maxmum number of ECMP paths supported, change this configuration will result in a virtual router restart def max_path=(val) prop_set('max-path', val) end # allows return packets to egress out of the ingress interface of the flow def symmetric_return prop_get('symmetric-return') end # allows return packets to egress out of the ingress interface of the flow def symmetric_return=(val) prop_set('symmetric-return', val) end # force VPN traffic to exit interface that the source-ip belongs to def strict_source_path prop_get('strict-source-path') end # force VPN traffic to exit interface that the source-ip belongs to def strict_source_path=(val) prop_set('strict-source-path', val) end end def ecmp @subclasses['ecmp'] ||= Ecmp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def virtual_router maybe_register_subclass('virtual-router', VirtualRouter.new(parent_instance: self, client: @client, create_children: @create_children)) end class SecureWebGateway < ConfigClass def has_multiple_values?; false; end def _section :'secure-web-gateway' end class Enablement < XML::ConfigClass def has_multiple_values?; true; end def _section :enablement end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end class ExplicitProxy < ConfigClass def has_multiple_values?; false; end def _section :'explicit-proxy' end @props = {} end def explicit_proxy @subclasses['explicit-proxy'] ||= ExplicitProxy.new(parent_instance: self, client: @client, create_children: @create_children) end class TransparentProxy < ConfigClass def has_multiple_values?; false; end def _section :'transparent-proxy' end @props = {} end def transparent_proxy @subclasses['transparent-proxy'] ||= TransparentProxy.new(parent_instance: self, client: @client, create_children: @create_children) end class PaloaltoNetworksServiceProxy < ConfigClass def has_multiple_values?; false; end def _section :'paloalto-networks-service-proxy' end @props = {} end def paloalto_networks_service_proxy @subclasses['paloalto-networks-service-proxy'] ||= PaloaltoNetworksServiceProxy.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def enablement maybe_register_subclass('enablement', Enablement.new(parent_instance: self, client: @client, create_children: @create_children)) end class ExplicitWebGateway < ConfigClass def has_multiple_values?; false; end def _section :'explicit-web-gateway' end class ProxyIp < ConfigClass def has_multiple_values?; false; end def _section :'proxy-ip' end @props = {'ipv4'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'IPv4 addresses'}} # IPv4 addresses def ipv4 prop_get('ipv4') end # IPv4 addresses def ipv4=(val) prop_set('ipv4', val) end end def proxy_ip @subclasses['proxy-ip'] ||= ProxyIp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'connect-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'60', 'default'=>'5', 'help-string'=>'CONNECT timeout'}, 'dns-proxy'=>{'node-type'=>'element', 'type'=>'string', 'complete-handler'=>'swg-dns-proxy-completer', 'help-string'=>'DNS proxy for upstream DNS'}, 'interface'=>{'node-type'=>'element', 'uiHint-Label'=>'listening-interface', 'type'=>'string', 'help-string'=>'Explicit Web Gateway Interface/Address'}, 'upstream-interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'proxy upstream traffic source loopback interface'}, 'authentication-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'complete-handler'=>'swg-auth-profile-completer', 'help-string'=>'Authentication profile to use for Kerberos Single-Sign-on'}, 'log-setting'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'uiHint-fieldLabel'=>'Authentication Log Forwarding', 'help-string'=>'Log Setting for Forwarding Authentication Logs'}, 'authentication-method'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'saml-cas', 'enum'=>[{'value'=>'saml-cas', 'help-string'=>'SAML or CAS authentication'}, {'value'=>'kerberos-sso', 'help-string'=>'Kerberos Single-Sign-on'}]}, 'skip-auth-category'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Skip authentication for the category'}, 'swg-site-cookie'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'Name your swg-site-cookie'}, 'acs-return-path'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'External ACS return path, default to _proxy_auth'}, 'strip-alpn'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Strip ALPN in client hello'}, 'sni-dest-check'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Reset if SNI does not match HTTP CONNECT'}} # CONNECT timeout def connect_timeout prop_get('connect-timeout') end # CONNECT timeout def connect_timeout=(val) prop_set('connect-timeout', val) end # DNS proxy for upstream DNS def dns_proxy prop_get('dns-proxy') end # DNS proxy for upstream DNS def dns_proxy=(val) prop_set('dns-proxy', val) end # Explicit Web Gateway Interface/Address def interface prop_get('interface') end # Explicit Web Gateway Interface/Address def interface=(val) prop_set('interface', val) end # proxy upstream traffic source loopback interface def upstream_interface prop_get('upstream-interface') end # proxy upstream traffic source loopback interface def upstream_interface=(val) prop_set('upstream-interface', val) end # Authentication profile to use for Kerberos Single-Sign-on def authentication_profile prop_get('authentication-profile') end # Authentication profile to use for Kerberos Single-Sign-on def authentication_profile=(val) prop_set('authentication-profile', val) end # Log Setting for Forwarding Authentication Logs def log_setting prop_get('log-setting') end # Log Setting for Forwarding Authentication Logs def log_setting=(val) prop_set('log-setting', val) end def authentication_method prop_get('authentication-method') end def authentication_method=(val) prop_set('authentication-method', val) end # Skip authentication for the category def skip_auth_category prop_get('skip-auth-category') end # Skip authentication for the category def skip_auth_category=(val) prop_set('skip-auth-category', val) end # Name your swg-site-cookie def swg_site_cookie prop_get('swg-site-cookie') end # Name your swg-site-cookie def swg_site_cookie=(val) prop_set('swg-site-cookie', val) end # External ACS return path, default to _proxy_auth def acs_return_path prop_get('acs-return-path') end # External ACS return path, default to _proxy_auth def acs_return_path=(val) prop_set('acs-return-path', val) end # Strip ALPN in client hello def strip_alpn prop_get('strip-alpn') end # Strip ALPN in client hello def strip_alpn=(val) prop_set('strip-alpn', val) end # Reset if SNI does not match HTTP CONNECT def sni_dest_check prop_get('sni-dest-check') end # Reset if SNI does not match HTTP CONNECT def sni_dest_check=(val) prop_set('sni-dest-check', val) end end def explicit_web_gateway @subclasses['explicit-web-gateway'] ||= ExplicitWebGateway.new(parent_instance: self, client: @client, create_children: @create_children) end class TransparentWebGateway < ConfigClass def has_multiple_values?; false; end def _section :'transparent-web-gateway' end class ProxyIp < ConfigClass def has_multiple_values?; false; end def _section :'proxy-ip' end @props = {'ipv4'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'IPv4 addresses'}} # IPv4 addresses def ipv4 prop_get('ipv4') end # IPv4 addresses def ipv4=(val) prop_set('ipv4', val) end end def proxy_ip @subclasses['proxy-ip'] ||= ProxyIp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'connect-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'60', 'default'=>'5', 'help-string'=>'CONNECT timeout'}, 'dns-proxy'=>{'node-type'=>'element', 'type'=>'string', 'complete-handler'=>'swg-dns-proxy-completer', 'help-string'=>'DNS proxy for upstream DNS'}, 'upstream-interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'proxy upstream traffic source loopback interface'}} # CONNECT timeout def connect_timeout prop_get('connect-timeout') end # CONNECT timeout def connect_timeout=(val) prop_set('connect-timeout', val) end # DNS proxy for upstream DNS def dns_proxy prop_get('dns-proxy') end # DNS proxy for upstream DNS def dns_proxy=(val) prop_set('dns-proxy', val) end # proxy upstream traffic source loopback interface def upstream_interface prop_get('upstream-interface') end # proxy upstream traffic source loopback interface def upstream_interface=(val) prop_set('upstream-interface', val) end end def transparent_web_gateway @subclasses['transparent-web-gateway'] ||= TransparentWebGateway.new(parent_instance: self, client: @client, create_children: @create_children) end class PaloaltoNetworksServiceGateway < ConfigClass def has_multiple_values?; false; end def _section :'paloalto-networks-service-gateway' end class ProxyIp < ConfigClass def has_multiple_values?; false; end def _section :'proxy-ip' end @props = {'ipv4'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'IPv4 addresses'}} # IPv4 addresses def ipv4 prop_get('ipv4') end # IPv4 addresses def ipv4=(val) prop_set('ipv4', val) end end def proxy_ip @subclasses['proxy-ip'] ||= ProxyIp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'connect-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'60', 'default'=>'5', 'help-string'=>'CONNECT timeout'}, 'dns-proxy'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'complete-handler'=>'swg-dns-proxy-completer', 'help-string'=>'DNS proxy for upstream DNS'}, 'interface'=>{'node-type'=>'element', 'uiHint-Label'=>'listening-interface', 'type'=>'string', 'help-string'=>'Palo Alto Networks Service Gateway Interface/Address'}, 'upstream-interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'proxy upstream traffic source loopback interface'}, 'allowed-category'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Allowed URL category'}, 'next-hop-proxy-server'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^([0-9a-zA-Z.:/_-])+$', 'maxlen'=>'255', 'help-string'=>'Next hop Palo Alto Networks service proxy server'}, 'next-hop-proxy-port'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Port for next hop Palo Alto Networks service proxy server'}} # CONNECT timeout def connect_timeout prop_get('connect-timeout') end # CONNECT timeout def connect_timeout=(val) prop_set('connect-timeout', val) end # DNS proxy for upstream DNS def dns_proxy prop_get('dns-proxy') end # DNS proxy for upstream DNS def dns_proxy=(val) prop_set('dns-proxy', val) end # Palo Alto Networks Service Gateway Interface/Address def interface prop_get('interface') end # Palo Alto Networks Service Gateway Interface/Address def interface=(val) prop_set('interface', val) end # proxy upstream traffic source loopback interface def upstream_interface prop_get('upstream-interface') end # proxy upstream traffic source loopback interface def upstream_interface=(val) prop_set('upstream-interface', val) end # Allowed URL category def allowed_category prop_get('allowed-category') end # Allowed URL category def allowed_category=(val) prop_set('allowed-category', val) end # Next hop Palo Alto Networks service proxy server def next_hop_proxy_server prop_get('next-hop-proxy-server') end # Next hop Palo Alto Networks service proxy server def next_hop_proxy_server=(val) prop_set('next-hop-proxy-server', val) end # Port for next hop Palo Alto Networks service proxy server def next_hop_proxy_port prop_get('next-hop-proxy-port') end # Port for next hop Palo Alto Networks service proxy server def next_hop_proxy_port=(val) prop_set('next-hop-proxy-port', val) end end def paloalto_networks_service_gateway @subclasses['paloalto-networks-service-gateway'] ||= PaloaltoNetworksServiceGateway.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def secure_web_gateway @subclasses['secure-web-gateway'] ||= SecureWebGateway.new(parent_instance: self, client: @client, create_children: @create_children) end class LogicalRouter < XML::ConfigClass def has_multiple_values?; true; end def _section :'logical-router' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Vrf < XML::ConfigClass def has_multiple_values?; true; end def _section :vrf end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Interface < XML::ConfigClass def has_multiple_values?; true; end def _section :interface end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def interface maybe_register_subclass('interface', Interface.new(parent_instance: self, client: @client, create_children: @create_children)) end class AdminDists < ConfigClass def has_multiple_values?; false; end def _section :'admin-dists' end @props = {'static'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'default'=>'10', 'help-string'=>'Set IPv4 Static Routes Administrative Distance'}, 'static-ipv6'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'default'=>'10', 'help-string'=>'Set IPv6 Static Routes Administrative Distance'}, 'ospf-inter'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'default'=>'110', 'help-string'=>'Set OSPF Inter Area Routes Administrative Distance'}, 'ospf-intra'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'default'=>'110', 'help-string'=>'Set OSPF Intra Area Routes Administrative Distance'}, 'ospf-ext'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'default'=>'110', 'help-string'=>'Set OSPF External Routes Administrative Distance'}, 'ospfv3-inter'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'default'=>'110', 'help-string'=>'Set OSPFv3 Inter Area Routes Administrative Distance'}, 'ospfv3-intra'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'default'=>'110', 'help-string'=>'Set OSPFv3 Intra Area Routes Administrative Distance'}, 'ospfv3-ext'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'default'=>'110', 'help-string'=>'Set OSPFv3 External Routes Administrative Distance'}, 'bgp-internal'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'default'=>'200', 'help-string'=>'Set BGP AS Internal Routes Administrative Distance'}, 'bgp-external'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'default'=>'20', 'help-string'=>'Set BGP AS External Routes Administrative Distance'}, 'bgp-local'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'default'=>'20', 'help-string'=>'Set BGP Local Routes Administrative Distance'}, 'rip'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'default'=>'120', 'help-string'=>'Set RIP Routes Administrative Distance'}} # Set IPv4 Static Routes Administrative Distance def static prop_get('static') end # Set IPv4 Static Routes Administrative Distance def static=(val) prop_set('static', val) end # Set IPv6 Static Routes Administrative Distance def static_ipv6 prop_get('static-ipv6') end # Set IPv6 Static Routes Administrative Distance def static_ipv6=(val) prop_set('static-ipv6', val) end # Set OSPF Inter Area Routes Administrative Distance def ospf_inter prop_get('ospf-inter') end # Set OSPF Inter Area Routes Administrative Distance def ospf_inter=(val) prop_set('ospf-inter', val) end # Set OSPF Intra Area Routes Administrative Distance def ospf_intra prop_get('ospf-intra') end # Set OSPF Intra Area Routes Administrative Distance def ospf_intra=(val) prop_set('ospf-intra', val) end # Set OSPF External Routes Administrative Distance def ospf_ext prop_get('ospf-ext') end # Set OSPF External Routes Administrative Distance def ospf_ext=(val) prop_set('ospf-ext', val) end # Set OSPFv3 Inter Area Routes Administrative Distance def ospfv3_inter prop_get('ospfv3-inter') end # Set OSPFv3 Inter Area Routes Administrative Distance def ospfv3_inter=(val) prop_set('ospfv3-inter', val) end # Set OSPFv3 Intra Area Routes Administrative Distance def ospfv3_intra prop_get('ospfv3-intra') end # Set OSPFv3 Intra Area Routes Administrative Distance def ospfv3_intra=(val) prop_set('ospfv3-intra', val) end # Set OSPFv3 External Routes Administrative Distance def ospfv3_ext prop_get('ospfv3-ext') end # Set OSPFv3 External Routes Administrative Distance def ospfv3_ext=(val) prop_set('ospfv3-ext', val) end # Set BGP AS Internal Routes Administrative Distance def bgp_internal prop_get('bgp-internal') end # Set BGP AS Internal Routes Administrative Distance def bgp_internal=(val) prop_set('bgp-internal', val) end # Set BGP AS External Routes Administrative Distance def bgp_external prop_get('bgp-external') end # Set BGP AS External Routes Administrative Distance def bgp_external=(val) prop_set('bgp-external', val) end # Set BGP Local Routes Administrative Distance def bgp_local prop_get('bgp-local') end # Set BGP Local Routes Administrative Distance def bgp_local=(val) prop_set('bgp-local', val) end # Set RIP Routes Administrative Distance def rip prop_get('rip') end # Set RIP Routes Administrative Distance def rip=(val) prop_set('rip', val) end end def admin_dists @subclasses['admin-dists'] ||= AdminDists.new(parent_instance: self, client: @client, create_children: @create_children) end class RibFilter < ConfigClass def has_multiple_values?; false; end def _section :'rib-filter' end class Ipv4 < ConfigClass def has_multiple_values?; false; end def _section :ipv4 end class Static < ConfigClass def has_multiple_values?; false; end def _section :static end @props = {'route-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Apply Route-Map on Static Routes'}} # Apply Route-Map on Static Routes def route_map prop_get('route-map') end # Apply Route-Map on Static Routes def route_map=(val) prop_set('route-map', val) end end def static @subclasses['static'] ||= Static.new(parent_instance: self, client: @client, create_children: @create_children) end class Bgp < ConfigClass def has_multiple_values?; false; end def _section :bgp end @props = {'route-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Apply Route-Map on BGP Routes'}} # Apply Route-Map on BGP Routes def route_map prop_get('route-map') end # Apply Route-Map on BGP Routes def route_map=(val) prop_set('route-map', val) end end def bgp @subclasses['bgp'] ||= Bgp.new(parent_instance: self, client: @client, create_children: @create_children) end class Ospf < ConfigClass def has_multiple_values?; false; end def _section :ospf end @props = {'route-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Apply Route-Map on OSPF Routes'}} # Apply Route-Map on OSPF Routes def route_map prop_get('route-map') end # Apply Route-Map on OSPF Routes def route_map=(val) prop_set('route-map', val) end end def ospf @subclasses['ospf'] ||= Ospf.new(parent_instance: self, client: @client, create_children: @create_children) end class Rip < ConfigClass def has_multiple_values?; false; end def _section :rip end @props = {'route-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Apply Route-Map on RIP Routes'}} # Apply Route-Map on RIP Routes def route_map prop_get('route-map') end # Apply Route-Map on RIP Routes def route_map=(val) prop_set('route-map', val) end end def rip @subclasses['rip'] ||= Rip.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ipv4 @subclasses['ipv4'] ||= Ipv4.new(parent_instance: self, client: @client, create_children: @create_children) end class Ipv6 < ConfigClass def has_multiple_values?; false; end def _section :ipv6 end class Static < ConfigClass def has_multiple_values?; false; end def _section :static end @props = {'route-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Apply Route-Map on Static Routes'}} # Apply Route-Map on Static Routes def route_map prop_get('route-map') end # Apply Route-Map on Static Routes def route_map=(val) prop_set('route-map', val) end end def static @subclasses['static'] ||= Static.new(parent_instance: self, client: @client, create_children: @create_children) end class Bgp < ConfigClass def has_multiple_values?; false; end def _section :bgp end @props = {'route-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Apply Route-Map on BGP Routes'}} # Apply Route-Map on BGP Routes def route_map prop_get('route-map') end # Apply Route-Map on BGP Routes def route_map=(val) prop_set('route-map', val) end end def bgp @subclasses['bgp'] ||= Bgp.new(parent_instance: self, client: @client, create_children: @create_children) end class Ospfv3 < ConfigClass def has_multiple_values?; false; end def _section :ospfv3 end @props = {'route-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Apply Route-Map on OSPFv3 Routes'}} # Apply Route-Map on OSPFv3 Routes def route_map prop_get('route-map') end # Apply Route-Map on OSPFv3 Routes def route_map=(val) prop_set('route-map', val) end end def ospfv3 @subclasses['ospfv3'] ||= Ospfv3.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ipv6 @subclasses['ipv6'] ||= Ipv6.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def rib_filter @subclasses['rib-filter'] ||= RibFilter.new(parent_instance: self, client: @client, create_children: @create_children) end class Bgp < ConfigClass def has_multiple_values?; false; end def _section :bgp end class Med < ConfigClass def has_multiple_values?; false; end def _section :med end @props = {'always-compare-med'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'always compare MEDs'}, 'deterministic-med-comparison'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'deterministic MEDs comparison'}} # always compare MEDs def always_compare_med prop_get('always-compare-med') end # always compare MEDs def always_compare_med=(val) prop_set('always-compare-med', val) end # deterministic MEDs comparison def deterministic_med_comparison prop_get('deterministic-med-comparison') end # deterministic MEDs comparison def deterministic_med_comparison=(val) prop_set('deterministic-med-comparison', val) end end def med @subclasses['med'] ||= Med.new(parent_instance: self, client: @client, create_children: @create_children) end class GracefulRestart < ConfigClass def has_multiple_values?; false; end def _section :'graceful-restart' end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'stale-route-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'120', 'help-string'=>'time to remove stale routes after peer restart Default:120 (in seconds)'}, 'max-peer-restart-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'120', 'help-string'=>'maximum of peer restart time accepted Default:120 (in seconds)'}, 'local-restart-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'120', 'help-string'=>'local restart time to advertise to peer Default:120 (in seconds)'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # time to remove stale routes after peer restart Default:120 (in seconds) def stale_route_time prop_get('stale-route-time') end # time to remove stale routes after peer restart Default:120 (in seconds) def stale_route_time=(val) prop_set('stale-route-time', val) end # maximum of peer restart time accepted Default:120 (in seconds) def max_peer_restart_time prop_get('max-peer-restart-time') end # maximum of peer restart time accepted Default:120 (in seconds) def max_peer_restart_time=(val) prop_set('max-peer-restart-time', val) end # local restart time to advertise to peer Default:120 (in seconds) def local_restart_time prop_get('local-restart-time') end # local restart time to advertise to peer Default:120 (in seconds) def local_restart_time=(val) prop_set('local-restart-time', val) end end def graceful_restart @subclasses['graceful-restart'] ||= GracefulRestart.new(parent_instance: self, client: @client, create_children: @create_children) end class GlobalBfd < ConfigClass def has_multiple_values?; false; end def _section :'global-bfd' end @props = {'profile'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'None', 'help-string'=>'BFD profile', 'optional'=>'yes', 'uiHint-fieldLabel'=>'BFD Profile', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'None', 'help-string'=>'Disable BFD'}]}}} # BFD profile def profile prop_get('profile') end # BFD profile def profile=(val) prop_set('profile', val) end end def global_bfd @subclasses['global-bfd'] ||= GlobalBfd.new(parent_instance: self, client: @client, create_children: @create_children) end class PeerGroup < XML::ConfigClass def has_multiple_values?; true; end def _section :'peer-group' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Ibgp < ConfigClass def has_multiple_values?; false; end def _section :ibgp end @props = {} end def ibgp @subclasses['ibgp'] ||= Ibgp.new(parent_instance: self, client: @client, create_children: @create_children) end class Ebgp < ConfigClass def has_multiple_values?; false; end def _section :ebgp end @props = {} end def ebgp @subclasses['ebgp'] ||= Ebgp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end class AddressFamily < ConfigClass def has_multiple_values?; false; end def _section :'address-family' end @props = {'ipv4'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'uiHint-fieldLabel'=>'IPv4 Address Family', 'help-string'=>'Enable IPv4 route exchange'}, 'ipv6'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'uiHint-fieldLabel'=>'IPv6 Address Family', 'help-string'=>'Enable IPv6 route exchange'}} # Enable IPv4 route exchange def ipv4 prop_get('ipv4') end # Enable IPv4 route exchange def ipv4=(val) prop_set('ipv4', val) end # Enable IPv6 route exchange def ipv6 prop_get('ipv6') end # Enable IPv6 route exchange def ipv6=(val) prop_set('ipv6', val) end end def address_family @subclasses['address-family'] ||= AddressFamily.new(parent_instance: self, client: @client, create_children: @create_children) end class FilteringProfile < ConfigClass def has_multiple_values?; false; end def _section :'filtering-profile' end @props = {'ipv4'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'uiHint-fieldLabel'=>'IPv4 Filtering Profile', 'help-string'=>'IPv4 Filtering Profile'}, 'ipv6'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'uiHint-fieldLabel'=>'IPv6 Filtering Profile', 'help-string'=>'IPv6 Filtering Profile'}} # IPv4 Filtering Profile def ipv4 prop_get('ipv4') end # IPv4 Filtering Profile def ipv4=(val) prop_set('ipv4', val) end # IPv6 Filtering Profile def ipv6 prop_get('ipv6') end # IPv6 Filtering Profile def ipv6=(val) prop_set('ipv6', val) end end def filtering_profile @subclasses['filtering-profile'] ||= FilteringProfile.new(parent_instance: self, client: @client, create_children: @create_children) end class ConnectionOptions < ConfigClass def has_multiple_values?; false; end def _section :'connection-options' end @props = {'timers'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Timer Profile', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Timer Profile Name'}, 'multihop'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Multi Hop', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255', 'default'=>'0', 'help-string'=>'Multi-hop value'}, 'authentication'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Auth Profile', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Authentication Profile Name'}, 'dampening'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Dampening Profile', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Dampening Profile Name'}} # Timer Profile Name def timers prop_get('timers') end # Timer Profile Name def timers=(val) prop_set('timers', val) end # Multi-hop value def multihop prop_get('multihop') end # Multi-hop value def multihop=(val) prop_set('multihop', val) end # Authentication Profile Name def authentication prop_get('authentication') end # Authentication Profile Name def authentication=(val) prop_set('authentication', val) end # Dampening Profile Name def dampening prop_get('dampening') end # Dampening Profile Name def dampening=(val) prop_set('dampening', val) end end def connection_options @subclasses['connection-options'] ||= ConnectionOptions.new(parent_instance: self, client: @client, create_children: @create_children) end class Peer < XML::ConfigClass def has_multiple_values?; true; end def _section :peer end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Inherit < XML::ConfigClass def has_multiple_values?; true; end def _section :inherit end class Yes < ConfigClass def has_multiple_values?; false; end def _section :yes end @props = {} end def yes @subclasses['yes'] ||= Yes.new(parent_instance: self, client: @client, create_children: @create_children) end class No < ConfigClass def has_multiple_values?; false; end def _section :no end class AddressFamily < ConfigClass def has_multiple_values?; false; end def _section :'address-family' end @props = {'ipv4'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'none', 'uiHint-fieldLabel'=>'IPv4 Address Family', 'help-string'=>'Enable IPv4 route exchange', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'inherit', 'help-string'=>'Inherit from Peer-Group'}, {'value'=>'none', 'help-string'=>'Disable IPv4 AFI'}]}}, 'ipv6'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'none', 'uiHint-fieldLabel'=>'IPv6 Address Family', 'help-string'=>'Enable IPv6 route exchange', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'inherit', 'help-string'=>'Inherit from Peer-Group'}, {'value'=>'none', 'help-string'=>'Disable IPv6 AFI'}]}}} # Enable IPv4 route exchange def ipv4 prop_get('ipv4') end # Enable IPv4 route exchange def ipv4=(val) prop_set('ipv4', val) end # Enable IPv6 route exchange def ipv6 prop_get('ipv6') end # Enable IPv6 route exchange def ipv6=(val) prop_set('ipv6', val) end end def address_family @subclasses['address-family'] ||= AddressFamily.new(parent_instance: self, client: @client, create_children: @create_children) end class FilteringProfile < ConfigClass def has_multiple_values?; false; end def _section :'filtering-profile' end @props = {'ipv4'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'none', 'uiHint-fieldLabel'=>'IPv4 Filtering Profile', 'help-string'=>'IPv4 Filtering Profile', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'inherit', 'help-string'=>'Inherit from Peer-Group'}, {'value'=>'none', 'help-string'=>'Disable IPv4 Filtering'}]}}, 'ipv6'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'none', 'uiHint-fieldLabel'=>'IPv6 Filtering Profile', 'help-string'=>'IPv6 Filtering Profile', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'inherit', 'help-string'=>'Inherit from Peer-Group'}, {'value'=>'none', 'help-string'=>'Disable IPv6 Filtering'}]}}} # IPv4 Filtering Profile def ipv4 prop_get('ipv4') end # IPv4 Filtering Profile def ipv4=(val) prop_set('ipv4', val) end # IPv6 Filtering Profile def ipv6 prop_get('ipv6') end # IPv6 Filtering Profile def ipv6=(val) prop_set('ipv6', val) end end def filtering_profile @subclasses['filtering-profile'] ||= FilteringProfile.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def no @subclasses['no'] ||= No.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def inherit maybe_register_subclass('inherit', Inherit.new(parent_instance: self, client: @client, create_children: @create_children)) end class LocalAddress < ConfigClass def has_multiple_values?; false; end def _section :'local-address' end @props = {'interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'interface to accept BGP session'}, 'ip'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'50', 'help-string'=>'specify exact IP address if interface has multiple addresses'}} # interface to accept BGP session def interface prop_get('interface') end # interface to accept BGP session def interface=(val) prop_set('interface', val) end # specify exact IP address if interface has multiple addresses def ip prop_get('ip') end # specify exact IP address if interface has multiple addresses def ip=(val) prop_set('ip', val) end end def local_address @subclasses['local-address'] ||= LocalAddress.new(parent_instance: self, client: @client, create_children: @create_children) end class PeerAddress < ConfigClass def has_multiple_values?; false; end def _section :'peer-address' end @props = {'ip'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'peer address configuration', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'fqdn'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'regex'=>'^([a-zA-Z0-9._-])+$', 'help-string'=>'Peer FQDN Address Object'}} # peer address configuration def ip prop_get('ip') end # peer address configuration def ip=(val) prop_set('ip', val) end # Peer FQDN Address Object def fqdn prop_get('fqdn') end # Peer FQDN Address Object def fqdn=(val) prop_set('fqdn', val) end end def peer_address @subclasses['peer-address'] ||= PeerAddress.new(parent_instance: self, client: @client, create_children: @create_children) end class ConnectionOptions < ConfigClass def has_multiple_values?; false; end def _section :'connection-options' end @props = {'timers'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Timer Profile', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'Timer Profile Name', 'default'=>'inherit', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'inherit', 'help-string'=>'Inherit from Peer-Group'}]}}, 'multihop'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Multi Hop', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Multi-hop value', 'default'=>'inherit', 'multi-types'=>{'rangedint'=>{'min'=>'0', 'max'=>'255', 'default'=>'0', 'help-string'=>'IP TTL value used for sending BGP packet. set to 0 means eBGP use 1, iBGP use 255'}, 'enum'=>[{'value'=>'inherit', 'help-string'=>'Inherit from Peer-Group'}]}}, 'authentication'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Auth Profile', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'Authentication Profile Name', 'default'=>'inherit', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'inherit', 'help-string'=>'Inherit from Peer-Group'}]}}, 'dampening'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Dampening Profile', 'type'=>'multiple', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Dampening Profile Name', 'default'=>'inherit', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'inherit', 'help-string'=>'Inherit from Peer-Group'}]}}} # Timer Profile Name def timers prop_get('timers') end # Timer Profile Name def timers=(val) prop_set('timers', val) end # Multi-hop value def multihop prop_get('multihop') end # Multi-hop value def multihop=(val) prop_set('multihop', val) end # Authentication Profile Name def authentication prop_get('authentication') end # Authentication Profile Name def authentication=(val) prop_set('authentication', val) end # Dampening Profile Name def dampening prop_get('dampening') end # Dampening Profile Name def dampening=(val) prop_set('dampening', val) end end def connection_options @subclasses['connection-options'] ||= ConnectionOptions.new(parent_instance: self, client: @client, create_children: @create_children) end class Bfd < ConfigClass def has_multiple_values?; false; end def _section :bfd end @props = {'profile'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'Inherit-lr-global-setting', 'help-string'=>'BFD profile', 'optional'=>'yes', 'uiHint-fieldLabel'=>'BFD Profile', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'None', 'help-string'=>'Disable BFD'}, {'value'=>'Inherit-lr-global-setting', 'help-string'=>'Inherit Protocol\'s Global BFD Profile'}]}}} # BFD profile def profile prop_get('profile') end # BFD profile def profile=(val) prop_set('profile', val) end end def bfd @subclasses['bfd'] ||= Bfd.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'regex'=>'^[a-zA-Z0-9._-]+$'}, 'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'passive'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'If enabled, open messages are not sent to this peer'}, 'peer-as'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'peer AS number', 'multi-types'=>{'string'=>{'maxlen'=>'63', 'loose-membership'=>'yes'}, 'rangedint'=>{'min'=>'1', 'max'=>'4294967295'}}}, 'enable-sender-side-loop-detection'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}} def name prop_get('@name') end def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # If enabled, open messages are not sent to this peer def passive prop_get('passive') end # If enabled, open messages are not sent to this peer def passive=(val) prop_set('passive', val) end # peer AS number def peer_as prop_get('peer-as') end # peer AS number def peer_as=(val) prop_set('peer-as', val) end def enable_sender_side_loop_detection prop_get('enable-sender-side-loop-detection') end def enable_sender_side_loop_detection=(val) prop_set('enable-sender-side-loop-detection', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def peer maybe_register_subclass('peer', Peer.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'regex'=>'^[a-zA-Z0-9._-]+$'}, 'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}} def name prop_get('@name') end def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def peer_group maybe_register_subclass('peer-group', PeerGroup.new(parent_instance: self, client: @client, create_children: @create_children)) end class AggregateRoutes < XML::ConfigClass def has_multiple_values?; true; end def _section :'aggregate-routes' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Ipv4 < ConfigClass def has_multiple_values?; false; end def _section :ipv4 end @props = {'summary-prefix'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Aggregating Address Prefix', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes', 'subnet-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'suppress-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Suppress Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Specify Route-Map to select routes to be suppressed'}, 'attribute-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Attribute Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Specify Route-Map to set attributes of aggregate prefix'}} # Aggregating Address Prefix def summary_prefix prop_get('summary-prefix') end # Aggregating Address Prefix def summary_prefix=(val) prop_set('summary-prefix', val) end # Specify Route-Map to select routes to be suppressed def suppress_map prop_get('suppress-map') end # Specify Route-Map to select routes to be suppressed def suppress_map=(val) prop_set('suppress-map', val) end # Specify Route-Map to set attributes of aggregate prefix def attribute_map prop_get('attribute-map') end # Specify Route-Map to set attributes of aggregate prefix def attribute_map=(val) prop_set('attribute-map', val) end end def ipv4 @subclasses['ipv4'] ||= Ipv4.new(parent_instance: self, client: @client, create_children: @create_children) end class Ipv6 < ConfigClass def has_multiple_values?; false; end def _section :ipv6 end @props = {'summary-prefix'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Aggregating Address Prefix', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes', 'ipv6-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'suppress-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Suppress Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Specify Route-Map to select routes to be suppressed'}, 'attribute-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Attribute Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Specify Route-Map to set attributes of aggregate prefix'}} # Aggregating Address Prefix def summary_prefix prop_get('summary-prefix') end # Aggregating Address Prefix def summary_prefix=(val) prop_set('summary-prefix', val) end # Specify Route-Map to select routes to be suppressed def suppress_map prop_get('suppress-map') end # Specify Route-Map to select routes to be suppressed def suppress_map=(val) prop_set('suppress-map', val) end # Specify Route-Map to set attributes of aggregate prefix def attribute_map prop_get('attribute-map') end # Specify Route-Map to set attributes of aggregate prefix def attribute_map=(val) prop_set('attribute-map', val) end end def ipv6 @subclasses['ipv6'] ||= Ipv6.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'regex'=>'^[a-zA-Z0-9._-]+$', 'help-string'=>'Aggregation Address Name'}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'optional'=>'yes', 'help-string'=>'Describe Aggregate Route', 'regex'=>'^[ a-zA-Z0-9._-]+$'}, 'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable Aggregation for this Prefix'}, 'summary-only'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Send only Summary Route'}, 'as-set'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Generate AS set path attribute'}, 'same-med'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Aggregate Routes only if they have same MED Attributes'}} # Aggregation Address Name def name prop_get('@name') end # Describe Aggregate Route def description prop_get('description') end # Describe Aggregate Route def description=(val) prop_set('description', val) end # Enable Aggregation for this Prefix def enable prop_get('enable') end # Enable Aggregation for this Prefix def enable=(val) prop_set('enable', val) end # Send only Summary Route def summary_only prop_get('summary-only') end # Send only Summary Route def summary_only=(val) prop_set('summary-only', val) end # Generate AS set path attribute def as_set prop_get('as-set') end # Generate AS set path attribute def as_set=(val) prop_set('as-set', val) end # Aggregate Routes only if they have same MED Attributes def same_med prop_get('same-med') end # Aggregate Routes only if they have same MED Attributes def same_med=(val) prop_set('same-med', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def aggregate_routes maybe_register_subclass('aggregate-routes', AggregateRoutes.new(parent_instance: self, client: @client, create_children: @create_children)) end class RedistributionProfile < ConfigClass def has_multiple_values?; false; end def _section :'redistribution-profile' end class Ipv4 < ConfigClass def has_multiple_values?; false; end def _section :ipv4 end @props = {'unicast'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Redistribution Profile Name'}} # Redistribution Profile Name def unicast prop_get('unicast') end # Redistribution Profile Name def unicast=(val) prop_set('unicast', val) end end def ipv4 @subclasses['ipv4'] ||= Ipv4.new(parent_instance: self, client: @client, create_children: @create_children) end class Ipv6 < ConfigClass def has_multiple_values?; false; end def _section :ipv6 end @props = {'unicast'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Redistribution Profile Name'}} # Redistribution Profile Name def unicast prop_get('unicast') end # Redistribution Profile Name def unicast=(val) prop_set('unicast', val) end end def ipv6 @subclasses['ipv6'] ||= Ipv6.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def redistribution_profile @subclasses['redistribution-profile'] ||= RedistributionProfile.new(parent_instance: self, client: @client, create_children: @create_children) end class AdvertiseNetwork < ConfigClass def has_multiple_values?; false; end def _section :'advertise-network' end class Ipv4 < ConfigClass def has_multiple_values?; false; end def _section :ipv4 end class Network < XML::ConfigClass def has_multiple_values?; true; end def _section :network end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'subnet-only'=>'yes', 'ipv4-only'=>'yes', 'help-string'=>'Destination IP address/prefix'}, 'unicast'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Unicast Network configuration'}, 'multicast'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Multicast Network configuration'}, 'backdoor'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Mark network as backdoor route'}} # Destination IP address/prefix def name prop_get('@name') end # Unicast Network configuration def unicast prop_get('unicast') end # Unicast Network configuration def unicast=(val) prop_set('unicast', val) end # Multicast Network configuration def multicast prop_get('multicast') end # Multicast Network configuration def multicast=(val) prop_set('multicast', val) end # Mark network as backdoor route def backdoor prop_get('backdoor') end # Mark network as backdoor route def backdoor=(val) prop_set('backdoor', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def network maybe_register_subclass('network', Network.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def ipv4 @subclasses['ipv4'] ||= Ipv4.new(parent_instance: self, client: @client, create_children: @create_children) end class Ipv6 < ConfigClass def has_multiple_values?; false; end def _section :ipv6 end class Network < XML::ConfigClass def has_multiple_values?; true; end def _section :network end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'subnet-only'=>'yes', 'ipv6-only'=>'yes', 'help-string'=>'Destination IP address/prefix'}, 'unicast'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Unicast Network configuration'}} # Destination IP address/prefix def name prop_get('@name') end # Unicast Network configuration def unicast prop_get('unicast') end # Unicast Network configuration def unicast=(val) prop_set('unicast', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def network maybe_register_subclass('network', Network.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def ipv6 @subclasses['ipv6'] ||= Ipv6.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def advertise_network @subclasses['advertise-network'] ||= AdvertiseNetwork.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'router-id'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'router id of this BGP instance', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'ipv4-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'local-as'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'local AS number', 'multi-types'=>{'string'=>{'maxlen'=>'63', 'loose-membership'=>'yes'}, 'rangedint'=>{'min'=>'1', 'max'=>'4294967295'}}}, 'install-route'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Populate BGP learned route to global route table', 'uiHint-fieldLabel'=>'Install Route'}, 'enforce-first-as'=>{'node-type'=>'element', 'optional'=>'yes', 'help-string'=>'Enforce First AS for EBGP', 'type'=>'bool', 'default'=>'yes', 'uiHint-fieldLabel'=>'Enforce First AS'}, 'fast-external-failover'=>{'node-type'=>'element', 'optional'=>'yes', 'help-string'=>'Immediately reset session if a link to a directly connected external peer goes down', 'type'=>'bool', 'default'=>'yes', 'uiHint-fieldLabel'=>'Fast Failover'}, 'ecmp-multi-as'=>{'node-type'=>'element', 'optional'=>'yes', 'help-string'=>'Support multiple AS in ECMP', 'type'=>'bool', 'default'=>'no', 'uiHint-fieldLabel'=>'ECMP Multiple AS Support'}, 'default-local-preference'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'default'=>'100', 'help-string'=>'default local preference'}, 'graceful-shutdown'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Gracefully Shutdown BGP following RFC-8326', 'uiHint-fieldLabel'=>'Graceful Shutdown'}, 'always-advertise-network-route'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'optional'=>'yes', 'help-string'=>'Always advertise network routes even if not present in RIB', 'uiHint-fieldLabel'=>'Always Advertise Network Route'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # router id of this BGP instance def router_id prop_get('router-id') end # router id of this BGP instance def router_id=(val) prop_set('router-id', val) end # local AS number def local_as prop_get('local-as') end # local AS number def local_as=(val) prop_set('local-as', val) end # Populate BGP learned route to global route table def install_route prop_get('install-route') end # Populate BGP learned route to global route table def install_route=(val) prop_set('install-route', val) end # Enforce First AS for EBGP def enforce_first_as prop_get('enforce-first-as') end # Enforce First AS for EBGP def enforce_first_as=(val) prop_set('enforce-first-as', val) end # Immediately reset session if a link to a directly connected external peer goes down def fast_external_failover prop_get('fast-external-failover') end # Immediately reset session if a link to a directly connected external peer goes down def fast_external_failover=(val) prop_set('fast-external-failover', val) end # Support multiple AS in ECMP def ecmp_multi_as prop_get('ecmp-multi-as') end # Support multiple AS in ECMP def ecmp_multi_as=(val) prop_set('ecmp-multi-as', val) end # default local preference def default_local_preference prop_get('default-local-preference') end # default local preference def default_local_preference=(val) prop_set('default-local-preference', val) end # Gracefully Shutdown BGP following RFC-8326 def graceful_shutdown prop_get('graceful-shutdown') end # Gracefully Shutdown BGP following RFC-8326 def graceful_shutdown=(val) prop_set('graceful-shutdown', val) end # Always advertise network routes even if not present in RIB def always_advertise_network_route prop_get('always-advertise-network-route') end # Always advertise network routes even if not present in RIB def always_advertise_network_route=(val) prop_set('always-advertise-network-route', val) end end def bgp @subclasses['bgp'] ||= Bgp.new(parent_instance: self, client: @client, create_children: @create_children) end class RoutingTable < ConfigClass def has_multiple_values?; false; end def _section :'routing-table' end class Ip < ConfigClass def has_multiple_values?; false; end def _section :ip end class StaticRoute < XML::ConfigClass def has_multiple_values?; true; end def _section :'static-route' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Nexthop < XML::ConfigClass def has_multiple_values?; true; end def _section :nexthop end class Discard < ConfigClass def has_multiple_values?; false; end def _section :discard end @props = {} end def discard @subclasses['discard'] ||= Discard.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'ip-address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Next hop IP address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'ipv4-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'next-lr'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Next-Hop Logical Router', 'uiHint-fieldLabel'=>'Next LR', 'maxlen'=>'63'}, 'fqdn'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'regex'=>'^([a-zA-Z0-9._-])+$', 'help-string'=>'nexthop address FQDN address object configuration', 'uiHint-fieldLabel'=>'FQDN'}} # Next hop IP address def ip_address prop_get('ip-address') end # Next hop IP address def ip_address=(val) prop_set('ip-address', val) end # Next-Hop Logical Router def next_lr prop_get('next-lr') end # Next-Hop Logical Router def next_lr=(val) prop_set('next-lr', val) end # nexthop address FQDN address object configuration def fqdn prop_get('fqdn') end # nexthop address FQDN address object configuration def fqdn=(val) prop_set('fqdn', val) end end def nexthop maybe_register_subclass('nexthop', Nexthop.new(parent_instance: self, client: @client, create_children: @create_children)) end class Bfd < ConfigClass def has_multiple_values?; false; end def _section :bfd end @props = {'profile'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'None', 'help-string'=>'BFD profile', 'optional'=>'yes', 'uiHint-fieldLabel'=>'BFD Profile', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'None', 'help-string'=>'Disable BFD'}]}}} # BFD profile def profile prop_get('profile') end # BFD profile def profile=(val) prop_set('profile', val) end end def bfd @subclasses['bfd'] ||= Bfd.new(parent_instance: self, client: @client, create_children: @create_children) end class PathMonitor < ConfigClass def has_multiple_values?; false; end def _section :'path-monitor' end class MonitorDestinations < XML::ConfigClass def has_multiple_values?; true; end def _section :'monitor-destinations' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'source'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Source IP address', 'multi-types'=>{'string'=>{}, 'enum'=>[{'value'=>'DHCP', 'help-string'=>'Use DHCP Client Address'}, {'value'=>'PPPOE', 'help-string'=>'Use PPPoE Client Address'}]}}, 'destination'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'Destination IP address'}, 'interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'60', 'default'=>'3', 'help-string'=>'ping interval'}, 'count'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'3', 'max'=>'10', 'default'=>'5', 'help-string'=>'ping count'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Source IP address def source prop_get('source') end # Source IP address def source=(val) prop_set('source', val) end # Destination IP address def destination prop_get('destination') end # Destination IP address def destination=(val) prop_set('destination', val) end # ping interval def interval prop_get('interval') end # ping interval def interval=(val) prop_set('interval', val) end # ping count def count prop_get('count') end # ping count def count=(val) prop_set('count', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def monitor_destinations maybe_register_subclass('monitor-destinations', MonitorDestinations.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'failure-condition'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'any', 'help-string'=>'failure condition', 'enum'=>[{'value'=>'any'}, {'value'=>'all'}]}, 'hold-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'1440', 'default'=>'2', 'help-string'=>'hold time (minutes)'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # failure condition def failure_condition prop_get('failure-condition') end # failure condition def failure_condition=(val) prop_set('failure-condition', val) end # hold time (minutes) def hold_time prop_get('hold-time') end # hold time (minutes) def hold_time=(val) prop_set('hold-time', val) end end def path_monitor @subclasses['path-monitor'] ||= PathMonitor.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'regex'=>'^[a-zA-Z0-9._-]+$', 'help-string'=>'alphanumeric string [0-9a-zA-Z._-]'}, 'destination'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Destination IP address/prefix', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes', 'ipv4-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'interface'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string'}, 'admin-dist'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'10', 'max'=>'240', 'help-string'=>'adminitrative distance', 'uiHint-fieldLabel'=>'Admin Dist'}, 'metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'10', 'help-string'=>'metric value (path cost)', 'uiHint-fieldLabel'=>'Metric'}} # alphanumeric string [0-9a-zA-Z._-] def name prop_get('@name') end # Destination IP address/prefix def destination prop_get('destination') end # Destination IP address/prefix def destination=(val) prop_set('destination', val) end def interface prop_get('interface') end def interface=(val) prop_set('interface', val) end # adminitrative distance def admin_dist prop_get('admin-dist') end # adminitrative distance def admin_dist=(val) prop_set('admin-dist', val) end # metric value (path cost) def metric prop_get('metric') end # metric value (path cost) def metric=(val) prop_set('metric', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def static_route maybe_register_subclass('static-route', StaticRoute.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def ip @subclasses['ip'] ||= Ip.new(parent_instance: self, client: @client, create_children: @create_children) end class Ipv6 < ConfigClass def has_multiple_values?; false; end def _section :ipv6 end class StaticRoute < XML::ConfigClass def has_multiple_values?; true; end def _section :'static-route' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Nexthop < XML::ConfigClass def has_multiple_values?; true; end def _section :nexthop end class Discard < ConfigClass def has_multiple_values?; false; end def _section :discard end @props = {} end def discard @subclasses['discard'] ||= Discard.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'ipv6-address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Next hop IP address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'fqdn'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'regex'=>'^([a-zA-Z0-9._-])+$', 'help-string'=>'nexthop address FQDN address object configuration', 'uiHint-fieldLabel'=>'FQDN'}, 'next-lr'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Next-Hop Logical Router', 'uiHint-fieldLabel'=>'Next LR', 'maxlen'=>'63'}} # Next hop IP address def ipv6_address prop_get('ipv6-address') end # Next hop IP address def ipv6_address=(val) prop_set('ipv6-address', val) end # nexthop address FQDN address object configuration def fqdn prop_get('fqdn') end # nexthop address FQDN address object configuration def fqdn=(val) prop_set('fqdn', val) end # Next-Hop Logical Router def next_lr prop_get('next-lr') end # Next-Hop Logical Router def next_lr=(val) prop_set('next-lr', val) end end def nexthop maybe_register_subclass('nexthop', Nexthop.new(parent_instance: self, client: @client, create_children: @create_children)) end class Bfd < ConfigClass def has_multiple_values?; false; end def _section :bfd end @props = {'profile'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'None', 'help-string'=>'BFD profile', 'optional'=>'yes', 'uiHint-fieldLabel'=>'BFD Profile', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'None', 'help-string'=>'Disable BFD'}]}}} # BFD profile def profile prop_get('profile') end # BFD profile def profile=(val) prop_set('profile', val) end end def bfd @subclasses['bfd'] ||= Bfd.new(parent_instance: self, client: @client, create_children: @create_children) end class PathMonitor < ConfigClass def has_multiple_values?; false; end def _section :'path-monitor' end class MonitorDestinations < XML::ConfigClass def has_multiple_values?; true; end def _section :'monitor-destinations' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'source'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Source IP address', 'multi-types'=>{'string'=>{}}}, 'destination'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'Destination IP address'}, 'interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'60', 'default'=>'3', 'help-string'=>'ping interval'}, 'count'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'3', 'max'=>'10', 'default'=>'5', 'help-string'=>'ping count'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Source IP address def source prop_get('source') end # Source IP address def source=(val) prop_set('source', val) end # Destination IP address def destination prop_get('destination') end # Destination IP address def destination=(val) prop_set('destination', val) end # ping interval def interval prop_get('interval') end # ping interval def interval=(val) prop_set('interval', val) end # ping count def count prop_get('count') end # ping count def count=(val) prop_set('count', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def monitor_destinations maybe_register_subclass('monitor-destinations', MonitorDestinations.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'failure-condition'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'any', 'help-string'=>'failure condition', 'enum'=>[{'value'=>'any'}, {'value'=>'all'}]}, 'hold-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'1440', 'default'=>'2', 'help-string'=>'hold time (minutes)'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # failure condition def failure_condition prop_get('failure-condition') end # failure condition def failure_condition=(val) prop_set('failure-condition', val) end # hold time (minutes) def hold_time prop_get('hold-time') end # hold time (minutes) def hold_time=(val) prop_set('hold-time', val) end end def path_monitor @subclasses['path-monitor'] ||= PathMonitor.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [0-9a-zA-Z._-]', 'regex'=>'^[a-zA-Z0-9._-]+$'}, 'destination'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Destination IP address/prefix', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'interface'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string'}, 'admin-dist'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'10', 'max'=>'240', 'help-string'=>'adminitrative distance', 'uiHint-fieldLabel'=>'Admin Dist'}, 'metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'10', 'help-string'=>'metric value (path cost)', 'uiHint-fieldLabel'=>'Metric'}} # alphanumeric string [0-9a-zA-Z._-] def name prop_get('@name') end # Destination IP address/prefix def destination prop_get('destination') end # Destination IP address/prefix def destination=(val) prop_set('destination', val) end def interface prop_get('interface') end def interface=(val) prop_set('interface', val) end # adminitrative distance def admin_dist prop_get('admin-dist') end # adminitrative distance def admin_dist=(val) prop_set('admin-dist', val) end # metric value (path cost) def metric prop_get('metric') end # metric value (path cost) def metric=(val) prop_set('metric', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def static_route maybe_register_subclass('static-route', StaticRoute.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def ipv6 @subclasses['ipv6'] ||= Ipv6.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def routing_table @subclasses['routing-table'] ||= RoutingTable.new(parent_instance: self, client: @client, create_children: @create_children) end class Ospf < ConfigClass def has_multiple_values?; false; end def _section :ospf end class GlobalBfd < ConfigClass def has_multiple_values?; false; end def _section :'global-bfd' end @props = {'profile'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'None', 'help-string'=>'BFD profile', 'optional'=>'yes', 'uiHint-fieldLabel'=>'BFD Profile', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'None', 'help-string'=>'Disable BFD'}]}}} # BFD profile def profile prop_get('profile') end # BFD profile def profile=(val) prop_set('profile', val) end end def global_bfd @subclasses['global-bfd'] ||= GlobalBfd.new(parent_instance: self, client: @client, create_children: @create_children) end class Area < XML::ConfigClass def has_multiple_values?; true; end def _section :area end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Normal < ConfigClass def has_multiple_values?; false; end def _section :normal end class Abr < ConfigClass def has_multiple_values?; false; end def _section :abr end @props = {'import-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Import-list', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Set the filter for networks announced from other areas', 'multi-types'=>{'string'=>{'maxlen'=>'63'}}}, 'export-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Export-list', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Set the filter for networks announced to other areas', 'multi-types'=>{'string'=>{'maxlen'=>'63'}}}, 'inbound-filter-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Inbound Filter List', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Inbound filter list', 'multi-types'=>{'string'=>{'maxlen'=>'63'}}}, 'outbound-filter-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Outbound Filter List', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Outbound filter list', 'multi-types'=>{'string'=>{'maxlen'=>'63'}}}} # Set the filter for networks announced from other areas def import_list prop_get('import-list') end # Set the filter for networks announced from other areas def import_list=(val) prop_set('import-list', val) end # Set the filter for networks announced to other areas def export_list prop_get('export-list') end # Set the filter for networks announced to other areas def export_list=(val) prop_set('export-list', val) end # Inbound filter list def inbound_filter_list prop_get('inbound-filter-list') end # Inbound filter list def inbound_filter_list=(val) prop_set('inbound-filter-list', val) end # Outbound filter list def outbound_filter_list prop_get('outbound-filter-list') end # Outbound filter list def outbound_filter_list=(val) prop_set('outbound-filter-list', val) end end def abr @subclasses['abr'] ||= Abr.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def normal @subclasses['normal'] ||= Normal.new(parent_instance: self, client: @client, create_children: @create_children) end class Stub < ConfigClass def has_multiple_values?; false; end def _section :stub end class Abr < ConfigClass def has_multiple_values?; false; end def _section :abr end @props = {'import-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Import-list', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Set the filter for networks announced from other areas', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'None', 'help-string'=>'no access list'}]}}, 'export-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Export-list', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Set the filter for networks announced to other areas', 'multi-types'=>{'string'=>{'maxlen'=>'63'}}}, 'inbound-filter-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Inbound Filter List', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Inbound filter list', 'multi-types'=>{'string'=>{'maxlen'=>'63'}}}, 'outbound-filter-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Outbound Filter List', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Outbound filter list', 'multi-types'=>{'string'=>{'maxlen'=>'63'}}}} # Set the filter for networks announced from other areas def import_list prop_get('import-list') end # Set the filter for networks announced from other areas def import_list=(val) prop_set('import-list', val) end # Set the filter for networks announced to other areas def export_list prop_get('export-list') end # Set the filter for networks announced to other areas def export_list=(val) prop_set('export-list', val) end # Inbound filter list def inbound_filter_list prop_get('inbound-filter-list') end # Inbound filter list def inbound_filter_list=(val) prop_set('inbound-filter-list', val) end # Outbound filter list def outbound_filter_list prop_get('outbound-filter-list') end # Outbound filter list def outbound_filter_list=(val) prop_set('outbound-filter-list', val) end end def abr @subclasses['abr'] ||= Abr.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'no-summary'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'no-summary', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'default-route-metric'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'default route metric', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'16777215', 'default'=>'0'}} def no_summary prop_get('no-summary') end def no_summary=(val) prop_set('no-summary', val) end def default_route_metric prop_get('default-route-metric') end def default_route_metric=(val) prop_set('default-route-metric', val) end end def stub @subclasses['stub'] ||= Stub.new(parent_instance: self, client: @client, create_children: @create_children) end class Nssa < ConfigClass def has_multiple_values?; false; end def _section :nssa end class DefaultInformationOriginate < ConfigClass def has_multiple_values?; false; end def _section :'default-information-originate' end @props = {'metric'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Metric', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'16777215', 'default'=>'10'}, 'metric-type'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Metric-Type', 'type'=>'enum', 'optional'=>'yes', 'default'=>'type-2', 'help-string'=>'metric type to be used when redistribute default route', 'enum'=>[{'value'=>'type-1', 'uiHint-fieldLabel'=>'E1', 'help-string'=>'metric comparable with OSPF metric'}, {'value'=>'type-2', 'uiHint-fieldLabel'=>'E2', 'help-string'=>'external route is always less preferred than OSPF routes'}]}} def metric prop_get('metric') end def metric=(val) prop_set('metric', val) end # metric type to be used when redistribute default route def metric_type prop_get('metric-type') end # metric type to be used when redistribute default route def metric_type=(val) prop_set('metric-type', val) end end def default_information_originate @subclasses['default-information-originate'] ||= DefaultInformationOriginate.new(parent_instance: self, client: @client, create_children: @create_children) end class Abr < ConfigClass def has_multiple_values?; false; end def _section :abr end class NssaExtRange < XML::ConfigClass def has_multiple_values?; true; end def _section :'nssa-ext-range' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'uiHint-fieldLabel'=>'IPv4 Prefix', 'type'=>'ipspec', 'help-string'=>'network/prefix'}, 'route-tag'=>{'node-type'=>'element', 'disabled'=>'yes', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'help-string'=>'route tag value'}, 'advertise'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Advertise', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'do summarization and advertise'}} # network/prefix def name prop_get('@name') end # route tag value def route_tag prop_get('route-tag') end # route tag value def route_tag=(val) prop_set('route-tag', val) end # do summarization and advertise def advertise prop_get('advertise') end # do summarization and advertise def advertise=(val) prop_set('advertise', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def nssa_ext_range maybe_register_subclass('nssa-ext-range', NssaExtRange.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'import-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Import-list', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Set the filter for networks announced from other areas', 'multi-types'=>{'string'=>{'maxlen'=>'63'}}}, 'export-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Export-list', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Set the filter for networks announced to other areas', 'multi-types'=>{'string'=>{'maxlen'=>'63'}}}, 'inbound-filter-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Inbound Filter List', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Inbound filter list', 'multi-types'=>{'string'=>{'maxlen'=>'63'}}}, 'outbound-filter-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Outbound Filter List', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Outbound filter list', 'multi-types'=>{'string'=>{'maxlen'=>'63'}}}} # Set the filter for networks announced from other areas def import_list prop_get('import-list') end # Set the filter for networks announced from other areas def import_list=(val) prop_set('import-list', val) end # Set the filter for networks announced to other areas def export_list prop_get('export-list') end # Set the filter for networks announced to other areas def export_list=(val) prop_set('export-list', val) end # Inbound filter list def inbound_filter_list prop_get('inbound-filter-list') end # Inbound filter list def inbound_filter_list=(val) prop_set('inbound-filter-list', val) end # Outbound filter list def outbound_filter_list prop_get('outbound-filter-list') end # Outbound filter list def outbound_filter_list=(val) prop_set('outbound-filter-list', val) end end def abr @subclasses['abr'] ||= Abr.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'no-summary'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'no-summary', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} def no_summary prop_get('no-summary') end def no_summary=(val) prop_set('no-summary', val) end end def nssa @subclasses['nssa'] ||= Nssa.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end class Range < XML::ConfigClass def has_multiple_values?; true; end def _section :range end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'uiHint-fieldLabel'=>'IP Address/Netmask', 'type'=>'ipspec', 'help-string'=>'network/prefix'}, '@substitute'=>{'node-type'=>'attr-req', 'uiHint-fieldLabel'=>'Substitute', 'optional'=>'yes', 'type'=>'ipspec', 'help-string'=>'substitute network/prefix'}, 'advertise'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Advertise', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'do summarization and advertise'}} # network/prefix def name prop_get('@name') end # substitute network/prefix def substitute prop_get('@substitute') end # do summarization and advertise def advertise prop_get('advertise') end # do summarization and advertise def advertise=(val) prop_set('advertise', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def range maybe_register_subclass('range', Range.new(parent_instance: self, client: @client, create_children: @create_children)) end class Interface < XML::ConfigClass def has_multiple_values?; true; end def _section :interface end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class LinkType < XML::ConfigClass def has_multiple_values?; true; end def _section :'link-type' end class Broadcast < ConfigClass def has_multiple_values?; false; end def _section :broadcast end @props = {} end def broadcast @subclasses['broadcast'] ||= Broadcast.new(parent_instance: self, client: @client, create_children: @create_children) end class P2p < ConfigClass def has_multiple_values?; false; end def _section :p2p end @props = {} end def p2p @subclasses['p2p'] ||= P2p.new(parent_instance: self, client: @client, create_children: @create_children) end class P2mp < ConfigClass def has_multiple_values?; false; end def _section :p2mp end class Neighbor < XML::ConfigClass def has_multiple_values?; true; end def _section :neighbor end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'uiHint-fieldLabel'=>'Neighbor', 'type'=>'ipspec', 'unicast-only'=>'yes'}, 'priority'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>' Priority', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'default'=>'1', 'help-string'=>'Neighbor priority'}} def name prop_get('@name') end # Neighbor priority def priority prop_get('priority') end # Neighbor priority def priority=(val) prop_set('priority', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def neighbor maybe_register_subclass('neighbor', Neighbor.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def p2mp @subclasses['p2mp'] ||= P2mp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def link_type maybe_register_subclass('link-type', LinkType.new(parent_instance: self, client: @client, create_children: @create_children)) end class Bfd < ConfigClass def has_multiple_values?; false; end def _section :bfd end @props = {'profile'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'Inherit-lr-global-setting', 'help-string'=>'BFD profile', 'optional'=>'yes', 'uiHint-fieldLabel'=>'BFD Profile', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'None', 'help-string'=>'Disable BFD'}, {'value'=>'Inherit-lr-global-setting', 'help-string'=>'Inherit Protocol\'s Global BFD Profile'}]}}} # BFD profile def profile prop_get('profile') end # BFD profile def profile=(val) prop_set('profile', val) end end def bfd @subclasses['bfd'] ||= Bfd.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'uiHint-fieldLabel'=>'Interface', 'type'=>'string', 'help-string'=>'interface name'}, 'enable'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Enable', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable OSPF on this interface'}, 'mtu-ignore'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'MTU Ignore', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Ignore mtu when try to establish adjacency'}, 'passive'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Passive', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Suppress the sending of hello packets in this interface'}, 'priority'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Priority', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255', 'default'=>'1', 'help-string'=>'Priority for OSPF designated router selection'}, 'metric'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Cost', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'10', 'help-string'=>'Cost of OSPF interface'}, 'authentication'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Authentication', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes', 'help-string'=>'Authentication options', 'maxlen'=>'63'}, 'timing'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Timer Profile', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes', 'help-string'=>'Protocol timer setting', 'maxlen'=>'63'}} # interface name def name prop_get('@name') end # Enable OSPF on this interface def enable prop_get('enable') end # Enable OSPF on this interface def enable=(val) prop_set('enable', val) end # Ignore mtu when try to establish adjacency def mtu_ignore prop_get('mtu-ignore') end # Ignore mtu when try to establish adjacency def mtu_ignore=(val) prop_set('mtu-ignore', val) end # Suppress the sending of hello packets in this interface def passive prop_get('passive') end # Suppress the sending of hello packets in this interface def passive=(val) prop_set('passive', val) end # Priority for OSPF designated router selection def priority prop_get('priority') end # Priority for OSPF designated router selection def priority=(val) prop_set('priority', val) end # Cost of OSPF interface def metric prop_get('metric') end # Cost of OSPF interface def metric=(val) prop_set('metric', val) end # Authentication options def authentication prop_get('authentication') end # Authentication options def authentication=(val) prop_set('authentication', val) end # Protocol timer setting def timing prop_get('timing') end # Protocol timer setting def timing=(val) prop_set('timing', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def interface maybe_register_subclass('interface', Interface.new(parent_instance: self, client: @client, create_children: @create_children)) end class VirtualLink < XML::ConfigClass def has_multiple_values?; true; end def _section :'virtual-link' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Bfd < ConfigClass def has_multiple_values?; false; end def _section :bfd end @props = {'profile'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'Inherit-lr-global-setting', 'help-string'=>'BFD profile', 'optional'=>'yes', 'uiHint-fieldLabel'=>'BFD Profile', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'None', 'help-string'=>'Disable BFD'}, {'value'=>'Inherit-lr-global-setting', 'help-string'=>'Inherit Protocol\'s Global BFD Profile'}]}}} # BFD profile def profile prop_get('profile') end # BFD profile def profile=(val) prop_set('profile', val) end end def bfd @subclasses['bfd'] ||= Bfd.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'uiHint-fieldLabel'=>'Name', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'help-string'=>'virtual-link name', 'regex'=>'^[a-zA-Z0-9._-]+$'}, 'neighbor-id'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Neighbor ID', 'type'=>'multiple', 'help-string'=>'neighbor router id for virtual link', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'transit-area-id'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Area', 'type'=>'string', 'help-string'=>'id of transit area, cannot be backbone, stub or NSSA'}, 'enable'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Enable', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable this virtual link'}, 'interface-id'=>{'node-type'=>'element', 'disabled'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2147483647', 'help-string'=>'The interface ID assigned to the OSPF virtual interface.'}, 'instance-id'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255', 'default'=>'0', 'help-string'=>'OSPF instance ID'}, 'timing'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Timer Profile', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes', 'help-string'=>'Protocol timer setting', 'maxlen'=>'63'}, 'passive'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'disabled'=>'yes', 'help-string'=>'Suppress the sending of hello packets in this virtual link'}, 'authentication'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Authentication', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes', 'help-string'=>'Authentication options', 'maxlen'=>'63'}} # virtual-link name def name prop_get('@name') end # neighbor router id for virtual link def neighbor_id prop_get('neighbor-id') end # neighbor router id for virtual link def neighbor_id=(val) prop_set('neighbor-id', val) end # id of transit area, cannot be backbone, stub or NSSA def transit_area_id prop_get('transit-area-id') end # id of transit area, cannot be backbone, stub or NSSA def transit_area_id=(val) prop_set('transit-area-id', val) end # Enable this virtual link def enable prop_get('enable') end # Enable this virtual link def enable=(val) prop_set('enable', val) end # The interface ID assigned to the OSPF virtual interface. def interface_id prop_get('interface-id') end # The interface ID assigned to the OSPF virtual interface. def interface_id=(val) prop_set('interface-id', val) end # OSPF instance ID def instance_id prop_get('instance-id') end # OSPF instance ID def instance_id=(val) prop_set('instance-id', val) end # Protocol timer setting def timing prop_get('timing') end # Protocol timer setting def timing=(val) prop_set('timing', val) end # Suppress the sending of hello packets in this virtual link def passive prop_get('passive') end # Suppress the sending of hello packets in this virtual link def passive=(val) prop_set('passive', val) end # Authentication options def authentication prop_get('authentication') end # Authentication options def authentication=(val) prop_set('authentication', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def virtual_link maybe_register_subclass('virtual-link', VirtualLink.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'uiHint-fieldLabel'=>'Area ID', 'type'=>'multiple', 'help-string'=>'Area ID', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'authentication'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Authentication', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes', 'help-string'=>'Authentication profile name', 'maxlen'=>'63'}} # Area ID def name prop_get('@name') end # Authentication profile name def authentication prop_get('authentication') end # Authentication profile name def authentication=(val) prop_set('authentication', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def area maybe_register_subclass('area', Area.new(parent_instance: self, client: @client, create_children: @create_children)) end class GracefulRestart < ConfigClass def has_multiple_values?; false; end def _section :'graceful-restart' end @props = {'enable'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Enable Graceful Restart', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'grace-period'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Grace Period (sec)', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'5', 'max'=>'1800', 'default'=>'120', 'help-string'=>'maximum local restarting time (in seconds)'}, 'helper-enable'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Enable Helper Mode', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'enable/disable helping neighboring routers to graceful restart'}, 'strict-LSA-checking'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Enable Strict LSA Checking', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'enable/disable strict LSA checking. Abort GR if lsa change is detected'}, 'max-neighbor-restart-time'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Max Neighbor Restart Time (sec)', 'optional'=>'yes', 'help-string'=>'maximum of neighbor restart time accepted (in seconds)', 'type'=>'rangedint', 'min'=>'5', 'max'=>'1800', 'default'=>'140'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # maximum local restarting time (in seconds) def grace_period prop_get('grace-period') end # maximum local restarting time (in seconds) def grace_period=(val) prop_set('grace-period', val) end # enable/disable helping neighboring routers to graceful restart def helper_enable prop_get('helper-enable') end # enable/disable helping neighboring routers to graceful restart def helper_enable=(val) prop_set('helper-enable', val) end # enable/disable strict LSA checking. Abort GR if lsa change is detected def strict_LSA_checking prop_get('strict-LSA-checking') end # enable/disable strict LSA checking. Abort GR if lsa change is detected def strict_LSA_checking=(val) prop_set('strict-LSA-checking', val) end # maximum of neighbor restart time accepted (in seconds) def max_neighbor_restart_time prop_get('max-neighbor-restart-time') end # maximum of neighbor restart time accepted (in seconds) def max_neighbor_restart_time=(val) prop_set('max-neighbor-restart-time', val) end end def graceful_restart @subclasses['graceful-restart'] ||= GracefulRestart.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'router-id'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'router id of this OSPF instance', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'ipv4-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'rfc1583'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'rfc-1583 compatibility'}, 'spf-timer'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Global General Timer', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes', 'help-string'=>'SPF timer setting'}, 'global-if-timer'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Global Interface Timer', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes', 'maxlen'=>'63', 'help-string'=>'Global protocol timer setting'}, 'redistribution-profile'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Redistribution Profile', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes', 'maxlen'=>'63', 'help-string'=>'Redistribution profile setting'}} # router id of this OSPF instance def router_id prop_get('router-id') end # router id of this OSPF instance def router_id=(val) prop_set('router-id', val) end def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # rfc-1583 compatibility def rfc1583 prop_get('rfc1583') end # rfc-1583 compatibility def rfc1583=(val) prop_set('rfc1583', val) end # SPF timer setting def spf_timer prop_get('spf-timer') end # SPF timer setting def spf_timer=(val) prop_set('spf-timer', val) end # Global protocol timer setting def global_if_timer prop_get('global-if-timer') end # Global protocol timer setting def global_if_timer=(val) prop_set('global-if-timer', val) end # Redistribution profile setting def redistribution_profile prop_get('redistribution-profile') end # Redistribution profile setting def redistribution_profile=(val) prop_set('redistribution-profile', val) end end def ospf @subclasses['ospf'] ||= Ospf.new(parent_instance: self, client: @client, create_children: @create_children) end class Ospfv3 < ConfigClass def has_multiple_values?; false; end def _section :ospfv3 end class GlobalBfd < ConfigClass def has_multiple_values?; false; end def _section :'global-bfd' end @props = {'profile'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'None', 'help-string'=>'BFD profile', 'optional'=>'yes', 'uiHint-fieldLabel'=>'BFD Profile', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'None', 'help-string'=>'Disable BFD'}]}}} # BFD profile def profile prop_get('profile') end # BFD profile def profile=(val) prop_set('profile', val) end end def global_bfd @subclasses['global-bfd'] ||= GlobalBfd.new(parent_instance: self, client: @client, create_children: @create_children) end class Area < XML::ConfigClass def has_multiple_values?; true; end def _section :area end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Normal < ConfigClass def has_multiple_values?; false; end def _section :normal end class Abr < ConfigClass def has_multiple_values?; false; end def _section :abr end @props = {'import-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Import-list', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Set the filter for networks announced from other areas', 'multi-types'=>{'string'=>{'maxlen'=>'63'}}}, 'export-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Export-list', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Set the filter for networks announced to other areas', 'multi-types'=>{'string'=>{'maxlen'=>'63'}}}, 'inbound-filter-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Inbound Filter List', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Inbound filter list', 'multi-types'=>{'string'=>{'maxlen'=>'63'}}}, 'outbound-filter-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Outbound Filter List', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Outbound filter list', 'multi-types'=>{'string'=>{'maxlen'=>'63'}}}} # Set the filter for networks announced from other areas def import_list prop_get('import-list') end # Set the filter for networks announced from other areas def import_list=(val) prop_set('import-list', val) end # Set the filter for networks announced to other areas def export_list prop_get('export-list') end # Set the filter for networks announced to other areas def export_list=(val) prop_set('export-list', val) end # Inbound filter list def inbound_filter_list prop_get('inbound-filter-list') end # Inbound filter list def inbound_filter_list=(val) prop_set('inbound-filter-list', val) end # Outbound filter list def outbound_filter_list prop_get('outbound-filter-list') end # Outbound filter list def outbound_filter_list=(val) prop_set('outbound-filter-list', val) end end def abr @subclasses['abr'] ||= Abr.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def normal @subclasses['normal'] ||= Normal.new(parent_instance: self, client: @client, create_children: @create_children) end class Stub < ConfigClass def has_multiple_values?; false; end def _section :stub end class Abr < ConfigClass def has_multiple_values?; false; end def _section :abr end @props = {'import-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Import-list', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Set the filter for networks announced from other areas', 'multi-types'=>{'string'=>{'maxlen'=>'63'}}}, 'export-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Export-list', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Set the filter for networks announced to other areas', 'multi-types'=>{'string'=>{'maxlen'=>'63'}}}, 'inbound-filter-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Inbound Filter List', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Inbound filter list', 'multi-types'=>{'string'=>{'maxlen'=>'63'}}}, 'outbound-filter-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Outbound Filter List', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Outbound filter list', 'multi-types'=>{'string'=>{'maxlen'=>'63'}}}} # Set the filter for networks announced from other areas def import_list prop_get('import-list') end # Set the filter for networks announced from other areas def import_list=(val) prop_set('import-list', val) end # Set the filter for networks announced to other areas def export_list prop_get('export-list') end # Set the filter for networks announced to other areas def export_list=(val) prop_set('export-list', val) end # Inbound filter list def inbound_filter_list prop_get('inbound-filter-list') end # Inbound filter list def inbound_filter_list=(val) prop_set('inbound-filter-list', val) end # Outbound filter list def outbound_filter_list prop_get('outbound-filter-list') end # Outbound filter list def outbound_filter_list=(val) prop_set('outbound-filter-list', val) end end def abr @subclasses['abr'] ||= Abr.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'no-summary'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'no-summary', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'default-route-metric'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'default route metric', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'16777215', 'default'=>'0'}} def no_summary prop_get('no-summary') end def no_summary=(val) prop_set('no-summary', val) end def default_route_metric prop_get('default-route-metric') end def default_route_metric=(val) prop_set('default-route-metric', val) end end def stub @subclasses['stub'] ||= Stub.new(parent_instance: self, client: @client, create_children: @create_children) end class Nssa < ConfigClass def has_multiple_values?; false; end def _section :nssa end class DefaultInformationOriginate < ConfigClass def has_multiple_values?; false; end def _section :'default-information-originate' end @props = {'metric'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Metric', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'16777215', 'default'=>'10'}, 'metric-type'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Metric-Type', 'type'=>'enum', 'optional'=>'yes', 'default'=>'type-2', 'help-string'=>'metric type to be used when redistribute default route', 'enum'=>[{'value'=>'type-1', 'uiHint-fieldLabel'=>'E1', 'help-string'=>'metric comparable with OSPF metric'}, {'value'=>'type-2', 'uiHint-fieldLabel'=>'E2', 'help-string'=>'external route is always less preferred than OSPF routes'}]}} def metric prop_get('metric') end def metric=(val) prop_set('metric', val) end # metric type to be used when redistribute default route def metric_type prop_get('metric-type') end # metric type to be used when redistribute default route def metric_type=(val) prop_set('metric-type', val) end end def default_information_originate @subclasses['default-information-originate'] ||= DefaultInformationOriginate.new(parent_instance: self, client: @client, create_children: @create_children) end class Abr < ConfigClass def has_multiple_values?; false; end def _section :abr end class NssaExtRange < XML::ConfigClass def has_multiple_values?; true; end def _section :'nssa-ext-range' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'uiHint-fieldLabel'=>'IPv6 Prefix', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'help-string'=>'network/prefix'}, 'route-tag'=>{'node-type'=>'element', 'disabled'=>'yes', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'help-string'=>'route tag value'}, 'advertise'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Advertise', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'do summarization and advertise'}} # network/prefix def name prop_get('@name') end # route tag value def route_tag prop_get('route-tag') end # route tag value def route_tag=(val) prop_set('route-tag', val) end # do summarization and advertise def advertise prop_get('advertise') end # do summarization and advertise def advertise=(val) prop_set('advertise', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def nssa_ext_range maybe_register_subclass('nssa-ext-range', NssaExtRange.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'import-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Import-list', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Set the filter for networks announced from other areas', 'multi-types'=>{'string'=>{'maxlen'=>'63'}}}, 'export-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Export-list', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Set the filter for networks announced to other areas', 'multi-types'=>{'string'=>{'maxlen'=>'63'}}}, 'inbound-filter-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Inbound Filter List', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Inbound filter list', 'multi-types'=>{'string'=>{'maxlen'=>'63'}}}, 'outbound-filter-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Outbound Filter List', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Outbound filter list', 'multi-types'=>{'string'=>{'maxlen'=>'63'}}}} # Set the filter for networks announced from other areas def import_list prop_get('import-list') end # Set the filter for networks announced from other areas def import_list=(val) prop_set('import-list', val) end # Set the filter for networks announced to other areas def export_list prop_get('export-list') end # Set the filter for networks announced to other areas def export_list=(val) prop_set('export-list', val) end # Inbound filter list def inbound_filter_list prop_get('inbound-filter-list') end # Inbound filter list def inbound_filter_list=(val) prop_set('inbound-filter-list', val) end # Outbound filter list def outbound_filter_list prop_get('outbound-filter-list') end # Outbound filter list def outbound_filter_list=(val) prop_set('outbound-filter-list', val) end end def abr @subclasses['abr'] ||= Abr.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'no-summary'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'no-summary', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} def no_summary prop_get('no-summary') end def no_summary=(val) prop_set('no-summary', val) end end def nssa @subclasses['nssa'] ||= Nssa.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end class Range < XML::ConfigClass def has_multiple_values?; true; end def _section :range end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'uiHint-fieldLabel'=>'IPv6 Address/Netmask', 'type'=>'multiple', 'help-string'=>'network/prefix', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}}}, 'advertise'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Advertise', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'do summarization and advertise'}} # network/prefix def name prop_get('@name') end # do summarization and advertise def advertise prop_get('advertise') end # do summarization and advertise def advertise=(val) prop_set('advertise', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def range maybe_register_subclass('range', Range.new(parent_instance: self, client: @client, create_children: @create_children)) end class Interface < XML::ConfigClass def has_multiple_values?; true; end def _section :interface end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class LinkType < XML::ConfigClass def has_multiple_values?; true; end def _section :'link-type' end class Broadcast < ConfigClass def has_multiple_values?; false; end def _section :broadcast end @props = {} end def broadcast @subclasses['broadcast'] ||= Broadcast.new(parent_instance: self, client: @client, create_children: @create_children) end class P2p < ConfigClass def has_multiple_values?; false; end def _section :p2p end @props = {} end def p2p @subclasses['p2p'] ||= P2p.new(parent_instance: self, client: @client, create_children: @create_children) end class P2mp < ConfigClass def has_multiple_values?; false; end def _section :p2mp end class Neighbor < XML::ConfigClass def has_multiple_values?; true; end def _section :neighbor end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'uiHint-fieldLabel'=>'Neighbor', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'unicast-only'=>'yes'}, 'priority'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>' Priority', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'default'=>'1', 'help-string'=>'Neighbor priority'}} def name prop_get('@name') end # Neighbor priority def priority prop_get('priority') end # Neighbor priority def priority=(val) prop_set('priority', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def neighbor maybe_register_subclass('neighbor', Neighbor.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def p2mp @subclasses['p2mp'] ||= P2mp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def link_type maybe_register_subclass('link-type', LinkType.new(parent_instance: self, client: @client, create_children: @create_children)) end class Bfd < ConfigClass def has_multiple_values?; false; end def _section :bfd end @props = {'profile'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'Inherit-lr-global-setting', 'help-string'=>'BFD profile', 'optional'=>'yes', 'uiHint-fieldLabel'=>'BFD Profile', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'None', 'help-string'=>'Disable BFD'}, {'value'=>'Inherit-lr-global-setting', 'help-string'=>'Inherit Protocol\'s Global BFD Profile'}]}}} # BFD profile def profile prop_get('profile') end # BFD profile def profile=(val) prop_set('profile', val) end end def bfd @subclasses['bfd'] ||= Bfd.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'uiHint-fieldLabel'=>'Interface', 'type'=>'string', 'help-string'=>'interface name'}, 'enable'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Enable', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable OSPF in this interface'}, 'mtu-ignore'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'MTU Ignore', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Ignore mtu when try to establish adjacency'}, 'passive'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Passive', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Suppress the sending of hello packets in this interface'}, 'priority'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Priority', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255', 'default'=>'1', 'help-string'=>'Priority for OSPF designated router selection'}, 'metric'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Cost', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'10', 'help-string'=>'Cost of OSPF interface'}, 'instance-id'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'0', 'default'=>'0', 'help-string'=>'OSPFv3 instance ID'}, 'authentication'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Authentication', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes', 'maxlen'=>'63', 'help-string'=>'Authentication options'}, 'timing'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Timer Profile', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes', 'maxlen'=>'63', 'help-string'=>'Protocol timer setting'}} # interface name def name prop_get('@name') end # Enable OSPF in this interface def enable prop_get('enable') end # Enable OSPF in this interface def enable=(val) prop_set('enable', val) end # Ignore mtu when try to establish adjacency def mtu_ignore prop_get('mtu-ignore') end # Ignore mtu when try to establish adjacency def mtu_ignore=(val) prop_set('mtu-ignore', val) end # Suppress the sending of hello packets in this interface def passive prop_get('passive') end # Suppress the sending of hello packets in this interface def passive=(val) prop_set('passive', val) end # Priority for OSPF designated router selection def priority prop_get('priority') end # Priority for OSPF designated router selection def priority=(val) prop_set('priority', val) end # Cost of OSPF interface def metric prop_get('metric') end # Cost of OSPF interface def metric=(val) prop_set('metric', val) end # OSPFv3 instance ID def instance_id prop_get('instance-id') end # OSPFv3 instance ID def instance_id=(val) prop_set('instance-id', val) end # Authentication options def authentication prop_get('authentication') end # Authentication options def authentication=(val) prop_set('authentication', val) end # Protocol timer setting def timing prop_get('timing') end # Protocol timer setting def timing=(val) prop_set('timing', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def interface maybe_register_subclass('interface', Interface.new(parent_instance: self, client: @client, create_children: @create_children)) end class VirtualLink < XML::ConfigClass def has_multiple_values?; true; end def _section :'virtual-link' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'uiHint-fieldLabel'=>'Name', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'help-string'=>'virtual-link name', 'regex'=>'^[a-zA-Z0-9._-]+$'}, 'neighbor-id'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Router ID', 'type'=>'multiple', 'help-string'=>'neighbor router id for virtual link', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'transit-area-id'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Area', 'type'=>'string', 'help-string'=>'id of transit area, cannot be backbone, stub or NSSA'}, 'enable'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Enable', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable this virtual link'}, 'interface-id'=>{'node-type'=>'element', 'disabled'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2147483647', 'help-string'=>'The interface ID assigned to the OSPFv3 virtual interface.'}, 'instance-id'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'0', 'default'=>'0', 'help-string'=>'OSPFv3 instance ID'}, 'timing'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Timer Profile', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes', 'maxlen'=>'63', 'help-string'=>'Protocol timer setting'}, 'passive'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'disabled'=>'yes', 'help-string'=>'Suppress the sending of hello packets in this virtual link'}, 'authentication'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Authentication', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes', 'maxlen'=>'63', 'help-string'=>'Authentication options'}} # virtual-link name def name prop_get('@name') end # neighbor router id for virtual link def neighbor_id prop_get('neighbor-id') end # neighbor router id for virtual link def neighbor_id=(val) prop_set('neighbor-id', val) end # id of transit area, cannot be backbone, stub or NSSA def transit_area_id prop_get('transit-area-id') end # id of transit area, cannot be backbone, stub or NSSA def transit_area_id=(val) prop_set('transit-area-id', val) end # Enable this virtual link def enable prop_get('enable') end # Enable this virtual link def enable=(val) prop_set('enable', val) end # The interface ID assigned to the OSPFv3 virtual interface. def interface_id prop_get('interface-id') end # The interface ID assigned to the OSPFv3 virtual interface. def interface_id=(val) prop_set('interface-id', val) end # OSPFv3 instance ID def instance_id prop_get('instance-id') end # OSPFv3 instance ID def instance_id=(val) prop_set('instance-id', val) end # Protocol timer setting def timing prop_get('timing') end # Protocol timer setting def timing=(val) prop_set('timing', val) end # Suppress the sending of hello packets in this virtual link def passive prop_get('passive') end # Suppress the sending of hello packets in this virtual link def passive=(val) prop_set('passive', val) end # Authentication options def authentication prop_get('authentication') end # Authentication options def authentication=(val) prop_set('authentication', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def virtual_link maybe_register_subclass('virtual-link', VirtualLink.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'uiHint-fieldLabel'=>'Area ID', 'type'=>'multiple', 'help-string'=>'Area ID', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'authentication'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Authentication', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes', 'help-string'=>'Authentication profile name', 'maxlen'=>'63'}} # Area ID def name prop_get('@name') end # Authentication profile name def authentication prop_get('authentication') end # Authentication profile name def authentication=(val) prop_set('authentication', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def area maybe_register_subclass('area', Area.new(parent_instance: self, client: @client, create_children: @create_children)) end class GracefulRestart < ConfigClass def has_multiple_values?; false; end def _section :'graceful-restart' end @props = {'enable'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Enable Graceful Restart', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'grace-period'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Grace Period (sec)', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'5', 'max'=>'1800', 'default'=>'120', 'help-string'=>'maximum local restarting time (in seconds)'}, 'helper-enable'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Enable Helper Mode', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'enable/disable helping neighboring routers to graceful restart'}, 'strict-LSA-checking'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Enable Strict LSA Checking', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'enable/disable strict LSA checking. Abort GR if lsa change is detected'}, 'max-neighbor-restart-time'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Max Neighbor Restart Time (sec)', 'optional'=>'yes', 'help-string'=>'maximum of neighbor restart time accepted (in seconds)', 'type'=>'rangedint', 'min'=>'5', 'max'=>'1800', 'default'=>'140'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # maximum local restarting time (in seconds) def grace_period prop_get('grace-period') end # maximum local restarting time (in seconds) def grace_period=(val) prop_set('grace-period', val) end # enable/disable helping neighboring routers to graceful restart def helper_enable prop_get('helper-enable') end # enable/disable helping neighboring routers to graceful restart def helper_enable=(val) prop_set('helper-enable', val) end # enable/disable strict LSA checking. Abort GR if lsa change is detected def strict_LSA_checking prop_get('strict-LSA-checking') end # enable/disable strict LSA checking. Abort GR if lsa change is detected def strict_LSA_checking=(val) prop_set('strict-LSA-checking', val) end # maximum of neighbor restart time accepted (in seconds) def max_neighbor_restart_time prop_get('max-neighbor-restart-time') end # maximum of neighbor restart time accepted (in seconds) def max_neighbor_restart_time=(val) prop_set('max-neighbor-restart-time', val) end end def graceful_restart @subclasses['graceful-restart'] ||= GracefulRestart.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'router-id'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Router ID', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'router id of this OSPFv3 instance', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'disable-transit-traffic'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Disable R-Bit and v6-Bit', 'optional'=>'yes', 'help-string'=>'whether OSPFv3 should set the R- and V6-bits in its Router-LSAs', 'type'=>'bool', 'default'=>'no'}, 'spf-timer'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Global General Timer', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes', 'maxlen'=>'63', 'help-string'=>'SPF timer setting'}, 'global-if-timer'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Global Interface Timer', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes', 'maxlen'=>'63', 'help-string'=>'Global protocol timer setting'}, 'redistribution-profile'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Redistribution Profile', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes', 'maxlen'=>'63', 'help-string'=>'Redistribution profile setting'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # router id of this OSPFv3 instance def router_id prop_get('router-id') end # router id of this OSPFv3 instance def router_id=(val) prop_set('router-id', val) end # whether OSPFv3 should set the R- and V6-bits in its Router-LSAs def disable_transit_traffic prop_get('disable-transit-traffic') end # whether OSPFv3 should set the R- and V6-bits in its Router-LSAs def disable_transit_traffic=(val) prop_set('disable-transit-traffic', val) end # SPF timer setting def spf_timer prop_get('spf-timer') end # SPF timer setting def spf_timer=(val) prop_set('spf-timer', val) end # Global protocol timer setting def global_if_timer prop_get('global-if-timer') end # Global protocol timer setting def global_if_timer=(val) prop_set('global-if-timer', val) end # Redistribution profile setting def redistribution_profile prop_get('redistribution-profile') end # Redistribution profile setting def redistribution_profile=(val) prop_set('redistribution-profile', val) end end def ospfv3 @subclasses['ospfv3'] ||= Ospfv3.new(parent_instance: self, client: @client, create_children: @create_children) end class Ecmp < ConfigClass def has_multiple_values?; false; end def _section :ecmp end class Algorithm < ConfigClass def has_multiple_values?; false; end def _section :algorithm end class IpModulo < ConfigClass def has_multiple_values?; false; end def _section :'ip-modulo' end @props = {} end def ip_modulo @subclasses['ip-modulo'] ||= IpModulo.new(parent_instance: self, client: @client, create_children: @create_children) end class IpHash < ConfigClass def has_multiple_values?; false; end def _section :'ip-hash' end @props = {'src-only'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'only use source address for hash', 'uiHint-fieldLabel'=>'Use Source Address Only'}, 'use-port'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'use source/destination port for hash'}, 'hash-seed'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'default'=>'0', 'help-string'=>'User-specified hash seed'}} # only use source address for hash def src_only prop_get('src-only') end # only use source address for hash def src_only=(val) prop_set('src-only', val) end # use source/destination port for hash def use_port prop_get('use-port') end # use source/destination port for hash def use_port=(val) prop_set('use-port', val) end # User-specified hash seed def hash_seed prop_get('hash-seed') end # User-specified hash seed def hash_seed=(val) prop_set('hash-seed', val) end end def ip_hash @subclasses['ip-hash'] ||= IpHash.new(parent_instance: self, client: @client, create_children: @create_children) end class WeightedRoundRobin < ConfigClass def has_multiple_values?; false; end def _section :'weighted-round-robin' end class Interface < XML::ConfigClass def has_multiple_values?; true; end def _section :interface end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'interface name'}, 'weight'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'default'=>'100', 'help-string'=>'interface ECMP weight'}} # interface name def name prop_get('@name') end # interface ECMP weight def weight prop_get('weight') end # interface ECMP weight def weight=(val) prop_set('weight', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def interface maybe_register_subclass('interface', Interface.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def weighted_round_robin @subclasses['weighted-round-robin'] ||= WeightedRoundRobin.new(parent_instance: self, client: @client, create_children: @create_children) end class BalancedRoundRobin < ConfigClass def has_multiple_values?; false; end def _section :'balanced-round-robin' end @props = {} end def balanced_round_robin @subclasses['balanced-round-robin'] ||= BalancedRoundRobin.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def algorithm @subclasses['algorithm'] ||= Algorithm.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable Equal Cost Multipath routing, change this configuration will result in a virtual router restart'}, 'max-path'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'2', 'max'=>'4', 'default'=>'2', 'help-string'=>'Maxmum number of ECMP paths supported, change this configuration will result in a virtual router restart'}, 'symmetric-return'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'allows return packets to egress out of the ingress interface of the flow'}, 'strict-source-path'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'force VPN traffic to exit interface that the source-ip belongs to'}} # enable Equal Cost Multipath routing, change this configuration will result in a virtual router restart def enable prop_get('enable') end # enable Equal Cost Multipath routing, change this configuration will result in a virtual router restart def enable=(val) prop_set('enable', val) end # Maxmum number of ECMP paths supported, change this configuration will result in a virtual router restart def max_path prop_get('max-path') end # Maxmum number of ECMP paths supported, change this configuration will result in a virtual router restart def max_path=(val) prop_set('max-path', val) end # allows return packets to egress out of the ingress interface of the flow def symmetric_return prop_get('symmetric-return') end # allows return packets to egress out of the ingress interface of the flow def symmetric_return=(val) prop_set('symmetric-return', val) end # force VPN traffic to exit interface that the source-ip belongs to def strict_source_path prop_get('strict-source-path') end # force VPN traffic to exit interface that the source-ip belongs to def strict_source_path=(val) prop_set('strict-source-path', val) end end def ecmp @subclasses['ecmp'] ||= Ecmp.new(parent_instance: self, client: @client, create_children: @create_children) end class Multicast < ConfigClass def has_multiple_values?; false; end def _section :multicast end class StaticRoute < XML::ConfigClass def has_multiple_values?; true; end def _section :'static-route' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Nexthop < ConfigClass def has_multiple_values?; false; end def _section :nexthop end @props = {'ip-address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Next hop IP address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'ipv4-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # Next hop IP address def ip_address prop_get('ip-address') end # Next hop IP address def ip_address=(val) prop_set('ip-address', val) end end def nexthop @subclasses['nexthop'] ||= Nexthop.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [0-9a-zA-Z._-]', 'regex'=>'^[a-zA-Z0-9._-]+$'}, 'destination'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Destination IP address/prefix', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes', 'ipv4-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'interface'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string'}, 'preference'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'help-string'=>'administrative distance'}} # alphanumeric string [0-9a-zA-Z._-] def name prop_get('@name') end # Destination IP address/prefix def destination prop_get('destination') end # Destination IP address/prefix def destination=(val) prop_set('destination', val) end def interface prop_get('interface') end def interface=(val) prop_set('interface', val) end # administrative distance def preference prop_get('preference') end # administrative distance def preference=(val) prop_set('preference', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def static_route maybe_register_subclass('static-route', StaticRoute.new(parent_instance: self, client: @client, create_children: @create_children)) end class Pim < ConfigClass def has_multiple_values?; false; end def _section :pim end class SsmAddressSpace < ConfigClass def has_multiple_values?; false; end def _section :'ssm-address-space' end @props = {'group-list'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'None', 'help-string'=>'SSM Group Prefix List', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'None', 'help-string'=>'no prefix list'}]}}} # SSM Group Prefix List def group_list prop_get('group-list') end # SSM Group Prefix List def group_list=(val) prop_set('group-list', val) end end def ssm_address_space @subclasses['ssm-address-space'] ||= SsmAddressSpace.new(parent_instance: self, client: @client, create_children: @create_children) end class SptThreshold < XML::ConfigClass def has_multiple_values?; true; end def _section :'spt-threshold' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{'multicast-only'=>'yes', 'ipv4-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'threshold'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'0', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'4294967295', 'help-string'=>'data rate (kbps) at which a SPT switch is triggered'}, 'enum'=>[{'value'=>'never', 'help-string'=>'do not switch to spt'}, {'value'=>'0', 'help-string'=>'switch on first data packet'}]}}} def name prop_get('@name') end def threshold prop_get('threshold') end def threshold=(val) prop_set('threshold', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def spt_threshold maybe_register_subclass('spt-threshold', SptThreshold.new(parent_instance: self, client: @client, create_children: @create_children)) end class Interface < XML::ConfigClass def has_multiple_values?; true; end def _section :interface end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'interface name'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023', 'regex'=>'^[ a-zA-Z0-9._-]+$'}, 'dr-priority'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'default'=>'1', 'help-string'=>'Designated Router priority'}, 'send-bsm'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Send BSM'}, 'if-timer'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes', 'maxlen'=>'63', 'help-string'=>'Interface Timer Profile'}, 'neighbor-filter'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'None', 'help-string'=>'Set the filter for neighbor list', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'None', 'help-string'=>'no prefix list'}]}}} # interface name def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end # Designated Router priority def dr_priority prop_get('dr-priority') end # Designated Router priority def dr_priority=(val) prop_set('dr-priority', val) end # Send BSM def send_bsm prop_get('send-bsm') end # Send BSM def send_bsm=(val) prop_set('send-bsm', val) end # Interface Timer Profile def if_timer prop_get('if-timer') end # Interface Timer Profile def if_timer=(val) prop_set('if-timer', val) end # Set the filter for neighbor list def neighbor_filter prop_get('neighbor-filter') end # Set the filter for neighbor list def neighbor_filter=(val) prop_set('neighbor-filter', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def interface maybe_register_subclass('interface', Interface.new(parent_instance: self, client: @client, create_children: @create_children)) end class Rp < ConfigClass def has_multiple_values?; false; end def _section :rp end class LocalRp < ConfigClass def has_multiple_values?; false; end def _section :'local-rp' end class StaticRp < ConfigClass def has_multiple_values?; false; end def _section :'static-rp' end @props = {'interface'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'local RP interface'}, 'address'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'local RP address'}, 'override'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Override learned RP for the same group'}, 'group-list'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'None', 'help-string'=>'Group Access List', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'None', 'help-string'=>'no access list'}]}}} # local RP interface def interface prop_get('interface') end # local RP interface def interface=(val) prop_set('interface', val) end # local RP address def address prop_get('address') end # local RP address def address=(val) prop_set('address', val) end # Override learned RP for the same group def override prop_get('override') end # Override learned RP for the same group def override=(val) prop_set('override', val) end # Group Access List def group_list prop_get('group-list') end # Group Access List def group_list=(val) prop_set('group-list', val) end end def static_rp @subclasses['static-rp'] ||= StaticRp.new(parent_instance: self, client: @client, create_children: @create_children) end class CandidateRp < ConfigClass def has_multiple_values?; false; end def _section :'candidate-rp' end @props = {'interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'candidate RP interface'}, 'address'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'candidate RP address'}, 'priority'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255', 'default'=>'192', 'help-string'=>'The priority for this candidate rt'}, 'advertisement-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'26214', 'default'=>'60', 'help-string'=>'The time interval in seconds between candidate rp advertisements'}, 'group-list'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'None', 'help-string'=>'Group Access List', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'None', 'help-string'=>'no access list'}]}}} # candidate RP interface def interface prop_get('interface') end # candidate RP interface def interface=(val) prop_set('interface', val) end # candidate RP address def address prop_get('address') end # candidate RP address def address=(val) prop_set('address', val) end # The priority for this candidate rt def priority prop_get('priority') end # The priority for this candidate rt def priority=(val) prop_set('priority', val) end # The time interval in seconds between candidate rp advertisements def advertisement_interval prop_get('advertisement-interval') end # The time interval in seconds between candidate rp advertisements def advertisement_interval=(val) prop_set('advertisement-interval', val) end # Group Access List def group_list prop_get('group-list') end # Group Access List def group_list=(val) prop_set('group-list', val) end end def candidate_rp @subclasses['candidate-rp'] ||= CandidateRp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def local_rp @subclasses['local-rp'] ||= LocalRp.new(parent_instance: self, client: @client, create_children: @create_children) end class ExternalRp < XML::ConfigClass def has_multiple_values?; true; end def _section :'external-rp' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'multiple', 'help-string'=>'RP address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'ipv4-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'group-list'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'None', 'help-string'=>'Group Access List', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'None', 'help-string'=>'no access list'}]}}, 'override'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Override learned RP for the same group'}} # RP address def name prop_get('@name') end # Group Access List def group_list prop_get('group-list') end # Group Access List def group_list=(val) prop_set('group-list', val) end # Override learned RP for the same group def override prop_get('override') end # Override learned RP for the same group def override=(val) prop_set('override', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def external_rp maybe_register_subclass('external-rp', ExternalRp.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def rp @subclasses['rp'] ||= Rp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'rpf-lookup-mode'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'mrib-then-urib', 'help-string'=>'RPF Lookup Preference', 'enum'=>[{'value'=>'mrib-then-urib', 'help-string'=>'Multicast RIB, then Unicast RIB'}, {'value'=>'mrib-only', 'help-string'=>'Multicast RIB only'}, {'value'=>'urib-only', 'help-string'=>'Unicast RIB only'}]}, 'route-ageout-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'210', 'min'=>'210', 'max'=>'7200', 'help-string'=>'time to wait before aging out a multicast route after data stops, in seconds'}, 'if-timer-global'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes', 'help-string'=>'Global Interface Timer Profile'}, 'group-permission'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'ASM/SSM group permission', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'None', 'help-string'=>'no access list'}]}}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # RPF Lookup Preference def rpf_lookup_mode prop_get('rpf-lookup-mode') end # RPF Lookup Preference def rpf_lookup_mode=(val) prop_set('rpf-lookup-mode', val) end # time to wait before aging out a multicast route after data stops, in seconds def route_ageout_time prop_get('route-ageout-time') end # time to wait before aging out a multicast route after data stops, in seconds def route_ageout_time=(val) prop_set('route-ageout-time', val) end # Global Interface Timer Profile def if_timer_global prop_get('if-timer-global') end # Global Interface Timer Profile def if_timer_global=(val) prop_set('if-timer-global', val) end # ASM/SSM group permission def group_permission prop_get('group-permission') end # ASM/SSM group permission def group_permission=(val) prop_set('group-permission', val) end end def pim @subclasses['pim'] ||= Pim.new(parent_instance: self, client: @client, create_children: @create_children) end class Igmp < ConfigClass def has_multiple_values?; false; end def _section :igmp end class Dynamic < ConfigClass def has_multiple_values?; false; end def _section :dynamic end class Interface < XML::ConfigClass def has_multiple_values?; true; end def _section :interface end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'interface name'}, 'version'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'3', 'help-string'=>'IGMP version number', 'enum'=>[{'value'=>'2'}, {'value'=>'3'}]}, 'robustness'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'2', 'help-string'=>'robustness variable', 'enum'=>[{'value'=>'1'}, {'value'=>'2'}, {'value'=>'3'}, {'value'=>'4'}, {'value'=>'5'}, {'value'=>'6'}, {'value'=>'7'}]}, 'group-filter'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'None', 'help-string'=>'ASM/SSM Group Access List', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'None', 'help-string'=>'no access list'}]}}, 'max-groups'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unlimited', 'help-string'=>'maximum number of groups allowed on this interface', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'65535'}, 'enum'=>[{'value'=>'unlimited'}]}}, 'max-sources'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'unlimited', 'help-string'=>'maximum number of source-specific memberships allowed on this interface', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'65535'}, 'enum'=>[{'value'=>'unlimited'}]}}, 'query-profile'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes', 'maxlen'=>'63', 'help-string'=>'IGMP Query Timer Profile'}, 'router-alert-policing'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'drop IGMP packets without Router Alert option'}} # interface name def name prop_get('@name') end # IGMP version number def version prop_get('version') end # IGMP version number def version=(val) prop_set('version', val) end # robustness variable def robustness prop_get('robustness') end # robustness variable def robustness=(val) prop_set('robustness', val) end # ASM/SSM Group Access List def group_filter prop_get('group-filter') end # ASM/SSM Group Access List def group_filter=(val) prop_set('group-filter', val) end # maximum number of groups allowed on this interface def max_groups prop_get('max-groups') end # maximum number of groups allowed on this interface def max_groups=(val) prop_set('max-groups', val) end # maximum number of source-specific memberships allowed on this interface def max_sources prop_get('max-sources') end # maximum number of source-specific memberships allowed on this interface def max_sources=(val) prop_set('max-sources', val) end # IGMP Query Timer Profile def query_profile prop_get('query-profile') end # IGMP Query Timer Profile def query_profile=(val) prop_set('query-profile', val) end # drop IGMP packets without Router Alert option def router_alert_policing prop_get('router-alert-policing') end # drop IGMP packets without Router Alert option def router_alert_policing=(val) prop_set('router-alert-policing', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def interface maybe_register_subclass('interface', Interface.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def dynamic @subclasses['dynamic'] ||= Dynamic.new(parent_instance: self, client: @client, create_children: @create_children) end class Static < XML::ConfigClass def has_multiple_values?; true; end def _section :static end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [0-9a-zA-Z._-]', 'regex'=>'^[a-zA-Z0-9._-]+$'}, 'interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'multicast interfaces'}, 'group-address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'group-address/prefix', 'multi-types'=>{'ipspec'=>{'multicast-only'=>'yes', 'ipv4-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'source-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'ipv4-only'=>'yes', 'unicast-only'=>'yes', 'disallow-zero-addr'=>'yes', 'help-string'=>'source-address'}} # alphanumeric string [0-9a-zA-Z._-] def name prop_get('@name') end # multicast interfaces def interface prop_get('interface') end # multicast interfaces def interface=(val) prop_set('interface', val) end # group-address/prefix def group_address prop_get('group-address') end # group-address/prefix def group_address=(val) prop_set('group-address', val) end # source-address def source_address prop_get('source-address') end # source-address def source_address=(val) prop_set('source-address', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def static maybe_register_subclass('static', Static.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'enable IGMP'}} # enable IGMP def enable prop_get('enable') end # enable IGMP def enable=(val) prop_set('enable', val) end end def igmp @subclasses['igmp'] ||= Igmp.new(parent_instance: self, client: @client, create_children: @create_children) end class Msdp < ConfigClass def has_multiple_values?; false; end def _section :msdp end class OriginatorId < ConfigClass def has_multiple_values?; false; end def _section :'originator-id' end @props = {'interface'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'interface of originator'}, 'ip'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'50', 'help-string'=>'specify exact IP address if interface has multiple addresses'}} # interface of originator def interface prop_get('interface') end # interface of originator def interface=(val) prop_set('interface', val) end # specify exact IP address if interface has multiple addresses def ip prop_get('ip') end # specify exact IP address if interface has multiple addresses def ip=(val) prop_set('ip', val) end end def originator_id @subclasses['originator-id'] ||= OriginatorId.new(parent_instance: self, client: @client, create_children: @create_children) end class Peer < XML::ConfigClass def has_multiple_values?; true; end def _section :peer end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class LocalAddress < ConfigClass def has_multiple_values?; false; end def _section :'local-address' end @props = {'interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'interface to accept MSDP connection'}, 'ip'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'50', 'help-string'=>'specify exact IP address if interface has multiple addresses'}} # interface to accept MSDP connection def interface prop_get('interface') end # interface to accept MSDP connection def interface=(val) prop_set('interface', val) end # specify exact IP address if interface has multiple addresses def ip prop_get('ip') end # specify exact IP address if interface has multiple addresses def ip=(val) prop_set('ip', val) end end def local_address @subclasses['local-address'] ||= LocalAddress.new(parent_instance: self, client: @client, create_children: @create_children) end class PeerAddress < ConfigClass def has_multiple_values?; false; end def _section :'peer-address' end @props = {'ip'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'peer address configuration', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'fqdn'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'regex'=>'^([a-zA-Z0-9._-])+$', 'help-string'=>'Peer FQDN Address Object'}} # peer address configuration def ip prop_get('ip') end # peer address configuration def ip=(val) prop_set('ip', val) end # Peer FQDN Address Object def fqdn prop_get('fqdn') end # Peer FQDN Address Object def fqdn=(val) prop_set('fqdn', val) end end def peer_address @subclasses['peer-address'] ||= PeerAddress.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63'}, 'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'peer-as'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'peer AS number', 'multi-types'=>{'string'=>{'maxlen'=>'63', 'loose-membership'=>'yes'}, 'rangedint'=>{'min'=>'1', 'max'=>'4294967295'}}}, 'authentication'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Authentication options', 'default'=>'inherit', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'inherit', 'help-string'=>'Inherit from global authentication'}, {'value'=>'none', 'help-string'=>'Disable authentication'}]}}, 'max-sa'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'help-string'=>'Maximum number of SA', 'min'=>'0', 'max'=>'1024', 'default'=>'0'}, 'inbound-sa-filter'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'Inbound SA Filter'}, 'outbound-sa-filter'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'Outbound SA Filter'}} def name prop_get('@name') end def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # peer AS number def peer_as prop_get('peer-as') end # peer AS number def peer_as=(val) prop_set('peer-as', val) end # Authentication options def authentication prop_get('authentication') end # Authentication options def authentication=(val) prop_set('authentication', val) end # Maximum number of SA def max_sa prop_get('max-sa') end # Maximum number of SA def max_sa=(val) prop_set('max-sa', val) end # Inbound SA Filter def inbound_sa_filter prop_get('inbound-sa-filter') end # Inbound SA Filter def inbound_sa_filter=(val) prop_set('inbound-sa-filter', val) end # Outbound SA Filter def outbound_sa_filter prop_get('outbound-sa-filter') end # Outbound SA Filter def outbound_sa_filter=(val) prop_set('outbound-sa-filter', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def peer maybe_register_subclass('peer', Peer.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'global-timer'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'Global timer profile', 'uiHint-fieldLabel'=>'MSDP Global Timer', 'maxlen'=>'63'}, 'global-authentication'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'Global authentication profile', 'uiHint-fieldLabel'=>'MSDP Global Authentication', 'maxlen'=>'63'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Global timer profile def global_timer prop_get('global-timer') end # Global timer profile def global_timer=(val) prop_set('global-timer', val) end # Global authentication profile def global_authentication prop_get('global-authentication') end # Global authentication profile def global_authentication=(val) prop_set('global-authentication', val) end end def msdp @subclasses['msdp'] ||= Msdp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable multicast protocol'}} # enable multicast protocol def enable prop_get('enable') end # enable multicast protocol def enable=(val) prop_set('enable', val) end end def multicast @subclasses['multicast'] ||= Multicast.new(parent_instance: self, client: @client, create_children: @create_children) end class Rip < ConfigClass def has_multiple_values?; false; end def _section :rip end class GlobalBfd < ConfigClass def has_multiple_values?; false; end def _section :'global-bfd' end @props = {'profile'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'None', 'help-string'=>'BFD profile', 'optional'=>'yes', 'uiHint-fieldLabel'=>'BFD Profile', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'None', 'help-string'=>'Disable BFD'}]}}} # BFD profile def profile prop_get('profile') end # BFD profile def profile=(val) prop_set('profile', val) end end def global_bfd @subclasses['global-bfd'] ||= GlobalBfd.new(parent_instance: self, client: @client, create_children: @create_children) end class GlobalInboundDistributeList < ConfigClass def has_multiple_values?; false; end def _section :'global-inbound-distribute-list' end @props = {'access-list'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'access-list name from filter'}} # access-list name from filter def access_list prop_get('access-list') end # access-list name from filter def access_list=(val) prop_set('access-list', val) end end def global_inbound_distribute_list @subclasses['global-inbound-distribute-list'] ||= GlobalInboundDistributeList.new(parent_instance: self, client: @client, create_children: @create_children) end class GlobalOutboundDistributeList < ConfigClass def has_multiple_values?; false; end def _section :'global-outbound-distribute-list' end @props = {'access-list'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'access-list name from filter'}} # access-list name from filter def access_list prop_get('access-list') end # access-list name from filter def access_list=(val) prop_set('access-list', val) end end def global_outbound_distribute_list @subclasses['global-outbound-distribute-list'] ||= GlobalOutboundDistributeList.new(parent_instance: self, client: @client, create_children: @create_children) end class Interface < XML::ConfigClass def has_multiple_values?; true; end def _section :interface end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Bfd < ConfigClass def has_multiple_values?; false; end def _section :bfd end @props = {'profile'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'Inherit-lr-global-setting', 'help-string'=>'BFD profile', 'optional'=>'yes', 'uiHint-fieldLabel'=>'BFD Profile', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'None', 'help-string'=>'Disable BFD'}, {'value'=>'Inherit-lr-global-setting', 'help-string'=>'Inherit Protocol\'s Global BFD Profile'}]}}} # BFD profile def profile prop_get('profile') end # BFD profile def profile=(val) prop_set('profile', val) end end def bfd @subclasses['bfd'] ||= Bfd.new(parent_instance: self, client: @client, create_children: @create_children) end class InterfaceInboundDistributeList < ConfigClass def has_multiple_values?; false; end def _section :'interface-inbound-distribute-list' end @props = {'access-list'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'access-list name from filter'}, 'metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'16', 'help-string'=>'metric value'}} # access-list name from filter def access_list prop_get('access-list') end # access-list name from filter def access_list=(val) prop_set('access-list', val) end # metric value def metric prop_get('metric') end # metric value def metric=(val) prop_set('metric', val) end end def interface_inbound_distribute_list @subclasses['interface-inbound-distribute-list'] ||= InterfaceInboundDistributeList.new(parent_instance: self, client: @client, create_children: @create_children) end class InterfaceOutboundDistributeList < ConfigClass def has_multiple_values?; false; end def _section :'interface-outbound-distribute-list' end @props = {'access-list'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'access-list name from filter'}, 'metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'16', 'help-string'=>'metric value'}} # access-list name from filter def access_list prop_get('access-list') end # access-list name from filter def access_list=(val) prop_set('access-list', val) end # metric value def metric prop_get('metric') end # metric value def metric=(val) prop_set('metric', val) end end def interface_outbound_distribute_list @subclasses['interface-outbound-distribute-list'] ||= InterfaceOutboundDistributeList.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'interface name'}, 'enable'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Enable', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable RIP on this interface'}, 'mode'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'active', 'enum'=>[{'value'=>'active', 'help-string'=>'send and receive'}, {'value'=>'passive', 'help-string'=>'receive only'}, {'value'=>'send-only', 'help-string'=>'send only, do not receive RIP updates'}]}, 'split-horizon'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'split-horizon', 'help-string'=>'Split horizon options', 'enum'=>[{'value'=>'split-horizon', 'help-string'=>'split horizon enabled'}, {'value'=>'no-split-horizon', 'help-string'=>'split horizon disabled'}, {'value'=>'no-split-horizon-with-poison-reverse', 'help-string'=>'split horizon with poison reverse'}]}, 'authentication'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes', 'help-string'=>'Authentication options', 'maxlen'=>'63'}} # interface name def name prop_get('@name') end # Enable RIP on this interface def enable prop_get('enable') end # Enable RIP on this interface def enable=(val) prop_set('enable', val) end def mode prop_get('mode') end def mode=(val) prop_set('mode', val) end # Split horizon options def split_horizon prop_get('split-horizon') end # Split horizon options def split_horizon=(val) prop_set('split-horizon', val) end # Authentication options def authentication prop_get('authentication') end # Authentication options def authentication=(val) prop_set('authentication', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def interface maybe_register_subclass('interface', Interface.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'default-information-originate'=>{'node-type'=>'element', 'optional'=>'yes', 'help-string'=>'advertise default route in RIP', 'type'=>'bool', 'default'=>'no'}, 'global-timer'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Global General Timer', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes', 'maxlen'=>'63', 'help-string'=>'timer setting'}, 'auth-profile'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Auth Profile', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes', 'maxlen'=>'63', 'help-string'=>'Authentication profile setting'}, 'redistribution-profile'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Redistribution Profile', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes', 'maxlen'=>'63', 'help-string'=>'Redistribution profile setting'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # advertise default route in RIP def default_information_originate prop_get('default-information-originate') end # advertise default route in RIP def default_information_originate=(val) prop_set('default-information-originate', val) end # timer setting def global_timer prop_get('global-timer') end # timer setting def global_timer=(val) prop_set('global-timer', val) end # Authentication profile setting def auth_profile prop_get('auth-profile') end # Authentication profile setting def auth_profile=(val) prop_set('auth-profile', val) end # Redistribution profile setting def redistribution_profile prop_get('redistribution-profile') end # Redistribution profile setting def redistribution_profile=(val) prop_set('redistribution-profile', val) end end def rip @subclasses['rip'] ||= Rip.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'multiple', 'subtype'=>'object-name', 'help-string'=>'VRF Name', 'regex'=>'^[a-zA-Z0-9._-]+$', 'maxlen'=>'31', 'multi-types'=>{'enum'=>[{'value'=>'default', 'help-string'=>'Default VRF'}]}}} # VRF Name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vrf maybe_register_subclass('vrf', Vrf.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]', 'regex'=>'^[a-zA-Z0-9._-]+$'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def logical_router maybe_register_subclass('logical-router', LogicalRouter.new(parent_instance: self, client: @client, create_children: @create_children)) end class RoutingProfile < ConfigClass def has_multiple_values?; false; end def _section :'routing-profile' end class Bgp < ConfigClass def has_multiple_values?; false; end def _section :bgp end class AuthProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'auth-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'regex'=>'^[a-zA-Z0-9._-]+$'}, 'secret'=>{'node-type'=>'element', 'optional'=>'yes', 'encrypt'=>'yes', 'skip-commit-validation'=>'yes', 'type'=>'string', 'regex'=>'^([a-zA-Z0-9!@#%^_-])+$', 'ui-hint'=>'regexText:"Only alphanumeric and !@#%^_- are allowed to use"', 'maxlen'=>'63', 'help-string'=>'shared secret for the TCP MD5 authentication, [a-zA-Z0-9!@#%^_-]'}} def name prop_get('@name') end # shared secret for the TCP MD5 authentication, [a-zA-Z0-9!@#%^_-] def secret prop_get('secret') end # shared secret for the TCP MD5 authentication, [a-zA-Z0-9!@#%^_-] def secret=(val) prop_set('secret', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def auth_profile maybe_register_subclass('auth-profile', AuthProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class TimerProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'timer-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'help-string'=>'Timer Profile Name', 'regex'=>'^[a-zA-Z0-9._-]+$'}, 'keep-alive-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'30', 'help-string'=>'keep-alive interval Default:30 (in seconds) ', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'1200', 'default'=>'30'}}}, 'hold-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'90', 'help-string'=>'hold time Default:90 (in seconds)', 'multi-types'=>{'rangedint'=>{'min'=>'3', 'max'=>'3600', 'default'=>'90'}}}, 'reconnect-retry-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'15', 'help-string'=>'Wait in the connect state before retrying connection to the peer Default:15 (in seconds)'}, 'open-delay-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'240', 'default'=>'0', 'help-string'=>'Delay time after peer TCP connection up and sending 1st BGP Open Message Default:0 (in seconds)'}, 'min-route-adv-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'600', 'default'=>'30', 'help-string'=>'Minimum Route Advertisement Interval Default:30 (in seconds)'}} # Timer Profile Name def name prop_get('@name') end # keep-alive interval Default:30 (in seconds) def keep_alive_interval prop_get('keep-alive-interval') end # keep-alive interval Default:30 (in seconds) def keep_alive_interval=(val) prop_set('keep-alive-interval', val) end # hold time Default:90 (in seconds) def hold_time prop_get('hold-time') end # hold time Default:90 (in seconds) def hold_time=(val) prop_set('hold-time', val) end # Wait in the connect state before retrying connection to the peer Default:15 (in seconds) def reconnect_retry_interval prop_get('reconnect-retry-interval') end # Wait in the connect state before retrying connection to the peer Default:15 (in seconds) def reconnect_retry_interval=(val) prop_set('reconnect-retry-interval', val) end # Delay time after peer TCP connection up and sending 1st BGP Open Message Default:0 (in seconds) def open_delay_time prop_get('open-delay-time') end # Delay time after peer TCP connection up and sending 1st BGP Open Message Default:0 (in seconds) def open_delay_time=(val) prop_set('open-delay-time', val) end # Minimum Route Advertisement Interval Default:30 (in seconds) def min_route_adv_interval prop_get('min-route-adv-interval') end # Minimum Route Advertisement Interval Default:30 (in seconds) def min_route_adv_interval=(val) prop_set('min-route-adv-interval', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def timer_profile maybe_register_subclass('timer-profile', TimerProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class AddressFamilyProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'address-family-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Ipv4 < ConfigClass def has_multiple_values?; false; end def _section :ipv4 end class Unicast < ConfigClass def has_multiple_values?; false; end def _section :unicast end class AddPath < ConfigClass def has_multiple_values?; false; end def _section :'add-path' end @props = {'tx-all-paths'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Advertise all paths to peer'}, 'tx-bestpath-per-AS'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Advertise the bestpath per each neighboring AS'}} # Advertise all paths to peer def tx_all_paths prop_get('tx-all-paths') end # Advertise all paths to peer def tx_all_paths=(val) prop_set('tx-all-paths', val) end # Advertise the bestpath per each neighboring AS def tx_bestpath_per_AS prop_get('tx-bestpath-per-AS') end # Advertise the bestpath per each neighboring AS def tx_bestpath_per_AS=(val) prop_set('tx-bestpath-per-AS', val) end end def add_path @subclasses['add-path'] ||= AddPath.new(parent_instance: self, client: @client, create_children: @create_children) end class AllowasIn < ConfigClass def has_multiple_values?; false; end def _section :'allowas-in' end class Origin < ConfigClass def has_multiple_values?; false; end def _section :origin end @props = {} end def origin @subclasses['origin'] ||= Origin.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'occurrence'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'10', 'default'=>'1', 'help-string'=>'Number of occurrences of AS number'}} # Number of occurrences of AS number def occurrence prop_get('occurrence') end # Number of occurrences of AS number def occurrence=(val) prop_set('occurrence', val) end end def allowas_in @subclasses['allowas-in'] ||= AllowasIn.new(parent_instance: self, client: @client, create_children: @create_children) end class MaximumPrefix < ConfigClass def has_multiple_values?; false; end def _section :'maximum-prefix' end class Action < ConfigClass def has_multiple_values?; false; end def _section :action end class WarningOnly < ConfigClass def has_multiple_values?; false; end def _section :'warning-only' end @props = {} end def warning_only @subclasses['warning-only'] ||= WarningOnly.new(parent_instance: self, client: @client, create_children: @create_children) end class Restart < ConfigClass def has_multiple_values?; false; end def _section :restart end @props = {'interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'1', 'help-string'=>'Restart interval in minutes'}} # Restart interval in minutes def interval prop_get('interval') end # Restart interval in minutes def interval=(val) prop_set('interval', val) end end def restart @subclasses['restart'] ||= Restart.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def action @subclasses['action'] ||= Action.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'num_prefixes'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'default'=>'1000', 'help-string'=>'Max allowed prefixes from this peer', 'uiHint-fieldLabel'=>'Number Prefixes'}, 'threshold'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'100', 'default'=>'100', 'help-string'=>'Threshold value (%) at which to generate a warning msg', 'uiHint-fieldLabel'=>'Threshold'}} # Max allowed prefixes from this peer def num_prefixes prop_get('num_prefixes') end # Max allowed prefixes from this peer def num_prefixes=(val) prop_set('num_prefixes', val) end # Threshold value (%) at which to generate a warning msg def threshold prop_get('threshold') end # Threshold value (%) at which to generate a warning msg def threshold=(val) prop_set('threshold', val) end end def maximum_prefix @subclasses['maximum-prefix'] ||= MaximumPrefix.new(parent_instance: self, client: @client, create_children: @create_children) end class NextHop < ConfigClass def has_multiple_values?; false; end def _section :'next-hop' end class Self < ConfigClass def has_multiple_values?; false; end def _section :self end @props = {} end def self @subclasses['self'] ||= Self.new(parent_instance: self, client: @client, create_children: @create_children) end class SelfForce < ConfigClass def has_multiple_values?; false; end def _section :'self-force' end @props = {} end def self_force @subclasses['self-force'] ||= SelfForce.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def next_hop @subclasses['next-hop'] ||= NextHop.new(parent_instance: self, client: @client, create_children: @create_children) end class RemovePrivateAS < ConfigClass def has_multiple_values?; false; end def _section :'remove-private-AS' end class All < ConfigClass def has_multiple_values?; false; end def _section :all end @props = {} end def all @subclasses['all'] ||= All.new(parent_instance: self, client: @client, create_children: @create_children) end class ReplaceAS < ConfigClass def has_multiple_values?; false; end def _section :'replace-AS' end @props = {} end def replace_AS @subclasses['replace-AS'] ||= ReplaceAS.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def remove_private_AS @subclasses['remove-private-AS'] ||= RemovePrivateAS.new(parent_instance: self, client: @client, create_children: @create_children) end class SendCommunity < ConfigClass def has_multiple_values?; false; end def _section :'send-community' end class All < ConfigClass def has_multiple_values?; false; end def _section :all end @props = {} end def all @subclasses['all'] ||= All.new(parent_instance: self, client: @client, create_children: @create_children) end class Both < ConfigClass def has_multiple_values?; false; end def _section :both end @props = {} end def both @subclasses['both'] ||= Both.new(parent_instance: self, client: @client, create_children: @create_children) end class Extended < ConfigClass def has_multiple_values?; false; end def _section :extended end @props = {} end def extended @subclasses['extended'] ||= Extended.new(parent_instance: self, client: @client, create_children: @create_children) end class Large < ConfigClass def has_multiple_values?; false; end def _section :large end @props = {} end def large @subclasses['large'] ||= Large.new(parent_instance: self, client: @client, create_children: @create_children) end class Standard < ConfigClass def has_multiple_values?; false; end def _section :standard end @props = {} end def standard @subclasses['standard'] ||= Standard.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def send_community @subclasses['send-community'] ||= SendCommunity.new(parent_instance: self, client: @client, create_children: @create_children) end class Orf < ConfigClass def has_multiple_values?; false; end def _section :orf end @props = {'orf-prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'ORF List', 'type'=>'enum', 'default'=>'none', 'optional'=>'yes', 'help-string'=>'Advertise Prefix-List ORF Capability', 'enum'=>[{'name'=>'None', 'value'=>'none'}, {'name'=>'both', 'value'=>'both', 'help-string'=>'Capability to Send and Receive ORF'}, {'name'=>'receive', 'value'=>'receive', 'help-string'=>'Capability to Receive ORF'}, {'name'=>'send', 'value'=>'send', 'help-string'=>'Capability to Send ORF'}]}} # Advertise Prefix-List ORF Capability def orf_prefix_list prop_get('orf-prefix-list') end # Advertise Prefix-List ORF Capability def orf_prefix_list=(val) prop_set('orf-prefix-list', val) end end def orf @subclasses['orf'] ||= Orf.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Enable'}, 'soft-reconfig-with-stored-info'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Soft reconfiguration of peer with stored routes'}, 'as-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Override ASNs in outbound updates if AS-Path equals Remote-AS'}, 'default-originate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Originate Default Route'}, 'route-reflector-client'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Route Reflector Client'}, 'default-originate-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Default Originate Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Route-Map used in Default Originate Configuration'}} # Enable def enable prop_get('enable') end # Enable def enable=(val) prop_set('enable', val) end # Soft reconfiguration of peer with stored routes def soft_reconfig_with_stored_info prop_get('soft-reconfig-with-stored-info') end # Soft reconfiguration of peer with stored routes def soft_reconfig_with_stored_info=(val) prop_set('soft-reconfig-with-stored-info', val) end # Override ASNs in outbound updates if AS-Path equals Remote-AS def as_override prop_get('as-override') end # Override ASNs in outbound updates if AS-Path equals Remote-AS def as_override=(val) prop_set('as-override', val) end # Originate Default Route def default_originate prop_get('default-originate') end # Originate Default Route def default_originate=(val) prop_set('default-originate', val) end # Route Reflector Client def route_reflector_client prop_get('route-reflector-client') end # Route Reflector Client def route_reflector_client=(val) prop_set('route-reflector-client', val) end # Route-Map used in Default Originate Configuration def default_originate_map prop_get('default-originate-map') end # Route-Map used in Default Originate Configuration def default_originate_map=(val) prop_set('default-originate-map', val) end end def unicast @subclasses['unicast'] ||= Unicast.new(parent_instance: self, client: @client, create_children: @create_children) end class Multicast < ConfigClass def has_multiple_values?; false; end def _section :multicast end class AddPath < ConfigClass def has_multiple_values?; false; end def _section :'add-path' end @props = {'tx-all-paths'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Advertise all paths to peer'}, 'tx-bestpath-per-AS'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Advertise the bestpath per each neighboring AS'}} # Advertise all paths to peer def tx_all_paths prop_get('tx-all-paths') end # Advertise all paths to peer def tx_all_paths=(val) prop_set('tx-all-paths', val) end # Advertise the bestpath per each neighboring AS def tx_bestpath_per_AS prop_get('tx-bestpath-per-AS') end # Advertise the bestpath per each neighboring AS def tx_bestpath_per_AS=(val) prop_set('tx-bestpath-per-AS', val) end end def add_path @subclasses['add-path'] ||= AddPath.new(parent_instance: self, client: @client, create_children: @create_children) end class AllowasIn < ConfigClass def has_multiple_values?; false; end def _section :'allowas-in' end class Origin < ConfigClass def has_multiple_values?; false; end def _section :origin end @props = {} end def origin @subclasses['origin'] ||= Origin.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'occurrence'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'10', 'default'=>'1', 'help-string'=>'Number of occurrences of AS number'}} # Number of occurrences of AS number def occurrence prop_get('occurrence') end # Number of occurrences of AS number def occurrence=(val) prop_set('occurrence', val) end end def allowas_in @subclasses['allowas-in'] ||= AllowasIn.new(parent_instance: self, client: @client, create_children: @create_children) end class MaximumPrefix < ConfigClass def has_multiple_values?; false; end def _section :'maximum-prefix' end class Action < ConfigClass def has_multiple_values?; false; end def _section :action end class WarningOnly < ConfigClass def has_multiple_values?; false; end def _section :'warning-only' end @props = {} end def warning_only @subclasses['warning-only'] ||= WarningOnly.new(parent_instance: self, client: @client, create_children: @create_children) end class Restart < ConfigClass def has_multiple_values?; false; end def _section :restart end @props = {'interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'1', 'help-string'=>'Restart interval in minutes'}} # Restart interval in minutes def interval prop_get('interval') end # Restart interval in minutes def interval=(val) prop_set('interval', val) end end def restart @subclasses['restart'] ||= Restart.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def action @subclasses['action'] ||= Action.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'num_prefixes'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'default'=>'1000', 'help-string'=>'Max allowed prefixes from this peer', 'uiHint-fieldLabel'=>'Number Prefixes'}, 'threshold'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'100', 'default'=>'100', 'help-string'=>'Threshold value (%) at which to generate a warning msg', 'uiHint-fieldLabel'=>'Threshold'}} # Max allowed prefixes from this peer def num_prefixes prop_get('num_prefixes') end # Max allowed prefixes from this peer def num_prefixes=(val) prop_set('num_prefixes', val) end # Threshold value (%) at which to generate a warning msg def threshold prop_get('threshold') end # Threshold value (%) at which to generate a warning msg def threshold=(val) prop_set('threshold', val) end end def maximum_prefix @subclasses['maximum-prefix'] ||= MaximumPrefix.new(parent_instance: self, client: @client, create_children: @create_children) end class NextHop < ConfigClass def has_multiple_values?; false; end def _section :'next-hop' end class Self < ConfigClass def has_multiple_values?; false; end def _section :self end @props = {} end def self @subclasses['self'] ||= Self.new(parent_instance: self, client: @client, create_children: @create_children) end class SelfForce < ConfigClass def has_multiple_values?; false; end def _section :'self-force' end @props = {} end def self_force @subclasses['self-force'] ||= SelfForce.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def next_hop @subclasses['next-hop'] ||= NextHop.new(parent_instance: self, client: @client, create_children: @create_children) end class RemovePrivateAS < ConfigClass def has_multiple_values?; false; end def _section :'remove-private-AS' end class All < ConfigClass def has_multiple_values?; false; end def _section :all end @props = {} end def all @subclasses['all'] ||= All.new(parent_instance: self, client: @client, create_children: @create_children) end class ReplaceAS < ConfigClass def has_multiple_values?; false; end def _section :'replace-AS' end @props = {} end def replace_AS @subclasses['replace-AS'] ||= ReplaceAS.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def remove_private_AS @subclasses['remove-private-AS'] ||= RemovePrivateAS.new(parent_instance: self, client: @client, create_children: @create_children) end class SendCommunity < ConfigClass def has_multiple_values?; false; end def _section :'send-community' end class All < ConfigClass def has_multiple_values?; false; end def _section :all end @props = {} end def all @subclasses['all'] ||= All.new(parent_instance: self, client: @client, create_children: @create_children) end class Both < ConfigClass def has_multiple_values?; false; end def _section :both end @props = {} end def both @subclasses['both'] ||= Both.new(parent_instance: self, client: @client, create_children: @create_children) end class Extended < ConfigClass def has_multiple_values?; false; end def _section :extended end @props = {} end def extended @subclasses['extended'] ||= Extended.new(parent_instance: self, client: @client, create_children: @create_children) end class Large < ConfigClass def has_multiple_values?; false; end def _section :large end @props = {} end def large @subclasses['large'] ||= Large.new(parent_instance: self, client: @client, create_children: @create_children) end class Standard < ConfigClass def has_multiple_values?; false; end def _section :standard end @props = {} end def standard @subclasses['standard'] ||= Standard.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def send_community @subclasses['send-community'] ||= SendCommunity.new(parent_instance: self, client: @client, create_children: @create_children) end class Orf < ConfigClass def has_multiple_values?; false; end def _section :orf end @props = {'orf-prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'ORF List', 'type'=>'enum', 'default'=>'none', 'optional'=>'yes', 'help-string'=>'Advertise Prefix-List ORF Capability', 'enum'=>[{'name'=>'None', 'value'=>'none'}, {'name'=>'both', 'value'=>'both', 'help-string'=>'Capability to Send and Receive ORF'}, {'name'=>'receive', 'value'=>'receive', 'help-string'=>'Capability to Receive ORF'}, {'name'=>'send', 'value'=>'send', 'help-string'=>'Capability to Send ORF'}]}} # Advertise Prefix-List ORF Capability def orf_prefix_list prop_get('orf-prefix-list') end # Advertise Prefix-List ORF Capability def orf_prefix_list=(val) prop_set('orf-prefix-list', val) end end def orf @subclasses['orf'] ||= Orf.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Enable'}, 'soft-reconfig-with-stored-info'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Soft reconfiguration of peer with stored routes'}, 'as-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Override ASNs in outbound updates if AS-Path equals Remote-AS'}, 'default-originate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Originate Default Route'}, 'route-reflector-client'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Route Reflector Client'}, 'default-originate-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Default Originate Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Route-Map used in Default Originate Configuration'}} # Enable def enable prop_get('enable') end # Enable def enable=(val) prop_set('enable', val) end # Soft reconfiguration of peer with stored routes def soft_reconfig_with_stored_info prop_get('soft-reconfig-with-stored-info') end # Soft reconfiguration of peer with stored routes def soft_reconfig_with_stored_info=(val) prop_set('soft-reconfig-with-stored-info', val) end # Override ASNs in outbound updates if AS-Path equals Remote-AS def as_override prop_get('as-override') end # Override ASNs in outbound updates if AS-Path equals Remote-AS def as_override=(val) prop_set('as-override', val) end # Originate Default Route def default_originate prop_get('default-originate') end # Originate Default Route def default_originate=(val) prop_set('default-originate', val) end # Route Reflector Client def route_reflector_client prop_get('route-reflector-client') end # Route Reflector Client def route_reflector_client=(val) prop_set('route-reflector-client', val) end # Route-Map used in Default Originate Configuration def default_originate_map prop_get('default-originate-map') end # Route-Map used in Default Originate Configuration def default_originate_map=(val) prop_set('default-originate-map', val) end end def multicast @subclasses['multicast'] ||= Multicast.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ipv4 @subclasses['ipv4'] ||= Ipv4.new(parent_instance: self, client: @client, create_children: @create_children) end class Ipv6 < ConfigClass def has_multiple_values?; false; end def _section :ipv6 end class Unicast < ConfigClass def has_multiple_values?; false; end def _section :unicast end class AddPath < ConfigClass def has_multiple_values?; false; end def _section :'add-path' end @props = {'tx-all-paths'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Advertise all paths to peer'}, 'tx-bestpath-per-AS'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Advertise the bestpath per each neighboring AS'}} # Advertise all paths to peer def tx_all_paths prop_get('tx-all-paths') end # Advertise all paths to peer def tx_all_paths=(val) prop_set('tx-all-paths', val) end # Advertise the bestpath per each neighboring AS def tx_bestpath_per_AS prop_get('tx-bestpath-per-AS') end # Advertise the bestpath per each neighboring AS def tx_bestpath_per_AS=(val) prop_set('tx-bestpath-per-AS', val) end end def add_path @subclasses['add-path'] ||= AddPath.new(parent_instance: self, client: @client, create_children: @create_children) end class AllowasIn < ConfigClass def has_multiple_values?; false; end def _section :'allowas-in' end class Origin < ConfigClass def has_multiple_values?; false; end def _section :origin end @props = {} end def origin @subclasses['origin'] ||= Origin.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'occurrence'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'10', 'default'=>'1', 'help-string'=>'Number of occurrences of AS number'}} # Number of occurrences of AS number def occurrence prop_get('occurrence') end # Number of occurrences of AS number def occurrence=(val) prop_set('occurrence', val) end end def allowas_in @subclasses['allowas-in'] ||= AllowasIn.new(parent_instance: self, client: @client, create_children: @create_children) end class MaximumPrefix < ConfigClass def has_multiple_values?; false; end def _section :'maximum-prefix' end class Action < ConfigClass def has_multiple_values?; false; end def _section :action end class WarningOnly < ConfigClass def has_multiple_values?; false; end def _section :'warning-only' end @props = {} end def warning_only @subclasses['warning-only'] ||= WarningOnly.new(parent_instance: self, client: @client, create_children: @create_children) end class Restart < ConfigClass def has_multiple_values?; false; end def _section :restart end @props = {'interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'1', 'help-string'=>'Restart interval in minutes'}} # Restart interval in minutes def interval prop_get('interval') end # Restart interval in minutes def interval=(val) prop_set('interval', val) end end def restart @subclasses['restart'] ||= Restart.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def action @subclasses['action'] ||= Action.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'num_prefixes'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'default'=>'1000', 'help-string'=>'Max allowed prefixes from this peer', 'uiHint-fieldLabel'=>'Number Prefixes'}, 'threshold'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'100', 'default'=>'100', 'help-string'=>'Threshold value (%) at which to generate a warning msg', 'uiHint-fieldLabel'=>'Threshold'}} # Max allowed prefixes from this peer def num_prefixes prop_get('num_prefixes') end # Max allowed prefixes from this peer def num_prefixes=(val) prop_set('num_prefixes', val) end # Threshold value (%) at which to generate a warning msg def threshold prop_get('threshold') end # Threshold value (%) at which to generate a warning msg def threshold=(val) prop_set('threshold', val) end end def maximum_prefix @subclasses['maximum-prefix'] ||= MaximumPrefix.new(parent_instance: self, client: @client, create_children: @create_children) end class NextHop < ConfigClass def has_multiple_values?; false; end def _section :'next-hop' end class Self < ConfigClass def has_multiple_values?; false; end def _section :self end @props = {} end def self @subclasses['self'] ||= Self.new(parent_instance: self, client: @client, create_children: @create_children) end class SelfForce < ConfigClass def has_multiple_values?; false; end def _section :'self-force' end @props = {} end def self_force @subclasses['self-force'] ||= SelfForce.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def next_hop @subclasses['next-hop'] ||= NextHop.new(parent_instance: self, client: @client, create_children: @create_children) end class RemovePrivateAS < ConfigClass def has_multiple_values?; false; end def _section :'remove-private-AS' end class All < ConfigClass def has_multiple_values?; false; end def _section :all end @props = {} end def all @subclasses['all'] ||= All.new(parent_instance: self, client: @client, create_children: @create_children) end class ReplaceAS < ConfigClass def has_multiple_values?; false; end def _section :'replace-AS' end @props = {} end def replace_AS @subclasses['replace-AS'] ||= ReplaceAS.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def remove_private_AS @subclasses['remove-private-AS'] ||= RemovePrivateAS.new(parent_instance: self, client: @client, create_children: @create_children) end class SendCommunity < ConfigClass def has_multiple_values?; false; end def _section :'send-community' end class All < ConfigClass def has_multiple_values?; false; end def _section :all end @props = {} end def all @subclasses['all'] ||= All.new(parent_instance: self, client: @client, create_children: @create_children) end class Both < ConfigClass def has_multiple_values?; false; end def _section :both end @props = {} end def both @subclasses['both'] ||= Both.new(parent_instance: self, client: @client, create_children: @create_children) end class Extended < ConfigClass def has_multiple_values?; false; end def _section :extended end @props = {} end def extended @subclasses['extended'] ||= Extended.new(parent_instance: self, client: @client, create_children: @create_children) end class Large < ConfigClass def has_multiple_values?; false; end def _section :large end @props = {} end def large @subclasses['large'] ||= Large.new(parent_instance: self, client: @client, create_children: @create_children) end class Standard < ConfigClass def has_multiple_values?; false; end def _section :standard end @props = {} end def standard @subclasses['standard'] ||= Standard.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def send_community @subclasses['send-community'] ||= SendCommunity.new(parent_instance: self, client: @client, create_children: @create_children) end class Orf < ConfigClass def has_multiple_values?; false; end def _section :orf end @props = {'orf-prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'ORF List', 'type'=>'enum', 'default'=>'none', 'optional'=>'yes', 'help-string'=>'Advertise Prefix-List ORF Capability', 'enum'=>[{'name'=>'None', 'value'=>'none'}, {'name'=>'both', 'value'=>'both', 'help-string'=>'Capability to Send and Receive ORF'}, {'name'=>'receive', 'value'=>'receive', 'help-string'=>'Capability to Receive ORF'}, {'name'=>'send', 'value'=>'send', 'help-string'=>'Capability to Send ORF'}]}} # Advertise Prefix-List ORF Capability def orf_prefix_list prop_get('orf-prefix-list') end # Advertise Prefix-List ORF Capability def orf_prefix_list=(val) prop_set('orf-prefix-list', val) end end def orf @subclasses['orf'] ||= Orf.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Enable'}, 'soft-reconfig-with-stored-info'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Soft reconfiguration of peer with stored routes'}, 'as-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Override ASNs in outbound updates if AS-Path equals Remote-AS'}, 'default-originate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Originate Default Route'}, 'route-reflector-client'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Route Reflector Client'}, 'default-originate-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Default Originate Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Route-Map used in Default Originate Configuration'}} # Enable def enable prop_get('enable') end # Enable def enable=(val) prop_set('enable', val) end # Soft reconfiguration of peer with stored routes def soft_reconfig_with_stored_info prop_get('soft-reconfig-with-stored-info') end # Soft reconfiguration of peer with stored routes def soft_reconfig_with_stored_info=(val) prop_set('soft-reconfig-with-stored-info', val) end # Override ASNs in outbound updates if AS-Path equals Remote-AS def as_override prop_get('as-override') end # Override ASNs in outbound updates if AS-Path equals Remote-AS def as_override=(val) prop_set('as-override', val) end # Originate Default Route def default_originate prop_get('default-originate') end # Originate Default Route def default_originate=(val) prop_set('default-originate', val) end # Route Reflector Client def route_reflector_client prop_get('route-reflector-client') end # Route Reflector Client def route_reflector_client=(val) prop_set('route-reflector-client', val) end # Route-Map used in Default Originate Configuration def default_originate_map prop_get('default-originate-map') end # Route-Map used in Default Originate Configuration def default_originate_map=(val) prop_set('default-originate-map', val) end end def unicast @subclasses['unicast'] ||= Unicast.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ipv6 @subclasses['ipv6'] ||= Ipv6.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'help-string'=>'Address Family Profile Name', 'regex'=>'^[a-zA-Z0-9._-]+$'}} # Address Family Profile Name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def address_family_profile maybe_register_subclass('address-family-profile', AddressFamilyProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class RedistributionProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'redistribution-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Ipv4 < ConfigClass def has_multiple_values?; false; end def _section :ipv4 end class Unicast < ConfigClass def has_multiple_values?; false; end def _section :unicast end class Static < ConfigClass def has_multiple_values?; false; end def _section :static end @props = {'enable'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'uiHint-fieldLabel'=>'Enable'}, 'metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Set Metric (Field ignored if route-map configured).'}, 'route-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Apply Route-Map on Redistributed Routes'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Set Metric (Field ignored if route-map configured). def metric prop_get('metric') end # Set Metric (Field ignored if route-map configured). def metric=(val) prop_set('metric', val) end # Apply Route-Map on Redistributed Routes def route_map prop_get('route-map') end # Apply Route-Map on Redistributed Routes def route_map=(val) prop_set('route-map', val) end end def static @subclasses['static'] ||= Static.new(parent_instance: self, client: @client, create_children: @create_children) end class Connected < ConfigClass def has_multiple_values?; false; end def _section :connected end @props = {'enable'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'uiHint-fieldLabel'=>'Enable'}, 'metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Set Metric (Field ignored if route-map configured).'}, 'route-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Apply Route-Map on Redistributed Routes'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Set Metric (Field ignored if route-map configured). def metric prop_get('metric') end # Set Metric (Field ignored if route-map configured). def metric=(val) prop_set('metric', val) end # Apply Route-Map on Redistributed Routes def route_map prop_get('route-map') end # Apply Route-Map on Redistributed Routes def route_map=(val) prop_set('route-map', val) end end def connected @subclasses['connected'] ||= Connected.new(parent_instance: self, client: @client, create_children: @create_children) end class Ospf < ConfigClass def has_multiple_values?; false; end def _section :ospf end @props = {'enable'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Enable', 'type'=>'bool', 'default'=>'yes'}, 'metric'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'optional'=>'yes', 'help-string'=>'Set Metric (Field ignored if route-map configured).'}, 'route-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Apply Route-Map on Redistributed Routes'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Set Metric (Field ignored if route-map configured). def metric prop_get('metric') end # Set Metric (Field ignored if route-map configured). def metric=(val) prop_set('metric', val) end # Apply Route-Map on Redistributed Routes def route_map prop_get('route-map') end # Apply Route-Map on Redistributed Routes def route_map=(val) prop_set('route-map', val) end end def ospf @subclasses['ospf'] ||= Ospf.new(parent_instance: self, client: @client, create_children: @create_children) end class Rip < ConfigClass def has_multiple_values?; false; end def _section :rip end @props = {'enable'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Enable', 'type'=>'bool', 'default'=>'yes'}, 'metric'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'optional'=>'yes', 'help-string'=>'Set Metric (Field ignored if route-map configured).'}, 'route-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Apply Route-Map on Redistributed Routes'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Set Metric (Field ignored if route-map configured). def metric prop_get('metric') end # Set Metric (Field ignored if route-map configured). def metric=(val) prop_set('metric', val) end # Apply Route-Map on Redistributed Routes def route_map prop_get('route-map') end # Apply Route-Map on Redistributed Routes def route_map=(val) prop_set('route-map', val) end end def rip @subclasses['rip'] ||= Rip.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def unicast @subclasses['unicast'] ||= Unicast.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ipv4 @subclasses['ipv4'] ||= Ipv4.new(parent_instance: self, client: @client, create_children: @create_children) end class Ipv6 < ConfigClass def has_multiple_values?; false; end def _section :ipv6 end class Unicast < ConfigClass def has_multiple_values?; false; end def _section :unicast end class Static < ConfigClass def has_multiple_values?; false; end def _section :static end @props = {'enable'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'uiHint-fieldLabel'=>'Enable'}, 'metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Set Metric (Field ignored if route-map configured).'}, 'route-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Apply Route-Map on Redistributed Routes'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Set Metric (Field ignored if route-map configured). def metric prop_get('metric') end # Set Metric (Field ignored if route-map configured). def metric=(val) prop_set('metric', val) end # Apply Route-Map on Redistributed Routes def route_map prop_get('route-map') end # Apply Route-Map on Redistributed Routes def route_map=(val) prop_set('route-map', val) end end def static @subclasses['static'] ||= Static.new(parent_instance: self, client: @client, create_children: @create_children) end class Connected < ConfigClass def has_multiple_values?; false; end def _section :connected end @props = {'enable'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'uiHint-fieldLabel'=>'Enable'}, 'metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Set Metric (Field ignored if route-map configured).'}, 'route-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Apply Route-Map on Redistributed Routes'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Set Metric (Field ignored if route-map configured). def metric prop_get('metric') end # Set Metric (Field ignored if route-map configured). def metric=(val) prop_set('metric', val) end # Apply Route-Map on Redistributed Routes def route_map prop_get('route-map') end # Apply Route-Map on Redistributed Routes def route_map=(val) prop_set('route-map', val) end end def connected @subclasses['connected'] ||= Connected.new(parent_instance: self, client: @client, create_children: @create_children) end class Ospfv3 < ConfigClass def has_multiple_values?; false; end def _section :ospfv3 end @props = {'enable'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Enable', 'type'=>'bool', 'default'=>'yes'}, 'metric'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'optional'=>'yes', 'help-string'=>'Set Metric (Field ignored if route-map configured).'}, 'route-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Apply Route-Map on Redistributed Routes'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Set Metric (Field ignored if route-map configured). def metric prop_get('metric') end # Set Metric (Field ignored if route-map configured). def metric=(val) prop_set('metric', val) end # Apply Route-Map on Redistributed Routes def route_map prop_get('route-map') end # Apply Route-Map on Redistributed Routes def route_map=(val) prop_set('route-map', val) end end def ospfv3 @subclasses['ospfv3'] ||= Ospfv3.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def unicast @subclasses['unicast'] ||= Unicast.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ipv6 @subclasses['ipv6'] ||= Ipv6.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'help-string'=>'BGP Redistribution Profile Name', 'regex'=>'^[a-zA-Z0-9._-]+$'}} # BGP Redistribution Profile Name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def redistribution_profile maybe_register_subclass('redistribution-profile', RedistributionProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class FilteringProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'filtering-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Ipv4 < ConfigClass def has_multiple_values?; false; end def _section :ipv4 end class Unicast < ConfigClass def has_multiple_values?; false; end def _section :unicast end class FilterList < ConfigClass def has_multiple_values?; false; end def _section :'filter-list' end @props = {'inbound'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Incoming AS-Path Access-List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Incoming AS-Path Access-List'}, 'outbound'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Outgoing AS-Path Access-List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Outgoing AS-Path Access-List'}} # Incoming AS-Path Access-List def inbound prop_get('inbound') end # Incoming AS-Path Access-List def inbound=(val) prop_set('inbound', val) end # Outgoing AS-Path Access-List def outbound prop_get('outbound') end # Outgoing AS-Path Access-List def outbound=(val) prop_set('outbound', val) end end def filter_list @subclasses['filter-list'] ||= FilterList.new(parent_instance: self, client: @client, create_children: @create_children) end class InboundNetworkFilters < XML::ConfigClass def has_multiple_values?; true; end def _section :'inbound-network-filters' end @props = {'distribute-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Incoming Access-List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Incoming Distribute-List (Access-List)'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Incoming Prefix-List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Incoming Prefix-List'}} # Incoming Distribute-List (Access-List) def distribute_list prop_get('distribute-list') end # Incoming Distribute-List (Access-List) def distribute_list=(val) prop_set('distribute-list', val) end # Incoming Prefix-List def prefix_list prop_get('prefix-list') end # Incoming Prefix-List def prefix_list=(val) prop_set('prefix-list', val) end end def inbound_network_filters maybe_register_subclass('inbound-network-filters', InboundNetworkFilters.new(parent_instance: self, client: @client, create_children: @create_children)) end class OutboundNetworkFilters < XML::ConfigClass def has_multiple_values?; true; end def _section :'outbound-network-filters' end @props = {'distribute-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Outgoing Access-List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Outgoing Distribute-List (Access-List)'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Outgoing Prefix-List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Outgoing Prefix-List'}} # Outgoing Distribute-List (Access-List) def distribute_list prop_get('distribute-list') end # Outgoing Distribute-List (Access-List) def distribute_list=(val) prop_set('distribute-list', val) end # Outgoing Prefix-List def prefix_list prop_get('prefix-list') end # Outgoing Prefix-List def prefix_list=(val) prop_set('prefix-list', val) end end def outbound_network_filters maybe_register_subclass('outbound-network-filters', OutboundNetworkFilters.new(parent_instance: self, client: @client, create_children: @create_children)) end class RouteMaps < ConfigClass def has_multiple_values?; false; end def _section :'route-maps' end @props = {'inbound'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Incoming Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Incoming Route-Map'}, 'outbound'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Outgoing Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Outgoing Route-Map'}} # Incoming Route-Map def inbound prop_get('inbound') end # Incoming Route-Map def inbound=(val) prop_set('inbound', val) end # Outgoing Route-Map def outbound prop_get('outbound') end # Outgoing Route-Map def outbound=(val) prop_set('outbound', val) end end def route_maps @subclasses['route-maps'] ||= RouteMaps.new(parent_instance: self, client: @client, create_children: @create_children) end class ConditionalAdvertisement < ConfigClass def has_multiple_values?; false; end def _section :'conditional-advertisement' end class Exist < ConfigClass def has_multiple_values?; false; end def _section :exist end @props = {'advertise-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Advertise Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Specify Route-Map match criteria to advertise routes'}, 'exist-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Exist Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Specify Route-Map to Match existing routes in BGP local-rib'}} # Specify Route-Map match criteria to advertise routes def advertise_map prop_get('advertise-map') end # Specify Route-Map match criteria to advertise routes def advertise_map=(val) prop_set('advertise-map', val) end # Specify Route-Map to Match existing routes in BGP local-rib def exist_map prop_get('exist-map') end # Specify Route-Map to Match existing routes in BGP local-rib def exist_map=(val) prop_set('exist-map', val) end end def exist @subclasses['exist'] ||= Exist.new(parent_instance: self, client: @client, create_children: @create_children) end class NonExist < ConfigClass def has_multiple_values?; false; end def _section :'non-exist' end @props = {'advertise-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Advertise Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Specify Route-Map match criteria to advertise routes'}, 'non-exist-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Non Exist Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Specify Route-Map to match non-existing routes in BGP local-rib'}} # Specify Route-Map match criteria to advertise routes def advertise_map prop_get('advertise-map') end # Specify Route-Map match criteria to advertise routes def advertise_map=(val) prop_set('advertise-map', val) end # Specify Route-Map to match non-existing routes in BGP local-rib def non_exist_map prop_get('non-exist-map') end # Specify Route-Map to match non-existing routes in BGP local-rib def non_exist_map=(val) prop_set('non-exist-map', val) end end def non_exist @subclasses['non-exist'] ||= NonExist.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def conditional_advertisement @subclasses['conditional-advertisement'] ||= ConditionalAdvertisement.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'unsuppress-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Unsuppress Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Route-Map selectively unsuppress suppressed routes'}} # Route-Map selectively unsuppress suppressed routes def unsuppress_map prop_get('unsuppress-map') end # Route-Map selectively unsuppress suppressed routes def unsuppress_map=(val) prop_set('unsuppress-map', val) end end def unicast @subclasses['unicast'] ||= Unicast.new(parent_instance: self, client: @client, create_children: @create_children) end class Multicast < ConfigClass def has_multiple_values?; false; end def _section :multicast end class FilterList < ConfigClass def has_multiple_values?; false; end def _section :'filter-list' end @props = {'inbound'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Incoming AS-Path Access-List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Incoming AS-Path Access-List'}, 'outbound'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Outgoing AS-Path Access-List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Outgoing AS-Path Access-List'}} # Incoming AS-Path Access-List def inbound prop_get('inbound') end # Incoming AS-Path Access-List def inbound=(val) prop_set('inbound', val) end # Outgoing AS-Path Access-List def outbound prop_get('outbound') end # Outgoing AS-Path Access-List def outbound=(val) prop_set('outbound', val) end end def filter_list @subclasses['filter-list'] ||= FilterList.new(parent_instance: self, client: @client, create_children: @create_children) end class InboundNetworkFilters < XML::ConfigClass def has_multiple_values?; true; end def _section :'inbound-network-filters' end @props = {'distribute-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Incoming Access-List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Incoming Distribute-List (Access-List)'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Incoming Prefix-List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Incoming Prefix-List'}} # Incoming Distribute-List (Access-List) def distribute_list prop_get('distribute-list') end # Incoming Distribute-List (Access-List) def distribute_list=(val) prop_set('distribute-list', val) end # Incoming Prefix-List def prefix_list prop_get('prefix-list') end # Incoming Prefix-List def prefix_list=(val) prop_set('prefix-list', val) end end def inbound_network_filters maybe_register_subclass('inbound-network-filters', InboundNetworkFilters.new(parent_instance: self, client: @client, create_children: @create_children)) end class OutboundNetworkFilters < XML::ConfigClass def has_multiple_values?; true; end def _section :'outbound-network-filters' end @props = {'distribute-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Outgoing Access-List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Outgoing Distribute-List (Access-List)'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Outgoing Prefix-List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Outgoing Prefix-List'}} # Outgoing Distribute-List (Access-List) def distribute_list prop_get('distribute-list') end # Outgoing Distribute-List (Access-List) def distribute_list=(val) prop_set('distribute-list', val) end # Outgoing Prefix-List def prefix_list prop_get('prefix-list') end # Outgoing Prefix-List def prefix_list=(val) prop_set('prefix-list', val) end end def outbound_network_filters maybe_register_subclass('outbound-network-filters', OutboundNetworkFilters.new(parent_instance: self, client: @client, create_children: @create_children)) end class RouteMaps < ConfigClass def has_multiple_values?; false; end def _section :'route-maps' end @props = {'inbound'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Incoming Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Incoming Route-Map'}, 'outbound'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Outgoing Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Outgoing Route-Map'}} # Incoming Route-Map def inbound prop_get('inbound') end # Incoming Route-Map def inbound=(val) prop_set('inbound', val) end # Outgoing Route-Map def outbound prop_get('outbound') end # Outgoing Route-Map def outbound=(val) prop_set('outbound', val) end end def route_maps @subclasses['route-maps'] ||= RouteMaps.new(parent_instance: self, client: @client, create_children: @create_children) end class ConditionalAdvertisement < ConfigClass def has_multiple_values?; false; end def _section :'conditional-advertisement' end class Exist < ConfigClass def has_multiple_values?; false; end def _section :exist end @props = {'advertise-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Advertise Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Specify Route-Map match criteria to advertise routes'}, 'exist-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Exist Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Specify Route-Map to Match existing routes in BGP local-rib'}} # Specify Route-Map match criteria to advertise routes def advertise_map prop_get('advertise-map') end # Specify Route-Map match criteria to advertise routes def advertise_map=(val) prop_set('advertise-map', val) end # Specify Route-Map to Match existing routes in BGP local-rib def exist_map prop_get('exist-map') end # Specify Route-Map to Match existing routes in BGP local-rib def exist_map=(val) prop_set('exist-map', val) end end def exist @subclasses['exist'] ||= Exist.new(parent_instance: self, client: @client, create_children: @create_children) end class NonExist < ConfigClass def has_multiple_values?; false; end def _section :'non-exist' end @props = {'advertise-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Advertise Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Specify Route-Map match criteria to advertise routes'}, 'non-exist-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Non Exist Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Specify Route-Map to match non-existing routes in BGP local-rib'}} # Specify Route-Map match criteria to advertise routes def advertise_map prop_get('advertise-map') end # Specify Route-Map match criteria to advertise routes def advertise_map=(val) prop_set('advertise-map', val) end # Specify Route-Map to match non-existing routes in BGP local-rib def non_exist_map prop_get('non-exist-map') end # Specify Route-Map to match non-existing routes in BGP local-rib def non_exist_map=(val) prop_set('non-exist-map', val) end end def non_exist @subclasses['non-exist'] ||= NonExist.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def conditional_advertisement @subclasses['conditional-advertisement'] ||= ConditionalAdvertisement.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'inherit'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'uiHint-fieldLabel'=>'Inherit from Unicast', 'help-string'=>'Either Configure or Inherit Filtering Profile from Unicast'}, 'unsuppress-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Unsuppress Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Route-Map selectively unsuppress suppressed routes'}} # Either Configure or Inherit Filtering Profile from Unicast def inherit prop_get('inherit') end # Either Configure or Inherit Filtering Profile from Unicast def inherit=(val) prop_set('inherit', val) end # Route-Map selectively unsuppress suppressed routes def unsuppress_map prop_get('unsuppress-map') end # Route-Map selectively unsuppress suppressed routes def unsuppress_map=(val) prop_set('unsuppress-map', val) end end def multicast @subclasses['multicast'] ||= Multicast.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ipv4 @subclasses['ipv4'] ||= Ipv4.new(parent_instance: self, client: @client, create_children: @create_children) end class Ipv6 < ConfigClass def has_multiple_values?; false; end def _section :ipv6 end class Unicast < ConfigClass def has_multiple_values?; false; end def _section :unicast end class FilterList < ConfigClass def has_multiple_values?; false; end def _section :'filter-list' end @props = {'inbound'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Incoming AS-Path Access-List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Incoming AS-Path Access-List'}, 'outbound'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Outgoing AS-Path Access-List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Outgoing AS-Path Access-List'}} # Incoming AS-Path Access-List def inbound prop_get('inbound') end # Incoming AS-Path Access-List def inbound=(val) prop_set('inbound', val) end # Outgoing AS-Path Access-List def outbound prop_get('outbound') end # Outgoing AS-Path Access-List def outbound=(val) prop_set('outbound', val) end end def filter_list @subclasses['filter-list'] ||= FilterList.new(parent_instance: self, client: @client, create_children: @create_children) end class InboundNetworkFilters < XML::ConfigClass def has_multiple_values?; true; end def _section :'inbound-network-filters' end @props = {'distribute-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Incoming Access-List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Incoming Distribute-List (Access-List)'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Incoming Prefix-List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Incoming Prefix-List'}} # Incoming Distribute-List (Access-List) def distribute_list prop_get('distribute-list') end # Incoming Distribute-List (Access-List) def distribute_list=(val) prop_set('distribute-list', val) end # Incoming Prefix-List def prefix_list prop_get('prefix-list') end # Incoming Prefix-List def prefix_list=(val) prop_set('prefix-list', val) end end def inbound_network_filters maybe_register_subclass('inbound-network-filters', InboundNetworkFilters.new(parent_instance: self, client: @client, create_children: @create_children)) end class OutboundNetworkFilters < XML::ConfigClass def has_multiple_values?; true; end def _section :'outbound-network-filters' end @props = {'distribute-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Outgoing Access-List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Outgoing Distribute-List (Access-List)'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Outgoing Prefix-List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Outgoing Prefix-List'}} # Outgoing Distribute-List (Access-List) def distribute_list prop_get('distribute-list') end # Outgoing Distribute-List (Access-List) def distribute_list=(val) prop_set('distribute-list', val) end # Outgoing Prefix-List def prefix_list prop_get('prefix-list') end # Outgoing Prefix-List def prefix_list=(val) prop_set('prefix-list', val) end end def outbound_network_filters maybe_register_subclass('outbound-network-filters', OutboundNetworkFilters.new(parent_instance: self, client: @client, create_children: @create_children)) end class RouteMaps < ConfigClass def has_multiple_values?; false; end def _section :'route-maps' end @props = {'inbound'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Incoming Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Incoming Route-Map'}, 'outbound'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Outgoing Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Outgoing Route-Map'}} # Incoming Route-Map def inbound prop_get('inbound') end # Incoming Route-Map def inbound=(val) prop_set('inbound', val) end # Outgoing Route-Map def outbound prop_get('outbound') end # Outgoing Route-Map def outbound=(val) prop_set('outbound', val) end end def route_maps @subclasses['route-maps'] ||= RouteMaps.new(parent_instance: self, client: @client, create_children: @create_children) end class ConditionalAdvertisement < ConfigClass def has_multiple_values?; false; end def _section :'conditional-advertisement' end class Exist < ConfigClass def has_multiple_values?; false; end def _section :exist end @props = {'advertise-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Advertise Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Specify Route-Map match criteria to advertise routes'}, 'exist-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Exist Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Specify Route-Map to Match existing routes in BGP local-rib'}} # Specify Route-Map match criteria to advertise routes def advertise_map prop_get('advertise-map') end # Specify Route-Map match criteria to advertise routes def advertise_map=(val) prop_set('advertise-map', val) end # Specify Route-Map to Match existing routes in BGP local-rib def exist_map prop_get('exist-map') end # Specify Route-Map to Match existing routes in BGP local-rib def exist_map=(val) prop_set('exist-map', val) end end def exist @subclasses['exist'] ||= Exist.new(parent_instance: self, client: @client, create_children: @create_children) end class NonExist < ConfigClass def has_multiple_values?; false; end def _section :'non-exist' end @props = {'advertise-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Advertise Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Specify Route-Map match criteria to advertise routes'}, 'non-exist-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Non Exist Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Specify Route-Map to match non-existing routes in BGP local-rib'}} # Specify Route-Map match criteria to advertise routes def advertise_map prop_get('advertise-map') end # Specify Route-Map match criteria to advertise routes def advertise_map=(val) prop_set('advertise-map', val) end # Specify Route-Map to match non-existing routes in BGP local-rib def non_exist_map prop_get('non-exist-map') end # Specify Route-Map to match non-existing routes in BGP local-rib def non_exist_map=(val) prop_set('non-exist-map', val) end end def non_exist @subclasses['non-exist'] ||= NonExist.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def conditional_advertisement @subclasses['conditional-advertisement'] ||= ConditionalAdvertisement.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'unsuppress-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Unsuppress Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Route-Map selectively unsuppress suppressed routes'}} # Route-Map selectively unsuppress suppressed routes def unsuppress_map prop_get('unsuppress-map') end # Route-Map selectively unsuppress suppressed routes def unsuppress_map=(val) prop_set('unsuppress-map', val) end end def unicast @subclasses['unicast'] ||= Unicast.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ipv6 @subclasses['ipv6'] ||= Ipv6.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'regex'=>'^[a-zA-Z0-9._-]+$', 'help-string'=>'BGP Filtering Profile Name - alphanumeric string [0-9a-zA-Z._-]'}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'optional'=>'yes', 'help-string'=>'Describe BGP Filtering Profile', 'regex'=>'^[ a-zA-Z0-9._-]+$'}} # BGP Filtering Profile Name - alphanumeric string [0-9a-zA-Z._-] def name prop_get('@name') end # Describe BGP Filtering Profile def description prop_get('description') end # Describe BGP Filtering Profile def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def filtering_profile maybe_register_subclass('filtering-profile', FilteringProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class DampeningProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'dampening-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'regex'=>'^[a-zA-Z0-9._-]+$', 'help-string'=>'BGP Dampening Profile Name - alphanumeric string [0-9a-zA-Z._-]'}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'optional'=>'yes', 'help-string'=>'Describe BGP Dampening Profile', 'regex'=>'^[ a-zA-Z0-9._-]+$'}, 'half-life'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'45', 'default'=>'15', 'help-string'=>'Half-life for the penalty Default:15 (in minutes)'}, 'reuse-limit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'20000', 'default'=>'750', 'help-string'=>'Value to start reusing a route. Default:750'}, 'suppress-limit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'20000', 'default'=>'2000', 'help-string'=>'Value to start supressing the route. Default:2000'}, 'max-suppress-limit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'255', 'default'=>'60', 'help-string'=>'Maximum duration (in minutes) a route can be suppressed. Default:60'}} # BGP Dampening Profile Name - alphanumeric string [0-9a-zA-Z._-] def name prop_get('@name') end # Describe BGP Dampening Profile def description prop_get('description') end # Describe BGP Dampening Profile def description=(val) prop_set('description', val) end # Half-life for the penalty Default:15 (in minutes) def half_life prop_get('half-life') end # Half-life for the penalty Default:15 (in minutes) def half_life=(val) prop_set('half-life', val) end # Value to start reusing a route. Default:750 def reuse_limit prop_get('reuse-limit') end # Value to start reusing a route. Default:750 def reuse_limit=(val) prop_set('reuse-limit', val) end # Value to start supressing the route. Default:2000 def suppress_limit prop_get('suppress-limit') end # Value to start supressing the route. Default:2000 def suppress_limit=(val) prop_set('suppress-limit', val) end # Maximum duration (in minutes) a route can be suppressed. Default:60 def max_suppress_limit prop_get('max-suppress-limit') end # Maximum duration (in minutes) a route can be suppressed. Default:60 def max_suppress_limit=(val) prop_set('max-suppress-limit', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def dampening_profile maybe_register_subclass('dampening-profile', DampeningProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def bgp @subclasses['bgp'] ||= Bgp.new(parent_instance: self, client: @client, create_children: @create_children) end class Ospf < ConfigClass def has_multiple_values?; false; end def _section :ospf end class AuthProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'auth-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Md5 < XML::ConfigClass def has_multiple_values?; true; end def _section :md5 end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255', 'help-string'=>'Key-ID'}, 'key'=>{'node-type'=>'element', 'encrypt'=>'yes', 'type'=>'string', 'skip-commit-validation'=>'yes', 'maxlen'=>'16', 'help-string'=>'key for the authentication'}, 'preferred'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'use this key when sending packet'}} # Key-ID def name prop_get('@name') end # key for the authentication def key prop_get('key') end # key for the authentication def key=(val) prop_set('key', val) end # use this key when sending packet def preferred prop_get('preferred') end # use this key when sending packet def preferred=(val) prop_set('preferred', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def md5 maybe_register_subclass('md5', Md5.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'uiHint-fieldLabel'=>'Name', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'regex'=>'^[a-zA-Z0-9._-]+$'}, 'password'=>{'node-type'=>'element', 'optional'=>'yes', 'encrypt'=>'yes', 'skip-commit-validation'=>'yes', 'type'=>'string', 'maxlen'=>'8', 'help-string'=>'Simple password authentication'}} def name prop_get('@name') end # Simple password authentication def password prop_get('password') end # Simple password authentication def password=(val) prop_set('password', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def auth_profile maybe_register_subclass('auth-profile', AuthProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class IfTimerProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'if-timer-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'regex'=>'^[a-zA-Z0-9._-]+$'}, 'hello-interval'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Hello Interval', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'10', 'help-string'=>'Interval (in seconds) to send Hello packets'}, 'dead-counts'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Dead Count', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'3', 'max'=>'20', 'default'=>'4', 'help-string'=>'number of lost hello packets to declare router down'}, 'retransmit-interval'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Retransmit Interval', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'1800', 'default'=>'5', 'help-string'=>'Interval (in seconds) to retransmit LSAs'}, 'transit-delay'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Transmit Delay', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'1800', 'default'=>'1', 'help-string'=>'Estimated delay (in seconds) to transmit LSAs'}, 'gr-delay'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Graceful Restart Hello Delay (sec)', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'10', 'default'=>'10', 'help-string'=>'Period (in seconds) used to send grace LSAs before first hello is sent when graceful restart starts'}} def name prop_get('@name') end # Interval (in seconds) to send Hello packets def hello_interval prop_get('hello-interval') end # Interval (in seconds) to send Hello packets def hello_interval=(val) prop_set('hello-interval', val) end # number of lost hello packets to declare router down def dead_counts prop_get('dead-counts') end # number of lost hello packets to declare router down def dead_counts=(val) prop_set('dead-counts', val) end # Interval (in seconds) to retransmit LSAs def retransmit_interval prop_get('retransmit-interval') end # Interval (in seconds) to retransmit LSAs def retransmit_interval=(val) prop_set('retransmit-interval', val) end # Estimated delay (in seconds) to transmit LSAs def transit_delay prop_get('transit-delay') end # Estimated delay (in seconds) to transmit LSAs def transit_delay=(val) prop_set('transit-delay', val) end # Period (in seconds) used to send grace LSAs before first hello is sent when graceful restart starts def gr_delay prop_get('gr-delay') end # Period (in seconds) used to send grace LSAs before first hello is sent when graceful restart starts def gr_delay=(val) prop_set('gr-delay', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def if_timer_profile maybe_register_subclass('if-timer-profile', IfTimerProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class SpfTimerProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'spf-timer-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'regex'=>'^[a-zA-Z0-9._-]+$'}, 'lsa-interval'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'LSA min-arrival', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'10', 'default'=>'5', 'help-string'=>'The minimum time in seconds between distinct originations of any particular LSA'}, 'spf-calculation-delay'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Initial delay', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'600', 'default'=>'5', 'help-string'=>'Delay in seconds before running the SPF algorithm'}, 'initial-hold-time'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Initial hold time', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'600', 'default'=>'5', 'help-string'=>'Initial hold time (second) between consecutive SPF calculations'}, 'max-hold-time'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Maximum hold time', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'600', 'default'=>'5', 'help-string'=>'Maximum hold time (second)'}} def name prop_get('@name') end # The minimum time in seconds between distinct originations of any particular LSA def lsa_interval prop_get('lsa-interval') end # The minimum time in seconds between distinct originations of any particular LSA def lsa_interval=(val) prop_set('lsa-interval', val) end # Delay in seconds before running the SPF algorithm def spf_calculation_delay prop_get('spf-calculation-delay') end # Delay in seconds before running the SPF algorithm def spf_calculation_delay=(val) prop_set('spf-calculation-delay', val) end # Initial hold time (second) between consecutive SPF calculations def initial_hold_time prop_get('initial-hold-time') end # Initial hold time (second) between consecutive SPF calculations def initial_hold_time=(val) prop_set('initial-hold-time', val) end # Maximum hold time (second) def max_hold_time prop_get('max-hold-time') end # Maximum hold time (second) def max_hold_time=(val) prop_set('max-hold-time', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def spf_timer_profile maybe_register_subclass('spf-timer-profile', SpfTimerProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class RedistributionProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'redistribution-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Static < ConfigClass def has_multiple_values?; false; end def _section :static end @props = {'enable'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Enable', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable (default) or Disable'}, 'metric'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Metric', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Set Metric (Field ignored if route-map configured).'}, 'metric-type'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Metric-Type', 'type'=>'enum', 'default'=>'type-2', 'optional'=>'no', 'help-string'=>'Set Metric-Type (Field ignored if route-map configured).', 'enum'=>[{'name'=>'type-1', 'value'=>'type-1', 'help-string'=>'Type-1'}, {'name'=>'type-2', 'value'=>'type-2', 'help-string'=>'Type-2'}]}, 'route-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Redistribute Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Apply Route-Map on Redistributed Routes'}} # Enable (default) or Disable def enable prop_get('enable') end # Enable (default) or Disable def enable=(val) prop_set('enable', val) end # Set Metric (Field ignored if route-map configured). def metric prop_get('metric') end # Set Metric (Field ignored if route-map configured). def metric=(val) prop_set('metric', val) end # Set Metric-Type (Field ignored if route-map configured). def metric_type prop_get('metric-type') end # Set Metric-Type (Field ignored if route-map configured). def metric_type=(val) prop_set('metric-type', val) end # Apply Route-Map on Redistributed Routes def route_map prop_get('route-map') end # Apply Route-Map on Redistributed Routes def route_map=(val) prop_set('route-map', val) end end def static @subclasses['static'] ||= Static.new(parent_instance: self, client: @client, create_children: @create_children) end class Connected < ConfigClass def has_multiple_values?; false; end def _section :connected end @props = {'enable'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Enable', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable (default) or Disable'}, 'metric'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Metric', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Set Metric (Field ignored if route-map configured).'}, 'metric-type'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Metric-Type', 'type'=>'enum', 'default'=>'type-2', 'optional'=>'no', 'help-string'=>'Set Metric-Type (Field ignored if route-map configured).', 'enum'=>[{'name'=>'type-1', 'value'=>'type-1', 'help-string'=>'Type-1'}, {'name'=>'type-2', 'value'=>'type-2', 'help-string'=>'Type-2'}]}, 'route-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Redistribute Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Apply Route-Map on Redistributed Routes'}} # Enable (default) or Disable def enable prop_get('enable') end # Enable (default) or Disable def enable=(val) prop_set('enable', val) end # Set Metric (Field ignored if route-map configured). def metric prop_get('metric') end # Set Metric (Field ignored if route-map configured). def metric=(val) prop_set('metric', val) end # Set Metric-Type (Field ignored if route-map configured). def metric_type prop_get('metric-type') end # Set Metric-Type (Field ignored if route-map configured). def metric_type=(val) prop_set('metric-type', val) end # Apply Route-Map on Redistributed Routes def route_map prop_get('route-map') end # Apply Route-Map on Redistributed Routes def route_map=(val) prop_set('route-map', val) end end def connected @subclasses['connected'] ||= Connected.new(parent_instance: self, client: @client, create_children: @create_children) end class Bgp < ConfigClass def has_multiple_values?; false; end def _section :bgp end @props = {'enable'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Enable', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable (default) or Disable'}, 'metric'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Metric', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Set Metric (Field ignored if route-map configured).'}, 'metric-type'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Metric-Type', 'type'=>'enum', 'default'=>'type-2', 'optional'=>'no', 'help-string'=>'Set Metric-Type (Field ignored if route-map configured).', 'enum'=>[{'name'=>'type-1', 'value'=>'type-1', 'help-string'=>'Type-1'}, {'name'=>'type-2', 'value'=>'type-2', 'help-string'=>'Type-2'}]}, 'route-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Redistribute Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Apply Route-Map on Redistributed Routes'}} # Enable (default) or Disable def enable prop_get('enable') end # Enable (default) or Disable def enable=(val) prop_set('enable', val) end # Set Metric (Field ignored if route-map configured). def metric prop_get('metric') end # Set Metric (Field ignored if route-map configured). def metric=(val) prop_set('metric', val) end # Set Metric-Type (Field ignored if route-map configured). def metric_type prop_get('metric-type') end # Set Metric-Type (Field ignored if route-map configured). def metric_type=(val) prop_set('metric-type', val) end # Apply Route-Map on Redistributed Routes def route_map prop_get('route-map') end # Apply Route-Map on Redistributed Routes def route_map=(val) prop_set('route-map', val) end end def bgp @subclasses['bgp'] ||= Bgp.new(parent_instance: self, client: @client, create_children: @create_children) end class DefaultRoute < ConfigClass def has_multiple_values?; false; end def _section :'default-route' end @props = {'always'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Always', 'optional'=>'no', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Generate default route if it doesn\'t exist'}, 'enable'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Enable', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable (default) or Disable'}, 'metric'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Metric', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Set Metric'}, 'metric-type'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Metric-Type', 'type'=>'enum', 'default'=>'type-2', 'optional'=>'no', 'help-string'=>'Set Metric-Type', 'enum'=>[{'name'=>'type-1', 'value'=>'type-1', 'help-string'=>'Type-1'}, {'name'=>'type-2', 'value'=>'type-2', 'help-string'=>'Type-2'}]}} # Generate default route if it doesn't exist def always prop_get('always') end # Generate default route if it doesn't exist def always=(val) prop_set('always', val) end # Enable (default) or Disable def enable prop_get('enable') end # Enable (default) or Disable def enable=(val) prop_set('enable', val) end # Set Metric def metric prop_get('metric') end # Set Metric def metric=(val) prop_set('metric', val) end # Set Metric-Type def metric_type prop_get('metric-type') end # Set Metric-Type def metric_type=(val) prop_set('metric-type', val) end end def default_route @subclasses['default-route'] ||= DefaultRoute.new(parent_instance: self, client: @client, create_children: @create_children) end class Rip < ConfigClass def has_multiple_values?; false; end def _section :rip end @props = {'enable'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Enable', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable (default) or Disable'}, 'metric'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Metric', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Set Metric (Field ignored if route-map configured).'}, 'metric-type'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Metric-Type', 'type'=>'enum', 'default'=>'type-2', 'optional'=>'no', 'help-string'=>'Set Metric-Type (Field ignored if route-map configured).', 'enum'=>[{'name'=>'type-1', 'value'=>'type-1', 'help-string'=>'Type-1'}, {'name'=>'type-2', 'value'=>'type-2', 'help-string'=>'Type-2'}]}, 'route-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Redistribute Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Apply Route-Map on Redistributed Routes'}} # Enable (default) or Disable def enable prop_get('enable') end # Enable (default) or Disable def enable=(val) prop_set('enable', val) end # Set Metric (Field ignored if route-map configured). def metric prop_get('metric') end # Set Metric (Field ignored if route-map configured). def metric=(val) prop_set('metric', val) end # Set Metric-Type (Field ignored if route-map configured). def metric_type prop_get('metric-type') end # Set Metric-Type (Field ignored if route-map configured). def metric_type=(val) prop_set('metric-type', val) end # Apply Route-Map on Redistributed Routes def route_map prop_get('route-map') end # Apply Route-Map on Redistributed Routes def route_map=(val) prop_set('route-map', val) end end def rip @subclasses['rip'] ||= Rip.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'help-string'=>'Profile Name', 'regex'=>'^[a-zA-Z0-9._-]+$'}} # Profile Name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def redistribution_profile maybe_register_subclass('redistribution-profile', RedistributionProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def ospf @subclasses['ospf'] ||= Ospf.new(parent_instance: self, client: @client, create_children: @create_children) end class Ospfv3 < ConfigClass def has_multiple_values?; false; end def _section :ospfv3 end class AuthProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'auth-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Esp < ConfigClass def has_multiple_values?; false; end def _section :esp end class Authentication < ConfigClass def has_multiple_values?; false; end def _section :authentication end class Md5 < ConfigClass def has_multiple_values?; false; end def _section :md5 end @props = {'key'=>{'node-type'=>'element', 'maxlen'=>'255', 'type'=>'string', 'encrypt'=>'yes', 'skip-commit-validation'=>'yes', 'show-help-tip'=>'yes', 'help-string'=>'hex format xxxxxxxx[-xxxxxxxx]... total 4 sections'}} # hex format xxxxxxxx[-xxxxxxxx]... total 4 sections def key prop_get('key') end # hex format xxxxxxxx[-xxxxxxxx]... total 4 sections def key=(val) prop_set('key', val) end end def md5 @subclasses['md5'] ||= Md5.new(parent_instance: self, client: @client, create_children: @create_children) end class Sha1 < ConfigClass def has_multiple_values?; false; end def _section :sha1 end @props = {'key'=>{'node-type'=>'element', 'maxlen'=>'255', 'type'=>'string', 'encrypt'=>'yes', 'skip-commit-validation'=>'yes', 'show-help-tip'=>'yes', 'help-string'=>'hex format xxxxxxxx[-xxxxxxxx]... total 5 sections'}} # hex format xxxxxxxx[-xxxxxxxx]... total 5 sections def key prop_get('key') end # hex format xxxxxxxx[-xxxxxxxx]... total 5 sections def key=(val) prop_set('key', val) end end def sha1 @subclasses['sha1'] ||= Sha1.new(parent_instance: self, client: @client, create_children: @create_children) end class Sha256 < ConfigClass def has_multiple_values?; false; end def _section :sha256 end @props = {'key'=>{'node-type'=>'element', 'maxlen'=>'255', 'type'=>'string', 'encrypt'=>'yes', 'skip-commit-validation'=>'yes', 'show-help-tip'=>'yes', 'help-string'=>'hex format xxxxxxxx[-xxxxxxxx]... total 8 sections'}} # hex format xxxxxxxx[-xxxxxxxx]... total 8 sections def key prop_get('key') end # hex format xxxxxxxx[-xxxxxxxx]... total 8 sections def key=(val) prop_set('key', val) end end def sha256 @subclasses['sha256'] ||= Sha256.new(parent_instance: self, client: @client, create_children: @create_children) end class Sha384 < ConfigClass def has_multiple_values?; false; end def _section :sha384 end @props = {'key'=>{'node-type'=>'element', 'maxlen'=>'255', 'type'=>'string', 'encrypt'=>'yes', 'skip-commit-validation'=>'yes', 'show-help-tip'=>'yes', 'help-string'=>'hex format xxxxxxxx[-xxxxxxxx]... total 12 sections'}} # hex format xxxxxxxx[-xxxxxxxx]... total 12 sections def key prop_get('key') end # hex format xxxxxxxx[-xxxxxxxx]... total 12 sections def key=(val) prop_set('key', val) end end def sha384 @subclasses['sha384'] ||= Sha384.new(parent_instance: self, client: @client, create_children: @create_children) end class Sha512 < ConfigClass def has_multiple_values?; false; end def _section :sha512 end @props = {'key'=>{'node-type'=>'element', 'maxlen'=>'255', 'type'=>'string', 'encrypt'=>'yes', 'skip-commit-validation'=>'yes', 'show-help-tip'=>'yes', 'help-string'=>'hex format xxxxxxxx[-xxxxxxxx]... total 16 sections'}} # hex format xxxxxxxx[-xxxxxxxx]... total 16 sections def key prop_get('key') end # hex format xxxxxxxx[-xxxxxxxx]... total 16 sections def key=(val) prop_set('key', val) end end def sha512 @subclasses['sha512'] ||= Sha512.new(parent_instance: self, client: @client, create_children: @create_children) end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def authentication @subclasses['authentication'] ||= Authentication.new(parent_instance: self, client: @client, create_children: @create_children) end class Encryption < ConfigClass def has_multiple_values?; false; end def _section :encryption end @props = {'algorithm'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Algorithm', 'type'=>'enum', 'enum'=>[{'value'=>'3des', 'prune-on'=>'cc-only-mode', 'help-string'=>'key is 192 bit'}, {'value'=>'aes-128-cbc', 'help-string'=>'key is 128 bit'}, {'value'=>'aes-192-cbc', 'help-string'=>'key is 192 bit'}, {'value'=>'aes-256-cbc', 'help-string'=>'key is 256 bit'}, {'value'=>'null', 'prune-on'=>'fips-mode'}]}, 'key'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Key', 'optional'=>'yes', 'maxlen'=>'255', 'type'=>'string', 'encrypt'=>'yes', 'skip-commit-validation'=>'yes', 'show-help-tip'=>'yes', 'help-string'=>'hex format xxxxxxxx[-xxxxxxxx]... total number of sections: 3des: 6, aes128: 4, aes192: 6, aes256: 8'}} def algorithm prop_get('algorithm') end def algorithm=(val) prop_set('algorithm', val) end # hex format xxxxxxxx[-xxxxxxxx]... total number of sections: 3des: 6, aes128: 4, aes192: 6, aes256: 8 def key prop_get('key') end # hex format xxxxxxxx[-xxxxxxxx]... total number of sections: 3des: 6, aes128: 4, aes192: 6, aes256: 8 def key=(val) prop_set('key', val) end end def encryption @subclasses['encryption'] ||= Encryption.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def esp @subclasses['esp'] ||= Esp.new(parent_instance: self, client: @client, create_children: @create_children) end class Ah < ConfigClass def has_multiple_values?; false; end def _section :ah end class Md5 < ConfigClass def has_multiple_values?; false; end def _section :md5 end @props = {'key'=>{'node-type'=>'element', 'maxlen'=>'255', 'type'=>'string', 'encrypt'=>'yes', 'skip-commit-validation'=>'yes', 'show-help-tip'=>'yes', 'help-string'=>'hex format xxxxxxxx[-xxxxxxxx]... total 4 sections'}} # hex format xxxxxxxx[-xxxxxxxx]... total 4 sections def key prop_get('key') end # hex format xxxxxxxx[-xxxxxxxx]... total 4 sections def key=(val) prop_set('key', val) end end def md5 @subclasses['md5'] ||= Md5.new(parent_instance: self, client: @client, create_children: @create_children) end class Sha1 < ConfigClass def has_multiple_values?; false; end def _section :sha1 end @props = {'key'=>{'node-type'=>'element', 'maxlen'=>'255', 'type'=>'string', 'encrypt'=>'yes', 'skip-commit-validation'=>'yes', 'show-help-tip'=>'yes', 'help-string'=>'hex format xxxxxxxx[-xxxxxxxx]... total 5 sections'}} # hex format xxxxxxxx[-xxxxxxxx]... total 5 sections def key prop_get('key') end # hex format xxxxxxxx[-xxxxxxxx]... total 5 sections def key=(val) prop_set('key', val) end end def sha1 @subclasses['sha1'] ||= Sha1.new(parent_instance: self, client: @client, create_children: @create_children) end class Sha256 < ConfigClass def has_multiple_values?; false; end def _section :sha256 end @props = {'key'=>{'node-type'=>'element', 'maxlen'=>'255', 'type'=>'string', 'encrypt'=>'yes', 'skip-commit-validation'=>'yes', 'show-help-tip'=>'yes', 'help-string'=>'hex format xxxxxxxx[-xxxxxxxx]... total 8 sections'}} # hex format xxxxxxxx[-xxxxxxxx]... total 8 sections def key prop_get('key') end # hex format xxxxxxxx[-xxxxxxxx]... total 8 sections def key=(val) prop_set('key', val) end end def sha256 @subclasses['sha256'] ||= Sha256.new(parent_instance: self, client: @client, create_children: @create_children) end class Sha384 < ConfigClass def has_multiple_values?; false; end def _section :sha384 end @props = {'key'=>{'node-type'=>'element', 'maxlen'=>'255', 'type'=>'string', 'encrypt'=>'yes', 'skip-commit-validation'=>'yes', 'show-help-tip'=>'yes', 'help-string'=>'hex format xxxxxxxx[-xxxxxxxx]... total 12 sections'}} # hex format xxxxxxxx[-xxxxxxxx]... total 12 sections def key prop_get('key') end # hex format xxxxxxxx[-xxxxxxxx]... total 12 sections def key=(val) prop_set('key', val) end end def sha384 @subclasses['sha384'] ||= Sha384.new(parent_instance: self, client: @client, create_children: @create_children) end class Sha512 < ConfigClass def has_multiple_values?; false; end def _section :sha512 end @props = {'key'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Key', 'maxlen'=>'255', 'type'=>'string', 'encrypt'=>'yes', 'skip-commit-validation'=>'yes', 'show-help-tip'=>'yes', 'help-string'=>'hex format xxxxxxxx[-xxxxxxxx]... total 16 sections'}} # hex format xxxxxxxx[-xxxxxxxx]... total 16 sections def key prop_get('key') end # hex format xxxxxxxx[-xxxxxxxx]... total 16 sections def key=(val) prop_set('key', val) end end def sha512 @subclasses['sha512'] ||= Sha512.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ah @subclasses['ah'] ||= Ah.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'uiHint-fieldLabel'=>'Name', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'regex'=>'^[a-zA-Z0-9._-]+$'}, 'spi'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'SPI', 'help-string'=>'SPI for both inbound and outbound SA, hex format xxxxxxxx.', 'type'=>'string', 'regex'=>'^([0-9a-fA-F]{8})$'}} def name prop_get('@name') end # SPI for both inbound and outbound SA, hex format xxxxxxxx. def spi prop_get('spi') end # SPI for both inbound and outbound SA, hex format xxxxxxxx. def spi=(val) prop_set('spi', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def auth_profile maybe_register_subclass('auth-profile', AuthProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class IfTimerProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'if-timer-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'regex'=>'^[a-zA-Z0-9._-]+$'}, 'hello-interval'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Hello Interval', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'10', 'help-string'=>'Interval (in seconds) to send Hello packets'}, 'dead-counts'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Dead Count', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'3', 'max'=>'20', 'default'=>'4', 'help-string'=>'number of lost hello packets to declare router down'}, 'retransmit-interval'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Retransmit Interval', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'1800', 'default'=>'5', 'help-string'=>'Interval (in seconds) to retransmit LSAs'}, 'transit-delay'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Transmit Delay', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'1800', 'default'=>'1', 'help-string'=>'Estimated delay (in seconds) to transmit LSAs'}, 'gr-delay'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Graceful Restart Hello Delay (sec)', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'10', 'default'=>'10', 'help-string'=>'Period (in seconds) used to send grace LSAs before first hello is sent when graceful restart starts'}} def name prop_get('@name') end # Interval (in seconds) to send Hello packets def hello_interval prop_get('hello-interval') end # Interval (in seconds) to send Hello packets def hello_interval=(val) prop_set('hello-interval', val) end # number of lost hello packets to declare router down def dead_counts prop_get('dead-counts') end # number of lost hello packets to declare router down def dead_counts=(val) prop_set('dead-counts', val) end # Interval (in seconds) to retransmit LSAs def retransmit_interval prop_get('retransmit-interval') end # Interval (in seconds) to retransmit LSAs def retransmit_interval=(val) prop_set('retransmit-interval', val) end # Estimated delay (in seconds) to transmit LSAs def transit_delay prop_get('transit-delay') end # Estimated delay (in seconds) to transmit LSAs def transit_delay=(val) prop_set('transit-delay', val) end # Period (in seconds) used to send grace LSAs before first hello is sent when graceful restart starts def gr_delay prop_get('gr-delay') end # Period (in seconds) used to send grace LSAs before first hello is sent when graceful restart starts def gr_delay=(val) prop_set('gr-delay', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def if_timer_profile maybe_register_subclass('if-timer-profile', IfTimerProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class SpfTimerProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'spf-timer-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'regex'=>'^[a-zA-Z0-9._-]+$'}, 'lsa-interval'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'LSA min-arrival', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'10', 'default'=>'5', 'help-string'=>'The minimum time in seconds between distinct originations of any particular LSA'}, 'spf-calculation-delay'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Initial delay', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'600', 'default'=>'5', 'help-string'=>'Delay in seconds before running the SPF algorithm'}, 'initial-hold-time'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Initial hold time', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'600', 'default'=>'5', 'help-string'=>'Initial hold time (second) between consecutive SPF calculations'}, 'max-hold-time'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Maximum hold time', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'600', 'default'=>'5', 'help-string'=>'Maximum hold time (second)'}} def name prop_get('@name') end # The minimum time in seconds between distinct originations of any particular LSA def lsa_interval prop_get('lsa-interval') end # The minimum time in seconds between distinct originations of any particular LSA def lsa_interval=(val) prop_set('lsa-interval', val) end # Delay in seconds before running the SPF algorithm def spf_calculation_delay prop_get('spf-calculation-delay') end # Delay in seconds before running the SPF algorithm def spf_calculation_delay=(val) prop_set('spf-calculation-delay', val) end # Initial hold time (second) between consecutive SPF calculations def initial_hold_time prop_get('initial-hold-time') end # Initial hold time (second) between consecutive SPF calculations def initial_hold_time=(val) prop_set('initial-hold-time', val) end # Maximum hold time (second) def max_hold_time prop_get('max-hold-time') end # Maximum hold time (second) def max_hold_time=(val) prop_set('max-hold-time', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def spf_timer_profile maybe_register_subclass('spf-timer-profile', SpfTimerProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class RedistributionProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'redistribution-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Static < ConfigClass def has_multiple_values?; false; end def _section :static end @props = {'enable'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Enable', 'type'=>'bool', 'default'=>'yes'}, 'metric'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Metric', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Set Metric (Field ignored if route-map configured).'}, 'metric-type'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Metric-Type', 'type'=>'enum', 'default'=>'type-2', 'optional'=>'no', 'help-string'=>'Set Metric-Type (Field ignored if route-map configured).', 'enum'=>[{'name'=>'type-1', 'value'=>'type-1', 'help-string'=>'Type-1'}, {'name'=>'type-2', 'value'=>'type-2', 'help-string'=>'Type-2'}]}, 'route-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Redistribute Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Apply Route-Map on Redistributed Routes'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Set Metric (Field ignored if route-map configured). def metric prop_get('metric') end # Set Metric (Field ignored if route-map configured). def metric=(val) prop_set('metric', val) end # Set Metric-Type (Field ignored if route-map configured). def metric_type prop_get('metric-type') end # Set Metric-Type (Field ignored if route-map configured). def metric_type=(val) prop_set('metric-type', val) end # Apply Route-Map on Redistributed Routes def route_map prop_get('route-map') end # Apply Route-Map on Redistributed Routes def route_map=(val) prop_set('route-map', val) end end def static @subclasses['static'] ||= Static.new(parent_instance: self, client: @client, create_children: @create_children) end class Connected < ConfigClass def has_multiple_values?; false; end def _section :connected end @props = {'enable'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Enable', 'type'=>'bool', 'default'=>'yes'}, 'metric'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Metric', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Set Metric (Field ignored if route-map configured).'}, 'metric-type'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Metric-Type', 'type'=>'enum', 'default'=>'type-2', 'optional'=>'no', 'help-string'=>'Set Metric-Type (Field ignored if route-map configured).', 'enum'=>[{'name'=>'type-1', 'value'=>'type-1', 'help-string'=>'Type-1'}, {'name'=>'type-2', 'value'=>'type-2', 'help-string'=>'Type-2'}]}, 'route-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Redistribute Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Apply Route-Map on Redistributed Routes'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # Set Metric (Field ignored if route-map configured). def metric prop_get('metric') end # Set Metric (Field ignored if route-map configured). def metric=(val) prop_set('metric', val) end # Set Metric-Type (Field ignored if route-map configured). def metric_type prop_get('metric-type') end # Set Metric-Type (Field ignored if route-map configured). def metric_type=(val) prop_set('metric-type', val) end # Apply Route-Map on Redistributed Routes def route_map prop_get('route-map') end # Apply Route-Map on Redistributed Routes def route_map=(val) prop_set('route-map', val) end end def connected @subclasses['connected'] ||= Connected.new(parent_instance: self, client: @client, create_children: @create_children) end class Bgp < ConfigClass def has_multiple_values?; false; end def _section :bgp end @props = {'enable'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Enable', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable (default) or Disable'}, 'metric'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Metric', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Set Metric (Field ignored if route-map configured).'}, 'metric-type'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Metric-Type', 'type'=>'enum', 'default'=>'type-2', 'optional'=>'no', 'help-string'=>'Set Metric-Type (Field ignored if route-map configured).', 'enum'=>[{'name'=>'type-1', 'value'=>'type-1', 'help-string'=>'Type-1'}, {'name'=>'type-2', 'value'=>'type-2', 'help-string'=>'Type-2'}]}, 'route-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Redistribute Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Apply Route-Map on Redistributed Routes'}} # Enable (default) or Disable def enable prop_get('enable') end # Enable (default) or Disable def enable=(val) prop_set('enable', val) end # Set Metric (Field ignored if route-map configured). def metric prop_get('metric') end # Set Metric (Field ignored if route-map configured). def metric=(val) prop_set('metric', val) end # Set Metric-Type (Field ignored if route-map configured). def metric_type prop_get('metric-type') end # Set Metric-Type (Field ignored if route-map configured). def metric_type=(val) prop_set('metric-type', val) end # Apply Route-Map on Redistributed Routes def route_map prop_get('route-map') end # Apply Route-Map on Redistributed Routes def route_map=(val) prop_set('route-map', val) end end def bgp @subclasses['bgp'] ||= Bgp.new(parent_instance: self, client: @client, create_children: @create_children) end class DefaultRoute < ConfigClass def has_multiple_values?; false; end def _section :'default-route' end @props = {'always'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Always', 'optional'=>'no', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Generate default route if it doesn\'t exist'}, 'enable'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Enable', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable (default) or Disable'}, 'metric'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Metric', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Set Metric'}, 'metric-type'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Metric-Type', 'type'=>'enum', 'default'=>'type-2', 'optional'=>'no', 'help-string'=>'Set Metric-Type', 'enum'=>[{'name'=>'type-1', 'value'=>'type-1', 'help-string'=>'Type-1'}, {'name'=>'type-2', 'value'=>'type-2', 'help-string'=>'Type-2'}]}} # Generate default route if it doesn't exist def always prop_get('always') end # Generate default route if it doesn't exist def always=(val) prop_set('always', val) end # Enable (default) or Disable def enable prop_get('enable') end # Enable (default) or Disable def enable=(val) prop_set('enable', val) end # Set Metric def metric prop_get('metric') end # Set Metric def metric=(val) prop_set('metric', val) end # Set Metric-Type def metric_type prop_get('metric-type') end # Set Metric-Type def metric_type=(val) prop_set('metric-type', val) end end def default_route @subclasses['default-route'] ||= DefaultRoute.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'uiHint-fieldLabel'=>'Name', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'help-string'=>'Profile Name', 'regex'=>'^[a-zA-Z0-9._-]+$'}} # Profile Name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def redistribution_profile maybe_register_subclass('redistribution-profile', RedistributionProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def ospfv3 @subclasses['ospfv3'] ||= Ospfv3.new(parent_instance: self, client: @client, create_children: @create_children) end class Filters < ConfigClass def has_multiple_values?; false; end def _section :filters end class AccessList < XML::ConfigClass def has_multiple_values?; true; end def _section :'access-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Ipv4 < ConfigClass def has_multiple_values?; false; end def _section :ipv4 end class Ipv4Entry < XML::ConfigClass def has_multiple_values?; true; end def _section :'ipv4-entry' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SourceAddress < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-address' end class Entry < ConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'address'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'Configure IPv4 Source Address', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'wildcard'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'Configure IPv4 Source Wildcard', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # Configure IPv4 Source Address def address prop_get('address') end # Configure IPv4 Source Address def address=(val) prop_set('address', val) end # Configure IPv4 Source Wildcard def wildcard prop_get('wildcard') end # Configure IPv4 Source Wildcard def wildcard=(val) prop_set('wildcard', val) end end def entry @subclasses['entry'] ||= Entry.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'address'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'any', 'optional'=>'yes', 'help-string'=>'Select pre-defined Source Address', 'enum'=>[{'name'=>'any', 'value'=>'any', 'optional'=>'yes', 'help-string'=>'Any Source Address'}]}} # Select pre-defined Source Address def address prop_get('address') end # Select pre-defined Source Address def address=(val) prop_set('address', val) end end def source_address maybe_register_subclass('source-address', SourceAddress.new(parent_instance: self, client: @client, create_children: @create_children)) end class DestinationAddress < XML::ConfigClass def has_multiple_values?; true; end def _section :'destination-address' end class Entry < ConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'address'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'Configure IPv4 Destination Address', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'wildcard'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'Configure IPv4 Destination Wildcard', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # Configure IPv4 Destination Address def address prop_get('address') end # Configure IPv4 Destination Address def address=(val) prop_set('address', val) end # Configure IPv4 Destination Wildcard def wildcard prop_get('wildcard') end # Configure IPv4 Destination Wildcard def wildcard=(val) prop_set('wildcard', val) end end def entry @subclasses['entry'] ||= Entry.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'address'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'any', 'optional'=>'yes', 'help-string'=>'Select pre-defined Destination Address', 'enum'=>[{'name'=>'any', 'value'=>'any', 'optional'=>'yes', 'help-string'=>'Any Destination Address'}]}} # Select pre-defined Destination Address def address prop_get('address') end # Select pre-defined Destination Address def address=(val) prop_set('address', val) end end def destination_address maybe_register_subclass('destination-address', DestinationAddress.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Unique Sequence Number between <1-65535>'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'deny', 'optional'=>'yes', 'help-string'=>'Permit or Deny (default) this Access-List Entry', 'enum'=>[{'name'=>'deny', 'value'=>'deny', 'help-string'=>'Specify to Deny Access-List Entry'}, {'name'=>'permit', 'value'=>'permit', 'help-string'=>'Specify to Permit Access-List Entry'}]}} # Unique Sequence Number between <1-65535> def name prop_get('@name') end # Permit or Deny (default) this Access-List Entry def action prop_get('action') end # Permit or Deny (default) this Access-List Entry def action=(val) prop_set('action', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ipv4_entry maybe_register_subclass('ipv4-entry', Ipv4Entry.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def ipv4 @subclasses['ipv4'] ||= Ipv4.new(parent_instance: self, client: @client, create_children: @create_children) end class Ipv6 < ConfigClass def has_multiple_values?; false; end def _section :ipv6 end class Ipv6Entry < XML::ConfigClass def has_multiple_values?; true; end def _section :'ipv6-entry' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SourceAddress < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-address' end class Entry < ConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'address'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'Configure IPv6 Access-List Address', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes', 'ipv6-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'exact-match'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Exact Match of this address'}} # Configure IPv6 Access-List Address def address prop_get('address') end # Configure IPv6 Access-List Address def address=(val) prop_set('address', val) end # Exact Match of this address def exact_match prop_get('exact-match') end # Exact Match of this address def exact_match=(val) prop_set('exact-match', val) end end def entry @subclasses['entry'] ||= Entry.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'address'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'any', 'optional'=>'yes', 'help-string'=>'Select pre-defined Source Address', 'enum'=>[{'name'=>'any', 'value'=>'any', 'help-string'=>'Select Any Source Address'}]}} # Select pre-defined Source Address def address prop_get('address') end # Select pre-defined Source Address def address=(val) prop_set('address', val) end end def source_address maybe_register_subclass('source-address', SourceAddress.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Unique Sequence Number between <1-65535>'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'deny', 'optional'=>'yes', 'help-string'=>'Permit or Deny (default) this Access-List Entry', 'enum'=>[{'name'=>'deny', 'value'=>'deny', 'help-string'=>'Specify to Deny Access-List Entry'}, {'name'=>'permit', 'value'=>'permit', 'help-string'=>'Specify to Permit Access-List Entry'}]}} # Unique Sequence Number between <1-65535> def name prop_get('@name') end # Permit or Deny (default) this Access-List Entry def action prop_get('action') end # Permit or Deny (default) this Access-List Entry def action=(val) prop_set('action', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ipv6_entry maybe_register_subclass('ipv6-entry', Ipv6Entry.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def ipv6 @subclasses['ipv6'] ||= Ipv6.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'regex'=>'^[a-zA-Z0-9._-]+$', 'help-string'=>'Access-List Name - alphanumeric string [0-9a-zA-Z._-]'}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'optional'=>'yes', 'help-string'=>'Describe Access-List', 'regex'=>'^[ a-zA-Z0-9._-]+$'}} # Access-List Name - alphanumeric string [0-9a-zA-Z._-] def name prop_get('@name') end # Describe Access-List def description prop_get('description') end # Describe Access-List def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def access_list maybe_register_subclass('access-list', AccessList.new(parent_instance: self, client: @client, create_children: @create_children)) end class PrefixList < XML::ConfigClass def has_multiple_values?; true; end def _section :'prefix-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Ipv4 < ConfigClass def has_multiple_values?; false; end def _section :ipv4 end class Ipv4Entry < XML::ConfigClass def has_multiple_values?; true; end def _section :'ipv4-entry' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Prefix < XML::ConfigClass def has_multiple_values?; true; end def _section :prefix end class Entry < ConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'network'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes', 'ipv4-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'greater-than-or-equal'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'32', 'help-string'=>'Maximum Prefix length to be matched'}, 'less-than-or-equal'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'32', 'help-string'=>'Minimum Prefix length to be matched'}} def network prop_get('network') end def network=(val) prop_set('network', val) end # Maximum Prefix length to be matched def greater_than_or_equal prop_get('greater-than-or-equal') end # Maximum Prefix length to be matched def greater_than_or_equal=(val) prop_set('greater-than-or-equal', val) end # Minimum Prefix length to be matched def less_than_or_equal prop_get('less-than-or-equal') end # Minimum Prefix length to be matched def less_than_or_equal=(val) prop_set('less-than-or-equal', val) end end def entry @subclasses['entry'] ||= Entry.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'network'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'any', 'optional'=>'yes', 'help-string'=>'Select pre-defined Prefix', 'enum'=>[{'name'=>'any', 'value'=>'any', 'help-string'=>'Select Any Prefix'}]}} # Select pre-defined Prefix def network prop_get('network') end # Select pre-defined Prefix def network=(val) prop_set('network', val) end end def prefix maybe_register_subclass('prefix', Prefix.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Unique Sequence Number between <1-65535>'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'deny', 'optional'=>'yes', 'help-string'=>'Permit or Deny (default) this Prefix-List Entry', 'enum'=>[{'name'=>'deny', 'value'=>'deny', 'help-string'=>'Specify to Deny Prefix-List Entry'}, {'name'=>'permit', 'value'=>'permit', 'help-string'=>'Specify to Permit Prefix-List Entry'}]}} # Unique Sequence Number between <1-65535> def name prop_get('@name') end # Permit or Deny (default) this Prefix-List Entry def action prop_get('action') end # Permit or Deny (default) this Prefix-List Entry def action=(val) prop_set('action', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ipv4_entry maybe_register_subclass('ipv4-entry', Ipv4Entry.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def ipv4 @subclasses['ipv4'] ||= Ipv4.new(parent_instance: self, client: @client, create_children: @create_children) end class Ipv6 < ConfigClass def has_multiple_values?; false; end def _section :ipv6 end class Ipv6Entry < XML::ConfigClass def has_multiple_values?; true; end def _section :'ipv6-entry' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Prefix < XML::ConfigClass def has_multiple_values?; true; end def _section :prefix end class Entry < ConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'network'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes', 'ipv6-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'greater-than-or-equal'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'128', 'help-string'=>'Maximum Prefix length to be matched'}, 'less-than-or-equal'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'128', 'help-string'=>'Minimum Prefix length to be matched'}} def network prop_get('network') end def network=(val) prop_set('network', val) end # Maximum Prefix length to be matched def greater_than_or_equal prop_get('greater-than-or-equal') end # Maximum Prefix length to be matched def greater_than_or_equal=(val) prop_set('greater-than-or-equal', val) end # Minimum Prefix length to be matched def less_than_or_equal prop_get('less-than-or-equal') end # Minimum Prefix length to be matched def less_than_or_equal=(val) prop_set('less-than-or-equal', val) end end def entry @subclasses['entry'] ||= Entry.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'network'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'any', 'optional'=>'yes', 'help-string'=>'Select pre-defined Prefix', 'enum'=>[{'name'=>'any', 'value'=>'any', 'help-string'=>' Select Any Prefix'}]}} # Select pre-defined Prefix def network prop_get('network') end # Select pre-defined Prefix def network=(val) prop_set('network', val) end end def prefix maybe_register_subclass('prefix', Prefix.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Unique Sequence Number between <1-65535>'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'deny', 'optional'=>'yes', 'help-string'=>'Permit or Deny (default) this Prefix-List Entry', 'enum'=>[{'name'=>'deny', 'value'=>'deny', 'help-string'=>'Specify to Deny Prefix-List Entry'}, {'name'=>'permit', 'value'=>'permit', 'help-string'=>'Specify to Permit Prefix-List Entry'}]}} # Unique Sequence Number between <1-65535> def name prop_get('@name') end # Permit or Deny (default) this Prefix-List Entry def action prop_get('action') end # Permit or Deny (default) this Prefix-List Entry def action=(val) prop_set('action', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ipv6_entry maybe_register_subclass('ipv6-entry', Ipv6Entry.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def ipv6 @subclasses['ipv6'] ||= Ipv6.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'regex'=>'^[a-zA-Z0-9._-]+$', 'help-string'=>'Prefix-List Name - alphanumeric string [0-9a-zA-Z._-]'}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'optional'=>'yes', 'help-string'=>'Describe Prefix-List', 'regex'=>'^[ a-zA-Z0-9._-]+$'}} # Prefix-List Name - alphanumeric string [0-9a-zA-Z._-] def name prop_get('@name') end # Describe Prefix-List def description prop_get('description') end # Describe Prefix-List def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def prefix_list maybe_register_subclass('prefix-list', PrefixList.new(parent_instance: self, client: @client, create_children: @create_children)) end class AsPathAccessList < XML::ConfigClass def has_multiple_values?; true; end def _section :'as-path-access-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class AspathEntry < XML::ConfigClass def has_multiple_values?; true; end def _section :'aspath-entry' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Unique Sequence Number between <1-65535>'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'deny', 'optional'=>'yes', 'help-string'=>'Permit or Deny (default) this BGP AS-Path Access-List Entry', 'enum'=>[{'name'=>'deny', 'value'=>'deny', 'help-string'=>'Specify to Deny AS-Path Access-List Entry'}, {'name'=>'permit', 'value'=>'permit', 'help-string'=>'Specify to Permit AS-Path Access-List'}]}, 'aspath-regex'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'512', 'help-string'=>'Set regular-expression (1234567890_^|[,{}()]$*+.?-\) to match the BGP AS path'}} # Unique Sequence Number between <1-65535> def name prop_get('@name') end # Permit or Deny (default) this BGP AS-Path Access-List Entry def action prop_get('action') end # Permit or Deny (default) this BGP AS-Path Access-List Entry def action=(val) prop_set('action', val) end # Set regular-expression (1234567890_^|[,{}()]$*+.?-\) to match the BGP AS path def aspath_regex prop_get('aspath-regex') end # Set regular-expression (1234567890_^|[,{}()]$*+.?-\) to match the BGP AS path def aspath_regex=(val) prop_set('aspath-regex', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def aspath_entry maybe_register_subclass('aspath-entry', AspathEntry.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'regex'=>'^[a-zA-Z0-9._-]+$', 'help-string'=>' BGP AS-Path Access-List Name - alphanumeric string [ 0-9a-zA-Z._-]'}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1024', 'optional'=>'yes', 'regex'=>'^[ a-zA-Z0-9._-]+$', 'help-string'=>'Describe BGP AS-Path Access-List'}} # BGP AS-Path Access-List Name - alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # Describe BGP AS-Path Access-List def description prop_get('description') end # Describe BGP AS-Path Access-List def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def as_path_access_list maybe_register_subclass('as-path-access-list', AsPathAccessList.new(parent_instance: self, client: @client, create_children: @create_children)) end class CommunityList < XML::ConfigClass def has_multiple_values?; true; end def _section :'community-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Regular < ConfigClass def has_multiple_values?; false; end def _section :regular end class RegularEntry < XML::ConfigClass def has_multiple_values?; true; end def _section :'regular-entry' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Community < XML::ConfigClass def has_multiple_values?; true; end def _section :community end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'max-count'=>'16', 'multi-types'=>{'string'=>{'maxlen'=>'256', 'help-string'=>'Set using regex characters (1234567890_^|[,{}()]$*+.?-\) or Number in AA:NN format (where AA and NN are between (0-65535)'}, 'enum'=>[{'name'=>'blackhole', 'value'=>'blackhole', 'uiHint-fieldLabel'=>'Blackhole', 'help-string'=>'Represents well-known community value BLACKHOLE (0xFFFF029A)'}, {'name'=>'no-peer', 'value'=>'no-peer', 'uiHint-fieldLabel'=>'No Peer', 'help-string'=>'Represents well-known community value NOPEER (0xFFFFFF04)'}, {'name'=>'graceful-shutdown', 'value'=>'graceful-shutdown', 'uiHint-fieldLabel'=>'Graceful Shutdown', 'help-string'=>'Represents well-known community value GRACEFUL_SHUTDOWN (0xFFFF0000)'}, {'name'=>'accept-own', 'value'=>'accept-own', 'uiHint-fieldLabel'=>'Accept Own', 'help-string'=>'Represents well-known community value ACCEPT_OWN (0xFFFF0001)'}, {'name'=>'local-as', 'value'=>'local-as', 'uiHint-fieldLabel'=>'Local AS', 'help-string'=>'Represents well-known community value NO_EXPORT_SUBCONFED (0xFFFFFF03)'}, {'name'=>'route-filter-v4', 'value'=>'route-filter-v4', 'uiHint-fieldLabel'=>'Route Filter-v4', 'help-string'=>'Represents well-known community value ROUTE_FILTER_v4 (0xFFFF0003)'}, {'name'=>'route-filter-v6', 'value'=>'route-filter-v6', 'uiHint-fieldLabel'=>'Route Filter-v6', 'help-string'=>'Represents well-known community value ROUTE_FILTER_v6 (0xFFFF0005)'}, {'name'=>'no-advertise', 'value'=>'no-advertise', 'uiHint-fieldLabel'=>'No Advertise', 'help-string'=>'Represents well-known community value NO_ADVERTISE (0xFFFFFF02)'}, {'name'=>'no-export', 'value'=>'no-export', 'uiHint-fieldLabel'=>'No Export', 'help-string'=>'Represents well-known community value NO_EXPORT (0xFFFFFF01)'}, {'name'=>'internet', 'value'=>'internet', 'uiHint-fieldLabel'=>'Internet', 'help-string'=>'Represents well-known community value 0 (0x00)'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def community maybe_register_subclass('community', Community.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Unique Sequence Number between <1-65535>'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'deny', 'optional'=>'yes', 'help-string'=>'Permit or Deny (default) this Regular Community-List Entry', 'enum'=>[{'name'=>'deny', 'value'=>'deny', 'help-string'=>'Specify to Deny Community-List Entry'}, {'name'=>'permit', 'value'=>'permit', 'help-string'=>'Specify to Permit Community-List Entry'}]}} # Unique Sequence Number between <1-65535> def name prop_get('@name') end # Permit or Deny (default) this Regular Community-List Entry def action prop_get('action') end # Permit or Deny (default) this Regular Community-List Entry def action=(val) prop_set('action', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def regular_entry maybe_register_subclass('regular-entry', RegularEntry.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def regular @subclasses['regular'] ||= Regular.new(parent_instance: self, client: @client, create_children: @create_children) end class Large < ConfigClass def has_multiple_values?; false; end def _section :large end class LargeEntry < XML::ConfigClass def has_multiple_values?; true; end def _section :'large-entry' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class LcRegex < XML::ConfigClass def has_multiple_values?; true; end def _section :'lc-regex' end @props = {'member'=>{'node-type'=>'element', 'max-count'=>'8', 'type'=>'string', 'maxlen'=>'512', 'help-string'=>'Set regex using characters (1234567890_^|[,{}()]$*+.?-\) separated by \':\' in format {regex1:regex2:regex3}'}} # Set regex using characters (1234567890_^|[,{}()]$*+.?-\) separated by ':' in format {regex1:regex2:regex3} def member prop_get('member') end # Set regex using characters (1234567890_^|[,{}()]$*+.?-\) separated by ':' in format {regex1:regex2:regex3} def member=(val) prop_set('member', val) end end def lc_regex maybe_register_subclass('lc-regex', LcRegex.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Unique Sequence Number between <1-65535>'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'deny', 'optional'=>'yes', 'help-string'=>'Permit or Deny (default) this Large Community-List Entry', 'enum'=>[{'name'=>'deny', 'value'=>'deny', 'help-string'=>'Specify to Deny Community-List Entry'}, {'name'=>'permit', 'value'=>'permit', 'help-string'=>'Specify to Permit Community-List Entry'}]}} # Unique Sequence Number between <1-65535> def name prop_get('@name') end # Permit or Deny (default) this Large Community-List Entry def action prop_get('action') end # Permit or Deny (default) this Large Community-List Entry def action=(val) prop_set('action', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def large_entry maybe_register_subclass('large-entry', LargeEntry.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def large @subclasses['large'] ||= Large.new(parent_instance: self, client: @client, create_children: @create_children) end class Extended < ConfigClass def has_multiple_values?; false; end def _section :extended end class ExtendedEntry < XML::ConfigClass def has_multiple_values?; true; end def _section :'extended-entry' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class EcRegex < XML::ConfigClass def has_multiple_values?; true; end def _section :'ec-regex' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'max-count'=>'8', 'maxlen'=>'512', 'help-string'=>'Set regex using characters (1234567890_^|[,{}()]$*+.?-\) separated by \':\' in format {regex1:regex2}'}} # Set regex using characters (1234567890_^|[,{}()]$*+.?-\) separated by ':' in format {regex1:regex2} def member prop_get('member') end # Set regex using characters (1234567890_^|[,{}()]$*+.?-\) separated by ':' in format {regex1:regex2} def member=(val) prop_set('member', val) end end def ec_regex maybe_register_subclass('ec-regex', EcRegex.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Unique Sequence Number between <1-65535>'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'deny', 'optional'=>'yes', 'help-string'=>'Permit or Deny (default) this Extended Community-List Entry', 'enum'=>[{'name'=>'deny', 'value'=>'deny', 'help-string'=>'Specify to Deny Community-List Entry'}, {'name'=>'permit', 'value'=>'permit', 'help-string'=>'Specify to Permit Community-List Entry'}]}} # Unique Sequence Number between <1-65535> def name prop_get('@name') end # Permit or Deny (default) this Extended Community-List Entry def action prop_get('action') end # Permit or Deny (default) this Extended Community-List Entry def action=(val) prop_set('action', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def extended_entry maybe_register_subclass('extended-entry', ExtendedEntry.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def extended @subclasses['extended'] ||= Extended.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'regex'=>'^[a-zA-Z0-9._-]+$', 'help-string'=>'Community List Name - alphanumeric string [0-9a-zA-Z._-]'}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1024', 'optional'=>'yes', 'regex'=>'^[ a-zA-Z0-9._-]+$', 'help-string'=>'Describe BGP Community-List'}} # Community List Name - alphanumeric string [0-9a-zA-Z._-] def name prop_get('@name') end # Describe BGP Community-List def description prop_get('description') end # Describe BGP Community-List def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def community_list maybe_register_subclass('community-list', CommunityList.new(parent_instance: self, client: @client, create_children: @create_children)) end class RouteMaps < ConfigClass def has_multiple_values?; false; end def _section :'route-maps' end class Bgp < ConfigClass def has_multiple_values?; false; end def _section :bgp end class BgpEntry < XML::ConfigClass def has_multiple_values?; true; end def _section :'bgp-entry' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class RouteMap < XML::ConfigClass def has_multiple_values?; true; end def _section :'route-map' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Match < ConfigClass def has_multiple_values?; false; end def _section :match end class Ipv4 < ConfigClass def has_multiple_values?; false; end def _section :ipv4 end class Address < ConfigClass def has_multiple_values?; false; end def _section :address end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def address @subclasses['address'] ||= Address.new(parent_instance: self, client: @client, create_children: @create_children) end class NextHop < ConfigClass def has_multiple_values?; false; end def _section :'next-hop' end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def next_hop @subclasses['next-hop'] ||= NextHop.new(parent_instance: self, client: @client, create_children: @create_children) end class RouteSource < ConfigClass def has_multiple_values?; false; end def _section :'route-source' end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def route_source @subclasses['route-source'] ||= RouteSource.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ipv4 @subclasses['ipv4'] ||= Ipv4.new(parent_instance: self, client: @client, create_children: @create_children) end class Ipv6 < ConfigClass def has_multiple_values?; false; end def _section :ipv6 end class Address < ConfigClass def has_multiple_values?; false; end def _section :address end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def address @subclasses['address'] ||= Address.new(parent_instance: self, client: @client, create_children: @create_children) end class NextHop < ConfigClass def has_multiple_values?; false; end def _section :'next-hop' end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def next_hop @subclasses['next-hop'] ||= NextHop.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ipv6 @subclasses['ipv6'] ||= Ipv6.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'as-path-access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'AS Path Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'AS Path Access List Name'}, 'regular-community'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Regular Community', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Regular Community Name'}, 'large-community'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Large Community', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Large Community Name'}, 'extended-community'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Extended Community', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Extended Community Name'}, 'interface'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Interface', 'type'=>'string', 'maxlen'=>'64', 'optional'=>'yes', 'help-string'=>'Match Interface of the route'}, 'origin'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'help-string'=>'Match origin', 'enum'=>[{'name'=>'none', 'value'=>'none'}, {'name'=>'egp', 'value'=>'egp', 'help-string'=>'route originated from EGP'}, {'name'=>'igp', 'value'=>'igp', 'help-string'=>'route originated from IGP'}, {'name'=>'incomplete', 'value'=>'incomplete'}]}, 'metric'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Match Metric (BGP MED) of route'}, 'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Match Tag of route'}, 'local-preference'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Match Local Preference of route'}, 'peer'=>{'node-type'=>'element', 'type'=>'multiple', 'uiHint-fieldLabel'=>'Peer', 'optional'=>'yes', 'help-string'=>'Match Peer Address', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'name'=>'none', 'value'=>'none'}, {'name'=>'local', 'value'=>'local', 'help-string'=>'Static or Redistributed routes'}]}}} # AS Path Access List Name def as_path_access_list prop_get('as-path-access-list') end # AS Path Access List Name def as_path_access_list=(val) prop_set('as-path-access-list', val) end # Regular Community Name def regular_community prop_get('regular-community') end # Regular Community Name def regular_community=(val) prop_set('regular-community', val) end # Large Community Name def large_community prop_get('large-community') end # Large Community Name def large_community=(val) prop_set('large-community', val) end # Extended Community Name def extended_community prop_get('extended-community') end # Extended Community Name def extended_community=(val) prop_set('extended-community', val) end # Match Interface of the route def interface prop_get('interface') end # Match Interface of the route def interface=(val) prop_set('interface', val) end # Match origin def origin prop_get('origin') end # Match origin def origin=(val) prop_set('origin', val) end # Match Metric (BGP MED) of route def metric prop_get('metric') end # Match Metric (BGP MED) of route def metric=(val) prop_set('metric', val) end # Match Tag of route def tag prop_get('tag') end # Match Tag of route def tag=(val) prop_set('tag', val) end # Match Local Preference of route def local_preference prop_get('local-preference') end # Match Local Preference of route def local_preference=(val) prop_set('local-preference', val) end # Match Peer Address def peer prop_get('peer') end # Match Peer Address def peer=(val) prop_set('peer', val) end end def match @subclasses['match'] ||= Match.new(parent_instance: self, client: @client, create_children: @create_children) end class Set < ConfigClass def has_multiple_values?; false; end def _section :set end class Aggregator < ConfigClass def has_multiple_values?; false; end def _section :aggregator end @props = {'as'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Aggregator AS', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'help-string'=>'Set BGP Aggregator AS <1-4294967295>'}, 'router-id'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Router ID', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'Set BGP Aggregator Router ID', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # Set BGP Aggregator AS <1-4294967295> def as prop_get('as') end # Set BGP Aggregator AS <1-4294967295> def as=(val) prop_set('as', val) end # Set BGP Aggregator Router ID def router_id prop_get('router-id') end # Set BGP Aggregator Router ID def router_id=(val) prop_set('router-id', val) end end def aggregator @subclasses['aggregator'] ||= Aggregator.new(parent_instance: self, client: @client, create_children: @create_children) end class Metric < ConfigClass def has_multiple_values?; false; end def _section :metric end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'uiHint-fieldLabel'=>'Metric Value', 'help-string'=>'Set Metric value (BGP MED) of route'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'uiHint-fieldLabel'=>'Metric Action', 'help-string'=>'Set Metric action (BGP MED) of route', 'enum'=>[{'name'=>'set', 'value'=>'set', 'help-string'=>'Set(=) metric to this value'}, {'name'=>'add', 'value'=>'add', 'help-string'=>'Increase(+) current metric'}, {'name'=>'subtract', 'value'=>'subtract', 'help-string'=>'Decrease(-) current metric'}]}} # Set Metric value (BGP MED) of route def value prop_get('value') end # Set Metric value (BGP MED) of route def value=(val) prop_set('value', val) end # Set Metric action (BGP MED) of route def action prop_get('action') end # Set Metric action (BGP MED) of route def action=(val) prop_set('action', val) end end def metric @subclasses['metric'] ||= Metric.new(parent_instance: self, client: @client, create_children: @create_children) end class AspathPrepend < XML::ConfigClass def has_multiple_values?; true; end def _section :'aspath-prepend' end @props = {'member'=>{'node-type'=>'element', 'type'=>'rangedint', 'max-count'=>'16', 'min'=>'1', 'max'=>'4294967295', 'help-string'=>'Specify AS-Path'}} # Specify AS-Path def member prop_get('member') end # Specify AS-Path def member=(val) prop_set('member', val) end end def aspath_prepend maybe_register_subclass('aspath-prepend', AspathPrepend.new(parent_instance: self, client: @client, create_children: @create_children)) end class RegularCommunity < XML::ConfigClass def has_multiple_values?; true; end def _section :'regular-community' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Set Regular Community', 'max-count'=>'16', 'multi-types'=>{'string'=>{'regex'=>'^[0-9]+:[0-9]+$', 'minlen'=>'3', 'maxlen'=>'11', 'uiHint-fieldLabel'=>'Regex', 'help-string'=>'Community Number in AA:NN format (where AA and NN are between (0-65535))'}, 'enum'=>[{'name'=>'none', 'value'=>'none', 'uiHint-fieldLabel'=>'None'}, {'name'=>'blackhole', 'value'=>'blackhole', 'uiHint-fieldLabel'=>'Blackhole', 'help-string'=>'Represents well-known community value BLACKHOLE (0xFFFF029A)'}, {'name'=>'no-peer', 'value'=>'no-peer', 'uiHint-fieldLabel'=>'No Peer', 'help-string'=>'Represents well-known community value NOPEER (0xFFFFFF04)'}, {'name'=>'graceful-shutdown', 'value'=>'graceful-shutdown', 'uiHint-fieldLabel'=>'Graceful Shutdown', 'help-string'=>'Represents well-known community value GRACEFUL_SHUTDOWN (0xFFFF0000)'}, {'name'=>'accept-own', 'value'=>'accept-own', 'uiHint-fieldLabel'=>'Accept Own', 'help-string'=>'Represents well-known community value ACCEPT_OWN (0xFFFF0001)'}, {'name'=>'local-as', 'value'=>'local-as', 'uiHint-fieldLabel'=>'Local AS', 'help-string'=>'Represents well-known community value NO_EXPORT_SUBCONFED (0xFFFFFF03)'}, {'name'=>'route-filter-v4', 'value'=>'route-filter-v4', 'uiHint-fieldLabel'=>'Route Filter-v4', 'help-string'=>'Represents well-known community value ROUTE_FILTER_v4 (0xFFFF0003)'}, {'name'=>'route-filter-v6', 'value'=>'route-filter-v6', 'uiHint-fieldLabel'=>'Route Filter-v6', 'help-string'=>'Represents well-known community value ROUTE_FILTER_v6 (0xFFFF0005)'}, {'name'=>'no-advertise', 'value'=>'no-advertise', 'uiHint-fieldLabel'=>'No Advertise', 'help-string'=>'Represents well-known community value NO_ADVERTISE (0xFFFFFF02)'}, {'name'=>'no-export', 'value'=>'no-export', 'uiHint-fieldLabel'=>'No Export', 'help-string'=>'Represents well-known community value NO_EXPORT (0xFFFFFF01)'}, {'name'=>'internet', 'value'=>'internet', 'uiHint-fieldLabel'=>'Internet', 'help-string'=>'Represents well-known community value 0 (0x00)'}]}}} # Set Regular Community def member prop_get('member') end # Set Regular Community def member=(val) prop_set('member', val) end end def regular_community maybe_register_subclass('regular-community', RegularCommunity.new(parent_instance: self, client: @client, create_children: @create_children)) end class LargeCommunity < XML::ConfigClass def has_multiple_values?; true; end def _section :'large-community' end @props = {'member'=>{'node-type'=>'element', 'max-count'=>'8', 'type'=>'string', 'regex'=>'^[0-9]{1,10}:[0-9]{1,10}:[0-9]{1,10}$', 'minlen'=>'5', 'maxlen'=>'35', 'help-string'=>'Large Community in AA:BB:CC format (where AA, BB and CC are between (0-4294967295))'}} # Large Community in AA:BB:CC format (where AA, BB and CC are between (0-4294967295)) def member prop_get('member') end # Large Community in AA:BB:CC format (where AA, BB and CC are between (0-4294967295)) def member=(val) prop_set('member', val) end end def large_community maybe_register_subclass('large-community', LargeCommunity.new(parent_instance: self, client: @client, create_children: @create_children)) end class ExtendedCommunity < XML::ConfigClass def has_multiple_values?; true; end def _section :'extended-community' end @props = {'member'=>{'node-type'=>'element', 'max-count'=>'8', 'type'=>'string', 'regex'=>'^(target|origin):[0-9]{1,10}:[0-9]{1,10}$', 'minlen'=>'5', 'maxlen'=>'35', 'help-string'=>'Extended Community in TYPE:IP_ADDR:NN OR TYPE:AA:NN format (where AA and NN are between (0-65535) and TYPE is target or origin)'}} # Extended Community in TYPE:IP_ADDR:NN OR TYPE:AA:NN format (where AA and NN are between (0-65535) and TYPE is target or origin) def member prop_get('member') end # Extended Community in TYPE:IP_ADDR:NN OR TYPE:AA:NN format (where AA and NN are between (0-65535) and TYPE is target or origin) def member=(val) prop_set('member', val) end end def extended_community maybe_register_subclass('extended-community', ExtendedCommunity.new(parent_instance: self, client: @client, create_children: @create_children)) end class Ipv4 < ConfigClass def has_multiple_values?; false; end def _section :ipv4 end @props = {'source-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'128', 'help-string'=>'Set Source IPv4 Address'}, 'next-hop'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'uiHint-fieldLabel'=>'IPv4 Next-Hop', 'help-string'=>'Set IPv4 Next-Hop Address', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes'}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'name'=>'none', 'value'=>'none'}, {'name'=>'unchanged', 'value'=>'unchanged'}, {'name'=>'peer-address', 'value'=>'peer-address', 'help-string'=>'Use Peer Address'}]}}} # Set Source IPv4 Address def source_address prop_get('source-address') end # Set Source IPv4 Address def source_address=(val) prop_set('source-address', val) end # Set IPv4 Next-Hop Address def next_hop prop_get('next-hop') end # Set IPv4 Next-Hop Address def next_hop=(val) prop_set('next-hop', val) end end def ipv4 @subclasses['ipv4'] ||= Ipv4.new(parent_instance: self, client: @client, create_children: @create_children) end class Ipv6 < ConfigClass def has_multiple_values?; false; end def _section :ipv6 end @props = {'source-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'128', 'help-string'=>'Set Source IPv6 Address'}, 'next-hop'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'uiHint-fieldLabel'=>'IPv6 Next-Hop', 'help-string'=>'Set IPv6 Next-Hop Address', 'multi-types'=>{'ipspec'=>{'ipv6-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes'}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'name'=>'none', 'value'=>'none'}, {'name'=>'peer-address', 'value'=>'peer-address', 'help-string'=>'Use Peer Address'}]}}} # Set Source IPv6 Address def source_address prop_get('source-address') end # Set Source IPv6 Address def source_address=(val) prop_set('source-address', val) end # Set IPv6 Next-Hop Address def next_hop prop_get('next-hop') end # Set IPv6 Next-Hop Address def next_hop=(val) prop_set('next-hop', val) end end def ipv6 @subclasses['ipv6'] ||= Ipv6.new(parent_instance: self, client: @client, create_children: @create_children) end class AspathExclude < XML::ConfigClass def has_multiple_values?; true; end def _section :'aspath-exclude' end @props = {'member'=>{'node-type'=>'element', 'type'=>'rangedint', 'max-count'=>'16', 'min'=>'1', 'max'=>'4294967295', 'help-string'=>'Specify AS-Path'}} # Specify AS-Path def member prop_get('member') end # Specify AS-Path def member=(val) prop_set('member', val) end end def aspath_exclude maybe_register_subclass('aspath-exclude', AspathExclude.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Set Tag of route'}, 'local-preference'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Set Local Preference of route'}, 'weight'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Set BGP weight of the route'}, 'origin'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'help-string'=>'Set BGP origin', 'enum'=>[{'name'=>'none', 'value'=>'none'}, {'name'=>'egp', 'value'=>'egp', 'help-string'=>'route originated from EGP'}, {'name'=>'igp', 'value'=>'igp', 'help-string'=>'route originated from IGP'}, {'name'=>'incomplete', 'value'=>'incomplete'}]}, 'atomic-aggregate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Enable BGP atomic aggregate'}, 'originator-id'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'Set BGP Originator Id', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'ipv6-nexthop-prefer-global'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'IPv6 Nexthop Prefer Global Address', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'If enabled, IPv6 prefixes will prefer global address over link-local address'}, 'overwrite-regular-community'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Overwrite Regular Community', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'If enabled, set community will overwite existing communities, instead of appending'}, 'overwrite-large-community'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Overwrite Large Community', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'If enabled, set community will overwite existing large communities, instead of appending'}, 'remove-regular-community'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Delete Regular Community', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Remove Regular Community Name'}, 'remove-large-community'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Delete Large Community', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Remove Large Community Name'}} # Set Tag of route def tag prop_get('tag') end # Set Tag of route def tag=(val) prop_set('tag', val) end # Set Local Preference of route def local_preference prop_get('local-preference') end # Set Local Preference of route def local_preference=(val) prop_set('local-preference', val) end # Set BGP weight of the route def weight prop_get('weight') end # Set BGP weight of the route def weight=(val) prop_set('weight', val) end # Set BGP origin def origin prop_get('origin') end # Set BGP origin def origin=(val) prop_set('origin', val) end # Enable BGP atomic aggregate def atomic_aggregate prop_get('atomic-aggregate') end # Enable BGP atomic aggregate def atomic_aggregate=(val) prop_set('atomic-aggregate', val) end # Set BGP Originator Id def originator_id prop_get('originator-id') end # Set BGP Originator Id def originator_id=(val) prop_set('originator-id', val) end # If enabled, IPv6 prefixes will prefer global address over link-local address def ipv6_nexthop_prefer_global prop_get('ipv6-nexthop-prefer-global') end # If enabled, IPv6 prefixes will prefer global address over link-local address def ipv6_nexthop_prefer_global=(val) prop_set('ipv6-nexthop-prefer-global', val) end # If enabled, set community will overwite existing communities, instead of appending def overwrite_regular_community prop_get('overwrite-regular-community') end # If enabled, set community will overwite existing communities, instead of appending def overwrite_regular_community=(val) prop_set('overwrite-regular-community', val) end # If enabled, set community will overwite existing large communities, instead of appending def overwrite_large_community prop_get('overwrite-large-community') end # If enabled, set community will overwite existing large communities, instead of appending def overwrite_large_community=(val) prop_set('overwrite-large-community', val) end # Remove Regular Community Name def remove_regular_community prop_get('remove-regular-community') end # Remove Regular Community Name def remove_regular_community=(val) prop_set('remove-regular-community', val) end # Remove Large Community Name def remove_large_community prop_get('remove-large-community') end # Remove Large Community Name def remove_large_community=(val) prop_set('remove-large-community', val) end end def set @subclasses['set'] ||= Set.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Unique Sequence Number between <1-65535>'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'deny', 'optional'=>'yes', 'help-string'=>'Permit or Deny (default) Route Map', 'enum'=>[{'name'=>'deny', 'value'=>'deny', 'help-string'=>'Specify to Deny Route-Map'}, {'name'=>'permit', 'value'=>'permit', 'help-string'=>'Specify to Permit Route-Map'}]}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'optional'=>'yes', 'help-string'=>'Describe Route Map', 'regex'=>'^[ a-zA-Z0-9._-]+$'}} # Unique Sequence Number between <1-65535> def name prop_get('@name') end # Permit or Deny (default) Route Map def action prop_get('action') end # Permit or Deny (default) Route Map def action=(val) prop_set('action', val) end # Describe Route Map def description prop_get('description') end # Describe Route Map def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def route_map maybe_register_subclass('route-map', RouteMap.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'regex'=>'^[a-zA-Z0-9._-]+$', 'help-string'=>'BGP Route-Map Name - alphanumeric string [0-9a-zA-Z._-]'}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'optional'=>'yes', 'help-string'=>'Describe BGP Route Map', 'regex'=>'^[ a-zA-Z0-9._-]+$'}} # BGP Route-Map Name - alphanumeric string [0-9a-zA-Z._-] def name prop_get('@name') end # Describe BGP Route Map def description prop_get('description') end # Describe BGP Route Map def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def bgp_entry maybe_register_subclass('bgp-entry', BgpEntry.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def bgp @subclasses['bgp'] ||= Bgp.new(parent_instance: self, client: @client, create_children: @create_children) end class Redistribution < ConfigClass def has_multiple_values?; false; end def _section :redistribution end class RedistEntry < XML::ConfigClass def has_multiple_values?; true; end def _section :'redist-entry' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Bgp < ConfigClass def has_multiple_values?; false; end def _section :bgp end class Ospf < ConfigClass def has_multiple_values?; false; end def _section :ospf end class RouteMap < XML::ConfigClass def has_multiple_values?; true; end def _section :'route-map' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Match < ConfigClass def has_multiple_values?; false; end def _section :match end class Ipv4 < ConfigClass def has_multiple_values?; false; end def _section :ipv4 end class Address < ConfigClass def has_multiple_values?; false; end def _section :address end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def address @subclasses['address'] ||= Address.new(parent_instance: self, client: @client, create_children: @create_children) end class NextHop < ConfigClass def has_multiple_values?; false; end def _section :'next-hop' end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def next_hop @subclasses['next-hop'] ||= NextHop.new(parent_instance: self, client: @client, create_children: @create_children) end class RouteSource < ConfigClass def has_multiple_values?; false; end def _section :'route-source' end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def route_source @subclasses['route-source'] ||= RouteSource.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ipv4 @subclasses['ipv4'] ||= Ipv4.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'as-path-access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'AS Path Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'AS Path Access List Name'}, 'regular-community'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Regular Community', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Regular Community Name'}, 'large-community'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Large Community', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Large Community Name'}, 'extended-community'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Extended Community', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Extended Community Name'}, 'interface'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Interface', 'type'=>'string', 'maxlen'=>'64', 'optional'=>'yes', 'help-string'=>'Match Interface of the route'}, 'origin'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'help-string'=>'Match origin', 'enum'=>[{'name'=>'none', 'value'=>'none'}, {'name'=>'egp', 'value'=>'egp', 'help-string'=>'route originated from EGP'}, {'name'=>'igp', 'value'=>'igp', 'help-string'=>'route originated from IGP'}, {'name'=>'incomplete', 'value'=>'incomplete'}]}, 'metric'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Match Metric (BGP MED) of route'}, 'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Match Tag of route'}, 'local-preference'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Match Local Preference of route'}, 'peer'=>{'node-type'=>'element', 'type'=>'multiple', 'uiHint-fieldLabel'=>'Peer', 'optional'=>'yes', 'help-string'=>'Match Peer Address', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'name'=>'none', 'value'=>'none'}, {'name'=>'local', 'value'=>'local', 'help-string'=>'Static or Redistributed routes'}]}}} # AS Path Access List Name def as_path_access_list prop_get('as-path-access-list') end # AS Path Access List Name def as_path_access_list=(val) prop_set('as-path-access-list', val) end # Regular Community Name def regular_community prop_get('regular-community') end # Regular Community Name def regular_community=(val) prop_set('regular-community', val) end # Large Community Name def large_community prop_get('large-community') end # Large Community Name def large_community=(val) prop_set('large-community', val) end # Extended Community Name def extended_community prop_get('extended-community') end # Extended Community Name def extended_community=(val) prop_set('extended-community', val) end # Match Interface of the route def interface prop_get('interface') end # Match Interface of the route def interface=(val) prop_set('interface', val) end # Match origin def origin prop_get('origin') end # Match origin def origin=(val) prop_set('origin', val) end # Match Metric (BGP MED) of route def metric prop_get('metric') end # Match Metric (BGP MED) of route def metric=(val) prop_set('metric', val) end # Match Tag of route def tag prop_get('tag') end # Match Tag of route def tag=(val) prop_set('tag', val) end # Match Local Preference of route def local_preference prop_get('local-preference') end # Match Local Preference of route def local_preference=(val) prop_set('local-preference', val) end # Match Peer Address def peer prop_get('peer') end # Match Peer Address def peer=(val) prop_set('peer', val) end end def match @subclasses['match'] ||= Match.new(parent_instance: self, client: @client, create_children: @create_children) end class Set < ConfigClass def has_multiple_values?; false; end def _section :set end class Metric < ConfigClass def has_multiple_values?; false; end def _section :metric end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'uiHint-fieldLabel'=>'Metric Value', 'help-string'=>'Set Metric value of route'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'uiHint-fieldLabel'=>'Metric Action', 'help-string'=>'Set Metric action of route', 'enum'=>[{'name'=>'set', 'value'=>'set', 'help-string'=>'Set(=) metric to this value'}, {'name'=>'add', 'value'=>'add', 'help-string'=>'Increase(+) current metric'}, {'name'=>'subtract', 'value'=>'subtract', 'help-string'=>'Decrease(-) current metric'}]}} # Set Metric value of route def value prop_get('value') end # Set Metric value of route def value=(val) prop_set('value', val) end # Set Metric action of route def action prop_get('action') end # Set Metric action of route def action=(val) prop_set('action', val) end end def metric @subclasses['metric'] ||= Metric.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'metric-type'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'type-2', 'optional'=>'no', 'help-string'=>'Set Metric-Type of route', 'enum'=>[{'name'=>'type-1', 'value'=>'type-1', 'help-string'=>'External Type Metric Type-1'}, {'name'=>'type-2', 'value'=>'type-2', 'help-string'=>'External Type Metric Type-2'}]}, 'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Set Tag of route'}} # Set Metric-Type of route def metric_type prop_get('metric-type') end # Set Metric-Type of route def metric_type=(val) prop_set('metric-type', val) end # Set Tag of route def tag prop_get('tag') end # Set Tag of route def tag=(val) prop_set('tag', val) end end def set @subclasses['set'] ||= Set.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Unique Sequence Number between <1-65535>'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'deny', 'optional'=>'yes', 'help-string'=>'Permit or Deny (default) Route Map', 'enum'=>[{'name'=>'deny', 'value'=>'deny', 'help-string'=>'Specify to Deny Route-Map'}, {'name'=>'permit', 'value'=>'permit', 'help-string'=>'Specify to Permit Route-Map'}]}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'optional'=>'yes', 'help-string'=>'Describe Route Map', 'regex'=>'^[ a-zA-Z0-9._-]+$'}} # Unique Sequence Number between <1-65535> def name prop_get('@name') end # Permit or Deny (default) Route Map def action prop_get('action') end # Permit or Deny (default) Route Map def action=(val) prop_set('action', val) end # Describe Route Map def description prop_get('description') end # Describe Route Map def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def route_map maybe_register_subclass('route-map', RouteMap.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def ospf @subclasses['ospf'] ||= Ospf.new(parent_instance: self, client: @client, create_children: @create_children) end class Ospfv3 < ConfigClass def has_multiple_values?; false; end def _section :ospfv3 end class RouteMap < XML::ConfigClass def has_multiple_values?; true; end def _section :'route-map' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Match < ConfigClass def has_multiple_values?; false; end def _section :match end class Ipv6 < ConfigClass def has_multiple_values?; false; end def _section :ipv6 end class Address < ConfigClass def has_multiple_values?; false; end def _section :address end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def address @subclasses['address'] ||= Address.new(parent_instance: self, client: @client, create_children: @create_children) end class NextHop < ConfigClass def has_multiple_values?; false; end def _section :'next-hop' end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def next_hop @subclasses['next-hop'] ||= NextHop.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ipv6 @subclasses['ipv6'] ||= Ipv6.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'as-path-access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'AS Path Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'AS Path Access List Name'}, 'regular-community'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Regular Community', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Regular Community Name'}, 'large-community'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Large Community', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Large Community Name'}, 'extended-community'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Extended Community', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Extended Community Name'}, 'interface'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Interface', 'type'=>'string', 'maxlen'=>'64', 'optional'=>'yes', 'help-string'=>'Match Interface of the route'}, 'origin'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'help-string'=>'Match origin', 'enum'=>[{'name'=>'none', 'value'=>'none'}, {'name'=>'egp', 'value'=>'egp', 'help-string'=>'route originated from EGP'}, {'name'=>'igp', 'value'=>'igp', 'help-string'=>'route originated from IGP'}, {'name'=>'incomplete', 'value'=>'incomplete'}]}, 'metric'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Match Metric (BGP MED) of route'}, 'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Match Tag of route'}, 'local-preference'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Match Local Preference of route'}, 'peer'=>{'node-type'=>'element', 'type'=>'multiple', 'uiHint-fieldLabel'=>'Peer', 'optional'=>'yes', 'help-string'=>'Match Peer Address', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'name'=>'none', 'value'=>'none'}, {'name'=>'local', 'value'=>'local', 'help-string'=>'Static or Redistributed routes'}]}}} # AS Path Access List Name def as_path_access_list prop_get('as-path-access-list') end # AS Path Access List Name def as_path_access_list=(val) prop_set('as-path-access-list', val) end # Regular Community Name def regular_community prop_get('regular-community') end # Regular Community Name def regular_community=(val) prop_set('regular-community', val) end # Large Community Name def large_community prop_get('large-community') end # Large Community Name def large_community=(val) prop_set('large-community', val) end # Extended Community Name def extended_community prop_get('extended-community') end # Extended Community Name def extended_community=(val) prop_set('extended-community', val) end # Match Interface of the route def interface prop_get('interface') end # Match Interface of the route def interface=(val) prop_set('interface', val) end # Match origin def origin prop_get('origin') end # Match origin def origin=(val) prop_set('origin', val) end # Match Metric (BGP MED) of route def metric prop_get('metric') end # Match Metric (BGP MED) of route def metric=(val) prop_set('metric', val) end # Match Tag of route def tag prop_get('tag') end # Match Tag of route def tag=(val) prop_set('tag', val) end # Match Local Preference of route def local_preference prop_get('local-preference') end # Match Local Preference of route def local_preference=(val) prop_set('local-preference', val) end # Match Peer Address def peer prop_get('peer') end # Match Peer Address def peer=(val) prop_set('peer', val) end end def match @subclasses['match'] ||= Match.new(parent_instance: self, client: @client, create_children: @create_children) end class Set < ConfigClass def has_multiple_values?; false; end def _section :set end class Metric < ConfigClass def has_multiple_values?; false; end def _section :metric end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'uiHint-fieldLabel'=>'Metric Value', 'help-string'=>'Set Metric value of route'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'uiHint-fieldLabel'=>'Metric Action', 'help-string'=>'Set Metric action of route', 'enum'=>[{'name'=>'set', 'value'=>'set', 'help-string'=>'Set(=) metric to this value'}, {'name'=>'add', 'value'=>'add', 'help-string'=>'Increase(+) current metric'}, {'name'=>'subtract', 'value'=>'subtract', 'help-string'=>'Decrease(-) current metric'}]}} # Set Metric value of route def value prop_get('value') end # Set Metric value of route def value=(val) prop_set('value', val) end # Set Metric action of route def action prop_get('action') end # Set Metric action of route def action=(val) prop_set('action', val) end end def metric @subclasses['metric'] ||= Metric.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'metric-type'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'type-2', 'optional'=>'no', 'help-string'=>'Set Metric-Type of route', 'enum'=>[{'name'=>'type-1', 'value'=>'type-1', 'help-string'=>'External Type Metric Type-1'}, {'name'=>'type-2', 'value'=>'type-2', 'help-string'=>'External Type Metric Type-2'}]}, 'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Set Tag of route'}} # Set Metric-Type of route def metric_type prop_get('metric-type') end # Set Metric-Type of route def metric_type=(val) prop_set('metric-type', val) end # Set Tag of route def tag prop_get('tag') end # Set Tag of route def tag=(val) prop_set('tag', val) end end def set @subclasses['set'] ||= Set.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Unique Sequence Number between <1-65535>'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'deny', 'optional'=>'yes', 'help-string'=>'Permit or Deny (default) Route Map', 'enum'=>[{'name'=>'deny', 'value'=>'deny', 'help-string'=>'Specify to Deny Route-Map'}, {'name'=>'permit', 'value'=>'permit', 'help-string'=>'Specify to Permit Route-Map'}]}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'optional'=>'yes', 'help-string'=>'Describe Route Map', 'regex'=>'^[ a-zA-Z0-9._-]+$'}} # Unique Sequence Number between <1-65535> def name prop_get('@name') end # Permit or Deny (default) Route Map def action prop_get('action') end # Permit or Deny (default) Route Map def action=(val) prop_set('action', val) end # Describe Route Map def description prop_get('description') end # Describe Route Map def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def route_map maybe_register_subclass('route-map', RouteMap.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def ospfv3 @subclasses['ospfv3'] ||= Ospfv3.new(parent_instance: self, client: @client, create_children: @create_children) end class Rip < ConfigClass def has_multiple_values?; false; end def _section :rip end class RouteMap < XML::ConfigClass def has_multiple_values?; true; end def _section :'route-map' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Match < ConfigClass def has_multiple_values?; false; end def _section :match end class Ipv4 < ConfigClass def has_multiple_values?; false; end def _section :ipv4 end class Address < ConfigClass def has_multiple_values?; false; end def _section :address end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def address @subclasses['address'] ||= Address.new(parent_instance: self, client: @client, create_children: @create_children) end class NextHop < ConfigClass def has_multiple_values?; false; end def _section :'next-hop' end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def next_hop @subclasses['next-hop'] ||= NextHop.new(parent_instance: self, client: @client, create_children: @create_children) end class RouteSource < ConfigClass def has_multiple_values?; false; end def _section :'route-source' end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def route_source @subclasses['route-source'] ||= RouteSource.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ipv4 @subclasses['ipv4'] ||= Ipv4.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'as-path-access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'AS Path Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'AS Path Access List Name'}, 'regular-community'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Regular Community', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Regular Community Name'}, 'large-community'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Large Community', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Large Community Name'}, 'extended-community'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Extended Community', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Extended Community Name'}, 'interface'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Interface', 'type'=>'string', 'maxlen'=>'64', 'optional'=>'yes', 'help-string'=>'Match Interface of the route'}, 'origin'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'help-string'=>'Match origin', 'enum'=>[{'name'=>'none', 'value'=>'none'}, {'name'=>'egp', 'value'=>'egp', 'help-string'=>'route originated from EGP'}, {'name'=>'igp', 'value'=>'igp', 'help-string'=>'route originated from IGP'}, {'name'=>'incomplete', 'value'=>'incomplete'}]}, 'metric'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Match Metric (BGP MED) of route'}, 'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Match Tag of route'}, 'local-preference'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Match Local Preference of route'}, 'peer'=>{'node-type'=>'element', 'type'=>'multiple', 'uiHint-fieldLabel'=>'Peer', 'optional'=>'yes', 'help-string'=>'Match Peer Address', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'name'=>'none', 'value'=>'none'}, {'name'=>'local', 'value'=>'local', 'help-string'=>'Static or Redistributed routes'}]}}} # AS Path Access List Name def as_path_access_list prop_get('as-path-access-list') end # AS Path Access List Name def as_path_access_list=(val) prop_set('as-path-access-list', val) end # Regular Community Name def regular_community prop_get('regular-community') end # Regular Community Name def regular_community=(val) prop_set('regular-community', val) end # Large Community Name def large_community prop_get('large-community') end # Large Community Name def large_community=(val) prop_set('large-community', val) end # Extended Community Name def extended_community prop_get('extended-community') end # Extended Community Name def extended_community=(val) prop_set('extended-community', val) end # Match Interface of the route def interface prop_get('interface') end # Match Interface of the route def interface=(val) prop_set('interface', val) end # Match origin def origin prop_get('origin') end # Match origin def origin=(val) prop_set('origin', val) end # Match Metric (BGP MED) of route def metric prop_get('metric') end # Match Metric (BGP MED) of route def metric=(val) prop_set('metric', val) end # Match Tag of route def tag prop_get('tag') end # Match Tag of route def tag=(val) prop_set('tag', val) end # Match Local Preference of route def local_preference prop_get('local-preference') end # Match Local Preference of route def local_preference=(val) prop_set('local-preference', val) end # Match Peer Address def peer prop_get('peer') end # Match Peer Address def peer=(val) prop_set('peer', val) end end def match @subclasses['match'] ||= Match.new(parent_instance: self, client: @client, create_children: @create_children) end class Set < ConfigClass def has_multiple_values?; false; end def _section :set end class Metric < ConfigClass def has_multiple_values?; false; end def _section :metric end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'16', 'optional'=>'yes', 'uiHint-fieldLabel'=>'Metric Value', 'help-string'=>'Set Metric value of route'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'uiHint-fieldLabel'=>'Metric Action', 'help-string'=>'Set Metric action of route', 'enum'=>[{'name'=>'set', 'value'=>'set', 'help-string'=>'Set(=) metric to this value'}, {'name'=>'add', 'value'=>'add', 'help-string'=>'Increase(+) current metric'}, {'name'=>'subtract', 'value'=>'subtract', 'help-string'=>'Decrease(-) current metric'}]}} # Set Metric value of route def value prop_get('value') end # Set Metric value of route def value=(val) prop_set('value', val) end # Set Metric action of route def action prop_get('action') end # Set Metric action of route def action=(val) prop_set('action', val) end end def metric @subclasses['metric'] ||= Metric.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'next-hop'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'uiHint-fieldLabel'=>'IPv4 Next-Hop', 'help-string'=>'Set IPv4 Next-Hop Address', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes'}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'name'=>'none', 'value'=>'none'}, {'name'=>'unchanged', 'value'=>'unchanged'}]}}, 'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Set Tag of route'}} # Set IPv4 Next-Hop Address def next_hop prop_get('next-hop') end # Set IPv4 Next-Hop Address def next_hop=(val) prop_set('next-hop', val) end # Set Tag of route def tag prop_get('tag') end # Set Tag of route def tag=(val) prop_set('tag', val) end end def set @subclasses['set'] ||= Set.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Unique Sequence Number between <1-65535>'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'deny', 'optional'=>'yes', 'help-string'=>'Permit or Deny (default) Route Map', 'enum'=>[{'name'=>'deny', 'value'=>'deny', 'help-string'=>'Specify to Deny Route-Map'}, {'name'=>'permit', 'value'=>'permit', 'help-string'=>'Specify to Permit Route-Map'}]}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'optional'=>'yes', 'help-string'=>'Describe Route Map', 'regex'=>'^[ a-zA-Z0-9._-]+$'}} # Unique Sequence Number between <1-65535> def name prop_get('@name') end # Permit or Deny (default) Route Map def action prop_get('action') end # Permit or Deny (default) Route Map def action=(val) prop_set('action', val) end # Describe Route Map def description prop_get('description') end # Describe Route Map def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def route_map maybe_register_subclass('route-map', RouteMap.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def rip @subclasses['rip'] ||= Rip.new(parent_instance: self, client: @client, create_children: @create_children) end class Rib < ConfigClass def has_multiple_values?; false; end def _section :rib end class RouteMap < XML::ConfigClass def has_multiple_values?; true; end def _section :'route-map' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Match < ConfigClass def has_multiple_values?; false; end def _section :match end class Ipv4 < ConfigClass def has_multiple_values?; false; end def _section :ipv4 end class Address < ConfigClass def has_multiple_values?; false; end def _section :address end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def address @subclasses['address'] ||= Address.new(parent_instance: self, client: @client, create_children: @create_children) end class NextHop < ConfigClass def has_multiple_values?; false; end def _section :'next-hop' end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def next_hop @subclasses['next-hop'] ||= NextHop.new(parent_instance: self, client: @client, create_children: @create_children) end class RouteSource < ConfigClass def has_multiple_values?; false; end def _section :'route-source' end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def route_source @subclasses['route-source'] ||= RouteSource.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ipv4 @subclasses['ipv4'] ||= Ipv4.new(parent_instance: self, client: @client, create_children: @create_children) end class Ipv6 < ConfigClass def has_multiple_values?; false; end def _section :ipv6 end class Address < ConfigClass def has_multiple_values?; false; end def _section :address end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def address @subclasses['address'] ||= Address.new(parent_instance: self, client: @client, create_children: @create_children) end class NextHop < ConfigClass def has_multiple_values?; false; end def _section :'next-hop' end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def next_hop @subclasses['next-hop'] ||= NextHop.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ipv6 @subclasses['ipv6'] ||= Ipv6.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'as-path-access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'AS Path Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'AS Path Access List Name'}, 'regular-community'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Regular Community', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Regular Community Name'}, 'large-community'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Large Community', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Large Community Name'}, 'extended-community'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Extended Community', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Extended Community Name'}, 'interface'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Interface', 'type'=>'string', 'maxlen'=>'64', 'optional'=>'yes', 'help-string'=>'Match Interface of the route'}, 'origin'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'help-string'=>'Match origin', 'enum'=>[{'name'=>'none', 'value'=>'none'}, {'name'=>'egp', 'value'=>'egp', 'help-string'=>'route originated from EGP'}, {'name'=>'igp', 'value'=>'igp', 'help-string'=>'route originated from IGP'}, {'name'=>'incomplete', 'value'=>'incomplete'}]}, 'metric'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Match Metric (BGP MED) of route'}, 'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Match Tag of route'}, 'local-preference'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Match Local Preference of route'}, 'peer'=>{'node-type'=>'element', 'type'=>'multiple', 'uiHint-fieldLabel'=>'Peer', 'optional'=>'yes', 'help-string'=>'Match Peer Address', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'name'=>'none', 'value'=>'none'}, {'name'=>'local', 'value'=>'local', 'help-string'=>'Static or Redistributed routes'}]}}} # AS Path Access List Name def as_path_access_list prop_get('as-path-access-list') end # AS Path Access List Name def as_path_access_list=(val) prop_set('as-path-access-list', val) end # Regular Community Name def regular_community prop_get('regular-community') end # Regular Community Name def regular_community=(val) prop_set('regular-community', val) end # Large Community Name def large_community prop_get('large-community') end # Large Community Name def large_community=(val) prop_set('large-community', val) end # Extended Community Name def extended_community prop_get('extended-community') end # Extended Community Name def extended_community=(val) prop_set('extended-community', val) end # Match Interface of the route def interface prop_get('interface') end # Match Interface of the route def interface=(val) prop_set('interface', val) end # Match origin def origin prop_get('origin') end # Match origin def origin=(val) prop_set('origin', val) end # Match Metric (BGP MED) of route def metric prop_get('metric') end # Match Metric (BGP MED) of route def metric=(val) prop_set('metric', val) end # Match Tag of route def tag prop_get('tag') end # Match Tag of route def tag=(val) prop_set('tag', val) end # Match Local Preference of route def local_preference prop_get('local-preference') end # Match Local Preference of route def local_preference=(val) prop_set('local-preference', val) end # Match Peer Address def peer prop_get('peer') end # Match Peer Address def peer=(val) prop_set('peer', val) end end def match @subclasses['match'] ||= Match.new(parent_instance: self, client: @client, create_children: @create_children) end class Set < ConfigClass def has_multiple_values?; false; end def _section :set end @props = {'source-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'128', 'help-string'=>'Set Source IPv4 or IPv6 address'}} # Set Source IPv4 or IPv6 address def source_address prop_get('source-address') end # Set Source IPv4 or IPv6 address def source_address=(val) prop_set('source-address', val) end end def set @subclasses['set'] ||= Set.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Unique Sequence Number between <1-65535>'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'deny', 'optional'=>'yes', 'help-string'=>'Permit or Deny (default) Route Map', 'enum'=>[{'name'=>'deny', 'value'=>'deny', 'help-string'=>'Specify to Deny Route-Map'}, {'name'=>'permit', 'value'=>'permit', 'help-string'=>'Specify to Permit Route-Map'}]}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'optional'=>'yes', 'help-string'=>'Describe Route Map', 'regex'=>'^[ a-zA-Z0-9._-]+$'}} # Unique Sequence Number between <1-65535> def name prop_get('@name') end # Permit or Deny (default) Route Map def action prop_get('action') end # Permit or Deny (default) Route Map def action=(val) prop_set('action', val) end # Describe Route Map def description prop_get('description') end # Describe Route Map def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def route_map maybe_register_subclass('route-map', RouteMap.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def rib @subclasses['rib'] ||= Rib.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def bgp @subclasses['bgp'] ||= Bgp.new(parent_instance: self, client: @client, create_children: @create_children) end class Ospf < ConfigClass def has_multiple_values?; false; end def _section :ospf end class Bgp < ConfigClass def has_multiple_values?; false; end def _section :bgp end class RouteMap < XML::ConfigClass def has_multiple_values?; true; end def _section :'route-map' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Match < ConfigClass def has_multiple_values?; false; end def _section :match end class Address < ConfigClass def has_multiple_values?; false; end def _section :address end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def address @subclasses['address'] ||= Address.new(parent_instance: self, client: @client, create_children: @create_children) end class NextHop < ConfigClass def has_multiple_values?; false; end def _section :'next-hop' end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def next_hop @subclasses['next-hop'] ||= NextHop.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'interface'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Interface', 'type'=>'string', 'maxlen'=>'64', 'optional'=>'yes', 'help-string'=>'Match Interface of the route'}, 'metric'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Match Metric of route'}, 'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Match Tag of route'}} # Match Interface of the route def interface prop_get('interface') end # Match Interface of the route def interface=(val) prop_set('interface', val) end # Match Metric of route def metric prop_get('metric') end # Match Metric of route def metric=(val) prop_set('metric', val) end # Match Tag of route def tag prop_get('tag') end # Match Tag of route def tag=(val) prop_set('tag', val) end end def match @subclasses['match'] ||= Match.new(parent_instance: self, client: @client, create_children: @create_children) end class Set < ConfigClass def has_multiple_values?; false; end def _section :set end class Aggregator < ConfigClass def has_multiple_values?; false; end def _section :aggregator end @props = {'as'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Aggregator AS', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'help-string'=>'Set BGP Aggregator AS <1-4294967295>'}, 'router-id'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Router ID', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'Set BGP Aggregator Router ID', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # Set BGP Aggregator AS <1-4294967295> def as prop_get('as') end # Set BGP Aggregator AS <1-4294967295> def as=(val) prop_set('as', val) end # Set BGP Aggregator Router ID def router_id prop_get('router-id') end # Set BGP Aggregator Router ID def router_id=(val) prop_set('router-id', val) end end def aggregator @subclasses['aggregator'] ||= Aggregator.new(parent_instance: self, client: @client, create_children: @create_children) end class Metric < ConfigClass def has_multiple_values?; false; end def _section :metric end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'uiHint-fieldLabel'=>'Metric Value', 'help-string'=>'Set Metric value (BGP MED) of route'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'uiHint-fieldLabel'=>'Metric Action', 'help-string'=>'Set Metric action (BGP MED) of route', 'enum'=>[{'name'=>'set', 'value'=>'set', 'help-string'=>'Set(=) metric to this value'}, {'name'=>'add', 'value'=>'add', 'help-string'=>'Increase(+) current metric'}, {'name'=>'subtract', 'value'=>'subtract', 'help-string'=>'Decrease(-) current metric'}]}} # Set Metric value (BGP MED) of route def value prop_get('value') end # Set Metric value (BGP MED) of route def value=(val) prop_set('value', val) end # Set Metric action (BGP MED) of route def action prop_get('action') end # Set Metric action (BGP MED) of route def action=(val) prop_set('action', val) end end def metric @subclasses['metric'] ||= Metric.new(parent_instance: self, client: @client, create_children: @create_children) end class AspathPrepend < XML::ConfigClass def has_multiple_values?; true; end def _section :'aspath-prepend' end @props = {'member'=>{'node-type'=>'element', 'type'=>'rangedint', 'max-count'=>'16', 'min'=>'1', 'max'=>'4294967295', 'help-string'=>'Specify AS-Path'}} # Specify AS-Path def member prop_get('member') end # Specify AS-Path def member=(val) prop_set('member', val) end end def aspath_prepend maybe_register_subclass('aspath-prepend', AspathPrepend.new(parent_instance: self, client: @client, create_children: @create_children)) end class RegularCommunity < XML::ConfigClass def has_multiple_values?; true; end def _section :'regular-community' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Set Regular Community', 'max-count'=>'16', 'multi-types'=>{'string'=>{'regex'=>'^[0-9]+:[0-9]+$', 'minlen'=>'3', 'maxlen'=>'11', 'uiHint-fieldLabel'=>'Regex', 'help-string'=>'Community Number in AA:NN format (where AA and NN are between (0-65535))'}, 'enum'=>[{'name'=>'none', 'value'=>'none', 'uiHint-fieldLabel'=>'None'}, {'name'=>'blackhole', 'value'=>'blackhole', 'uiHint-fieldLabel'=>'Blackhole', 'help-string'=>'Represents well-known community value BLACKHOLE (0xFFFF029A)'}, {'name'=>'no-peer', 'value'=>'no-peer', 'uiHint-fieldLabel'=>'No Peer', 'help-string'=>'Represents well-known community value NOPEER (0xFFFFFF04)'}, {'name'=>'graceful-shutdown', 'value'=>'graceful-shutdown', 'uiHint-fieldLabel'=>'Graceful Shutdown', 'help-string'=>'Represents well-known community value GRACEFUL_SHUTDOWN (0xFFFF0000)'}, {'name'=>'accept-own', 'value'=>'accept-own', 'uiHint-fieldLabel'=>'Accept Own', 'help-string'=>'Represents well-known community value ACCEPT_OWN (0xFFFF0001)'}, {'name'=>'local-as', 'value'=>'local-as', 'uiHint-fieldLabel'=>'Local AS', 'help-string'=>'Represents well-known community value NO_EXPORT_SUBCONFED (0xFFFFFF03)'}, {'name'=>'route-filter-v4', 'value'=>'route-filter-v4', 'uiHint-fieldLabel'=>'Route Filter-v4', 'help-string'=>'Represents well-known community value ROUTE_FILTER_v4 (0xFFFF0003)'}, {'name'=>'route-filter-v6', 'value'=>'route-filter-v6', 'uiHint-fieldLabel'=>'Route Filter-v6', 'help-string'=>'Represents well-known community value ROUTE_FILTER_v6 (0xFFFF0005)'}, {'name'=>'no-advertise', 'value'=>'no-advertise', 'uiHint-fieldLabel'=>'No Advertise', 'help-string'=>'Represents well-known community value NO_ADVERTISE (0xFFFFFF02)'}, {'name'=>'no-export', 'value'=>'no-export', 'uiHint-fieldLabel'=>'No Export', 'help-string'=>'Represents well-known community value NO_EXPORT (0xFFFFFF01)'}, {'name'=>'internet', 'value'=>'internet', 'uiHint-fieldLabel'=>'Internet', 'help-string'=>'Represents well-known community value 0 (0x00)'}]}}} # Set Regular Community def member prop_get('member') end # Set Regular Community def member=(val) prop_set('member', val) end end def regular_community maybe_register_subclass('regular-community', RegularCommunity.new(parent_instance: self, client: @client, create_children: @create_children)) end class LargeCommunity < XML::ConfigClass def has_multiple_values?; true; end def _section :'large-community' end @props = {'member'=>{'node-type'=>'element', 'max-count'=>'8', 'type'=>'string', 'regex'=>'^[0-9]{1,10}:[0-9]{1,10}:[0-9]{1,10}$', 'minlen'=>'5', 'maxlen'=>'35', 'help-string'=>'Large Community in AA:BB:CC format (where AA, BB and CC are between (0-4294967295))'}} # Large Community in AA:BB:CC format (where AA, BB and CC are between (0-4294967295)) def member prop_get('member') end # Large Community in AA:BB:CC format (where AA, BB and CC are between (0-4294967295)) def member=(val) prop_set('member', val) end end def large_community maybe_register_subclass('large-community', LargeCommunity.new(parent_instance: self, client: @client, create_children: @create_children)) end class ExtendedCommunity < XML::ConfigClass def has_multiple_values?; true; end def _section :'extended-community' end @props = {'member'=>{'node-type'=>'element', 'max-count'=>'8', 'type'=>'string', 'regex'=>'^(target|origin):[0-9]{1,10}:[0-9]{1,10}$', 'minlen'=>'5', 'maxlen'=>'35', 'help-string'=>'Extended Community in TYPE:IP_ADDR:NN OR TYPE:AA:NN format (where AA and NN are between (0-65535) and TYPE is target or origin)'}} # Extended Community in TYPE:IP_ADDR:NN OR TYPE:AA:NN format (where AA and NN are between (0-65535) and TYPE is target or origin) def member prop_get('member') end # Extended Community in TYPE:IP_ADDR:NN OR TYPE:AA:NN format (where AA and NN are between (0-65535) and TYPE is target or origin) def member=(val) prop_set('member', val) end end def extended_community maybe_register_subclass('extended-community', ExtendedCommunity.new(parent_instance: self, client: @client, create_children: @create_children)) end class Ipv4 < ConfigClass def has_multiple_values?; false; end def _section :ipv4 end @props = {'source-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'128', 'help-string'=>'Set Source IPv4 Address'}, 'next-hop'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'uiHint-fieldLabel'=>'IPv4 Next-Hop', 'help-string'=>'Set IPv4 Next-Hop Address', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes'}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'name'=>'none', 'value'=>'none'}, {'name'=>'unchanged', 'value'=>'unchanged'}, {'name'=>'peer-address', 'value'=>'peer-address', 'help-string'=>'Use Peer Address'}]}}} # Set Source IPv4 Address def source_address prop_get('source-address') end # Set Source IPv4 Address def source_address=(val) prop_set('source-address', val) end # Set IPv4 Next-Hop Address def next_hop prop_get('next-hop') end # Set IPv4 Next-Hop Address def next_hop=(val) prop_set('next-hop', val) end end def ipv4 @subclasses['ipv4'] ||= Ipv4.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Set Tag of route'}, 'local-preference'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Set Local Preference of route'}, 'weight'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Set BGP weight of the route'}, 'origin'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'help-string'=>'Set BGP origin', 'enum'=>[{'name'=>'none', 'value'=>'none'}, {'name'=>'egp', 'value'=>'egp', 'help-string'=>'route originated from EGP'}, {'name'=>'igp', 'value'=>'igp', 'help-string'=>'route originated from IGP'}, {'name'=>'incomplete', 'value'=>'incomplete'}]}, 'atomic-aggregate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Enable BGP atomic aggregate'}, 'originator-id'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'Set BGP Originator Id', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # Set Tag of route def tag prop_get('tag') end # Set Tag of route def tag=(val) prop_set('tag', val) end # Set Local Preference of route def local_preference prop_get('local-preference') end # Set Local Preference of route def local_preference=(val) prop_set('local-preference', val) end # Set BGP weight of the route def weight prop_get('weight') end # Set BGP weight of the route def weight=(val) prop_set('weight', val) end # Set BGP origin def origin prop_get('origin') end # Set BGP origin def origin=(val) prop_set('origin', val) end # Enable BGP atomic aggregate def atomic_aggregate prop_get('atomic-aggregate') end # Enable BGP atomic aggregate def atomic_aggregate=(val) prop_set('atomic-aggregate', val) end # Set BGP Originator Id def originator_id prop_get('originator-id') end # Set BGP Originator Id def originator_id=(val) prop_set('originator-id', val) end end def set @subclasses['set'] ||= Set.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Unique Sequence Number between <1-65535>'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'deny', 'optional'=>'yes', 'help-string'=>'Permit or Deny (default) Route Map', 'enum'=>[{'name'=>'deny', 'value'=>'deny', 'help-string'=>'Specify to Deny Route-Map'}, {'name'=>'permit', 'value'=>'permit', 'help-string'=>'Specify to Permit Route-Map'}]}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'optional'=>'yes', 'help-string'=>'Describe Route Map', 'regex'=>'^[ a-zA-Z0-9._-]+$'}} # Unique Sequence Number between <1-65535> def name prop_get('@name') end # Permit or Deny (default) Route Map def action prop_get('action') end # Permit or Deny (default) Route Map def action=(val) prop_set('action', val) end # Describe Route Map def description prop_get('description') end # Describe Route Map def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def route_map maybe_register_subclass('route-map', RouteMap.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def bgp @subclasses['bgp'] ||= Bgp.new(parent_instance: self, client: @client, create_children: @create_children) end class Rip < ConfigClass def has_multiple_values?; false; end def _section :rip end class RouteMap < XML::ConfigClass def has_multiple_values?; true; end def _section :'route-map' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Match < ConfigClass def has_multiple_values?; false; end def _section :match end class Address < ConfigClass def has_multiple_values?; false; end def _section :address end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def address @subclasses['address'] ||= Address.new(parent_instance: self, client: @client, create_children: @create_children) end class NextHop < ConfigClass def has_multiple_values?; false; end def _section :'next-hop' end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def next_hop @subclasses['next-hop'] ||= NextHop.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'interface'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Interface', 'type'=>'string', 'maxlen'=>'64', 'optional'=>'yes', 'help-string'=>'Match Interface of the route'}, 'metric'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Match Metric of route'}, 'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Match Tag of route'}} # Match Interface of the route def interface prop_get('interface') end # Match Interface of the route def interface=(val) prop_set('interface', val) end # Match Metric of route def metric prop_get('metric') end # Match Metric of route def metric=(val) prop_set('metric', val) end # Match Tag of route def tag prop_get('tag') end # Match Tag of route def tag=(val) prop_set('tag', val) end end def match @subclasses['match'] ||= Match.new(parent_instance: self, client: @client, create_children: @create_children) end class Set < ConfigClass def has_multiple_values?; false; end def _section :set end class Metric < ConfigClass def has_multiple_values?; false; end def _section :metric end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'16', 'optional'=>'yes', 'uiHint-fieldLabel'=>'Metric Value', 'help-string'=>'Set Metric value of route'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'uiHint-fieldLabel'=>'Metric Action', 'help-string'=>'Set Metric action of route', 'enum'=>[{'name'=>'set', 'value'=>'set', 'help-string'=>'Set(=) metric to this value'}, {'name'=>'add', 'value'=>'add', 'help-string'=>'Increase(+) current metric'}, {'name'=>'subtract', 'value'=>'subtract', 'help-string'=>'Decrease(-) current metric'}]}} # Set Metric value of route def value prop_get('value') end # Set Metric value of route def value=(val) prop_set('value', val) end # Set Metric action of route def action prop_get('action') end # Set Metric action of route def action=(val) prop_set('action', val) end end def metric @subclasses['metric'] ||= Metric.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'next-hop'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'uiHint-fieldLabel'=>'IPv4 Next-Hop', 'help-string'=>'Set IPv4 Next-Hop Address', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes'}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'name'=>'none', 'value'=>'none'}, {'name'=>'unchanged', 'value'=>'unchanged'}]}}, 'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Set Tag of route'}} # Set IPv4 Next-Hop Address def next_hop prop_get('next-hop') end # Set IPv4 Next-Hop Address def next_hop=(val) prop_set('next-hop', val) end # Set Tag of route def tag prop_get('tag') end # Set Tag of route def tag=(val) prop_set('tag', val) end end def set @subclasses['set'] ||= Set.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Unique Sequence Number between <1-65535>'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'deny', 'optional'=>'yes', 'help-string'=>'Permit or Deny (default) Route Map', 'enum'=>[{'name'=>'deny', 'value'=>'deny', 'help-string'=>'Specify to Deny Route-Map'}, {'name'=>'permit', 'value'=>'permit', 'help-string'=>'Specify to Permit Route-Map'}]}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'optional'=>'yes', 'help-string'=>'Describe Route Map', 'regex'=>'^[ a-zA-Z0-9._-]+$'}} # Unique Sequence Number between <1-65535> def name prop_get('@name') end # Permit or Deny (default) Route Map def action prop_get('action') end # Permit or Deny (default) Route Map def action=(val) prop_set('action', val) end # Describe Route Map def description prop_get('description') end # Describe Route Map def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def route_map maybe_register_subclass('route-map', RouteMap.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def rip @subclasses['rip'] ||= Rip.new(parent_instance: self, client: @client, create_children: @create_children) end class Rib < ConfigClass def has_multiple_values?; false; end def _section :rib end class RouteMap < XML::ConfigClass def has_multiple_values?; true; end def _section :'route-map' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Match < ConfigClass def has_multiple_values?; false; end def _section :match end class Address < ConfigClass def has_multiple_values?; false; end def _section :address end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def address @subclasses['address'] ||= Address.new(parent_instance: self, client: @client, create_children: @create_children) end class NextHop < ConfigClass def has_multiple_values?; false; end def _section :'next-hop' end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def next_hop @subclasses['next-hop'] ||= NextHop.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'interface'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Interface', 'type'=>'string', 'maxlen'=>'64', 'optional'=>'yes', 'help-string'=>'Match Interface of the route'}, 'metric'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Match Metric of route'}, 'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Match Tag of route'}} # Match Interface of the route def interface prop_get('interface') end # Match Interface of the route def interface=(val) prop_set('interface', val) end # Match Metric of route def metric prop_get('metric') end # Match Metric of route def metric=(val) prop_set('metric', val) end # Match Tag of route def tag prop_get('tag') end # Match Tag of route def tag=(val) prop_set('tag', val) end end def match @subclasses['match'] ||= Match.new(parent_instance: self, client: @client, create_children: @create_children) end class Set < ConfigClass def has_multiple_values?; false; end def _section :set end @props = {'source-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'128', 'help-string'=>'Set Source IPv4 or IPv6 address'}} # Set Source IPv4 or IPv6 address def source_address prop_get('source-address') end # Set Source IPv4 or IPv6 address def source_address=(val) prop_set('source-address', val) end end def set @subclasses['set'] ||= Set.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Unique Sequence Number between <1-65535>'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'deny', 'optional'=>'yes', 'help-string'=>'Permit or Deny (default) Route Map', 'enum'=>[{'name'=>'deny', 'value'=>'deny', 'help-string'=>'Specify to Deny Route-Map'}, {'name'=>'permit', 'value'=>'permit', 'help-string'=>'Specify to Permit Route-Map'}]}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'optional'=>'yes', 'help-string'=>'Describe Route Map', 'regex'=>'^[ a-zA-Z0-9._-]+$'}} # Unique Sequence Number between <1-65535> def name prop_get('@name') end # Permit or Deny (default) Route Map def action prop_get('action') end # Permit or Deny (default) Route Map def action=(val) prop_set('action', val) end # Describe Route Map def description prop_get('description') end # Describe Route Map def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def route_map maybe_register_subclass('route-map', RouteMap.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def rib @subclasses['rib'] ||= Rib.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ospf @subclasses['ospf'] ||= Ospf.new(parent_instance: self, client: @client, create_children: @create_children) end class Ospfv3 < ConfigClass def has_multiple_values?; false; end def _section :ospfv3 end class Bgp < ConfigClass def has_multiple_values?; false; end def _section :bgp end class RouteMap < XML::ConfigClass def has_multiple_values?; true; end def _section :'route-map' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Match < ConfigClass def has_multiple_values?; false; end def _section :match end class Address < ConfigClass def has_multiple_values?; false; end def _section :address end @props = {'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}, 'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}} # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end end def address @subclasses['address'] ||= Address.new(parent_instance: self, client: @client, create_children: @create_children) end class NextHop < ConfigClass def has_multiple_values?; false; end def _section :'next-hop' end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def next_hop @subclasses['next-hop'] ||= NextHop.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'interface'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Interface', 'type'=>'string', 'maxlen'=>'64', 'optional'=>'yes', 'help-string'=>'Match Interface of the route'}, 'metric'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Match Metric of route'}, 'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Match Tag of route'}} # Match Interface of the route def interface prop_get('interface') end # Match Interface of the route def interface=(val) prop_set('interface', val) end # Match Metric of route def metric prop_get('metric') end # Match Metric of route def metric=(val) prop_set('metric', val) end # Match Tag of route def tag prop_get('tag') end # Match Tag of route def tag=(val) prop_set('tag', val) end end def match @subclasses['match'] ||= Match.new(parent_instance: self, client: @client, create_children: @create_children) end class Set < ConfigClass def has_multiple_values?; false; end def _section :set end class Aggregator < ConfigClass def has_multiple_values?; false; end def _section :aggregator end @props = {'as'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Aggregator AS', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'help-string'=>'Set BGP Aggregator AS <1-4294967295>'}, 'router-id'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Router ID', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'Set BGP Aggregator Router ID', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # Set BGP Aggregator AS <1-4294967295> def as prop_get('as') end # Set BGP Aggregator AS <1-4294967295> def as=(val) prop_set('as', val) end # Set BGP Aggregator Router ID def router_id prop_get('router-id') end # Set BGP Aggregator Router ID def router_id=(val) prop_set('router-id', val) end end def aggregator @subclasses['aggregator'] ||= Aggregator.new(parent_instance: self, client: @client, create_children: @create_children) end class Metric < ConfigClass def has_multiple_values?; false; end def _section :metric end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'uiHint-fieldLabel'=>'Metric Value', 'help-string'=>'Set Metric value (BGP MED) of route'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'uiHint-fieldLabel'=>'Metric Action', 'help-string'=>'Set Metric action (BGP MED) of route', 'enum'=>[{'name'=>'set', 'value'=>'set', 'help-string'=>'Set(=) metric to this value'}, {'name'=>'add', 'value'=>'add', 'help-string'=>'Increase(+) current metric'}, {'name'=>'subtract', 'value'=>'subtract', 'help-string'=>'Decrease(-) current metric'}]}} # Set Metric value (BGP MED) of route def value prop_get('value') end # Set Metric value (BGP MED) of route def value=(val) prop_set('value', val) end # Set Metric action (BGP MED) of route def action prop_get('action') end # Set Metric action (BGP MED) of route def action=(val) prop_set('action', val) end end def metric @subclasses['metric'] ||= Metric.new(parent_instance: self, client: @client, create_children: @create_children) end class AspathPrepend < XML::ConfigClass def has_multiple_values?; true; end def _section :'aspath-prepend' end @props = {'member'=>{'node-type'=>'element', 'type'=>'rangedint', 'max-count'=>'16', 'min'=>'1', 'max'=>'4294967295', 'help-string'=>'Specify AS-Path'}} # Specify AS-Path def member prop_get('member') end # Specify AS-Path def member=(val) prop_set('member', val) end end def aspath_prepend maybe_register_subclass('aspath-prepend', AspathPrepend.new(parent_instance: self, client: @client, create_children: @create_children)) end class RegularCommunity < XML::ConfigClass def has_multiple_values?; true; end def _section :'regular-community' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Set Regular Community', 'max-count'=>'16', 'multi-types'=>{'string'=>{'regex'=>'^[0-9]+:[0-9]+$', 'minlen'=>'3', 'maxlen'=>'11', 'uiHint-fieldLabel'=>'Regex', 'help-string'=>'Community Number in AA:NN format (where AA and NN are between (0-65535))'}, 'enum'=>[{'name'=>'none', 'value'=>'none', 'uiHint-fieldLabel'=>'None'}, {'name'=>'blackhole', 'value'=>'blackhole', 'uiHint-fieldLabel'=>'Blackhole', 'help-string'=>'Represents well-known community value BLACKHOLE (0xFFFF029A)'}, {'name'=>'no-peer', 'value'=>'no-peer', 'uiHint-fieldLabel'=>'No Peer', 'help-string'=>'Represents well-known community value NOPEER (0xFFFFFF04)'}, {'name'=>'graceful-shutdown', 'value'=>'graceful-shutdown', 'uiHint-fieldLabel'=>'Graceful Shutdown', 'help-string'=>'Represents well-known community value GRACEFUL_SHUTDOWN (0xFFFF0000)'}, {'name'=>'accept-own', 'value'=>'accept-own', 'uiHint-fieldLabel'=>'Accept Own', 'help-string'=>'Represents well-known community value ACCEPT_OWN (0xFFFF0001)'}, {'name'=>'local-as', 'value'=>'local-as', 'uiHint-fieldLabel'=>'Local AS', 'help-string'=>'Represents well-known community value NO_EXPORT_SUBCONFED (0xFFFFFF03)'}, {'name'=>'route-filter-v4', 'value'=>'route-filter-v4', 'uiHint-fieldLabel'=>'Route Filter-v4', 'help-string'=>'Represents well-known community value ROUTE_FILTER_v4 (0xFFFF0003)'}, {'name'=>'route-filter-v6', 'value'=>'route-filter-v6', 'uiHint-fieldLabel'=>'Route Filter-v6', 'help-string'=>'Represents well-known community value ROUTE_FILTER_v6 (0xFFFF0005)'}, {'name'=>'no-advertise', 'value'=>'no-advertise', 'uiHint-fieldLabel'=>'No Advertise', 'help-string'=>'Represents well-known community value NO_ADVERTISE (0xFFFFFF02)'}, {'name'=>'no-export', 'value'=>'no-export', 'uiHint-fieldLabel'=>'No Export', 'help-string'=>'Represents well-known community value NO_EXPORT (0xFFFFFF01)'}, {'name'=>'internet', 'value'=>'internet', 'uiHint-fieldLabel'=>'Internet', 'help-string'=>'Represents well-known community value 0 (0x00)'}]}}} # Set Regular Community def member prop_get('member') end # Set Regular Community def member=(val) prop_set('member', val) end end def regular_community maybe_register_subclass('regular-community', RegularCommunity.new(parent_instance: self, client: @client, create_children: @create_children)) end class LargeCommunity < XML::ConfigClass def has_multiple_values?; true; end def _section :'large-community' end @props = {'member'=>{'node-type'=>'element', 'max-count'=>'8', 'type'=>'string', 'regex'=>'^[0-9]{1,10}:[0-9]{1,10}:[0-9]{1,10}$', 'minlen'=>'5', 'maxlen'=>'35', 'help-string'=>'Large Community in AA:BB:CC format (where AA, BB and CC are between (0-4294967295))'}} # Large Community in AA:BB:CC format (where AA, BB and CC are between (0-4294967295)) def member prop_get('member') end # Large Community in AA:BB:CC format (where AA, BB and CC are between (0-4294967295)) def member=(val) prop_set('member', val) end end def large_community maybe_register_subclass('large-community', LargeCommunity.new(parent_instance: self, client: @client, create_children: @create_children)) end class ExtendedCommunity < XML::ConfigClass def has_multiple_values?; true; end def _section :'extended-community' end @props = {'member'=>{'node-type'=>'element', 'max-count'=>'8', 'type'=>'string', 'regex'=>'^(target|origin):[0-9]{1,10}:[0-9]{1,10}$', 'minlen'=>'5', 'maxlen'=>'35', 'help-string'=>'Extended Community in TYPE:IP_ADDR:NN OR TYPE:AA:NN format (where AA and NN are between (0-65535) and TYPE is target or origin)'}} # Extended Community in TYPE:IP_ADDR:NN OR TYPE:AA:NN format (where AA and NN are between (0-65535) and TYPE is target or origin) def member prop_get('member') end # Extended Community in TYPE:IP_ADDR:NN OR TYPE:AA:NN format (where AA and NN are between (0-65535) and TYPE is target or origin) def member=(val) prop_set('member', val) end end def extended_community maybe_register_subclass('extended-community', ExtendedCommunity.new(parent_instance: self, client: @client, create_children: @create_children)) end class Ipv6 < ConfigClass def has_multiple_values?; false; end def _section :ipv6 end @props = {'source-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'128', 'help-string'=>'Set Source IPv6 Address'}, 'next-hop'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'uiHint-fieldLabel'=>'IPv6 Next-Hop', 'help-string'=>'Set IPv6 Next-Hop Address', 'multi-types'=>{'ipspec'=>{'ipv6-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes'}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'name'=>'none', 'value'=>'none'}, {'name'=>'peer-address', 'value'=>'peer-address', 'help-string'=>'Use Peer Address'}]}}} # Set Source IPv6 Address def source_address prop_get('source-address') end # Set Source IPv6 Address def source_address=(val) prop_set('source-address', val) end # Set IPv6 Next-Hop Address def next_hop prop_get('next-hop') end # Set IPv6 Next-Hop Address def next_hop=(val) prop_set('next-hop', val) end end def ipv6 @subclasses['ipv6'] ||= Ipv6.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Set Tag of route'}, 'local-preference'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Set Local Preference of route'}, 'weight'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Set BGP weight of the route'}, 'origin'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'help-string'=>'Set BGP origin', 'enum'=>[{'name'=>'none', 'value'=>'none'}, {'name'=>'egp', 'value'=>'egp', 'help-string'=>'route originated from EGP'}, {'name'=>'igp', 'value'=>'igp', 'help-string'=>'route originated from IGP'}, {'name'=>'incomplete', 'value'=>'incomplete'}]}, 'atomic-aggregate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Enable BGP atomic aggregate'}, 'originator-id'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'Set BGP Originator Id', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # Set Tag of route def tag prop_get('tag') end # Set Tag of route def tag=(val) prop_set('tag', val) end # Set Local Preference of route def local_preference prop_get('local-preference') end # Set Local Preference of route def local_preference=(val) prop_set('local-preference', val) end # Set BGP weight of the route def weight prop_get('weight') end # Set BGP weight of the route def weight=(val) prop_set('weight', val) end # Set BGP origin def origin prop_get('origin') end # Set BGP origin def origin=(val) prop_set('origin', val) end # Enable BGP atomic aggregate def atomic_aggregate prop_get('atomic-aggregate') end # Enable BGP atomic aggregate def atomic_aggregate=(val) prop_set('atomic-aggregate', val) end # Set BGP Originator Id def originator_id prop_get('originator-id') end # Set BGP Originator Id def originator_id=(val) prop_set('originator-id', val) end end def set @subclasses['set'] ||= Set.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Unique Sequence Number between <1-65535>'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'deny', 'optional'=>'yes', 'help-string'=>'Permit or Deny (default) Route Map', 'enum'=>[{'name'=>'deny', 'value'=>'deny', 'help-string'=>'Specify to Deny Route-Map'}, {'name'=>'permit', 'value'=>'permit', 'help-string'=>'Specify to Permit Route-Map'}]}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'optional'=>'yes', 'help-string'=>'Describe Route Map', 'regex'=>'^[ a-zA-Z0-9._-]+$'}} # Unique Sequence Number between <1-65535> def name prop_get('@name') end # Permit or Deny (default) Route Map def action prop_get('action') end # Permit or Deny (default) Route Map def action=(val) prop_set('action', val) end # Describe Route Map def description prop_get('description') end # Describe Route Map def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def route_map maybe_register_subclass('route-map', RouteMap.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def bgp @subclasses['bgp'] ||= Bgp.new(parent_instance: self, client: @client, create_children: @create_children) end class Rib < ConfigClass def has_multiple_values?; false; end def _section :rib end class RouteMap < XML::ConfigClass def has_multiple_values?; true; end def _section :'route-map' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Match < ConfigClass def has_multiple_values?; false; end def _section :match end class Address < ConfigClass def has_multiple_values?; false; end def _section :address end @props = {'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}, 'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}} # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end end def address @subclasses['address'] ||= Address.new(parent_instance: self, client: @client, create_children: @create_children) end class NextHop < ConfigClass def has_multiple_values?; false; end def _section :'next-hop' end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def next_hop @subclasses['next-hop'] ||= NextHop.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'interface'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Interface', 'type'=>'string', 'maxlen'=>'64', 'optional'=>'yes', 'help-string'=>'Match Interface of the route'}, 'metric'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Match Metric of route'}, 'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Match Tag of route'}} # Match Interface of the route def interface prop_get('interface') end # Match Interface of the route def interface=(val) prop_set('interface', val) end # Match Metric of route def metric prop_get('metric') end # Match Metric of route def metric=(val) prop_set('metric', val) end # Match Tag of route def tag prop_get('tag') end # Match Tag of route def tag=(val) prop_set('tag', val) end end def match @subclasses['match'] ||= Match.new(parent_instance: self, client: @client, create_children: @create_children) end class Set < ConfigClass def has_multiple_values?; false; end def _section :set end @props = {'source-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'128', 'help-string'=>'Set Source IPv4 or IPv6 address'}} # Set Source IPv4 or IPv6 address def source_address prop_get('source-address') end # Set Source IPv4 or IPv6 address def source_address=(val) prop_set('source-address', val) end end def set @subclasses['set'] ||= Set.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Unique Sequence Number between <1-65535>'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'deny', 'optional'=>'yes', 'help-string'=>'Permit or Deny (default) Route Map', 'enum'=>[{'name'=>'deny', 'value'=>'deny', 'help-string'=>'Specify to Deny Route-Map'}, {'name'=>'permit', 'value'=>'permit', 'help-string'=>'Specify to Permit Route-Map'}]}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'optional'=>'yes', 'help-string'=>'Describe Route Map', 'regex'=>'^[ a-zA-Z0-9._-]+$'}} # Unique Sequence Number between <1-65535> def name prop_get('@name') end # Permit or Deny (default) Route Map def action prop_get('action') end # Permit or Deny (default) Route Map def action=(val) prop_set('action', val) end # Describe Route Map def description prop_get('description') end # Describe Route Map def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def route_map maybe_register_subclass('route-map', RouteMap.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def rib @subclasses['rib'] ||= Rib.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ospfv3 @subclasses['ospfv3'] ||= Ospfv3.new(parent_instance: self, client: @client, create_children: @create_children) end class Rip < ConfigClass def has_multiple_values?; false; end def _section :rip end class Bgp < ConfigClass def has_multiple_values?; false; end def _section :bgp end class RouteMap < XML::ConfigClass def has_multiple_values?; true; end def _section :'route-map' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Match < ConfigClass def has_multiple_values?; false; end def _section :match end class Address < ConfigClass def has_multiple_values?; false; end def _section :address end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def address @subclasses['address'] ||= Address.new(parent_instance: self, client: @client, create_children: @create_children) end class NextHop < ConfigClass def has_multiple_values?; false; end def _section :'next-hop' end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def next_hop @subclasses['next-hop'] ||= NextHop.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'interface'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Interface', 'type'=>'string', 'maxlen'=>'64', 'optional'=>'yes', 'help-string'=>'Match Interface of the route'}, 'metric'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'16', 'optional'=>'yes', 'help-string'=>'Match Metric of route'}, 'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Match Tag of route'}} # Match Interface of the route def interface prop_get('interface') end # Match Interface of the route def interface=(val) prop_set('interface', val) end # Match Metric of route def metric prop_get('metric') end # Match Metric of route def metric=(val) prop_set('metric', val) end # Match Tag of route def tag prop_get('tag') end # Match Tag of route def tag=(val) prop_set('tag', val) end end def match @subclasses['match'] ||= Match.new(parent_instance: self, client: @client, create_children: @create_children) end class Set < ConfigClass def has_multiple_values?; false; end def _section :set end class Aggregator < ConfigClass def has_multiple_values?; false; end def _section :aggregator end @props = {'as'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Aggregator AS', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'help-string'=>'Set BGP Aggregator AS <1-4294967295>'}, 'router-id'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Router ID', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'Set BGP Aggregator Router ID', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # Set BGP Aggregator AS <1-4294967295> def as prop_get('as') end # Set BGP Aggregator AS <1-4294967295> def as=(val) prop_set('as', val) end # Set BGP Aggregator Router ID def router_id prop_get('router-id') end # Set BGP Aggregator Router ID def router_id=(val) prop_set('router-id', val) end end def aggregator @subclasses['aggregator'] ||= Aggregator.new(parent_instance: self, client: @client, create_children: @create_children) end class Metric < ConfigClass def has_multiple_values?; false; end def _section :metric end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'uiHint-fieldLabel'=>'Metric Value', 'help-string'=>'Set Metric value (BGP MED) of route'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'uiHint-fieldLabel'=>'Metric Action', 'help-string'=>'Set Metric action (BGP MED) of route', 'enum'=>[{'name'=>'set', 'value'=>'set', 'help-string'=>'Set(=) metric to this value'}, {'name'=>'add', 'value'=>'add', 'help-string'=>'Increase(+) current metric'}, {'name'=>'subtract', 'value'=>'subtract', 'help-string'=>'Decrease(-) current metric'}]}} # Set Metric value (BGP MED) of route def value prop_get('value') end # Set Metric value (BGP MED) of route def value=(val) prop_set('value', val) end # Set Metric action (BGP MED) of route def action prop_get('action') end # Set Metric action (BGP MED) of route def action=(val) prop_set('action', val) end end def metric @subclasses['metric'] ||= Metric.new(parent_instance: self, client: @client, create_children: @create_children) end class AspathPrepend < XML::ConfigClass def has_multiple_values?; true; end def _section :'aspath-prepend' end @props = {'member'=>{'node-type'=>'element', 'type'=>'rangedint', 'max-count'=>'16', 'min'=>'1', 'max'=>'4294967295', 'help-string'=>'Specify AS-Path'}} # Specify AS-Path def member prop_get('member') end # Specify AS-Path def member=(val) prop_set('member', val) end end def aspath_prepend maybe_register_subclass('aspath-prepend', AspathPrepend.new(parent_instance: self, client: @client, create_children: @create_children)) end class RegularCommunity < XML::ConfigClass def has_multiple_values?; true; end def _section :'regular-community' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Set Regular Community', 'max-count'=>'16', 'multi-types'=>{'string'=>{'regex'=>'^[0-9]+:[0-9]+$', 'minlen'=>'3', 'maxlen'=>'11', 'uiHint-fieldLabel'=>'Regex', 'help-string'=>'Community Number in AA:NN format (where AA and NN are between (0-65535))'}, 'enum'=>[{'name'=>'none', 'value'=>'none', 'uiHint-fieldLabel'=>'None'}, {'name'=>'blackhole', 'value'=>'blackhole', 'uiHint-fieldLabel'=>'Blackhole', 'help-string'=>'Represents well-known community value BLACKHOLE (0xFFFF029A)'}, {'name'=>'no-peer', 'value'=>'no-peer', 'uiHint-fieldLabel'=>'No Peer', 'help-string'=>'Represents well-known community value NOPEER (0xFFFFFF04)'}, {'name'=>'graceful-shutdown', 'value'=>'graceful-shutdown', 'uiHint-fieldLabel'=>'Graceful Shutdown', 'help-string'=>'Represents well-known community value GRACEFUL_SHUTDOWN (0xFFFF0000)'}, {'name'=>'accept-own', 'value'=>'accept-own', 'uiHint-fieldLabel'=>'Accept Own', 'help-string'=>'Represents well-known community value ACCEPT_OWN (0xFFFF0001)'}, {'name'=>'local-as', 'value'=>'local-as', 'uiHint-fieldLabel'=>'Local AS', 'help-string'=>'Represents well-known community value NO_EXPORT_SUBCONFED (0xFFFFFF03)'}, {'name'=>'route-filter-v4', 'value'=>'route-filter-v4', 'uiHint-fieldLabel'=>'Route Filter-v4', 'help-string'=>'Represents well-known community value ROUTE_FILTER_v4 (0xFFFF0003)'}, {'name'=>'route-filter-v6', 'value'=>'route-filter-v6', 'uiHint-fieldLabel'=>'Route Filter-v6', 'help-string'=>'Represents well-known community value ROUTE_FILTER_v6 (0xFFFF0005)'}, {'name'=>'no-advertise', 'value'=>'no-advertise', 'uiHint-fieldLabel'=>'No Advertise', 'help-string'=>'Represents well-known community value NO_ADVERTISE (0xFFFFFF02)'}, {'name'=>'no-export', 'value'=>'no-export', 'uiHint-fieldLabel'=>'No Export', 'help-string'=>'Represents well-known community value NO_EXPORT (0xFFFFFF01)'}, {'name'=>'internet', 'value'=>'internet', 'uiHint-fieldLabel'=>'Internet', 'help-string'=>'Represents well-known community value 0 (0x00)'}]}}} # Set Regular Community def member prop_get('member') end # Set Regular Community def member=(val) prop_set('member', val) end end def regular_community maybe_register_subclass('regular-community', RegularCommunity.new(parent_instance: self, client: @client, create_children: @create_children)) end class LargeCommunity < XML::ConfigClass def has_multiple_values?; true; end def _section :'large-community' end @props = {'member'=>{'node-type'=>'element', 'max-count'=>'8', 'type'=>'string', 'regex'=>'^[0-9]{1,10}:[0-9]{1,10}:[0-9]{1,10}$', 'minlen'=>'5', 'maxlen'=>'35', 'help-string'=>'Large Community in AA:BB:CC format (where AA, BB and CC are between (0-4294967295))'}} # Large Community in AA:BB:CC format (where AA, BB and CC are between (0-4294967295)) def member prop_get('member') end # Large Community in AA:BB:CC format (where AA, BB and CC are between (0-4294967295)) def member=(val) prop_set('member', val) end end def large_community maybe_register_subclass('large-community', LargeCommunity.new(parent_instance: self, client: @client, create_children: @create_children)) end class ExtendedCommunity < XML::ConfigClass def has_multiple_values?; true; end def _section :'extended-community' end @props = {'member'=>{'node-type'=>'element', 'max-count'=>'8', 'type'=>'string', 'regex'=>'^(target|origin):[0-9]{1,10}:[0-9]{1,10}$', 'minlen'=>'5', 'maxlen'=>'35', 'help-string'=>'Extended Community in TYPE:IP_ADDR:NN OR TYPE:AA:NN format (where AA and NN are between (0-65535) and TYPE is target or origin)'}} # Extended Community in TYPE:IP_ADDR:NN OR TYPE:AA:NN format (where AA and NN are between (0-65535) and TYPE is target or origin) def member prop_get('member') end # Extended Community in TYPE:IP_ADDR:NN OR TYPE:AA:NN format (where AA and NN are between (0-65535) and TYPE is target or origin) def member=(val) prop_set('member', val) end end def extended_community maybe_register_subclass('extended-community', ExtendedCommunity.new(parent_instance: self, client: @client, create_children: @create_children)) end class Ipv4 < ConfigClass def has_multiple_values?; false; end def _section :ipv4 end @props = {'source-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'128', 'help-string'=>'Set Source IPv4 Address'}, 'next-hop'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'uiHint-fieldLabel'=>'IPv4 Next-Hop', 'help-string'=>'Set IPv4 Next-Hop Address', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes'}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'name'=>'none', 'value'=>'none'}, {'name'=>'unchanged', 'value'=>'unchanged'}, {'name'=>'peer-address', 'value'=>'peer-address', 'help-string'=>'Use Peer Address'}]}}} # Set Source IPv4 Address def source_address prop_get('source-address') end # Set Source IPv4 Address def source_address=(val) prop_set('source-address', val) end # Set IPv4 Next-Hop Address def next_hop prop_get('next-hop') end # Set IPv4 Next-Hop Address def next_hop=(val) prop_set('next-hop', val) end end def ipv4 @subclasses['ipv4'] ||= Ipv4.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Set Tag of route'}, 'local-preference'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Set Local Preference of route'}, 'weight'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Set BGP weight of the route'}, 'origin'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'help-string'=>'Set BGP origin', 'enum'=>[{'name'=>'none', 'value'=>'none'}, {'name'=>'egp', 'value'=>'egp', 'help-string'=>'route originated from EGP'}, {'name'=>'igp', 'value'=>'igp', 'help-string'=>'route originated from IGP'}, {'name'=>'incomplete', 'value'=>'incomplete'}]}, 'atomic-aggregate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Enable BGP atomic aggregate'}, 'originator-id'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'Set BGP Originator Id', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # Set Tag of route def tag prop_get('tag') end # Set Tag of route def tag=(val) prop_set('tag', val) end # Set Local Preference of route def local_preference prop_get('local-preference') end # Set Local Preference of route def local_preference=(val) prop_set('local-preference', val) end # Set BGP weight of the route def weight prop_get('weight') end # Set BGP weight of the route def weight=(val) prop_set('weight', val) end # Set BGP origin def origin prop_get('origin') end # Set BGP origin def origin=(val) prop_set('origin', val) end # Enable BGP atomic aggregate def atomic_aggregate prop_get('atomic-aggregate') end # Enable BGP atomic aggregate def atomic_aggregate=(val) prop_set('atomic-aggregate', val) end # Set BGP Originator Id def originator_id prop_get('originator-id') end # Set BGP Originator Id def originator_id=(val) prop_set('originator-id', val) end end def set @subclasses['set'] ||= Set.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Unique Sequence Number between <1-65535>'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'deny', 'optional'=>'yes', 'help-string'=>'Permit or Deny (default) Route Map', 'enum'=>[{'name'=>'deny', 'value'=>'deny', 'help-string'=>'Specify to Deny Route-Map'}, {'name'=>'permit', 'value'=>'permit', 'help-string'=>'Specify to Permit Route-Map'}]}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'optional'=>'yes', 'help-string'=>'Describe Route Map', 'regex'=>'^[ a-zA-Z0-9._-]+$'}} # Unique Sequence Number between <1-65535> def name prop_get('@name') end # Permit or Deny (default) Route Map def action prop_get('action') end # Permit or Deny (default) Route Map def action=(val) prop_set('action', val) end # Describe Route Map def description prop_get('description') end # Describe Route Map def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def route_map maybe_register_subclass('route-map', RouteMap.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def bgp @subclasses['bgp'] ||= Bgp.new(parent_instance: self, client: @client, create_children: @create_children) end class Ospf < ConfigClass def has_multiple_values?; false; end def _section :ospf end class RouteMap < XML::ConfigClass def has_multiple_values?; true; end def _section :'route-map' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Match < ConfigClass def has_multiple_values?; false; end def _section :match end class Address < ConfigClass def has_multiple_values?; false; end def _section :address end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def address @subclasses['address'] ||= Address.new(parent_instance: self, client: @client, create_children: @create_children) end class NextHop < ConfigClass def has_multiple_values?; false; end def _section :'next-hop' end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def next_hop @subclasses['next-hop'] ||= NextHop.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'interface'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Interface', 'type'=>'string', 'maxlen'=>'64', 'optional'=>'yes', 'help-string'=>'Match Interface of the route'}, 'metric'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'16', 'optional'=>'yes', 'help-string'=>'Match Metric of route'}, 'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Match Tag of route'}} # Match Interface of the route def interface prop_get('interface') end # Match Interface of the route def interface=(val) prop_set('interface', val) end # Match Metric of route def metric prop_get('metric') end # Match Metric of route def metric=(val) prop_set('metric', val) end # Match Tag of route def tag prop_get('tag') end # Match Tag of route def tag=(val) prop_set('tag', val) end end def match @subclasses['match'] ||= Match.new(parent_instance: self, client: @client, create_children: @create_children) end class Set < ConfigClass def has_multiple_values?; false; end def _section :set end class Metric < ConfigClass def has_multiple_values?; false; end def _section :metric end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'uiHint-fieldLabel'=>'Metric Value', 'help-string'=>'Set Metric value of route'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'uiHint-fieldLabel'=>'Metric Action', 'help-string'=>'Set Metric action of route', 'enum'=>[{'name'=>'set', 'value'=>'set', 'help-string'=>'Set(=) metric to this value'}, {'name'=>'add', 'value'=>'add', 'help-string'=>'Increase(+) current metric'}, {'name'=>'subtract', 'value'=>'subtract', 'help-string'=>'Decrease(-) current metric'}]}} # Set Metric value of route def value prop_get('value') end # Set Metric value of route def value=(val) prop_set('value', val) end # Set Metric action of route def action prop_get('action') end # Set Metric action of route def action=(val) prop_set('action', val) end end def metric @subclasses['metric'] ||= Metric.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'metric-type'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'type-2', 'optional'=>'no', 'help-string'=>'Set Metric-Type of route', 'enum'=>[{'name'=>'type-1', 'value'=>'type-1', 'help-string'=>'External Type Metric Type-1'}, {'name'=>'type-2', 'value'=>'type-2', 'help-string'=>'External Type Metric Type-2'}]}, 'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Set Tag of route'}} # Set Metric-Type of route def metric_type prop_get('metric-type') end # Set Metric-Type of route def metric_type=(val) prop_set('metric-type', val) end # Set Tag of route def tag prop_get('tag') end # Set Tag of route def tag=(val) prop_set('tag', val) end end def set @subclasses['set'] ||= Set.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Unique Sequence Number between <1-65535>'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'deny', 'optional'=>'yes', 'help-string'=>'Permit or Deny (default) Route Map', 'enum'=>[{'name'=>'deny', 'value'=>'deny', 'help-string'=>'Specify to Deny Route-Map'}, {'name'=>'permit', 'value'=>'permit', 'help-string'=>'Specify to Permit Route-Map'}]}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'optional'=>'yes', 'help-string'=>'Describe Route Map', 'regex'=>'^[ a-zA-Z0-9._-]+$'}} # Unique Sequence Number between <1-65535> def name prop_get('@name') end # Permit or Deny (default) Route Map def action prop_get('action') end # Permit or Deny (default) Route Map def action=(val) prop_set('action', val) end # Describe Route Map def description prop_get('description') end # Describe Route Map def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def route_map maybe_register_subclass('route-map', RouteMap.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def ospf @subclasses['ospf'] ||= Ospf.new(parent_instance: self, client: @client, create_children: @create_children) end class Rib < ConfigClass def has_multiple_values?; false; end def _section :rib end class RouteMap < XML::ConfigClass def has_multiple_values?; true; end def _section :'route-map' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Match < ConfigClass def has_multiple_values?; false; end def _section :match end class Address < ConfigClass def has_multiple_values?; false; end def _section :address end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def address @subclasses['address'] ||= Address.new(parent_instance: self, client: @client, create_children: @create_children) end class NextHop < ConfigClass def has_multiple_values?; false; end def _section :'next-hop' end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def next_hop @subclasses['next-hop'] ||= NextHop.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'interface'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Interface', 'type'=>'string', 'maxlen'=>'64', 'optional'=>'yes', 'help-string'=>'Match Interface of the route'}, 'metric'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'16', 'optional'=>'yes', 'help-string'=>'Match Metric of route'}, 'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Match Tag of route'}} # Match Interface of the route def interface prop_get('interface') end # Match Interface of the route def interface=(val) prop_set('interface', val) end # Match Metric of route def metric prop_get('metric') end # Match Metric of route def metric=(val) prop_set('metric', val) end # Match Tag of route def tag prop_get('tag') end # Match Tag of route def tag=(val) prop_set('tag', val) end end def match @subclasses['match'] ||= Match.new(parent_instance: self, client: @client, create_children: @create_children) end class Set < ConfigClass def has_multiple_values?; false; end def _section :set end @props = {'source-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'128', 'help-string'=>'Set Source IPv4 or IPv6 address'}} # Set Source IPv4 or IPv6 address def source_address prop_get('source-address') end # Set Source IPv4 or IPv6 address def source_address=(val) prop_set('source-address', val) end end def set @subclasses['set'] ||= Set.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Unique Sequence Number between <1-65535>'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'deny', 'optional'=>'yes', 'help-string'=>'Permit or Deny (default) Route Map', 'enum'=>[{'name'=>'deny', 'value'=>'deny', 'help-string'=>'Specify to Deny Route-Map'}, {'name'=>'permit', 'value'=>'permit', 'help-string'=>'Specify to Permit Route-Map'}]}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'optional'=>'yes', 'help-string'=>'Describe Route Map', 'regex'=>'^[ a-zA-Z0-9._-]+$'}} # Unique Sequence Number between <1-65535> def name prop_get('@name') end # Permit or Deny (default) Route Map def action prop_get('action') end # Permit or Deny (default) Route Map def action=(val) prop_set('action', val) end # Describe Route Map def description prop_get('description') end # Describe Route Map def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def route_map maybe_register_subclass('route-map', RouteMap.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def rib @subclasses['rib'] ||= Rib.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def rip @subclasses['rip'] ||= Rip.new(parent_instance: self, client: @client, create_children: @create_children) end class ConnectedStatic < ConfigClass def has_multiple_values?; false; end def _section :'connected-static' end class Bgp < ConfigClass def has_multiple_values?; false; end def _section :bgp end class RouteMap < XML::ConfigClass def has_multiple_values?; true; end def _section :'route-map' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Match < ConfigClass def has_multiple_values?; false; end def _section :match end class Ipv4 < ConfigClass def has_multiple_values?; false; end def _section :ipv4 end class Address < ConfigClass def has_multiple_values?; false; end def _section :address end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def address @subclasses['address'] ||= Address.new(parent_instance: self, client: @client, create_children: @create_children) end class NextHop < ConfigClass def has_multiple_values?; false; end def _section :'next-hop' end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def next_hop @subclasses['next-hop'] ||= NextHop.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ipv4 @subclasses['ipv4'] ||= Ipv4.new(parent_instance: self, client: @client, create_children: @create_children) end class Ipv6 < ConfigClass def has_multiple_values?; false; end def _section :ipv6 end class Address < ConfigClass def has_multiple_values?; false; end def _section :address end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def address @subclasses['address'] ||= Address.new(parent_instance: self, client: @client, create_children: @create_children) end class NextHop < ConfigClass def has_multiple_values?; false; end def _section :'next-hop' end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def next_hop @subclasses['next-hop'] ||= NextHop.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ipv6 @subclasses['ipv6'] ||= Ipv6.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'interface'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Interface', 'type'=>'string', 'maxlen'=>'64', 'optional'=>'yes', 'help-string'=>'Match Interface of the route'}, 'metric'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Match Metric of route'}} # Match Interface of the route def interface prop_get('interface') end # Match Interface of the route def interface=(val) prop_set('interface', val) end # Match Metric of route def metric prop_get('metric') end # Match Metric of route def metric=(val) prop_set('metric', val) end end def match @subclasses['match'] ||= Match.new(parent_instance: self, client: @client, create_children: @create_children) end class Set < ConfigClass def has_multiple_values?; false; end def _section :set end class Aggregator < ConfigClass def has_multiple_values?; false; end def _section :aggregator end @props = {'as'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Aggregator AS', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'help-string'=>'Set BGP Aggregator AS <1-4294967295>'}, 'router-id'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Router ID', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'Set BGP Aggregator Router ID', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # Set BGP Aggregator AS <1-4294967295> def as prop_get('as') end # Set BGP Aggregator AS <1-4294967295> def as=(val) prop_set('as', val) end # Set BGP Aggregator Router ID def router_id prop_get('router-id') end # Set BGP Aggregator Router ID def router_id=(val) prop_set('router-id', val) end end def aggregator @subclasses['aggregator'] ||= Aggregator.new(parent_instance: self, client: @client, create_children: @create_children) end class Metric < ConfigClass def has_multiple_values?; false; end def _section :metric end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'uiHint-fieldLabel'=>'Metric Value', 'help-string'=>'Set Metric value (BGP MED) of route'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'uiHint-fieldLabel'=>'Metric Action', 'help-string'=>'Set Metric action (BGP MED) of route', 'enum'=>[{'name'=>'set', 'value'=>'set', 'help-string'=>'Set(=) metric to this value'}, {'name'=>'add', 'value'=>'add', 'help-string'=>'Increase(+) current metric'}, {'name'=>'subtract', 'value'=>'subtract', 'help-string'=>'Decrease(-) current metric'}]}} # Set Metric value (BGP MED) of route def value prop_get('value') end # Set Metric value (BGP MED) of route def value=(val) prop_set('value', val) end # Set Metric action (BGP MED) of route def action prop_get('action') end # Set Metric action (BGP MED) of route def action=(val) prop_set('action', val) end end def metric @subclasses['metric'] ||= Metric.new(parent_instance: self, client: @client, create_children: @create_children) end class AspathPrepend < XML::ConfigClass def has_multiple_values?; true; end def _section :'aspath-prepend' end @props = {'member'=>{'node-type'=>'element', 'type'=>'rangedint', 'max-count'=>'16', 'min'=>'1', 'max'=>'4294967295', 'help-string'=>'Specify AS-Path'}} # Specify AS-Path def member prop_get('member') end # Specify AS-Path def member=(val) prop_set('member', val) end end def aspath_prepend maybe_register_subclass('aspath-prepend', AspathPrepend.new(parent_instance: self, client: @client, create_children: @create_children)) end class RegularCommunity < XML::ConfigClass def has_multiple_values?; true; end def _section :'regular-community' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Set Regular Community', 'max-count'=>'16', 'multi-types'=>{'string'=>{'regex'=>'^[0-9]+:[0-9]+$', 'minlen'=>'3', 'maxlen'=>'11', 'uiHint-fieldLabel'=>'Regex', 'help-string'=>'Community Number in AA:NN format (where AA and NN are between (0-65535))'}, 'enum'=>[{'name'=>'none', 'value'=>'none', 'uiHint-fieldLabel'=>'None'}, {'name'=>'blackhole', 'value'=>'blackhole', 'uiHint-fieldLabel'=>'Blackhole', 'help-string'=>'Represents well-known community value BLACKHOLE (0xFFFF029A)'}, {'name'=>'no-peer', 'value'=>'no-peer', 'uiHint-fieldLabel'=>'No Peer', 'help-string'=>'Represents well-known community value NOPEER (0xFFFFFF04)'}, {'name'=>'graceful-shutdown', 'value'=>'graceful-shutdown', 'uiHint-fieldLabel'=>'Graceful Shutdown', 'help-string'=>'Represents well-known community value GRACEFUL_SHUTDOWN (0xFFFF0000)'}, {'name'=>'accept-own', 'value'=>'accept-own', 'uiHint-fieldLabel'=>'Accept Own', 'help-string'=>'Represents well-known community value ACCEPT_OWN (0xFFFF0001)'}, {'name'=>'local-as', 'value'=>'local-as', 'uiHint-fieldLabel'=>'Local AS', 'help-string'=>'Represents well-known community value NO_EXPORT_SUBCONFED (0xFFFFFF03)'}, {'name'=>'route-filter-v4', 'value'=>'route-filter-v4', 'uiHint-fieldLabel'=>'Route Filter-v4', 'help-string'=>'Represents well-known community value ROUTE_FILTER_v4 (0xFFFF0003)'}, {'name'=>'route-filter-v6', 'value'=>'route-filter-v6', 'uiHint-fieldLabel'=>'Route Filter-v6', 'help-string'=>'Represents well-known community value ROUTE_FILTER_v6 (0xFFFF0005)'}, {'name'=>'no-advertise', 'value'=>'no-advertise', 'uiHint-fieldLabel'=>'No Advertise', 'help-string'=>'Represents well-known community value NO_ADVERTISE (0xFFFFFF02)'}, {'name'=>'no-export', 'value'=>'no-export', 'uiHint-fieldLabel'=>'No Export', 'help-string'=>'Represents well-known community value NO_EXPORT (0xFFFFFF01)'}, {'name'=>'internet', 'value'=>'internet', 'uiHint-fieldLabel'=>'Internet', 'help-string'=>'Represents well-known community value 0 (0x00)'}]}}} # Set Regular Community def member prop_get('member') end # Set Regular Community def member=(val) prop_set('member', val) end end def regular_community maybe_register_subclass('regular-community', RegularCommunity.new(parent_instance: self, client: @client, create_children: @create_children)) end class LargeCommunity < XML::ConfigClass def has_multiple_values?; true; end def _section :'large-community' end @props = {'member'=>{'node-type'=>'element', 'max-count'=>'8', 'type'=>'string', 'regex'=>'^[0-9]{1,10}:[0-9]{1,10}:[0-9]{1,10}$', 'minlen'=>'5', 'maxlen'=>'35', 'help-string'=>'Large Community in AA:BB:CC format (where AA, BB and CC are between (0-4294967295))'}} # Large Community in AA:BB:CC format (where AA, BB and CC are between (0-4294967295)) def member prop_get('member') end # Large Community in AA:BB:CC format (where AA, BB and CC are between (0-4294967295)) def member=(val) prop_set('member', val) end end def large_community maybe_register_subclass('large-community', LargeCommunity.new(parent_instance: self, client: @client, create_children: @create_children)) end class ExtendedCommunity < XML::ConfigClass def has_multiple_values?; true; end def _section :'extended-community' end @props = {'member'=>{'node-type'=>'element', 'max-count'=>'8', 'type'=>'string', 'regex'=>'^(target|origin):[0-9]{1,10}:[0-9]{1,10}$', 'minlen'=>'5', 'maxlen'=>'35', 'help-string'=>'Extended Community in TYPE:IP_ADDR:NN OR TYPE:AA:NN format (where AA and NN are between (0-65535) and TYPE is target or origin)'}} # Extended Community in TYPE:IP_ADDR:NN OR TYPE:AA:NN format (where AA and NN are between (0-65535) and TYPE is target or origin) def member prop_get('member') end # Extended Community in TYPE:IP_ADDR:NN OR TYPE:AA:NN format (where AA and NN are between (0-65535) and TYPE is target or origin) def member=(val) prop_set('member', val) end end def extended_community maybe_register_subclass('extended-community', ExtendedCommunity.new(parent_instance: self, client: @client, create_children: @create_children)) end class Ipv4 < ConfigClass def has_multiple_values?; false; end def _section :ipv4 end @props = {'source-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'128', 'help-string'=>'Set Source IPv4 Address'}, 'next-hop'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'uiHint-fieldLabel'=>'IPv4 Next-Hop', 'help-string'=>'Set IPv4 Next-Hop Address', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes'}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'name'=>'none', 'value'=>'none'}, {'name'=>'unchanged', 'value'=>'unchanged'}, {'name'=>'peer-address', 'value'=>'peer-address', 'help-string'=>'Use Peer Address'}]}}} # Set Source IPv4 Address def source_address prop_get('source-address') end # Set Source IPv4 Address def source_address=(val) prop_set('source-address', val) end # Set IPv4 Next-Hop Address def next_hop prop_get('next-hop') end # Set IPv4 Next-Hop Address def next_hop=(val) prop_set('next-hop', val) end end def ipv4 @subclasses['ipv4'] ||= Ipv4.new(parent_instance: self, client: @client, create_children: @create_children) end class Ipv6 < ConfigClass def has_multiple_values?; false; end def _section :ipv6 end @props = {'source-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'128', 'help-string'=>'Set Source IPv6 Address'}, 'next-hop'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'uiHint-fieldLabel'=>'IPv6 Next-Hop', 'help-string'=>'Set IPv6 Next-Hop Address', 'multi-types'=>{'ipspec'=>{'ipv6-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes'}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'name'=>'none', 'value'=>'none'}, {'name'=>'peer-address', 'value'=>'peer-address', 'help-string'=>'Use Peer Address'}]}}} # Set Source IPv6 Address def source_address prop_get('source-address') end # Set Source IPv6 Address def source_address=(val) prop_set('source-address', val) end # Set IPv6 Next-Hop Address def next_hop prop_get('next-hop') end # Set IPv6 Next-Hop Address def next_hop=(val) prop_set('next-hop', val) end end def ipv6 @subclasses['ipv6'] ||= Ipv6.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Set Tag of route'}, 'local-preference'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Set Local Preference of route'}, 'weight'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Set BGP weight of the route'}, 'origin'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'help-string'=>'Set BGP origin', 'enum'=>[{'name'=>'none', 'value'=>'none'}, {'name'=>'egp', 'value'=>'egp', 'help-string'=>'route originated from EGP'}, {'name'=>'igp', 'value'=>'igp', 'help-string'=>'route originated from IGP'}, {'name'=>'incomplete', 'value'=>'incomplete'}]}, 'atomic-aggregate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Enable BGP atomic aggregate'}, 'originator-id'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'Set BGP Originator Id', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # Set Tag of route def tag prop_get('tag') end # Set Tag of route def tag=(val) prop_set('tag', val) end # Set Local Preference of route def local_preference prop_get('local-preference') end # Set Local Preference of route def local_preference=(val) prop_set('local-preference', val) end # Set BGP weight of the route def weight prop_get('weight') end # Set BGP weight of the route def weight=(val) prop_set('weight', val) end # Set BGP origin def origin prop_get('origin') end # Set BGP origin def origin=(val) prop_set('origin', val) end # Enable BGP atomic aggregate def atomic_aggregate prop_get('atomic-aggregate') end # Enable BGP atomic aggregate def atomic_aggregate=(val) prop_set('atomic-aggregate', val) end # Set BGP Originator Id def originator_id prop_get('originator-id') end # Set BGP Originator Id def originator_id=(val) prop_set('originator-id', val) end end def set @subclasses['set'] ||= Set.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Unique Sequence Number between <1-65535>'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'deny', 'optional'=>'yes', 'help-string'=>'Permit or Deny (default) Route Map', 'enum'=>[{'name'=>'deny', 'value'=>'deny', 'help-string'=>'Specify to Deny Route-Map'}, {'name'=>'permit', 'value'=>'permit', 'help-string'=>'Specify to Permit Route-Map'}]}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'optional'=>'yes', 'help-string'=>'Describe Route Map', 'regex'=>'^[ a-zA-Z0-9._-]+$'}} # Unique Sequence Number between <1-65535> def name prop_get('@name') end # Permit or Deny (default) Route Map def action prop_get('action') end # Permit or Deny (default) Route Map def action=(val) prop_set('action', val) end # Describe Route Map def description prop_get('description') end # Describe Route Map def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def route_map maybe_register_subclass('route-map', RouteMap.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def bgp @subclasses['bgp'] ||= Bgp.new(parent_instance: self, client: @client, create_children: @create_children) end class Ospf < ConfigClass def has_multiple_values?; false; end def _section :ospf end class RouteMap < XML::ConfigClass def has_multiple_values?; true; end def _section :'route-map' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Match < ConfigClass def has_multiple_values?; false; end def _section :match end class Ipv4 < ConfigClass def has_multiple_values?; false; end def _section :ipv4 end class Address < ConfigClass def has_multiple_values?; false; end def _section :address end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def address @subclasses['address'] ||= Address.new(parent_instance: self, client: @client, create_children: @create_children) end class NextHop < ConfigClass def has_multiple_values?; false; end def _section :'next-hop' end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def next_hop @subclasses['next-hop'] ||= NextHop.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ipv4 @subclasses['ipv4'] ||= Ipv4.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'interface'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Interface', 'type'=>'string', 'maxlen'=>'64', 'optional'=>'yes', 'help-string'=>'Match Interface of the route'}, 'metric'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Match Metric of route'}} # Match Interface of the route def interface prop_get('interface') end # Match Interface of the route def interface=(val) prop_set('interface', val) end # Match Metric of route def metric prop_get('metric') end # Match Metric of route def metric=(val) prop_set('metric', val) end end def match @subclasses['match'] ||= Match.new(parent_instance: self, client: @client, create_children: @create_children) end class Set < ConfigClass def has_multiple_values?; false; end def _section :set end class Metric < ConfigClass def has_multiple_values?; false; end def _section :metric end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'uiHint-fieldLabel'=>'Metric Value', 'help-string'=>'Set Metric value of route'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'uiHint-fieldLabel'=>'Metric Action', 'help-string'=>'Set Metric action of route', 'enum'=>[{'name'=>'set', 'value'=>'set', 'help-string'=>'Set(=) metric to this value'}, {'name'=>'add', 'value'=>'add', 'help-string'=>'Increase(+) current metric'}, {'name'=>'subtract', 'value'=>'subtract', 'help-string'=>'Decrease(-) current metric'}]}} # Set Metric value of route def value prop_get('value') end # Set Metric value of route def value=(val) prop_set('value', val) end # Set Metric action of route def action prop_get('action') end # Set Metric action of route def action=(val) prop_set('action', val) end end def metric @subclasses['metric'] ||= Metric.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'metric-type'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'type-2', 'optional'=>'no', 'help-string'=>'Set Metric-Type of route', 'enum'=>[{'name'=>'type-1', 'value'=>'type-1', 'help-string'=>'External Type Metric Type-1'}, {'name'=>'type-2', 'value'=>'type-2', 'help-string'=>'External Type Metric Type-2'}]}, 'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Set Tag of route'}} # Set Metric-Type of route def metric_type prop_get('metric-type') end # Set Metric-Type of route def metric_type=(val) prop_set('metric-type', val) end # Set Tag of route def tag prop_get('tag') end # Set Tag of route def tag=(val) prop_set('tag', val) end end def set @subclasses['set'] ||= Set.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Unique Sequence Number between <1-65535>'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'deny', 'optional'=>'yes', 'help-string'=>'Permit or Deny (default) Route Map', 'enum'=>[{'name'=>'deny', 'value'=>'deny', 'help-string'=>'Specify to Deny Route-Map'}, {'name'=>'permit', 'value'=>'permit', 'help-string'=>'Specify to Permit Route-Map'}]}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'optional'=>'yes', 'help-string'=>'Describe Route Map', 'regex'=>'^[ a-zA-Z0-9._-]+$'}} # Unique Sequence Number between <1-65535> def name prop_get('@name') end # Permit or Deny (default) Route Map def action prop_get('action') end # Permit or Deny (default) Route Map def action=(val) prop_set('action', val) end # Describe Route Map def description prop_get('description') end # Describe Route Map def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def route_map maybe_register_subclass('route-map', RouteMap.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def ospf @subclasses['ospf'] ||= Ospf.new(parent_instance: self, client: @client, create_children: @create_children) end class Ospfv3 < ConfigClass def has_multiple_values?; false; end def _section :ospfv3 end class RouteMap < XML::ConfigClass def has_multiple_values?; true; end def _section :'route-map' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Match < ConfigClass def has_multiple_values?; false; end def _section :match end class Ipv6 < ConfigClass def has_multiple_values?; false; end def _section :ipv6 end class Address < ConfigClass def has_multiple_values?; false; end def _section :address end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def address @subclasses['address'] ||= Address.new(parent_instance: self, client: @client, create_children: @create_children) end class NextHop < ConfigClass def has_multiple_values?; false; end def _section :'next-hop' end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def next_hop @subclasses['next-hop'] ||= NextHop.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ipv6 @subclasses['ipv6'] ||= Ipv6.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'interface'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Interface', 'type'=>'string', 'maxlen'=>'64', 'optional'=>'yes', 'help-string'=>'Match Interface of the route'}, 'metric'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Match Metric of route'}} # Match Interface of the route def interface prop_get('interface') end # Match Interface of the route def interface=(val) prop_set('interface', val) end # Match Metric of route def metric prop_get('metric') end # Match Metric of route def metric=(val) prop_set('metric', val) end end def match @subclasses['match'] ||= Match.new(parent_instance: self, client: @client, create_children: @create_children) end class Set < ConfigClass def has_multiple_values?; false; end def _section :set end class Metric < ConfigClass def has_multiple_values?; false; end def _section :metric end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'uiHint-fieldLabel'=>'Metric Value', 'help-string'=>'Set Metric value of route'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'uiHint-fieldLabel'=>'Metric Action', 'help-string'=>'Set Metric action of route', 'enum'=>[{'name'=>'set', 'value'=>'set', 'help-string'=>'Set(=) metric to this value'}, {'name'=>'add', 'value'=>'add', 'help-string'=>'Increase(+) current metric'}, {'name'=>'subtract', 'value'=>'subtract', 'help-string'=>'Decrease(-) current metric'}]}} # Set Metric value of route def value prop_get('value') end # Set Metric value of route def value=(val) prop_set('value', val) end # Set Metric action of route def action prop_get('action') end # Set Metric action of route def action=(val) prop_set('action', val) end end def metric @subclasses['metric'] ||= Metric.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'metric-type'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'type-2', 'optional'=>'no', 'help-string'=>'Set Metric-Type of route', 'enum'=>[{'name'=>'type-1', 'value'=>'type-1', 'help-string'=>'External Type Metric Type-1'}, {'name'=>'type-2', 'value'=>'type-2', 'help-string'=>'External Type Metric Type-2'}]}, 'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Set Tag of route'}} # Set Metric-Type of route def metric_type prop_get('metric-type') end # Set Metric-Type of route def metric_type=(val) prop_set('metric-type', val) end # Set Tag of route def tag prop_get('tag') end # Set Tag of route def tag=(val) prop_set('tag', val) end end def set @subclasses['set'] ||= Set.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Unique Sequence Number between <1-65535>'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'deny', 'optional'=>'yes', 'help-string'=>'Permit or Deny (default) Route Map', 'enum'=>[{'name'=>'deny', 'value'=>'deny', 'help-string'=>'Specify to Deny Route-Map'}, {'name'=>'permit', 'value'=>'permit', 'help-string'=>'Specify to Permit Route-Map'}]}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'optional'=>'yes', 'help-string'=>'Describe Route Map', 'regex'=>'^[ a-zA-Z0-9._-]+$'}} # Unique Sequence Number between <1-65535> def name prop_get('@name') end # Permit or Deny (default) Route Map def action prop_get('action') end # Permit or Deny (default) Route Map def action=(val) prop_set('action', val) end # Describe Route Map def description prop_get('description') end # Describe Route Map def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def route_map maybe_register_subclass('route-map', RouteMap.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def ospfv3 @subclasses['ospfv3'] ||= Ospfv3.new(parent_instance: self, client: @client, create_children: @create_children) end class Rip < ConfigClass def has_multiple_values?; false; end def _section :rip end class RouteMap < XML::ConfigClass def has_multiple_values?; true; end def _section :'route-map' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Match < ConfigClass def has_multiple_values?; false; end def _section :match end class Ipv4 < ConfigClass def has_multiple_values?; false; end def _section :ipv4 end class Address < ConfigClass def has_multiple_values?; false; end def _section :address end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def address @subclasses['address'] ||= Address.new(parent_instance: self, client: @client, create_children: @create_children) end class NextHop < ConfigClass def has_multiple_values?; false; end def _section :'next-hop' end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def next_hop @subclasses['next-hop'] ||= NextHop.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ipv4 @subclasses['ipv4'] ||= Ipv4.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'interface'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Interface', 'type'=>'string', 'maxlen'=>'64', 'optional'=>'yes', 'help-string'=>'Match Interface of the route'}, 'metric'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Match Metric of route'}} # Match Interface of the route def interface prop_get('interface') end # Match Interface of the route def interface=(val) prop_set('interface', val) end # Match Metric of route def metric prop_get('metric') end # Match Metric of route def metric=(val) prop_set('metric', val) end end def match @subclasses['match'] ||= Match.new(parent_instance: self, client: @client, create_children: @create_children) end class Set < ConfigClass def has_multiple_values?; false; end def _section :set end class Metric < ConfigClass def has_multiple_values?; false; end def _section :metric end @props = {'value'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'16', 'optional'=>'yes', 'uiHint-fieldLabel'=>'Metric Value', 'help-string'=>'Set Metric value of route'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'uiHint-fieldLabel'=>'Metric Action', 'help-string'=>'Set Metric action of route', 'enum'=>[{'name'=>'set', 'value'=>'set', 'help-string'=>'Set(=) metric to this value'}, {'name'=>'add', 'value'=>'add', 'help-string'=>'Increase(+) current metric'}, {'name'=>'subtract', 'value'=>'subtract', 'help-string'=>'Decrease(-) current metric'}]}} # Set Metric value of route def value prop_get('value') end # Set Metric value of route def value=(val) prop_set('value', val) end # Set Metric action of route def action prop_get('action') end # Set Metric action of route def action=(val) prop_set('action', val) end end def metric @subclasses['metric'] ||= Metric.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'next-hop'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'uiHint-fieldLabel'=>'IPv4 Next-Hop', 'help-string'=>'Set IPv4 Next-Hop Address', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes'}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'name'=>'none', 'value'=>'none'}, {'name'=>'unchanged', 'value'=>'unchanged'}]}}, 'tag'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Set Tag of route'}} # Set IPv4 Next-Hop Address def next_hop prop_get('next-hop') end # Set IPv4 Next-Hop Address def next_hop=(val) prop_set('next-hop', val) end # Set Tag of route def tag prop_get('tag') end # Set Tag of route def tag=(val) prop_set('tag', val) end end def set @subclasses['set'] ||= Set.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Unique Sequence Number between <1-65535>'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'deny', 'optional'=>'yes', 'help-string'=>'Permit or Deny (default) Route Map', 'enum'=>[{'name'=>'deny', 'value'=>'deny', 'help-string'=>'Specify to Deny Route-Map'}, {'name'=>'permit', 'value'=>'permit', 'help-string'=>'Specify to Permit Route-Map'}]}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'optional'=>'yes', 'help-string'=>'Describe Route Map', 'regex'=>'^[ a-zA-Z0-9._-]+$'}} # Unique Sequence Number between <1-65535> def name prop_get('@name') end # Permit or Deny (default) Route Map def action prop_get('action') end # Permit or Deny (default) Route Map def action=(val) prop_set('action', val) end # Describe Route Map def description prop_get('description') end # Describe Route Map def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def route_map maybe_register_subclass('route-map', RouteMap.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def rip @subclasses['rip'] ||= Rip.new(parent_instance: self, client: @client, create_children: @create_children) end class Rib < ConfigClass def has_multiple_values?; false; end def _section :rib end class RouteMap < XML::ConfigClass def has_multiple_values?; true; end def _section :'route-map' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Match < ConfigClass def has_multiple_values?; false; end def _section :match end class Ipv4 < ConfigClass def has_multiple_values?; false; end def _section :ipv4 end class Address < ConfigClass def has_multiple_values?; false; end def _section :address end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def address @subclasses['address'] ||= Address.new(parent_instance: self, client: @client, create_children: @create_children) end class NextHop < ConfigClass def has_multiple_values?; false; end def _section :'next-hop' end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def next_hop @subclasses['next-hop'] ||= NextHop.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ipv4 @subclasses['ipv4'] ||= Ipv4.new(parent_instance: self, client: @client, create_children: @create_children) end class Ipv6 < ConfigClass def has_multiple_values?; false; end def _section :ipv6 end class Address < ConfigClass def has_multiple_values?; false; end def _section :address end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def address @subclasses['address'] ||= Address.new(parent_instance: self, client: @client, create_children: @create_children) end class NextHop < ConfigClass def has_multiple_values?; false; end def _section :'next-hop' end @props = {'access-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Access List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Access-List Name'}, 'prefix-list'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Prefix List', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Prefix-List Name'}} # Access-List Name def access_list prop_get('access-list') end # Access-List Name def access_list=(val) prop_set('access-list', val) end # Prefix-List Name def prefix_list prop_get('prefix-list') end # Prefix-List Name def prefix_list=(val) prop_set('prefix-list', val) end end def next_hop @subclasses['next-hop'] ||= NextHop.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ipv6 @subclasses['ipv6'] ||= Ipv6.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'interface'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Interface', 'type'=>'string', 'maxlen'=>'64', 'optional'=>'yes', 'help-string'=>'Match Interface of the route'}, 'metric'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4294967295', 'optional'=>'yes', 'help-string'=>'Match Metric of route'}} # Match Interface of the route def interface prop_get('interface') end # Match Interface of the route def interface=(val) prop_set('interface', val) end # Match Metric of route def metric prop_get('metric') end # Match Metric of route def metric=(val) prop_set('metric', val) end end def match @subclasses['match'] ||= Match.new(parent_instance: self, client: @client, create_children: @create_children) end class Set < ConfigClass def has_multiple_values?; false; end def _section :set end @props = {'source-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'128', 'help-string'=>'Set Source IPv4 or IPv6 address'}} # Set Source IPv4 or IPv6 address def source_address prop_get('source-address') end # Set Source IPv4 or IPv6 address def source_address=(val) prop_set('source-address', val) end end def set @subclasses['set'] ||= Set.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Unique Sequence Number between <1-65535>'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'deny', 'optional'=>'yes', 'help-string'=>'Permit or Deny (default) Route Map', 'enum'=>[{'name'=>'deny', 'value'=>'deny', 'help-string'=>'Specify to Deny Route-Map'}, {'name'=>'permit', 'value'=>'permit', 'help-string'=>'Specify to Permit Route-Map'}]}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'optional'=>'yes', 'help-string'=>'Describe Route Map', 'regex'=>'^[ a-zA-Z0-9._-]+$'}} # Unique Sequence Number between <1-65535> def name prop_get('@name') end # Permit or Deny (default) Route Map def action prop_get('action') end # Permit or Deny (default) Route Map def action=(val) prop_set('action', val) end # Describe Route Map def description prop_get('description') end # Describe Route Map def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def route_map maybe_register_subclass('route-map', RouteMap.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def rib @subclasses['rib'] ||= Rib.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def connected_static @subclasses['connected-static'] ||= ConnectedStatic.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'regex'=>'^[a-zA-Z0-9._-]+$', 'help-string'=>'Redistribution Route-Map Name - alphanumeric string [0-9a-zA-Z._-]'}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'optional'=>'yes', 'help-string'=>'Describe Redistribution Route Map', 'regex'=>'^[ a-zA-Z0-9._-]+$'}} # Redistribution Route-Map Name - alphanumeric string [0-9a-zA-Z._-] def name prop_get('@name') end # Describe Redistribution Route Map def description prop_get('description') end # Describe Redistribution Route Map def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def redist_entry maybe_register_subclass('redist-entry', RedistEntry.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def redistribution @subclasses['redistribution'] ||= Redistribution.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def route_maps @subclasses['route-maps'] ||= RouteMaps.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def filters @subclasses['filters'] ||= Filters.new(parent_instance: self, client: @client, create_children: @create_children) end class Bfd < XML::ConfigClass def has_multiple_values?; true; end def _section :bfd end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Multihop < ConfigClass def has_multiple_values?; false; end def _section :multihop end @props = {'min-received-ttl'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'254', 'help-string'=>'minimum accepted ttl on received BFD packet', 'uiHint-fieldLabel'=>'Minimum Rx TTL'}} # minimum accepted ttl on received BFD packet def min_received_ttl prop_get('min-received-ttl') end # minimum accepted ttl on received BFD packet def min_received_ttl=(val) prop_set('min-received-ttl', val) end end def multihop @subclasses['multihop'] ||= Multihop.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]', 'regex'=>'^[a-zA-Z0-9._-]+$'}, 'mode'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'active', 'help-string'=>'BFD operation mode', 'enum'=>[{'value'=>'active', 'help-string'=>'actively sends control packets to neighbor'}, {'value'=>'passive', 'help-string'=>'wait for neighbor to send control packets, will respond as required'}]}, 'min-tx-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'50', 'max'=>'10000', 'default'=>'1000', 'help-string'=>'desired minimum tx interval in ms', 'uiHint-fieldLabel'=>'Desired Minimum Tx Interval (ms)'}, 'min-rx-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'50', 'max'=>'10000', 'default'=>'1000', 'help-string'=>'required minimum rx interval in ms', 'uiHint-fieldLabel'=>'Required Minimum Rx Interval (ms)'}, 'detection-multiplier'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'2', 'max'=>'255', 'default'=>'3', 'help-string'=>'multiplier sent to remote system', 'uiHint-fieldLabel'=>'Detection Time Multiplier'}, 'hold-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'120000', 'default'=>'0', 'help-string'=>'delay transmission and reception of control packets in ms', 'uiHint-fieldLabel'=>'Hold Time (ms)'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # BFD operation mode def mode prop_get('mode') end # BFD operation mode def mode=(val) prop_set('mode', val) end # desired minimum tx interval in ms def min_tx_interval prop_get('min-tx-interval') end # desired minimum tx interval in ms def min_tx_interval=(val) prop_set('min-tx-interval', val) end # required minimum rx interval in ms def min_rx_interval prop_get('min-rx-interval') end # required minimum rx interval in ms def min_rx_interval=(val) prop_set('min-rx-interval', val) end # multiplier sent to remote system def detection_multiplier prop_get('detection-multiplier') end # multiplier sent to remote system def detection_multiplier=(val) prop_set('detection-multiplier', val) end # delay transmission and reception of control packets in ms def hold_time prop_get('hold-time') end # delay transmission and reception of control packets in ms def hold_time=(val) prop_set('hold-time', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def bfd maybe_register_subclass('bfd', Bfd.new(parent_instance: self, client: @client, create_children: @create_children)) end class Multicast < ConfigClass def has_multiple_values?; false; end def _section :multicast end class PimInterfaceTimerProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'pim-interface-timer-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'regex'=>'^[a-zA-Z0-9._-]+$'}, 'assert-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65534', 'default'=>'177', 'help-string'=>'interval between PIM Assert messages, in seconds'}, 'hello-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'180', 'default'=>'30', 'help-string'=>'interval between PIM Hello messages, in seconds'}, 'join-prune-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'60', 'max'=>'600', 'default'=>'60', 'help-string'=>'interval between PIM Join/Prune messages, in seconds'}} def name prop_get('@name') end # interval between PIM Assert messages, in seconds def assert_interval prop_get('assert-interval') end # interval between PIM Assert messages, in seconds def assert_interval=(val) prop_set('assert-interval', val) end # interval between PIM Hello messages, in seconds def hello_interval prop_get('hello-interval') end # interval between PIM Hello messages, in seconds def hello_interval=(val) prop_set('hello-interval', val) end # interval between PIM Join/Prune messages, in seconds def join_prune_interval prop_get('join-prune-interval') end # interval between PIM Join/Prune messages, in seconds def join_prune_interval=(val) prop_set('join-prune-interval', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def pim_interface_timer_profile maybe_register_subclass('pim-interface-timer-profile', PimInterfaceTimerProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class IgmpInterfaceQueryProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'igmp-interface-query-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'regex'=>'^[a-zA-Z0-9._-]+$'}, 'max-query-response-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'10', 'min'=>'1', 'max'=>'25', 'help-string'=>'maximum query response time for general group membership queries in seconds'}, 'query-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'125', 'min'=>'1', 'max'=>'1800', 'help-string'=>'interval between group/source specific query messages'}, 'last-member-query-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'1', 'min'=>'1', 'max'=>'25', 'help-string'=>'interval between group/source specific query messages (including those sent in response of leave group messages)'}, 'immediate-leave'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'leave group immediately when a leave message is received'}} def name prop_get('@name') end # maximum query response time for general group membership queries in seconds def max_query_response_time prop_get('max-query-response-time') end # maximum query response time for general group membership queries in seconds def max_query_response_time=(val) prop_set('max-query-response-time', val) end # interval between group/source specific query messages def query_interval prop_get('query-interval') end # interval between group/source specific query messages def query_interval=(val) prop_set('query-interval', val) end # interval between group/source specific query messages (including those sent in response of leave group messages) def last_member_query_interval prop_get('last-member-query-interval') end # interval between group/source specific query messages (including those sent in response of leave group messages) def last_member_query_interval=(val) prop_set('last-member-query-interval', val) end # leave group immediately when a leave message is received def immediate_leave prop_get('immediate-leave') end # leave group immediately when a leave message is received def immediate_leave=(val) prop_set('immediate-leave', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def igmp_interface_query_profile maybe_register_subclass('igmp-interface-query-profile', IgmpInterfaceQueryProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class MsdpAuthProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'msdp-auth-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'regex'=>'^[a-zA-Z0-9._-]+$'}, 'secret'=>{'node-type'=>'element', 'optional'=>'yes', 'encrypt'=>'yes', 'skip-commit-validation'=>'yes', 'type'=>'string', 'regex'=>'^([a-zA-Z0-9!@#%^_-])+$', 'ui-hint'=>'regexText:"Only alphanumeric and !@#%^_- are allowed to use"', 'maxlen'=>'63', 'help-string'=>'shared secret for the TCP MD5 authentication, [a-zA-Z0-9!@#%^_-]'}} def name prop_get('@name') end # shared secret for the TCP MD5 authentication, [a-zA-Z0-9!@#%^_-] def secret prop_get('secret') end # shared secret for the TCP MD5 authentication, [a-zA-Z0-9!@#%^_-] def secret=(val) prop_set('secret', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def msdp_auth_profile maybe_register_subclass('msdp-auth-profile', MsdpAuthProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class MsdpTimerProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'msdp-timer-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'regex'=>'^[a-zA-Z0-9._-]+$'}, 'keep-alive-interval'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Keep Alive Interval', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'60', 'default'=>'60', 'help-string'=>'Interval (in seconds) to send keep alive packets'}, 'message-timeout'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Message Timeout', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'75', 'default'=>'75', 'help-string'=>'number of lost hello packets to declare router down'}, 'connection-retry-interval'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Connection Retry Interval', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'60', 'default'=>'30', 'help-string'=>'Max retry count'}} def name prop_get('@name') end # Interval (in seconds) to send keep alive packets def keep_alive_interval prop_get('keep-alive-interval') end # Interval (in seconds) to send keep alive packets def keep_alive_interval=(val) prop_set('keep-alive-interval', val) end # number of lost hello packets to declare router down def message_timeout prop_get('message-timeout') end # number of lost hello packets to declare router down def message_timeout=(val) prop_set('message-timeout', val) end # Max retry count def connection_retry_interval prop_get('connection-retry-interval') end # Max retry count def connection_retry_interval=(val) prop_set('connection-retry-interval', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def msdp_timer_profile maybe_register_subclass('msdp-timer-profile', MsdpTimerProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def multicast @subclasses['multicast'] ||= Multicast.new(parent_instance: self, client: @client, create_children: @create_children) end class Rip < ConfigClass def has_multiple_values?; false; end def _section :rip end class AuthProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'auth-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Md5 < XML::ConfigClass def has_multiple_values?; true; end def _section :md5 end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255', 'help-string'=>'Key-ID'}, 'key'=>{'node-type'=>'element', 'encrypt'=>'yes', 'type'=>'string', 'skip-commit-validation'=>'yes', 'maxlen'=>'16', 'help-string'=>'key for the authentication'}, 'preferred'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'use this key when sending packet'}} # Key-ID def name prop_get('@name') end # key for the authentication def key prop_get('key') end # key for the authentication def key=(val) prop_set('key', val) end # use this key when sending packet def preferred prop_get('preferred') end # use this key when sending packet def preferred=(val) prop_set('preferred', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def md5 maybe_register_subclass('md5', Md5.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'regex'=>'^[a-zA-Z0-9._-]+$'}, 'password'=>{'node-type'=>'element', 'optional'=>'yes', 'encrypt'=>'yes', 'skip-commit-validation'=>'yes', 'type'=>'string', 'maxlen'=>'16', 'help-string'=>'Simple password authentication'}} def name prop_get('@name') end # Simple password authentication def password prop_get('password') end # Simple password authentication def password=(val) prop_set('password', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def auth_profile maybe_register_subclass('auth-profile', AuthProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class GlobalTimerProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'global-timer-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'regex'=>'^[a-zA-Z0-9._-]+$'}, 'update-intervals'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'5', 'max'=>'2147483647', 'default'=>'30', 'help-string'=>'number of intervals take between route advertisement (RIP response packet)'}, 'expire-intervals'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'5', 'max'=>'2147483647', 'default'=>'180', 'help-string'=>'number of intervals take between route last updated to its expiration'}, 'delete-intervals'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'5', 'max'=>'2147483647', 'default'=>'120', 'help-string'=>'number of intervals take between route expiration to its deletion'}} def name prop_get('@name') end # number of intervals take between route advertisement (RIP response packet) def update_intervals prop_get('update-intervals') end # number of intervals take between route advertisement (RIP response packet) def update_intervals=(val) prop_set('update-intervals', val) end # number of intervals take between route last updated to its expiration def expire_intervals prop_get('expire-intervals') end # number of intervals take between route last updated to its expiration def expire_intervals=(val) prop_set('expire-intervals', val) end # number of intervals take between route expiration to its deletion def delete_intervals prop_get('delete-intervals') end # number of intervals take between route expiration to its deletion def delete_intervals=(val) prop_set('delete-intervals', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def global_timer_profile maybe_register_subclass('global-timer-profile', GlobalTimerProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class RedistributionProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'redistribution-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Static < ConfigClass def has_multiple_values?; false; end def _section :static end @props = {'enable'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable (default) or Disable'}, 'metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'16', 'help-string'=>'Set Metric of routes (Field ignored if route-map configured).'}, 'route-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Redistribute Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Apply Route-Map on Redistributed Routes'}} # Enable (default) or Disable def enable prop_get('enable') end # Enable (default) or Disable def enable=(val) prop_set('enable', val) end # Set Metric of routes (Field ignored if route-map configured). def metric prop_get('metric') end # Set Metric of routes (Field ignored if route-map configured). def metric=(val) prop_set('metric', val) end # Apply Route-Map on Redistributed Routes def route_map prop_get('route-map') end # Apply Route-Map on Redistributed Routes def route_map=(val) prop_set('route-map', val) end end def static @subclasses['static'] ||= Static.new(parent_instance: self, client: @client, create_children: @create_children) end class Connected < ConfigClass def has_multiple_values?; false; end def _section :connected end @props = {'enable'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable (default) or Disable'}, 'metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'16', 'help-string'=>'Set Metric of routes (Field ignored if route-map configured).'}, 'route-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Redistribute Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Apply Route-Map on Redistributed Routes'}} # Enable (default) or Disable def enable prop_get('enable') end # Enable (default) or Disable def enable=(val) prop_set('enable', val) end # Set Metric of routes (Field ignored if route-map configured). def metric prop_get('metric') end # Set Metric of routes (Field ignored if route-map configured). def metric=(val) prop_set('metric', val) end # Apply Route-Map on Redistributed Routes def route_map prop_get('route-map') end # Apply Route-Map on Redistributed Routes def route_map=(val) prop_set('route-map', val) end end def connected @subclasses['connected'] ||= Connected.new(parent_instance: self, client: @client, create_children: @create_children) end class Bgp < ConfigClass def has_multiple_values?; false; end def _section :bgp end @props = {'enable'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable (default) or Disable'}, 'metric'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'16', 'optional'=>'yes', 'help-string'=>'Set Metric of routes (Field ignored if route-map configured).'}, 'route-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Redistribute Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Apply Route-Map on Redistributed Routes'}} # Enable (default) or Disable def enable prop_get('enable') end # Enable (default) or Disable def enable=(val) prop_set('enable', val) end # Set Metric of routes (Field ignored if route-map configured). def metric prop_get('metric') end # Set Metric of routes (Field ignored if route-map configured). def metric=(val) prop_set('metric', val) end # Apply Route-Map on Redistributed Routes def route_map prop_get('route-map') end # Apply Route-Map on Redistributed Routes def route_map=(val) prop_set('route-map', val) end end def bgp @subclasses['bgp'] ||= Bgp.new(parent_instance: self, client: @client, create_children: @create_children) end class Ospf < ConfigClass def has_multiple_values?; false; end def _section :ospf end @props = {'enable'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable (default) or Disable'}, 'metric'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'16', 'optional'=>'yes', 'help-string'=>'Set Metric of routes (Field ignored if route-map configured).'}, 'route-map'=>{'node-type'=>'element', 'uiHint-fieldLabel'=>'Redistribute Route-Map', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'help-string'=>'Apply Route-Map on Redistributed Routes'}} # Enable (default) or Disable def enable prop_get('enable') end # Enable (default) or Disable def enable=(val) prop_set('enable', val) end # Set Metric of routes (Field ignored if route-map configured). def metric prop_get('metric') end # Set Metric of routes (Field ignored if route-map configured). def metric=(val) prop_set('metric', val) end # Apply Route-Map on Redistributed Routes def route_map prop_get('route-map') end # Apply Route-Map on Redistributed Routes def route_map=(val) prop_set('route-map', val) end end def ospf @subclasses['ospf'] ||= Ospf.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'help-string'=>'Profile Name', 'regex'=>'^[a-zA-Z0-9._-]+$'}} # Profile Name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def redistribution_profile maybe_register_subclass('redistribution-profile', RedistributionProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def rip @subclasses['rip'] ||= Rip.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def routing_profile @subclasses['routing-profile'] ||= RoutingProfile.new(parent_instance: self, client: @client, create_children: @create_children) end class DnsProxy < XML::ConfigClass def has_multiple_values?; true; end def _section :'dns-proxy' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Interface < XML::ConfigClass def has_multiple_values?; true; end def _section :interface end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Interface name'}} # Interface name def member prop_get('member') end # Interface name def member=(val) prop_set('member', val) end end def interface maybe_register_subclass('interface', Interface.new(parent_instance: self, client: @client, create_children: @create_children)) end class Default < ConfigClass def has_multiple_values?; false; end def _section :default end class Inheritance < ConfigClass def has_multiple_values?; false; end def _section :inheritance end @props = {'source'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Dynamic interface'}} # Dynamic interface def source prop_get('source') end # Dynamic interface def source=(val) prop_set('source', val) end end def inheritance @subclasses['inheritance'] ||= Inheritance.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'primary'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Primary DNS Name server IP address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'help-string'=>'DNS primary server ip'}, 'enum'=>[{'value'=>'inherited'}]}}, 'secondary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Secondary DNS Name server IP address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'help-string'=>'DNS primary server ip'}, 'enum'=>[{'value'=>'inherited'}]}}} # Primary DNS Name server IP address def primary prop_get('primary') end # Primary DNS Name server IP address def primary=(val) prop_set('primary', val) end # Secondary DNS Name server IP address def secondary prop_get('secondary') end # Secondary DNS Name server IP address def secondary=(val) prop_set('secondary', val) end end def default @subclasses['default'] ||= Default.new(parent_instance: self, client: @client, create_children: @create_children) end class DomainServers < XML::ConfigClass def has_multiple_values?; true; end def _section :'domain-servers' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class DomainName < XML::ConfigClass def has_multiple_values?; true; end def _section :'domain-name' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^[a-zA-Z0-9_\.\*\-]+$', 'maxlen'=>'128', 'help-string'=>'Dotted domain name with optional wildcards'}} # Dotted domain name with optional wildcards def member prop_get('member') end # Dotted domain name with optional wildcards def member=(val) prop_set('member', val) end end def domain_name maybe_register_subclass('domain-name', DomainName.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'optional'=>'no', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'cacheable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Turn on caching of domains resolved by this mapping'}, 'primary'=>{'node-type'=>'element', 'type'=>'ipspec', 'unicast-only'=>'yes', 'help-string'=>'Primary DNS Name server IP address'}, 'secondary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-only'=>'yes', 'help-string'=>'Secondary DNS Name server IP address'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # Turn on caching of domains resolved by this mapping def cacheable prop_get('cacheable') end # Turn on caching of domains resolved by this mapping def cacheable=(val) prop_set('cacheable', val) end # Primary DNS Name server IP address def primary prop_get('primary') end # Primary DNS Name server IP address def primary=(val) prop_set('primary', val) end # Secondary DNS Name server IP address def secondary prop_get('secondary') end # Secondary DNS Name server IP address def secondary=(val) prop_set('secondary', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def domain_servers maybe_register_subclass('domain-servers', DomainServers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Cache < ConfigClass def has_multiple_values?; false; end def _section :cache end class MaxTtl < ConfigClass def has_multiple_values?; false; end def _section :'max-ttl' end @props = {'enabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable max ttl for this DNS object'}, 'time-to-live'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'60', 'max'=>'86400', 'help-string'=>'Time in seconds after which entry is cleared'}} # Enable max ttl for this DNS object def enabled prop_get('enabled') end # Enable max ttl for this DNS object def enabled=(val) prop_set('enabled', val) end # Time in seconds after which entry is cleared def time_to_live prop_get('time-to-live') end # Time in seconds after which entry is cleared def time_to_live=(val) prop_set('time-to-live', val) end end def max_ttl @subclasses['max-ttl'] ||= MaxTtl.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Turn on caching for this DNS object'}, 'cache-edns'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Cache EDNS UDP response'}} # Turn on caching for this DNS object def enabled prop_get('enabled') end # Turn on caching for this DNS object def enabled=(val) prop_set('enabled', val) end # Cache EDNS UDP response def cache_edns prop_get('cache-edns') end # Cache EDNS UDP response def cache_edns=(val) prop_set('cache-edns', val) end end def cache @subclasses['cache'] ||= Cache.new(parent_instance: self, client: @client, create_children: @create_children) end class StaticEntries < XML::ConfigClass def has_multiple_values?; true; end def _section :'static-entries' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Address < XML::ConfigClass def has_multiple_values?; true; end def _section :address end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Resolved IP address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # Resolved IP address def member prop_get('member') end # Resolved IP address def member=(val) prop_set('member', val) end end def address maybe_register_subclass('address', Address.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'optional'=>'no', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'domain'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'help-string'=>'Fully qualified domain name for specified IP address'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # Fully qualified domain name for specified IP address def domain prop_get('domain') end # Fully qualified domain name for specified IP address def domain=(val) prop_set('domain', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def static_entries maybe_register_subclass('static-entries', StaticEntries.new(parent_instance: self, client: @client, create_children: @create_children)) end class TcpQueries < ConfigClass def has_multiple_values?; false; end def _section :'tcp-queries' end @props = {'enabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Turn on forwarding of TCP DNS queries'}, 'max-pending-requests'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'64', 'max'=>'256', 'default'=>'64', 'help-string'=>'Upper limit on number of concurrent TCP DNS requests'}} # Turn on forwarding of TCP DNS queries def enabled prop_get('enabled') end # Turn on forwarding of TCP DNS queries def enabled=(val) prop_set('enabled', val) end # Upper limit on number of concurrent TCP DNS requests def max_pending_requests prop_get('max-pending-requests') end # Upper limit on number of concurrent TCP DNS requests def max_pending_requests=(val) prop_set('max-pending-requests', val) end end def tcp_queries @subclasses['tcp-queries'] ||= TcpQueries.new(parent_instance: self, client: @client, create_children: @create_children) end class UdpQueries < ConfigClass def has_multiple_values?; false; end def _section :'udp-queries' end class Retries < ConfigClass def has_multiple_values?; false; end def _section :retries end @props = {'interval'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'1', 'max'=>'30', 'default'=>'2', 'help-string'=>'Time in seconds for another request to be sent'}, 'attempts'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'1', 'max'=>'30', 'default'=>'5', 'help-string'=>'Maximum number of retries before trying next name server'}} # Time in seconds for another request to be sent def interval prop_get('interval') end # Time in seconds for another request to be sent def interval=(val) prop_set('interval', val) end # Maximum number of retries before trying next name server def attempts prop_get('attempts') end # Maximum number of retries before trying next name server def attempts=(val) prop_set('attempts', val) end end def retries @subclasses['retries'] ||= Retries.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def udp_queries @subclasses['udp-queries'] ||= UdpQueries.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'optional'=>'no', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable or disable processing of DNS requests on interface(s) on this object'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # Enable or disable processing of DNS requests on interface(s) on this object def enabled prop_get('enabled') end # Enable or disable processing of DNS requests on interface(s) on this object def enabled=(val) prop_set('enabled', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def dns_proxy maybe_register_subclass('dns-proxy', DnsProxy.new(parent_instance: self, client: @client, create_children: @create_children)) end class Dhcp < ConfigClass def has_multiple_values?; false; end def _section :dhcp end class Interface < XML::ConfigClass def has_multiple_values?; true; end def _section :interface end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Server < ConfigClass def has_multiple_values?; false; end def _section :server end class Option < ConfigClass def has_multiple_values?; false; end def _section :option end class Lease < XML::ConfigClass def has_multiple_values?; true; end def _section :lease end class Unlimited < ConfigClass def has_multiple_values?; false; end def _section :unlimited end @props = {} end def unlimited @subclasses['unlimited'] ||= Unlimited.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'1000000', 'default'=>'1440', 'help-string'=>'lease(minute)'}} # lease(minute) def timeout prop_get('timeout') end # lease(minute) def timeout=(val) prop_set('timeout', val) end end def lease maybe_register_subclass('lease', Lease.new(parent_instance: self, client: @client, create_children: @create_children)) end class Inheritance < ConfigClass def has_multiple_values?; false; end def _section :inheritance end @props = {'source'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Dynamic interface'}} # Dynamic interface def source prop_get('source') end # Dynamic interface def source=(val) prop_set('source', val) end end def inheritance @subclasses['inheritance'] ||= Inheritance.new(parent_instance: self, client: @client, create_children: @create_children) end class Dns < ConfigClass def has_multiple_values?; false; end def _section :dns end @props = {'primary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'DNS primary server ip address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'ipv4-only'=>'yes', 'help-string'=>'DNS server ip'}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'inherited'}]}}, 'secondary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'DNS secondary server ip address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'ipv4-only'=>'yes', 'help-string'=>'DNS server ip'}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'inherited'}]}}} # DNS primary server ip address def primary prop_get('primary') end # DNS primary server ip address def primary=(val) prop_set('primary', val) end # DNS secondary server ip address def secondary prop_get('secondary') end # DNS secondary server ip address def secondary=(val) prop_set('secondary', val) end end def dns @subclasses['dns'] ||= Dns.new(parent_instance: self, client: @client, create_children: @create_children) end class Wins < ConfigClass def has_multiple_values?; false; end def _section :wins end @props = {'primary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'WINS primary server ip address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'ipv4-only'=>'yes', 'help-string'=>'WINS server ip'}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'inherited'}]}}, 'secondary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'WINS secondary server ip address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'ipv4-only'=>'yes', 'help-string'=>'WINS server ip'}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'inherited'}]}}} # WINS primary server ip address def primary prop_get('primary') end # WINS primary server ip address def primary=(val) prop_set('primary', val) end # WINS secondary server ip address def secondary prop_get('secondary') end # WINS secondary server ip address def secondary=(val) prop_set('secondary', val) end end def wins @subclasses['wins'] ||= Wins.new(parent_instance: self, client: @client, create_children: @create_children) end class Nis < ConfigClass def has_multiple_values?; false; end def _section :nis end @props = {'primary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'NIS primary server ip address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'ipv4-only'=>'yes', 'help-string'=>'NIS server ip'}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'inherited'}]}}, 'secondary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'NIS secondary server ip address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'ipv4-only'=>'yes', 'help-string'=>'NIS server ip'}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'inherited'}]}}} # NIS primary server ip address def primary prop_get('primary') end # NIS primary server ip address def primary=(val) prop_set('primary', val) end # NIS secondary server ip address def secondary prop_get('secondary') end # NIS secondary server ip address def secondary=(val) prop_set('secondary', val) end end def nis @subclasses['nis'] ||= Nis.new(parent_instance: self, client: @client, create_children: @create_children) end class Ntp < ConfigClass def has_multiple_values?; false; end def _section :ntp end @props = {'primary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'NTP primary server ip address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'ipv4-only'=>'yes', 'help-string'=>'NTP server ip'}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'inherited'}]}}, 'secondary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'NTP secondary server ip address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'ipv4-only'=>'yes', 'help-string'=>'NTP server ip'}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'inherited'}]}}} # NTP primary server ip address def primary prop_get('primary') end # NTP primary server ip address def primary=(val) prop_set('primary', val) end # NTP secondary server ip address def secondary prop_get('secondary') end # NTP secondary server ip address def secondary=(val) prop_set('secondary', val) end end def ntp @subclasses['ntp'] ||= Ntp.new(parent_instance: self, client: @client, create_children: @create_children) end class UserDefined < XML::ConfigClass def has_multiple_values?; true; end def _section :'user-defined' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Ip < XML::ConfigClass def has_multiple_values?; true; end def _section :ip end @props = {'member'=>{'node-type'=>'element', 'type'=>'ipspec', 'ipv4-only'=>'yes'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def ip maybe_register_subclass('ip', Ip.new(parent_instance: self, client: @client, create_children: @create_children)) end class Ascii < XML::ConfigClass def has_multiple_values?; true; end def _section :ascii end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'255'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def ascii maybe_register_subclass('ascii', Ascii.new(parent_instance: self, client: @client, create_children: @create_children)) end class Hex < XML::ConfigClass def has_multiple_values?; true; end def _section :hex end @props = {'member'=>{'node-type'=>'element', 'minlen'=>'1', 'maxlen'=>'510', 'type'=>'string', 'regex'=>'^[0-9a-fA-F]+$'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def hex maybe_register_subclass('hex', Hex.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'optional'=>'no', 'type'=>'string', 'regex'=>'^([ a-zA-Z0-9_.-])+$', 'help-string'=>'option name'}, 'code'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'254', 'help-string'=>'option code'}, 'vendor-class-identifier'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'255', 'regex'=>'^([ a-zA-Z0-9./_=:;?@-])+$'}, 'inherited'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Inherited from DHCP server inheritance source'}} # option name def name prop_get('@name') end # option code def code prop_get('code') end # option code def code=(val) prop_set('code', val) end def vendor_class_identifier prop_get('vendor-class-identifier') end def vendor_class_identifier=(val) prop_set('vendor-class-identifier', val) end # Inherited from DHCP server inheritance source def inherited prop_get('inherited') end # Inherited from DHCP server inheritance source def inherited=(val) prop_set('inherited', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def user_defined maybe_register_subclass('user-defined', UserDefined.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'gateway'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'default gateway', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'ipv4-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'subnet-mask'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'var-ip-address', 'unicast-only'=>'yes', 'optional'=>'yes', 'help-string'=>'ip pool subnet mask'}, 'pop3-server'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'POP3 server', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'ipv4-only'=>'yes', 'help-string'=>'POP3 server ip address'}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'inherited'}]}}, 'smtp-server'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'SMTP server', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'ipv4-only'=>'yes', 'help-string'=>'SMTP server ip address'}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'inherited'}]}}, 'dns-suffix'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'help-string'=>'domain name', 'multi-types'=>{'string'=>{'maxlen'=>'63', 'help-string'=>'SMTP server ip address'}, 'enum'=>[{'value'=>'inherited'}]}}} # default gateway def gateway prop_get('gateway') end # default gateway def gateway=(val) prop_set('gateway', val) end # ip pool subnet mask def subnet_mask prop_get('subnet-mask') end # ip pool subnet mask def subnet_mask=(val) prop_set('subnet-mask', val) end # POP3 server def pop3_server prop_get('pop3-server') end # POP3 server def pop3_server=(val) prop_set('pop3-server', val) end # SMTP server def smtp_server prop_get('smtp-server') end # SMTP server def smtp_server=(val) prop_set('smtp-server', val) end # domain name def dns_suffix prop_get('dns-suffix') end # domain name def dns_suffix=(val) prop_set('dns-suffix', val) end end def option @subclasses['option'] ||= Option.new(parent_instance: self, client: @client, create_children: @create_children) end class IpPool < XML::ConfigClass def has_multiple_values?; true; end def _section :'ip-pool' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes'}, 'iprangespec'=>{}, 'string'=>{'maxlen'=>'63'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def ip_pool maybe_register_subclass('ip-pool', IpPool.new(parent_instance: self, client: @client, create_children: @create_children)) end class Reserved < XML::ConfigClass def has_multiple_values?; true; end def _section :reserved end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'optional'=>'no', 'type'=>'ipspec', 'ipv4-only'=>'yes', 'unicast-only'=>'yes', 'help-string'=>'ip'}, 'mac'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'subtype'=>'mac-address', 'help-string'=>'MAC address (format xx:xx:xx:xx:xx:xx)'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Description of reserved entry, e.g. host name', 'maxlen'=>'255'}} # ip def name prop_get('@name') end # MAC address (format xx:xx:xx:xx:xx:xx) def mac prop_get('mac') end # MAC address (format xx:xx:xx:xx:xx:xx) def mac=(val) prop_set('mac', val) end # Description of reserved entry, e.g. host name def description prop_get('description') end # Description of reserved entry, e.g. host name def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def reserved maybe_register_subclass('reserved', Reserved.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'mode'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'enabled', 'help-string'=>'Enable dhcp server'}, {'value'=>'disabled', 'help-string'=>'Disable dhcp server'}, {'value'=>'auto', 'help-string'=>'Auto probe to avoid conflict with existing DHCP server'}]}, 'probe-ip'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Ping IP when allocating a new IP'}} def mode prop_get('mode') end def mode=(val) prop_set('mode', val) end # Ping IP when allocating a new IP def probe_ip prop_get('probe-ip') end # Ping IP when allocating a new IP def probe_ip=(val) prop_set('probe-ip', val) end end def server @subclasses['server'] ||= Server.new(parent_instance: self, client: @client, create_children: @create_children) end class Relay < ConfigClass def has_multiple_values?; false; end def _section :relay end class Ip < ConfigClass def has_multiple_values?; false; end def _section :ip end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'relay server ip', 'max-count'=>'8', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes', 'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # relay server ip def member prop_get('member') end # relay server ip def member=(val) prop_set('member', val) end end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} def enabled prop_get('enabled') end def enabled=(val) prop_set('enabled', val) end end def ip @subclasses['ip'] ||= Ip.new(parent_instance: self, client: @client, create_children: @create_children) end class Ipv6 < ConfigClass def has_multiple_values?; false; end def _section :ipv6 end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'optional'=>'no', 'type'=>'ipspec', 'ipv6-only'=>'yes', 'help-string'=>'relay server address'}, 'interface'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Specify outgoing interface when using an IPv6 multicast address for your DHCPv6 server'}} # relay server address def name prop_get('@name') end # Specify outgoing interface when using an IPv6 multicast address for your DHCPv6 server def interface prop_get('interface') end # Specify outgoing interface when using an IPv6 multicast address for your DHCPv6 server def interface=(val) prop_set('interface', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} def enabled prop_get('enabled') end def enabled=(val) prop_set('enabled', val) end end def ipv6 @subclasses['ipv6'] ||= Ipv6.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def relay @subclasses['relay'] ||= Relay.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'optional'=>'no', 'type'=>'string', 'regex'=>'^([ 0-9a-zA-Z./_-])+$', 'help-string'=>'interface for dhcp, Client Interface is not allowed to be DHCP Server or Relay'}} # interface for dhcp, Client Interface is not allowed to be DHCP Server or Relay def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def interface maybe_register_subclass('interface', Interface.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def dhcp @subclasses['dhcp'] ||= Dhcp.new(parent_instance: self, client: @client, create_children: @create_children) end class SharedGateway < XML::ConfigClass def has_multiple_values?; true; end def _section :'shared-gateway' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Import < ConfigClass def has_multiple_values?; false; end def _section :import end class Network < ConfigClass def has_multiple_values?; false; end def _section :network end class Interface < XML::ConfigClass def has_multiple_values?; true; end def _section :interface end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'affects'=>'../../../../../zone'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def interface maybe_register_subclass('interface', Interface.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def network @subclasses['network'] ||= Network.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'dns-proxy'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Dns proxy object to use for resolving fqdns'}} # Dns proxy object to use for resolving fqdns def dns_proxy prop_get('dns-proxy') end # Dns proxy object to use for resolving fqdns def dns_proxy=(val) prop_set('dns-proxy', val) end end def import @subclasses['import'] ||= Import.new(parent_instance: self, client: @client, create_children: @create_children) end class Zone < XML::ConfigClass def has_multiple_values?; true; end def _section :zone end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Network < ConfigClass def has_multiple_values?; false; end def _section :network end class Layer3 < XML::ConfigClass def has_multiple_values?; true; end def _section :layer3 end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def layer3 maybe_register_subclass('layer3', Layer3.new(parent_instance: self, client: @client, create_children: @create_children)) end class External < XML::ConfigClass def has_multiple_values?; true; end def _section :external end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'vsys name'}} # vsys name def member prop_get('member') end # vsys name def member=(val) prop_set('member', val) end end def external maybe_register_subclass('external', External.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'zone-protection-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Zone protection profile'}, 'enable-packet-buffer-protection'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'log-setting'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'Log setting for forwarding scan logs'}} # Zone protection profile def zone_protection_profile prop_get('zone-protection-profile') end # Zone protection profile def zone_protection_profile=(val) prop_set('zone-protection-profile', val) end def enable_packet_buffer_protection prop_get('enable-packet-buffer-protection') end def enable_packet_buffer_protection=(val) prop_set('enable-packet-buffer-protection', val) end # Log setting for forwarding scan logs def log_setting prop_get('log-setting') end # Log setting for forwarding scan logs def log_setting=(val) prop_set('log-setting', val) end end def network @subclasses['network'] ||= Network.new(parent_instance: self, client: @client, create_children: @create_children) end class UserAcl < ConfigClass def has_multiple_values?; false; end def _section :'user-acl' end class IncludeList < XML::ConfigClass def has_multiple_values?; true; end def _section :'include-list' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'ipspec'=>{}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def include_list maybe_register_subclass('include-list', IncludeList.new(parent_instance: self, client: @client, create_children: @create_children)) end class ExcludeList < XML::ConfigClass def has_multiple_values?; true; end def _section :'exclude-list' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'ipspec'=>{}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def exclude_list maybe_register_subclass('exclude-list', ExcludeList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def user_acl @subclasses['user-acl'] ||= UserAcl.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'15', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'dos-profile'=>{'node-type'=>'element', 'disabled'=>'yes', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Denial-of-Service profile'}, 'dos-log-setting'=>{'node-type'=>'element', 'disabled'=>'yes', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'Log setting for forwarding DoS logs'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # Denial-of-Service profile def dos_profile prop_get('dos-profile') end # Denial-of-Service profile def dos_profile=(val) prop_set('dos-profile', val) end # Log setting for forwarding DoS logs def dos_log_setting prop_get('dos-log-setting') end # Log setting for forwarding DoS logs def dos_log_setting=(val) prop_set('dos-log-setting', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def zone maybe_register_subclass('zone', Zone.new(parent_instance: self, client: @client, create_children: @create_children)) end class Address < XML::ConfigClass def has_multiple_values?; true; end def _section :address end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'no'}]}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'ip-netmask'=>{'node-type'=>'element', 'type'=>'ipspec'}, 'ip-range'=>{'node-type'=>'element', 'type'=>'iprangespec'}, 'ip-wildcard'=>{'node-type'=>'element', 'type'=>'ipdiscontmask'}, 'fqdn'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'255', 'regex'=>'^[a-zA-Z0-9_]([a-zA-Z0-9._-])+[a-zA-Z0-9]$'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end def ip_netmask prop_get('ip-netmask') end def ip_netmask=(val) prop_set('ip-netmask', val) end def ip_range prop_get('ip-range') end def ip_range=(val) prop_set('ip-range', val) end def ip_wildcard prop_get('ip-wildcard') end def ip_wildcard=(val) prop_set('ip-wildcard', val) end def fqdn prop_get('fqdn') end def fqdn=(val) prop_set('fqdn', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def address maybe_register_subclass('address', Address.new(parent_instance: self, client: @client, create_children: @create_children)) end class AddressGroup < XML::ConfigClass def has_multiple_values?; true; end def _section :'address-group' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Static < XML::ConfigClass def has_multiple_values?; true; end def _section :static end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def static maybe_register_subclass('static', Static.new(parent_instance: self, client: @client, create_children: @create_children)) end class Dynamic < ConfigClass def has_multiple_values?; false; end def _section :dynamic end @props = {'filter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2047', 'help-string'=>'tag-based filter'}} # tag-based filter def filter prop_get('filter') end # tag-based filter def filter=(val) prop_set('filter', val) end end def dynamic @subclasses['dynamic'] ||= Dynamic.new(parent_instance: self, client: @client, create_children: @create_children) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'no'}]}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def address_group maybe_register_subclass('address-group', AddressGroup.new(parent_instance: self, client: @client, create_children: @create_children)) end class Service < XML::ConfigClass def has_multiple_values?; true; end def _section :service end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Protocol < XML::ConfigClass def has_multiple_values?; true; end def _section :protocol end class Tcp < ConfigClass def has_multiple_values?; false; end def _section :tcp end class Override < XML::ConfigClass def has_multiple_values?; true; end def _section :override end class No < ConfigClass def has_multiple_values?; false; end def _section :no end @props = {} end def no @subclasses['no'] ||= No.new(parent_instance: self, client: @client, create_children: @create_children) end class Yes < ConfigClass def has_multiple_values?; false; end def _section :yes end @props = {'timeout'=>{'node-type'=>'element', 'help-string'=>'tcp session timeout value (in second)', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'604800'}, 'halfclose-timeout'=>{'node-type'=>'element', 'help-string'=>'tcp session half-close timeout value (in second)', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'604800'}, 'timewait-timeout'=>{'node-type'=>'element', 'help-string'=>'tcp session time-wait timeout value (in second)', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'600'}} # tcp session timeout value (in second) def timeout prop_get('timeout') end # tcp session timeout value (in second) def timeout=(val) prop_set('timeout', val) end # tcp session half-close timeout value (in second) def halfclose_timeout prop_get('halfclose-timeout') end # tcp session half-close timeout value (in second) def halfclose_timeout=(val) prop_set('halfclose-timeout', val) end # tcp session time-wait timeout value (in second) def timewait_timeout prop_get('timewait-timeout') end # tcp session time-wait timeout value (in second) def timewait_timeout=(val) prop_set('timewait-timeout', val) end end def yes @subclasses['yes'] ||= Yes.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def override maybe_register_subclass('override', Override.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'port'=>{'node-type'=>'element', 'type'=>'rangelistspec', 'min'=>'0', 'maxlen'=>'1023'}, 'source-port'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangelistspec', 'min'=>'0', 'maxlen'=>'1023'}} def port prop_get('port') end def port=(val) prop_set('port', val) end def source_port prop_get('source-port') end def source_port=(val) prop_set('source-port', val) end end def tcp @subclasses['tcp'] ||= Tcp.new(parent_instance: self, client: @client, create_children: @create_children) end class Udp < ConfigClass def has_multiple_values?; false; end def _section :udp end class Override < XML::ConfigClass def has_multiple_values?; true; end def _section :override end class No < ConfigClass def has_multiple_values?; false; end def _section :no end @props = {} end def no @subclasses['no'] ||= No.new(parent_instance: self, client: @client, create_children: @create_children) end class Yes < ConfigClass def has_multiple_values?; false; end def _section :yes end @props = {'timeout'=>{'node-type'=>'element', 'help-string'=>'udp session timeout value (in second)', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'604800', 'default'=>'30'}} # udp session timeout value (in second) def timeout prop_get('timeout') end # udp session timeout value (in second) def timeout=(val) prop_set('timeout', val) end end def yes @subclasses['yes'] ||= Yes.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def override maybe_register_subclass('override', Override.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'port'=>{'node-type'=>'element', 'type'=>'rangelistspec', 'min'=>'0', 'maxlen'=>'1023'}, 'source-port'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangelistspec', 'min'=>'0', 'maxlen'=>'1023'}} def port prop_get('port') end def port=(val) prop_set('port', val) end def source_port prop_get('source-port') end def source_port=(val) prop_set('source-port', val) end end def udp @subclasses['udp'] ||= Udp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def protocol maybe_register_subclass('protocol', Protocol.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'no'}]}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def service maybe_register_subclass('service', Service.new(parent_instance: self, client: @client, create_children: @create_children)) end class ServiceGroup < XML::ConfigClass def has_multiple_values?; true; end def _section :'service-group' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Members < XML::ConfigClass def has_multiple_values?; true; end def _section :members end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def members maybe_register_subclass('members', Members.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'no'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def service_group maybe_register_subclass('service-group', ServiceGroup.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'127', 'regex'=>'^[^\]\'\[]*$'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'no'}]}, 'color'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'color1'}, {'value'=>'color2'}, {'value'=>'color3'}, {'value'=>'color4'}, {'value'=>'color5'}, {'value'=>'color6'}, {'value'=>'color7'}, {'value'=>'color8'}, {'value'=>'color9'}, {'value'=>'color10'}, {'value'=>'color11'}, {'value'=>'color12'}, {'value'=>'color13'}, {'value'=>'color14'}, {'value'=>'color15'}, {'value'=>'color16'}, {'value'=>'color17'}, {'value'=>'color19'}, {'value'=>'color20'}, {'value'=>'color21'}, {'value'=>'color22'}, {'value'=>'color23'}, {'value'=>'color24'}, {'value'=>'color25'}, {'value'=>'color26'}, {'value'=>'color27'}, {'value'=>'color28'}, {'value'=>'color29'}, {'value'=>'color30'}, {'value'=>'color31'}, {'value'=>'color32'}, {'value'=>'color33'}, {'value'=>'color34'}, {'value'=>'color35'}, {'value'=>'color36'}, {'value'=>'color37'}, {'value'=>'color38'}, {'value'=>'color39'}, {'value'=>'color40'}, {'value'=>'color41'}, {'value'=>'color42'}]}, 'comments'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}} def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end def color prop_get('color') end def color=(val) prop_set('color', val) end def comments prop_get('comments') end def comments=(val) prop_set('comments', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end class LogSettings < ConfigClass def has_multiple_values?; false; end def _section :'log-settings' end class Correlation < ConfigClass def has_multiple_values?; false; end def _section :correlation end class MatchList < XML::ConfigClass def has_multiple_values?; true; end def _section :'match-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SendSnmptrap < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-snmptrap' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_snmptrap maybe_register_subclass('send-snmptrap', SendSnmptrap.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendEmail < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-email' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_email maybe_register_subclass('send-email', SendEmail.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendSyslog < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-syslog' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_syslog maybe_register_subclass('send-syslog', SendSyslog.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendHttp < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-http' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_http maybe_register_subclass('send-http', SendHttp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Actions < XML::ConfigClass def has_multiple_values?; true; end def _section :actions end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Integration < ConfigClass def has_multiple_values?; false; end def _section :integration end @props = {'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'Azure-Security-Center-Integration', 'enum'=>[{'value'=>'Azure-Security-Center-Integration', 'help-string'=>'Azure Security Center Integration'}]}} def action prop_get('action') end def action=(val) prop_set('action', val) end end def integration @subclasses['integration'] ||= Integration.new(parent_instance: self, client: @client, create_children: @create_children) end class Tagging < ConfigClass def has_multiple_values?; false; end def _section :tagging end class Registration < XML::ConfigClass def has_multiple_values?; true; end def _section :registration end class Localhost < ConfigClass def has_multiple_values?; false; end def _section :localhost end @props = {} end def localhost @subclasses['localhost'] ||= Localhost.new(parent_instance: self, client: @client, create_children: @create_children) end class Panorama < ConfigClass def has_multiple_values?; false; end def _section :panorama end @props = {} end def panorama @subclasses['panorama'] ||= Panorama.new(parent_instance: self, client: @client, create_children: @create_children) end class Remote < ConfigClass def has_multiple_values?; false; end def _section :remote end @props = {'http-profile'=>{'node-type'=>'element', 'type'=>'string'}} def http_profile prop_get('http-profile') end def http_profile=(val) prop_set('http-profile', val) end end def remote @subclasses['remote'] ||= Remote.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def registration maybe_register_subclass('registration', Registration.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'127', 'regex'=>'^[^\]\'\[]*$'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'target'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'source-address', 'enum'=>[{'value'=>'source-address', 'help-string'=>'Source Address'}, {'value'=>'destination-address', 'help-string'=>'Destination Address'}, {'value'=>'xff-address', 'help-string'=>'X-Forwarded-For Address'}, {'value'=>'user', 'help-string'=>'User'}]}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'add-tag', 'enum'=>[{'value'=>'add-tag', 'help-string'=>'Add Tag'}, {'value'=>'remove-tag', 'help-string'=>'Remove Tag'}]}, 'timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'43200', 'optional'=>'yes', 'default'=>'0', 'help-string'=>'timeout in minutes'}} def target prop_get('target') end def target=(val) prop_set('target', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # timeout in minutes def timeout prop_get('timeout') end # timeout in minutes def timeout=(val) prop_set('timeout', val) end end def tagging @subclasses['tagging'] ||= Tagging.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def actions maybe_register_subclass('actions', Actions.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'filter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1023'}, 'quarantine'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}} def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def filter prop_get('filter') end def filter=(val) prop_set('filter', val) end def quarantine prop_get('quarantine') end def quarantine=(val) prop_set('quarantine', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def match_list maybe_register_subclass('match-list', MatchList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def correlation @subclasses['correlation'] ||= Correlation.new(parent_instance: self, client: @client, create_children: @create_children) end class Snmptrap < XML::ConfigClass def has_multiple_values?; true; end def _section :snmptrap end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Version < XML::ConfigClass def has_multiple_values?; true; end def _section :version end class V2c < ConfigClass def has_multiple_values?; false; end def _section :v2c end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'manager'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'IP address or FQDN of SNMP manager to use', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63', 'loose-membership'=>'yes'}}}, 'community'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # IP address or FQDN of SNMP manager to use def manager prop_get('manager') end # IP address or FQDN of SNMP manager to use def manager=(val) prop_set('manager', val) end def community prop_get('community') end def community=(val) prop_set('community', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def v2c @subclasses['v2c'] ||= V2c.new(parent_instance: self, client: @client, create_children: @create_children) end class V3 < ConfigClass def has_multiple_values?; false; end def _section :v3 end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'manager'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'IP address or FQDN of SNMP manager to use', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63', 'loose-membership'=>'yes'}}}, 'user'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31'}, 'engineid'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'255', 'regex'=>'^[0][xX][0-9A-Fa-f]{10,128}$', 'help-string'=>'A hex number (min 5 - max 64 bytes) '}, 'authpwd'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Authentication Protocol Password', 'minlen'=>'8', 'maxlen'=>'256', 'encrypt'=>'yes'}, 'privpwd'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Privacy Protocol Password', 'minlen'=>'8', 'maxlen'=>'256', 'encrypt'=>'yes'}, 'authproto'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'SHA', 'help-string'=>'Authentication Protocol', 'enum'=>[{'value'=>'SHA'}, {'value'=>'SHA-224'}, {'value'=>'SHA-256'}, {'value'=>'SHA-384'}, {'value'=>'SHA-512'}]}, 'privproto'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'AES', 'help-string'=>'Privacy Protocol', 'enum'=>[{'value'=>'AES'}, {'value'=>'AES-192'}, {'value'=>'AES-256'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # IP address or FQDN of SNMP manager to use def manager prop_get('manager') end # IP address or FQDN of SNMP manager to use def manager=(val) prop_set('manager', val) end def user prop_get('user') end def user=(val) prop_set('user', val) end # A hex number (min 5 - max 64 bytes) def engineid prop_get('engineid') end # A hex number (min 5 - max 64 bytes) def engineid=(val) prop_set('engineid', val) end # Authentication Protocol Password def authpwd prop_get('authpwd') end # Authentication Protocol Password def authpwd=(val) prop_set('authpwd', val) end # Privacy Protocol Password def privpwd prop_get('privpwd') end # Privacy Protocol Password def privpwd=(val) prop_set('privpwd', val) end # Authentication Protocol def authproto prop_get('authproto') end # Authentication Protocol def authproto=(val) prop_set('authproto', val) end # Privacy Protocol def privproto prop_get('privproto') end # Privacy Protocol def privproto=(val) prop_set('privproto', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def v3 @subclasses['v3'] ||= V3.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def version maybe_register_subclass('version', Version.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def snmptrap maybe_register_subclass('snmptrap', Snmptrap.new(parent_instance: self, client: @client, create_children: @create_children)) end class Email < XML::ConfigClass def has_multiple_values?; true; end def _section :email end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'display-name'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes'}, 'from'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([a-zA-Z0-9_?~^\'`.\+/=|#$!*%{}\&-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$', 'maxlen'=>'128', 'help-string'=>'email address (e.g. admin@mycompany.com)'}, 'to'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([a-zA-Z0-9_?~^\'`.\+/=|#$!*%{}\&-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$', 'maxlen'=>'128', 'help-string'=>'email address (e.g. admin@mycompany.com)'}, 'and-also-to'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^([a-zA-Z0-9_?~^\'`.\+/=|#$!*%{}\&-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$', 'maxlen'=>'128', 'help-string'=>'email address (e.g. admin@mycompany.com)'}, 'gateway'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'IP address or FQDN of SMTP gateway to use'}, 'protocol'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'SMTP', 'enum'=>[{'value'=>'SMTP'}, {'value'=>'TLS'}]}, 'port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'optional'=>'yes', 'default'=>'25', 'help-string'=>'Port number (Standard EMAIL ports SMTP:25, TLS:587)'}, 'tls-version'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'1.2', 'help-string'=>'TLS handshake protocol version', 'enum'=>[{'value'=>'1.2'}, {'value'=>'1.1'}]}, 'auth'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'Auto'}, {'value'=>'Login'}, {'value'=>'Plain'}]}, 'certificate-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'default'=>'None', 'help-string'=>'Certificate Profile for validating server certificate'}, 'username'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'username for authentication', 'minlen'=>'0', 'maxlen'=>'255', 'regex'=>'[^\']*'}, 'password'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'regex'=>'[^\']*', 'encrypt'=>'yes'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def display_name prop_get('display-name') end def display_name=(val) prop_set('display-name', val) end # email address (e.g. admin@mycompany.com) def from prop_get('from') end # email address (e.g. admin@mycompany.com) def from=(val) prop_set('from', val) end # email address (e.g. admin@mycompany.com) def to prop_get('to') end # email address (e.g. admin@mycompany.com) def to=(val) prop_set('to', val) end # email address (e.g. admin@mycompany.com) def and_also_to prop_get('and-also-to') end # email address (e.g. admin@mycompany.com) def and_also_to=(val) prop_set('and-also-to', val) end # IP address or FQDN of SMTP gateway to use def gateway prop_get('gateway') end # IP address or FQDN of SMTP gateway to use def gateway=(val) prop_set('gateway', val) end def protocol prop_get('protocol') end def protocol=(val) prop_set('protocol', val) end # Port number (Standard EMAIL ports SMTP:25, TLS:587) def port prop_get('port') end # Port number (Standard EMAIL ports SMTP:25, TLS:587) def port=(val) prop_set('port', val) end # TLS handshake protocol version def tls_version prop_get('tls-version') end # TLS handshake protocol version def tls_version=(val) prop_set('tls-version', val) end def auth prop_get('auth') end def auth=(val) prop_set('auth', val) end # Certificate Profile for validating server certificate def certificate_profile prop_get('certificate-profile') end # Certificate Profile for validating server certificate def certificate_profile=(val) prop_set('certificate-profile', val) end # username for authentication def username prop_get('username') end # username for authentication def username=(val) prop_set('username', val) end def password prop_get('password') end def password=(val) prop_set('password', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end class Format < ConfigClass def has_multiple_values?; false; end def _section :format end class Escaping < ConfigClass def has_multiple_values?; false; end def _section :escaping end @props = {'escaped-characters'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'help-string'=>'List of characters to be escaped'}, 'escape-character'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'1', 'help-string'=>'Escape character'}} # List of characters to be escaped def escaped_characters prop_get('escaped-characters') end # List of characters to be escaped def escaped_characters=(val) prop_set('escaped-characters', val) end # Escape character def escape_character prop_get('escape-character') end # Escape character def escape_character=(val) prop_set('escape-character', val) end end def escaping @subclasses['escaping'] ||= Escaping.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'traffic'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'threat'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'wildfire'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'url'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'data'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'gtp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420,cfg.platform.model=PA-1410,cfg.platform.model=PA-1420'}, 'sctp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420,cfg.platform.model=PA-1410,cfg.platform.model=PA-1420'}, 'tunnel'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'auth'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'userid'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'iptag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'decryption'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'config'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'system'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'globalprotect'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'hip-match'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'correlation'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}} def traffic prop_get('traffic') end def traffic=(val) prop_set('traffic', val) end def threat prop_get('threat') end def threat=(val) prop_set('threat', val) end def wildfire prop_get('wildfire') end def wildfire=(val) prop_set('wildfire', val) end def url prop_get('url') end def url=(val) prop_set('url', val) end def data prop_get('data') end def data=(val) prop_set('data', val) end def gtp prop_get('gtp') end def gtp=(val) prop_set('gtp', val) end def sctp prop_get('sctp') end def sctp=(val) prop_set('sctp', val) end def tunnel prop_get('tunnel') end def tunnel=(val) prop_set('tunnel', val) end def auth prop_get('auth') end def auth=(val) prop_set('auth', val) end def userid prop_get('userid') end def userid=(val) prop_set('userid', val) end def iptag prop_get('iptag') end def iptag=(val) prop_set('iptag', val) end def decryption prop_get('decryption') end def decryption=(val) prop_set('decryption', val) end def config prop_get('config') end def config=(val) prop_set('config', val) end def system prop_get('system') end def system=(val) prop_set('system', val) end def globalprotect prop_get('globalprotect') end def globalprotect=(val) prop_set('globalprotect', val) end def hip_match prop_get('hip-match') end def hip_match=(val) prop_set('hip-match', val) end def correlation prop_get('correlation') end def correlation=(val) prop_set('correlation', val) end end def format @subclasses['format'] ||= Format.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def email maybe_register_subclass('email', Email.new(parent_instance: self, client: @client, create_children: @create_children)) end class Syslog < XML::ConfigClass def has_multiple_values?; true; end def _section :syslog end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'server'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'regex'=>'^([a-zA-Z0-9:\.\_-])+([a-zA-Z0-9:\_-])$|^\$([a-zA-Z0-9._-])+$', 'help-string'=>'IP address or FQDN of SYSLOG server to use'}, 'transport'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'UDP', 'enum'=>[{'value'=>'UDP'}, {'value'=>'TCP'}, {'value'=>'SSL'}]}, 'port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'optional'=>'yes', 'help-string'=>'Port number (Standard Syslog ports UDP:514, SSL:6514)'}, 'format'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'BSD', 'help-string'=>'Format of the Syslog message', 'enum'=>[{'value'=>'BSD'}, {'value'=>'IETF'}]}, 'facility'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'LOG_USER', 'enum'=>[{'value'=>'LOG_USER'}, {'value'=>'LOG_LOCAL0'}, {'value'=>'LOG_LOCAL1'}, {'value'=>'LOG_LOCAL2'}, {'value'=>'LOG_LOCAL3'}, {'value'=>'LOG_LOCAL4'}, {'value'=>'LOG_LOCAL5'}, {'value'=>'LOG_LOCAL6'}, {'value'=>'LOG_LOCAL7'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # IP address or FQDN of SYSLOG server to use def server prop_get('server') end # IP address or FQDN of SYSLOG server to use def server=(val) prop_set('server', val) end def transport prop_get('transport') end def transport=(val) prop_set('transport', val) end # Port number (Standard Syslog ports UDP:514, SSL:6514) def port prop_get('port') end # Port number (Standard Syslog ports UDP:514, SSL:6514) def port=(val) prop_set('port', val) end # Format of the Syslog message def format prop_get('format') end # Format of the Syslog message def format=(val) prop_set('format', val) end def facility prop_get('facility') end def facility=(val) prop_set('facility', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end class Format < ConfigClass def has_multiple_values?; false; end def _section :format end class Escaping < ConfigClass def has_multiple_values?; false; end def _section :escaping end @props = {'escaped-characters'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'help-string'=>'List of characters to be escaped'}, 'escape-character'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'1', 'help-string'=>'Escape character'}} # List of characters to be escaped def escaped_characters prop_get('escaped-characters') end # List of characters to be escaped def escaped_characters=(val) prop_set('escaped-characters', val) end # Escape character def escape_character prop_get('escape-character') end # Escape character def escape_character=(val) prop_set('escape-character', val) end end def escaping @subclasses['escaping'] ||= Escaping.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'traffic'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'threat'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'wildfire'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'url'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'data'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'gtp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420,cfg.platform.model=PA-1410,cfg.platform.model=PA-1420'}, 'sctp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420,cfg.platform.model=PA-1410,cfg.platform.model=PA-1420'}, 'tunnel'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'auth'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'userid'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'iptag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'decryption'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'config'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'system'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'globalprotect'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'hip-match'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'correlation'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}} def traffic prop_get('traffic') end def traffic=(val) prop_set('traffic', val) end def threat prop_get('threat') end def threat=(val) prop_set('threat', val) end def wildfire prop_get('wildfire') end def wildfire=(val) prop_set('wildfire', val) end def url prop_get('url') end def url=(val) prop_set('url', val) end def data prop_get('data') end def data=(val) prop_set('data', val) end def gtp prop_get('gtp') end def gtp=(val) prop_set('gtp', val) end def sctp prop_get('sctp') end def sctp=(val) prop_set('sctp', val) end def tunnel prop_get('tunnel') end def tunnel=(val) prop_set('tunnel', val) end def auth prop_get('auth') end def auth=(val) prop_set('auth', val) end def userid prop_get('userid') end def userid=(val) prop_set('userid', val) end def iptag prop_get('iptag') end def iptag=(val) prop_set('iptag', val) end def decryption prop_get('decryption') end def decryption=(val) prop_set('decryption', val) end def config prop_get('config') end def config=(val) prop_set('config', val) end def system prop_get('system') end def system=(val) prop_set('system', val) end def globalprotect prop_get('globalprotect') end def globalprotect=(val) prop_set('globalprotect', val) end def hip_match prop_get('hip-match') end def hip_match=(val) prop_set('hip-match', val) end def correlation prop_get('correlation') end def correlation=(val) prop_set('correlation', val) end end def format @subclasses['format'] ||= Format.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def syslog maybe_register_subclass('syslog', Syslog.new(parent_instance: self, client: @client, create_children: @create_children)) end class Http < XML::ConfigClass def has_multiple_values?; true; end def _section :http end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'address'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'help-string'=>'IP address or FQDN of HTTP server to use', 'error-string'=>'Must be IP address or FQDN'}, 'protocol'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'HTTPS', 'enum'=>[{'value'=>'HTTP'}, {'value'=>'HTTPS'}]}, 'port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'optional'=>'yes', 'default'=>'443', 'help-string'=>'Port number (Standard HTTP ports HTTP:80, HTTPS:443)'}, 'tls-version'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'1.2', 'help-string'=>'TLS handshake protocol version', 'enum'=>[{'value'=>'1.2'}, {'value'=>'1.1'}, {'value'=>'1.0'}]}, 'auth'=>{'node-type'=>'element', 'type'=>'enum', 'internal'=>'yes', 'optional'=>'yes', 'enum'=>[{'value'=>'OAUTH2'}]}, 'certificate-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'default'=>'None', 'help-string'=>'Certificate Profile for validating server certificate'}, 'http-method'=>{'node-type'=>'element', 'type'=>'string', 'default'=>'POST', 'complete-handler'=>'http-method-completer'}, 'username'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'username for HTTP basic authentication', 'minlen'=>'1', 'maxlen'=>'255', 'regex'=>'[^\']*'}, 'password'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'regex'=>'[^\']*', 'encrypt'=>'yes'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # IP address or FQDN of HTTP server to use def address prop_get('address') end # IP address or FQDN of HTTP server to use def address=(val) prop_set('address', val) end def protocol prop_get('protocol') end def protocol=(val) prop_set('protocol', val) end # Port number (Standard HTTP ports HTTP:80, HTTPS:443) def port prop_get('port') end # Port number (Standard HTTP ports HTTP:80, HTTPS:443) def port=(val) prop_set('port', val) end # TLS handshake protocol version def tls_version prop_get('tls-version') end # TLS handshake protocol version def tls_version=(val) prop_set('tls-version', val) end def auth prop_get('auth') end def auth=(val) prop_set('auth', val) end # Certificate Profile for validating server certificate def certificate_profile prop_get('certificate-profile') end # Certificate Profile for validating server certificate def certificate_profile=(val) prop_set('certificate-profile', val) end def http_method prop_get('http-method') end def http_method=(val) prop_set('http-method', val) end # username for HTTP basic authentication def username prop_get('username') end # username for HTTP basic authentication def username=(val) prop_set('username', val) end def password prop_get('password') end def password=(val) prop_set('password', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end class Format < ConfigClass def has_multiple_values?; false; end def _section :format end class Config < ConfigClass def has_multiple_values?; false; end def _section :config end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def config @subclasses['config'] ||= Config.new(parent_instance: self, client: @client, create_children: @create_children) end class System < ConfigClass def has_multiple_values?; false; end def _section :system end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def system @subclasses['system'] ||= System.new(parent_instance: self, client: @client, create_children: @create_children) end class Traffic < ConfigClass def has_multiple_values?; false; end def _section :traffic end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def traffic @subclasses['traffic'] ||= Traffic.new(parent_instance: self, client: @client, create_children: @create_children) end class Threat < ConfigClass def has_multiple_values?; false; end def _section :threat end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def threat @subclasses['threat'] ||= Threat.new(parent_instance: self, client: @client, create_children: @create_children) end class Wildfire < ConfigClass def has_multiple_values?; false; end def _section :wildfire end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def wildfire @subclasses['wildfire'] ||= Wildfire.new(parent_instance: self, client: @client, create_children: @create_children) end class Url < ConfigClass def has_multiple_values?; false; end def _section :url end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def url @subclasses['url'] ||= Url.new(parent_instance: self, client: @client, create_children: @create_children) end class Data < ConfigClass def has_multiple_values?; false; end def _section :data end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def data @subclasses['data'] ||= Data.new(parent_instance: self, client: @client, create_children: @create_children) end class Gtp < ConfigClass def has_multiple_values?; false; end def _section :gtp end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def gtp @subclasses['gtp'] ||= Gtp.new(parent_instance: self, client: @client, create_children: @create_children) end class Sctp < ConfigClass def has_multiple_values?; false; end def _section :sctp end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def sctp @subclasses['sctp'] ||= Sctp.new(parent_instance: self, client: @client, create_children: @create_children) end class Tunnel < ConfigClass def has_multiple_values?; false; end def _section :tunnel end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def tunnel @subclasses['tunnel'] ||= Tunnel.new(parent_instance: self, client: @client, create_children: @create_children) end class Auth < ConfigClass def has_multiple_values?; false; end def _section :auth end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def auth @subclasses['auth'] ||= Auth.new(parent_instance: self, client: @client, create_children: @create_children) end class Userid < ConfigClass def has_multiple_values?; false; end def _section :userid end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def userid @subclasses['userid'] ||= Userid.new(parent_instance: self, client: @client, create_children: @create_children) end class Iptag < ConfigClass def has_multiple_values?; false; end def _section :iptag end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def iptag @subclasses['iptag'] ||= Iptag.new(parent_instance: self, client: @client, create_children: @create_children) end class Decryption < ConfigClass def has_multiple_values?; false; end def _section :decryption end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def decryption @subclasses['decryption'] ||= Decryption.new(parent_instance: self, client: @client, create_children: @create_children) end class Globalprotect < ConfigClass def has_multiple_values?; false; end def _section :globalprotect end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def globalprotect @subclasses['globalprotect'] ||= Globalprotect.new(parent_instance: self, client: @client, create_children: @create_children) end class HipMatch < ConfigClass def has_multiple_values?; false; end def _section :'hip-match' end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def hip_match @subclasses['hip-match'] ||= HipMatch.new(parent_instance: self, client: @client, create_children: @create_children) end class Correlation < ConfigClass def has_multiple_values?; false; end def _section :correlation end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def correlation @subclasses['correlation'] ||= Correlation.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def format @subclasses['format'] ||= Format.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'tag-registration'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'The server(s) should have User-ID agent running in order for tag registration to work'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # The server(s) should have User-ID agent running in order for tag registration to work def tag_registration prop_get('tag-registration') end # The server(s) should have User-ID agent running in order for tag registration to work def tag_registration=(val) prop_set('tag-registration', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def http maybe_register_subclass('http', Http.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def log_settings @subclasses['log-settings'] ||= LogSettings.new(parent_instance: self, client: @client, create_children: @create_children) end class Rulebase < ConfigClass def has_multiple_values?; false; end def _section :rulebase end class Nat < ConfigClass def has_multiple_values?; false; end def _section :nat end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Target < ConfigClass def has_multiple_values?; false; end def _section :target end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Vsys < XML::ConfigClass def has_multiple_values?; true; end def _section :vsys end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vsys maybe_register_subclass('vsys', Vsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'complete-handler'=>'dg-device-tags-completer'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'negate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Target to all but these specified devices and tags'}} # Target to all but these specified devices and tags def negate prop_get('negate') end # Target to all but these specified devices and tags def negate=(val) prop_set('negate', val) end end def target @subclasses['target'] ||= Target.new(parent_instance: self, client: @client, create_children: @create_children) end class From < XML::ConfigClass def has_multiple_values?; true; end def _section :from end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def from maybe_register_subclass('from', From.new(parent_instance: self, client: @client, create_children: @create_children)) end class To < XML::ConfigClass def has_multiple_values?; true; end def _section :to end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'max-count'=>'1', 'multi-types'=>{'string'=>{'maxlen'=>'31', 'disallow-keyword-any'=>'yes'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def to maybe_register_subclass('to', To.new(parent_instance: self, client: @client, create_children: @create_children)) end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end class Destination < XML::ConfigClass def has_multiple_values?; true; end def _section :destination end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../source/member', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination maybe_register_subclass('destination', Destination.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceTranslation < ConfigClass def has_multiple_values?; false; end def _section :'source-translation' end class DynamicIpAndPort < ConfigClass def has_multiple_values?; false; end def _section :'dynamic-ip-and-port' end class TranslatedAddress < XML::ConfigClass def has_multiple_values?; true; end def _section :'translated-address' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'no-default'=>'yes', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'ipspec'=>{}, 'iprangespec'=>{}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def translated_address maybe_register_subclass('translated-address', TranslatedAddress.new(parent_instance: self, client: @client, create_children: @create_children)) end class InterfaceAddress < ConfigClass def has_multiple_values?; false; end def _section :'interface-address' end @props = {'interface'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'Interface name'}, 'ip'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'specify exact IP address if interface has multiple addresses'}, 'floating-ip'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.nat.rules.interface-address.floating-ip-disable=True', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Floating IP address in HA Active-Active configuration'}} # Interface name def interface prop_get('interface') end # Interface name def interface=(val) prop_set('interface', val) end # specify exact IP address if interface has multiple addresses def ip prop_get('ip') end # specify exact IP address if interface has multiple addresses def ip=(val) prop_set('ip', val) end # Floating IP address in HA Active-Active configuration def floating_ip prop_get('floating-ip') end # Floating IP address in HA Active-Active configuration def floating_ip=(val) prop_set('floating-ip', val) end end def interface_address @subclasses['interface-address'] ||= InterfaceAddress.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def dynamic_ip_and_port @subclasses['dynamic-ip-and-port'] ||= DynamicIpAndPort.new(parent_instance: self, client: @client, create_children: @create_children) end class DynamicIp < ConfigClass def has_multiple_values?; false; end def _section :'dynamic-ip' end class TranslatedAddress < XML::ConfigClass def has_multiple_values?; true; end def _section :'translated-address' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'no-default'=>'yes', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'ipspec'=>{}, 'iprangespec'=>{}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def translated_address maybe_register_subclass('translated-address', TranslatedAddress.new(parent_instance: self, client: @client, create_children: @create_children)) end class Fallback < ConfigClass def has_multiple_values?; false; end def _section :fallback end class TranslatedAddress < XML::ConfigClass def has_multiple_values?; true; end def _section :'translated-address' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'no-default'=>'yes', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'ipspec'=>{}, 'iprangespec'=>{}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def translated_address maybe_register_subclass('translated-address', TranslatedAddress.new(parent_instance: self, client: @client, create_children: @create_children)) end class InterfaceAddress < ConfigClass def has_multiple_values?; false; end def _section :'interface-address' end @props = {'interface'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'Interface name'}, 'ip'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'specify exact IP address if interface has multiple addresses'}, 'floating-ip'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Floating IP address in HA Active-Active configuration'}} # Interface name def interface prop_get('interface') end # Interface name def interface=(val) prop_set('interface', val) end # specify exact IP address if interface has multiple addresses def ip prop_get('ip') end # specify exact IP address if interface has multiple addresses def ip=(val) prop_set('ip', val) end # Floating IP address in HA Active-Active configuration def floating_ip prop_get('floating-ip') end # Floating IP address in HA Active-Active configuration def floating_ip=(val) prop_set('floating-ip', val) end end def interface_address @subclasses['interface-address'] ||= InterfaceAddress.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def fallback @subclasses['fallback'] ||= Fallback.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def dynamic_ip @subclasses['dynamic-ip'] ||= DynamicIp.new(parent_instance: self, client: @client, create_children: @create_children) end class StaticIp < ConfigClass def has_multiple_values?; false; end def _section :'static-ip' end @props = {'translated-address'=>{'node-type'=>'element', 'type'=>'multiple', 'no-default'=>'yes', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'ipspec'=>{}, 'iprangespec'=>{}}}, 'bi-directional'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'allow reverse translation from translated address to original address', 'enum'=>[{'value'=>'yes', 'help-string'=>'Bi-directional rule'}, {'value'=>'no', 'help-string'=>'Uni-directional rule'}]}} def translated_address prop_get('translated-address') end def translated_address=(val) prop_set('translated-address', val) end # allow reverse translation from translated address to original address def bi_directional prop_get('bi-directional') end # allow reverse translation from translated address to original address def bi_directional=(val) prop_set('bi-directional', val) end end def static_ip @subclasses['static-ip'] ||= StaticIp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def source_translation @subclasses['source-translation'] ||= SourceTranslation.new(parent_instance: self, client: @client, create_children: @create_children) end class DestinationTranslation < ConfigClass def has_multiple_values?; false; end def _section :'destination-translation' end class DnsRewrite < ConfigClass def has_multiple_values?; false; end def _section :'dns-rewrite' end @props = {'direction'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'reverse', 'help-string'=>'Select direction to apply DNS rewrite', 'enum'=>[{'value'=>'reverse', 'help-string'=>'Reverse translation'}, {'value'=>'forward', 'help-string'=>'Forward translation'}]}} # Select direction to apply DNS rewrite def direction prop_get('direction') end # Select direction to apply DNS rewrite def direction=(val) prop_set('direction', val) end end def dns_rewrite @subclasses['dns-rewrite'] ||= DnsRewrite.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'translated-address'=>{'node-type'=>'element', 'type'=>'multiple', 'no-default'=>'yes', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'ipspec'=>{}, 'iprangespec'=>{}}}, 'translated-port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'no-default'=>'yes', 'optional'=>'yes'}} def translated_address prop_get('translated-address') end def translated_address=(val) prop_set('translated-address', val) end def translated_port prop_get('translated-port') end def translated_port=(val) prop_set('translated-port', val) end end def destination_translation @subclasses['destination-translation'] ||= DestinationTranslation.new(parent_instance: self, client: @client, create_children: @create_children) end class DynamicDestinationTranslation < ConfigClass def has_multiple_values?; false; end def _section :'dynamic-destination-translation' end @props = {'translated-address'=>{'node-type'=>'element', 'type'=>'multiple', 'no-default'=>'yes', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'ipspec'=>{}, 'iprangespec'=>{}}}, 'translated-port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'no-default'=>'yes', 'optional'=>'yes'}, 'distribution'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'round-robin', 'help-string'=>'Distribution algorithm for destination address pool', 'enum'=>[{'value'=>'round-robin', 'help-string'=>'Round Robin'}, {'value'=>'source-ip-hash', 'help-string'=>'Source IP Hash'}, {'value'=>'ip-modulo', 'help-string'=>'IP Modulo'}, {'value'=>'ip-hash', 'help-string'=>'IP Hash'}, {'value'=>'least-sessions', 'help-string'=>'Least Sessions'}]}} def translated_address prop_get('translated-address') end def translated_address=(val) prop_set('translated-address', val) end def translated_port prop_get('translated-port') end def translated_port=(val) prop_set('translated-port', val) end # Distribution algorithm for destination address pool def distribution prop_get('distribution') end # Distribution algorithm for destination address pool def distribution=(val) prop_set('distribution', val) end end def dynamic_destination_translation @subclasses['dynamic-destination-translation'] ||= DynamicDestinationTranslation.new(parent_instance: self, client: @client, create_children: @create_children) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'service'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'default'=>'any'}, 'nat-type'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'ipv4', 'help-string'=>'type of nat', 'enum'=>[{'value'=>'ipv4', 'help-string'=>'ipv4 nat'}, {'value'=>'nat64', 'help-string'=>'translator between ipv6 and ipv4'}, {'value'=>'nptv6', 'help-string'=>'network prefix translator for ipv6'}]}, 'to-interface'=>{'node-type'=>'element', 'optional'=>'yes', 'default'=>'any', 'type'=>'multiple', 'help-string'=>'Egress interface from route lookup', 'multi-types'=>{'string'=>{'maxlen'=>'63', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any interface'}]}}, 'active-active-device-binding'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-string'=>'Device binding configuration in HA Active-Active mode', 'enum'=>[{'value'=>'primary', 'help-string'=>'Rule is bound to Active-Primary device'}, {'value'=>'both', 'help-string'=>'Rule is bound to both devices'}, {'value'=>'0', 'help-string'=>'Rule is bound to device 0'}, {'value'=>'1', 'help-string'=>'Rule is bound to device 1'}]}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable the rule'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'no-default'=>'yes'}, 'group-tag'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'127'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def service prop_get('service') end def service=(val) prop_set('service', val) end # type of nat def nat_type prop_get('nat-type') end # type of nat def nat_type=(val) prop_set('nat-type', val) end # Egress interface from route lookup def to_interface prop_get('to-interface') end # Egress interface from route lookup def to_interface=(val) prop_set('to-interface', val) end # Device binding configuration in HA Active-Active mode def active_active_device_binding prop_get('active-active-device-binding') end # Device binding configuration in HA Active-Active mode def active_active_device_binding=(val) prop_set('active-active-device-binding', val) end # Disable the rule def disabled prop_get('disabled') end # Disable the rule def disabled=(val) prop_set('disabled', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end def group_tag prop_get('group-tag') end def group_tag=(val) prop_set('group-tag', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def nat @subclasses['nat'] ||= Nat.new(parent_instance: self, client: @client, create_children: @create_children) end class Pbf < ConfigClass def has_multiple_values?; false; end def _section :pbf end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Target < ConfigClass def has_multiple_values?; false; end def _section :target end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Vsys < XML::ConfigClass def has_multiple_values?; true; end def _section :vsys end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vsys maybe_register_subclass('vsys', Vsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'complete-handler'=>'dg-device-tags-completer'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'negate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Target to all but these specified devices and tags'}} # Target to all but these specified devices and tags def negate prop_get('negate') end # Target to all but these specified devices and tags def negate=(val) prop_set('negate', val) end end def target @subclasses['target'] ||= Target.new(parent_instance: self, client: @client, create_children: @create_children) end class From < ConfigClass def has_multiple_values?; false; end def _section :from end class Zone < XML::ConfigClass def has_multiple_values?; true; end def _section :zone end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'maxlen'=>'31'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def zone maybe_register_subclass('zone', Zone.new(parent_instance: self, client: @client, create_children: @create_children)) end class Interface < XML::ConfigClass def has_multiple_values?; true; end def _section :interface end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def interface maybe_register_subclass('interface', Interface.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def from @subclasses['from'] ||= From.new(parent_instance: self, client: @client, create_children: @create_children) end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceUser < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-user' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'1023', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any user'}, {'value'=>'pre-logon', 'help-string'=>'prelogon client machine'}, {'value'=>'known-user', 'help-string'=>'any known user'}, {'value'=>'unknown', 'help-string'=>'unknown user'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_user maybe_register_subclass('source-user', SourceUser.new(parent_instance: self, client: @client, create_children: @create_children)) end class Destination < XML::ConfigClass def has_multiple_values?; true; end def _section :destination end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../source/member', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination maybe_register_subclass('destination', Destination.new(parent_instance: self, client: @client, create_children: @create_children)) end class Service < XML::ConfigClass def has_multiple_values?; true; end def _section :service end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'application-default', 'help-string'=>'default service for selected application'}, {'value'=>'any', 'help-string'=>'any service'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def service maybe_register_subclass('service', Service.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end class Application < XML::ConfigClass def has_multiple_values?; true; end def _section :application end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any application'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def application maybe_register_subclass('application', Application.new(parent_instance: self, client: @client, create_children: @create_children)) end class Action < ConfigClass def has_multiple_values?; false; end def _section :action end class Forward < ConfigClass def has_multiple_values?; false; end def _section :forward end class Nexthop < ConfigClass def has_multiple_values?; false; end def _section :nexthop end @props = {'ip-address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Next hop IP address', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'ipspec'=>{'unicast-only'=>'yes'}}}, 'fqdn'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'regex'=>'^([a-zA-Z0-9._-])+$', 'help-string'=>'nexthop address FQDN name configuration'}} # Next hop IP address def ip_address prop_get('ip-address') end # Next hop IP address def ip_address=(val) prop_set('ip-address', val) end # nexthop address FQDN name configuration def fqdn prop_get('fqdn') end # nexthop address FQDN name configuration def fqdn=(val) prop_set('fqdn', val) end end def nexthop @subclasses['nexthop'] ||= Nexthop.new(parent_instance: self, client: @client, create_children: @create_children) end class Monitor < ConfigClass def has_multiple_values?; false; end def _section :monitor end @props = {'profile'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Monitoring profile associated with this rule'}, 'disable-if-unreachable'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable this rule if nexthop/monitor ip is unreachable'}, 'ip-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-only'=>'yes', 'help-string'=>'Monitor IP address'}} # Monitoring profile associated with this rule def profile prop_get('profile') end # Monitoring profile associated with this rule def profile=(val) prop_set('profile', val) end # Disable this rule if nexthop/monitor ip is unreachable def disable_if_unreachable prop_get('disable-if-unreachable') end # Disable this rule if nexthop/monitor ip is unreachable def disable_if_unreachable=(val) prop_set('disable-if-unreachable', val) end # Monitor IP address def ip_address prop_get('ip-address') end # Monitor IP address def ip_address=(val) prop_set('ip-address', val) end end def monitor @subclasses['monitor'] ||= Monitor.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'egress-interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Interface to route packet to'}} # Interface to route packet to def egress_interface prop_get('egress-interface') end # Interface to route packet to def egress_interface=(val) prop_set('egress-interface', val) end end def forward @subclasses['forward'] ||= Forward.new(parent_instance: self, client: @client, create_children: @create_children) end class Discard < ConfigClass def has_multiple_values?; false; end def _section :discard end @props = {} end def discard @subclasses['discard'] ||= Discard.new(parent_instance: self, client: @client, create_children: @create_children) end class NoPbf < ConfigClass def has_multiple_values?; false; end def _section :'no-pbf' end @props = {} end def no_pbf @subclasses['no-pbf'] ||= NoPbf.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'forward-to-vsys'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Virtual system/Shared gateway to route packet to'}} # Virtual system/Shared gateway to route packet to def forward_to_vsys prop_get('forward-to-vsys') end # Virtual system/Shared gateway to route packet to def forward_to_vsys=(val) prop_set('forward-to-vsys', val) end end def action @subclasses['action'] ||= Action.new(parent_instance: self, client: @client, create_children: @create_children) end class EnforceSymmetricReturn < ConfigClass def has_multiple_values?; false; end def _section :'enforce-symmetric-return' end class NexthopAddressList < XML::ConfigClass def has_multiple_values?; true; end def _section :'nexthop-address-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'ipspec', 'unicast-only'=>'yes', 'help-string'=>'IP address'}} # IP address def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def nexthop_address_list maybe_register_subclass('nexthop-address-list', NexthopAddressList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable symmetric return'}} # Enable symmetric return def enabled prop_get('enabled') end # Enable symmetric return def enabled=(val) prop_set('enabled', val) end end def enforce_symmetric_return @subclasses['enforce-symmetric-return'] ||= EnforceSymmetricReturn.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'schedule'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'optional'=>'yes'}, 'negate-source'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'negate-destination'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable the rule'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'no-default'=>'yes'}, 'group-tag'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'127'}, 'active-active-device-binding'=>{'node-type'=>'element', 'prune-on-sdb'=>'cfg.platform.vm.pbf.rules.active-active-device-binding-disable=True', 'optional'=>'yes', 'type'=>'enum', 'help-string'=>'Device binding configuration in HA Active-Active mode', 'enum'=>[{'value'=>'both', 'help-string'=>'Rule is bound to both devices'}, {'value'=>'0', 'help-string'=>'Rule is bound to device 0'}, {'value'=>'1', 'help-string'=>'Rule is bound to device 1'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def schedule prop_get('schedule') end def schedule=(val) prop_set('schedule', val) end def negate_source prop_get('negate-source') end def negate_source=(val) prop_set('negate-source', val) end def negate_destination prop_get('negate-destination') end def negate_destination=(val) prop_set('negate-destination', val) end # Disable the rule def disabled prop_get('disabled') end # Disable the rule def disabled=(val) prop_set('disabled', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end def group_tag prop_get('group-tag') end def group_tag=(val) prop_set('group-tag', val) end # Device binding configuration in HA Active-Active mode def active_active_device_binding prop_get('active-active-device-binding') end # Device binding configuration in HA Active-Active mode def active_active_device_binding=(val) prop_set('active-active-device-binding', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def pbf @subclasses['pbf'] ||= Pbf.new(parent_instance: self, client: @client, create_children: @create_children) end class Sdwan < ConfigClass def has_multiple_values?; false; end def _section :sdwan end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Target < ConfigClass def has_multiple_values?; false; end def _section :target end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Vsys < XML::ConfigClass def has_multiple_values?; true; end def _section :vsys end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vsys maybe_register_subclass('vsys', Vsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'complete-handler'=>'dg-device-tags-completer'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'negate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Target to all but these specified devices and tags'}} # Target to all but these specified devices and tags def negate prop_get('negate') end # Target to all but these specified devices and tags def negate=(val) prop_set('negate', val) end end def target @subclasses['target'] ||= Target.new(parent_instance: self, client: @client, create_children: @create_children) end class From < XML::ConfigClass def has_multiple_values?; true; end def _section :from end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def from maybe_register_subclass('from', From.new(parent_instance: self, client: @client, create_children: @create_children)) end class To < XML::ConfigClass def has_multiple_values?; true; end def _section :to end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../from/member', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def to maybe_register_subclass('to', To.new(parent_instance: self, client: @client, create_children: @create_children)) end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceUser < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-user' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'1023', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any user'}, {'value'=>'pre-logon', 'help-string'=>'prelogon client machine'}, {'value'=>'known-user', 'help-string'=>'any known user'}, {'value'=>'unknown', 'help-string'=>'unknown user'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_user maybe_register_subclass('source-user', SourceUser.new(parent_instance: self, client: @client, create_children: @create_children)) end class Destination < XML::ConfigClass def has_multiple_values?; true; end def _section :destination end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../source/member', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination maybe_register_subclass('destination', Destination.new(parent_instance: self, client: @client, create_children: @create_children)) end class Application < XML::ConfigClass def has_multiple_values?; true; end def _section :application end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any application'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def application maybe_register_subclass('application', Application.new(parent_instance: self, client: @client, create_children: @create_children)) end class Service < XML::ConfigClass def has_multiple_values?; true; end def _section :service end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'application-default', 'help-string'=>'default service for selected application'}, {'value'=>'any', 'help-string'=>'any service'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def service maybe_register_subclass('service', Service.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end class Action < ConfigClass def has_multiple_values?; false; end def _section :action end @props = {'traffic-distribution-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'attach sdwan traffic distribution associated with this rule'}, 'app-failover-for-nat-sessions'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'keep-existing-link', 'help-string'=>'For NAT sessions, specify whether to move to a better path', 'enum'=>[{'value'=>'keep-existing-link', 'help-string'=>'Keep session on existing link'}, {'value'=>'failover-to-better-path', 'help-string'=>'Allow session failover to better path'}]}} # attach sdwan traffic distribution associated with this rule def traffic_distribution_profile prop_get('traffic-distribution-profile') end # attach sdwan traffic distribution associated with this rule def traffic_distribution_profile=(val) prop_set('traffic-distribution-profile', val) end # For NAT sessions, specify whether to move to a better path def app_failover_for_nat_sessions prop_get('app-failover-for-nat-sessions') end # For NAT sessions, specify whether to move to a better path def app_failover_for_nat_sessions=(val) prop_set('app-failover-for-nat-sessions', val) end end def action @subclasses['action'] ||= Action.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'negate-source'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'negate-destination'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable the rule'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'no-default'=>'yes'}, 'group-tag'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'127'}, 'path-quality-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'attach sdwan path quality profile associated with this rule'}, 'saas-quality-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'optional'=>'yes', 'help-string'=>'attach sdwan saas quality profile associated with this rule'}, 'error-correction-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'optional'=>'yes', 'help-string'=>'attach sdwan error correction profile associated with this rule'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def negate_source prop_get('negate-source') end def negate_source=(val) prop_set('negate-source', val) end def negate_destination prop_get('negate-destination') end def negate_destination=(val) prop_set('negate-destination', val) end # Disable the rule def disabled prop_get('disabled') end # Disable the rule def disabled=(val) prop_set('disabled', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end def group_tag prop_get('group-tag') end def group_tag=(val) prop_set('group-tag', val) end # attach sdwan path quality profile associated with this rule def path_quality_profile prop_get('path-quality-profile') end # attach sdwan path quality profile associated with this rule def path_quality_profile=(val) prop_set('path-quality-profile', val) end # attach sdwan saas quality profile associated with this rule def saas_quality_profile prop_get('saas-quality-profile') end # attach sdwan saas quality profile associated with this rule def saas_quality_profile=(val) prop_set('saas-quality-profile', val) end # attach sdwan error correction profile associated with this rule def error_correction_profile prop_get('error-correction-profile') end # attach sdwan error correction profile associated with this rule def error_correction_profile=(val) prop_set('error-correction-profile', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def sdwan @subclasses['sdwan'] ||= Sdwan.new(parent_instance: self, client: @client, create_children: @create_children) end class NetworkPacketBroker < ConfigClass def has_multiple_values?; false; end def _section :'network-packet-broker' end class Rules < XML::ConfigClass def has_multiple_values?; true; end def _section :rules end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Target < ConfigClass def has_multiple_values?; false; end def _section :target end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Vsys < XML::ConfigClass def has_multiple_values?; true; end def _section :vsys end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vsys maybe_register_subclass('vsys', Vsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'complete-handler'=>'dg-device-tags-completer'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'negate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Target to all but these specified devices and tags'}} # Target to all but these specified devices and tags def negate prop_get('negate') end # Target to all but these specified devices and tags def negate=(val) prop_set('negate', val) end end def target @subclasses['target'] ||= Target.new(parent_instance: self, client: @client, create_children: @create_children) end class From < XML::ConfigClass def has_multiple_values?; true; end def _section :from end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def from maybe_register_subclass('from', From.new(parent_instance: self, client: @client, create_children: @create_children)) end class To < XML::ConfigClass def has_multiple_values?; true; end def _section :to end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../from/member', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'attr-opt'=>{'name'=>'previous-zone', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'previous zone name'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any zone'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def to maybe_register_subclass('to', To.new(parent_instance: self, client: @client, create_children: @create_children)) end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceUser < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-user' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'1023', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any user'}, {'value'=>'pre-logon', 'help-string'=>'prelogon client machine'}, {'value'=>'known-user', 'help-string'=>'any known user'}, {'value'=>'unknown', 'help-string'=>'unknown user'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_user maybe_register_subclass('source-user', SourceUser.new(parent_instance: self, client: @client, create_children: @create_children)) end class Destination < XML::ConfigClass def has_multiple_values?; true; end def _section :destination end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'completion-same-as'=>'../../source/member', 'default'=>'any', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63'}, 'iprangespec'=>{}, 'enum'=>[{'value'=>'any', 'help-string'=>'any address'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination maybe_register_subclass('destination', Destination.new(parent_instance: self, client: @client, create_children: @create_children)) end class Application < XML::ConfigClass def has_multiple_values?; true; end def _section :application end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any application'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def application maybe_register_subclass('application', Application.new(parent_instance: self, client: @client, create_children: @create_children)) end class Service < XML::ConfigClass def has_multiple_values?; true; end def _section :service end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'application-default', 'help-string'=>'default service for selected application'}, {'value'=>'any', 'help-string'=>'any service'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def service maybe_register_subclass('service', Service.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tag < XML::ConfigClass def has_multiple_values?; true; end def _section :tag end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tag maybe_register_subclass('tag', Tag.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceHip < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-hip' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any hip-profile'}, {'value'=>'no-hip', 'help-string'=>'no hip-profile'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_hip maybe_register_subclass('source-hip', SourceHip.new(parent_instance: self, client: @client, create_children: @create_children)) end class DestinationHip < XML::ConfigClass def has_multiple_values?; true; end def _section :'destination-hip' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any device'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def destination_hip maybe_register_subclass('destination-hip', DestinationHip.new(parent_instance: self, client: @client, create_children: @create_children)) end class TrafficType < ConfigClass def has_multiple_values?; false; end def _section :'traffic-type' end @props = {'tls-decrypted'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'TLS decrypted traffic'}, 'tls-encrypted'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'help-string'=>'TLS encrypted traffic'}, 'non-tls'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'help-string'=>'non TLS traffic'}} # TLS decrypted traffic def tls_decrypted prop_get('tls-decrypted') end # TLS decrypted traffic def tls_decrypted=(val) prop_set('tls-decrypted', val) end # TLS encrypted traffic def tls_encrypted prop_get('tls-encrypted') end # TLS encrypted traffic def tls_encrypted=(val) prop_set('tls-encrypted', val) end # non TLS traffic def non_tls prop_get('non-tls') end # non TLS traffic def non_tls=(val) prop_set('non-tls', val) end end def traffic_type @subclasses['traffic-type'] ||= TrafficType.new(parent_instance: self, client: @client, create_children: @create_children) end class Action < ConfigClass def has_multiple_values?; false; end def _section :action end @props = {'packet-broker-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'attach packet-broker profile with this rule'}} # attach packet-broker profile with this rule def packet_broker_profile prop_get('packet-broker-profile') end # attach packet-broker profile with this rule def packet_broker_profile=(val) prop_set('packet-broker-profile', val) end end def action @subclasses['action'] ||= Action.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'negate-source'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'negate-destination'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Disable the rule'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'no-default'=>'yes'}, 'group-tag'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'127'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def negate_source prop_get('negate-source') end def negate_source=(val) prop_set('negate-source', val) end def negate_destination prop_get('negate-destination') end def negate_destination=(val) prop_set('negate-destination', val) end # Disable the rule def disabled prop_get('disabled') end # Disable the rule def disabled=(val) prop_set('disabled', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end def group_tag prop_get('group-tag') end def group_tag=(val) prop_set('group-tag', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def rules maybe_register_subclass('rules', Rules.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def network_packet_broker @subclasses['network-packet-broker'] ||= NetworkPacketBroker.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def rulebase @subclasses['rulebase'] ||= Rulebase.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'sub-type'=>'object-name', 'help-string'=>'shared-gateway name'}, 'display-name'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # shared-gateway name def name prop_get('@name') end # alphanumeric string [ 0-9a-zA-Z._-] def display_name prop_get('display-name') end # alphanumeric string [ 0-9a-zA-Z._-] def display_name=(val) prop_set('display-name', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def shared_gateway maybe_register_subclass('shared-gateway', SharedGateway.new(parent_instance: self, client: @client, create_children: @create_children)) end class Lldp < ConfigClass def has_multiple_values?; false; end def _section :lldp end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'transmit-interval'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'optional'=>'yes', 'default'=>'30'}, 'transmit-delay'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'600', 'optional'=>'yes', 'default'=>'2'}, 'hold-time-multiple'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'100', 'optional'=>'yes', 'default'=>'4'}, 'notification-interval'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'optional'=>'yes', 'default'=>'5'}, 'tx-credit-max'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'10', 'optional'=>'yes', 'default'=>'5'}, 'tx-fast-init'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'8', 'optional'=>'yes', 'default'=>'4'}, 'reinit-delay'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'10', 'optional'=>'yes', 'default'=>'2'}, 'msg-fast-tx'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'optional'=>'yes', 'default'=>'1'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end def transmit_interval prop_get('transmit-interval') end def transmit_interval=(val) prop_set('transmit-interval', val) end def transmit_delay prop_get('transmit-delay') end def transmit_delay=(val) prop_set('transmit-delay', val) end def hold_time_multiple prop_get('hold-time-multiple') end def hold_time_multiple=(val) prop_set('hold-time-multiple', val) end def notification_interval prop_get('notification-interval') end def notification_interval=(val) prop_set('notification-interval', val) end def tx_credit_max prop_get('tx-credit-max') end def tx_credit_max=(val) prop_set('tx-credit-max', val) end def tx_fast_init prop_get('tx-fast-init') end def tx_fast_init=(val) prop_set('tx-fast-init', val) end def reinit_delay prop_get('reinit-delay') end def reinit_delay=(val) prop_set('reinit-delay', val) end def msg_fast_tx prop_get('msg-fast-tx') end def msg_fast_tx=(val) prop_set('msg-fast-tx', val) end end def lldp @subclasses['lldp'] ||= Lldp.new(parent_instance: self, client: @client, create_children: @create_children) end class UnderlayNet < ConfigClass def has_multiple_values?; false; end def _section :'underlay-net' end class IpMapping < XML::ConfigClass def has_multiple_values?; true; end def _section :'ip-mapping' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'overlay-ip'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'IP address or address object'}, 'underlay-ip'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'IP address or address object'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # IP address or address object def overlay_ip prop_get('overlay-ip') end # IP address or address object def overlay_ip=(val) prop_set('overlay-ip', val) end # IP address or address object def underlay_ip prop_get('underlay-ip') end # IP address or address object def underlay_ip=(val) prop_set('underlay-ip', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ip_mapping maybe_register_subclass('ip-mapping', IpMapping.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def underlay_net @subclasses['underlay-net'] ||= UnderlayNet.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def network @subclasses['network'] ||= Network.new(parent_instance: self, client: @client, create_children: @create_children) end class Vsys < XML::ConfigClass def has_multiple_values?; true; end def _section :vsys end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Setting < ConfigClass def has_multiple_values?; false; end def _section :setting end class Nat < ConfigClass def has_multiple_values?; false; end def _section :nat end @props = {'reserve-ip'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'reserve translated IP for specified time'}, 'reserve-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'604800', 'help-string'=>'reserve time value in seconds'}} # reserve translated IP for specified time def reserve_ip prop_get('reserve-ip') end # reserve translated IP for specified time def reserve_ip=(val) prop_set('reserve-ip', val) end # reserve time value in seconds def reserve_time prop_get('reserve-time') end # reserve time value in seconds def reserve_time=(val) prop_set('reserve-time', val) end end def nat @subclasses['nat'] ||= Nat.new(parent_instance: self, client: @client, create_children: @create_children) end class SslDecrypt < ConfigClass def has_multiple_values?; false; end def _section :'ssl-decrypt' end @props = {'allow-forward-decrypted-content'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Allow forwarding of decrypted content'}, 'url-wait'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'prune-on'=>'single-vsys-mode', 'help-string'=>'set if wait for url category if not in cache'}, 'url-proxy'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'prune-on'=>'single-vsys-mode', 'help-string'=>'set if proxy for ssl sessions if ip\'s url category is blocked'}, 'notify-user'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'prune-on'=>'single-vsys-mode', 'help-string'=>'set if user notification should be enabled'}, 'answer-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'86400', 'prune-on'=>'single-vsys-mode', 'help-string'=>'set user reply timeout value in seconds'}, 'crl'=>{'node-type'=>'element', 'internal'=>'yes', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'prune-on'=>'single-vsys-mode', 'help-string'=>'set whether to use CRL to check certificate status'}, 'ocsp'=>{'node-type'=>'element', 'internal'=>'yes', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'prune-on'=>'single-vsys-mode', 'help-string'=>'set whether to use OCSP to check certificate status'}, 'block-unknown-cert'=>{'node-type'=>'element', 'internal'=>'yes', 'optional'=>'yes', 'type'=>'bool', 'prune-on'=>'single-vsys-mode', 'default'=>'no', 'help-string'=>'whether to block a session if cert. status is unknown'}, 'block-timeout-cert'=>{'node-type'=>'element', 'internal'=>'yes', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'prune-on'=>'single-vsys-mode', 'help-string'=>'whether to block a session if cert. status can\'t be retrieved within timeout'}, 'cert-status-timeout'=>{'node-type'=>'element', 'internal'=>'yes', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'60', 'prune-on'=>'single-vsys-mode', 'help-string'=>'set cert status query timeout value in seconds'}} # Allow forwarding of decrypted content def allow_forward_decrypted_content prop_get('allow-forward-decrypted-content') end # Allow forwarding of decrypted content def allow_forward_decrypted_content=(val) prop_set('allow-forward-decrypted-content', val) end # set if wait for url category if not in cache def url_wait prop_get('url-wait') end # set if wait for url category if not in cache def url_wait=(val) prop_set('url-wait', val) end # set if proxy for ssl sessions if ip's url category is blocked def url_proxy prop_get('url-proxy') end # set if proxy for ssl sessions if ip's url category is blocked def url_proxy=(val) prop_set('url-proxy', val) end # set if user notification should be enabled def notify_user prop_get('notify-user') end # set if user notification should be enabled def notify_user=(val) prop_set('notify-user', val) end # set user reply timeout value in seconds def answer_timeout prop_get('answer-timeout') end # set user reply timeout value in seconds def answer_timeout=(val) prop_set('answer-timeout', val) end # set whether to use CRL to check certificate status def crl prop_get('crl') end # set whether to use CRL to check certificate status def crl=(val) prop_set('crl', val) end # set whether to use OCSP to check certificate status def ocsp prop_get('ocsp') end # set whether to use OCSP to check certificate status def ocsp=(val) prop_set('ocsp', val) end # whether to block a session if cert. status is unknown def block_unknown_cert prop_get('block-unknown-cert') end # whether to block a session if cert. status is unknown def block_unknown_cert=(val) prop_set('block-unknown-cert', val) end # whether to block a session if cert. status can't be retrieved within timeout def block_timeout_cert prop_get('block-timeout-cert') end # whether to block a session if cert. status can't be retrieved within timeout def block_timeout_cert=(val) prop_set('block-timeout-cert', val) end # set cert status query timeout value in seconds def cert_status_timeout prop_get('cert-status-timeout') end # set cert status query timeout value in seconds def cert_status_timeout=(val) prop_set('cert-status-timeout', val) end end def ssl_decrypt @subclasses['ssl-decrypt'] ||= SslDecrypt.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def setting @subclasses['setting'] ||= Setting.new(parent_instance: self, client: @client, create_children: @create_children) end class Import < ConfigClass def has_multiple_values?; false; end def _section :import end class Network < ConfigClass def has_multiple_values?; false; end def _section :network end class Interface < XML::ConfigClass def has_multiple_values?; true; end def _section :interface end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'affects'=>'../../../../../zone'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def interface maybe_register_subclass('interface', Interface.new(parent_instance: self, client: @client, create_children: @create_children)) end class VirtualWire < XML::ConfigClass def has_multiple_values?; true; end def _section :'virtual-wire' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def virtual_wire maybe_register_subclass('virtual-wire', VirtualWire.new(parent_instance: self, client: @client, create_children: @create_children)) end class Vlan < XML::ConfigClass def has_multiple_values?; true; end def _section :vlan end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def vlan maybe_register_subclass('vlan', Vlan.new(parent_instance: self, client: @client, create_children: @create_children)) end class VirtualRouter < XML::ConfigClass def has_multiple_values?; true; end def _section :'virtual-router' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def virtual_router maybe_register_subclass('virtual-router', VirtualRouter.new(parent_instance: self, client: @client, create_children: @create_children)) end class LogicalRouter < XML::ConfigClass def has_multiple_values?; true; end def _section :'logical-router' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def logical_router maybe_register_subclass('logical-router', LogicalRouter.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def network @subclasses['network'] ||= Network.new(parent_instance: self, client: @client, create_children: @create_children) end class Resource < ConfigClass def has_multiple_values?; false; end def _section :resource end @props = {'max-sessions'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'80000040', 'help-string'=>'Maximum number of sessions allowed for this vsys'}, 'max-site-to-site-vpn-tunnels'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'10000', 'platform-max'=>'cfg.general.max-ssl-tunnel', 'help-string'=>'Maximum number of site to site vpn tunnels allowed for this vsys'}, 'max-concurrent-ssl-vpn-tunnels'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'platform-max'=>'cfg.general.max-ssl-tunnel', 'help-string'=>'Maximum number of concurrent ssl vpn tunnels allowed for this vsys'}, 'max-security-rules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'65000', 'platform-max'=>'cfg.general.max-policy-rule', 'help-string'=>'Maximum number of security rules allowed for this vsys'}, 'max-nat-rules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'16000', 'platform-max'=>'cfg.general.max-nat-policy-rule', 'help-string'=>'Maximum number of NAT rules allowed for this vsys'}, 'max-ssl-decryption-rules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'5000', 'platform-max'=>'cfg.general.max-ssl-policy-rule', 'help-string'=>'Maximum number of ssl decryption rules allowed for this vsys'}, 'max-qos-rules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'8000', 'platform-max'=>'cfg.general.max-qos-policy-rule', 'help-string'=>'Maximum number of QoS rules allowed for this vsys'}, 'max-application-override-rules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4000', 'platform-max'=>'cfg.general.max-oride-policy-rule', 'help-string'=>'Maximum number of application override rules allowed for this vsys'}, 'max-pbf-rules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'2000', 'platform-max'=>'cfg.general.max-pbf-policy-rule', 'help-string'=>'Maximum number of policy based forwarding rules allowed for this vsys'}, 'max-auth-rules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'8000', 'platform-max'=>'cfg.general.max-auth-policy-rule', 'help-string'=>'Maximum number of authentication rules allowed for this vsys'}, 'max-dos-rules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'2000', 'platform-max'=>'cfg.general.max-dos-policy-rule', 'help-string'=>'Maximum number of DoS rules allowed for this vsys'}, 'max-sdwan-rules'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'2000', 'platform-max'=>'cfg.general.max-sdwan-policy-rule', 'help-string'=>'Maximum number of sdwan rules allowed for this vsys'}} # Maximum number of sessions allowed for this vsys def max_sessions prop_get('max-sessions') end # Maximum number of sessions allowed for this vsys def max_sessions=(val) prop_set('max-sessions', val) end # Maximum number of site to site vpn tunnels allowed for this vsys def max_site_to_site_vpn_tunnels prop_get('max-site-to-site-vpn-tunnels') end # Maximum number of site to site vpn tunnels allowed for this vsys def max_site_to_site_vpn_tunnels=(val) prop_set('max-site-to-site-vpn-tunnels', val) end # Maximum number of concurrent ssl vpn tunnels allowed for this vsys def max_concurrent_ssl_vpn_tunnels prop_get('max-concurrent-ssl-vpn-tunnels') end # Maximum number of concurrent ssl vpn tunnels allowed for this vsys def max_concurrent_ssl_vpn_tunnels=(val) prop_set('max-concurrent-ssl-vpn-tunnels', val) end # Maximum number of security rules allowed for this vsys def max_security_rules prop_get('max-security-rules') end # Maximum number of security rules allowed for this vsys def max_security_rules=(val) prop_set('max-security-rules', val) end # Maximum number of NAT rules allowed for this vsys def max_nat_rules prop_get('max-nat-rules') end # Maximum number of NAT rules allowed for this vsys def max_nat_rules=(val) prop_set('max-nat-rules', val) end # Maximum number of ssl decryption rules allowed for this vsys def max_ssl_decryption_rules prop_get('max-ssl-decryption-rules') end # Maximum number of ssl decryption rules allowed for this vsys def max_ssl_decryption_rules=(val) prop_set('max-ssl-decryption-rules', val) end # Maximum number of QoS rules allowed for this vsys def max_qos_rules prop_get('max-qos-rules') end # Maximum number of QoS rules allowed for this vsys def max_qos_rules=(val) prop_set('max-qos-rules', val) end # Maximum number of application override rules allowed for this vsys def max_application_override_rules prop_get('max-application-override-rules') end # Maximum number of application override rules allowed for this vsys def max_application_override_rules=(val) prop_set('max-application-override-rules', val) end # Maximum number of policy based forwarding rules allowed for this vsys def max_pbf_rules prop_get('max-pbf-rules') end # Maximum number of policy based forwarding rules allowed for this vsys def max_pbf_rules=(val) prop_set('max-pbf-rules', val) end # Maximum number of authentication rules allowed for this vsys def max_auth_rules prop_get('max-auth-rules') end # Maximum number of authentication rules allowed for this vsys def max_auth_rules=(val) prop_set('max-auth-rules', val) end # Maximum number of DoS rules allowed for this vsys def max_dos_rules prop_get('max-dos-rules') end # Maximum number of DoS rules allowed for this vsys def max_dos_rules=(val) prop_set('max-dos-rules', val) end # Maximum number of sdwan rules allowed for this vsys def max_sdwan_rules prop_get('max-sdwan-rules') end # Maximum number of sdwan rules allowed for this vsys def max_sdwan_rules=(val) prop_set('max-sdwan-rules', val) end end def resource @subclasses['resource'] ||= Resource.new(parent_instance: self, client: @client, create_children: @create_children) end class VisibleVsys < XML::ConfigClass def has_multiple_values?; true; end def _section :'visible-vsys' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def visible_vsys maybe_register_subclass('visible-vsys', VisibleVsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'dns-proxy'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Dns proxy object to use for resolving fqdns'}} # Dns proxy object to use for resolving fqdns def dns_proxy prop_get('dns-proxy') end # Dns proxy object to use for resolving fqdns def dns_proxy=(val) prop_set('dns-proxy', val) end end def import @subclasses['import'] ||= Import.new(parent_instance: self, client: @client, create_children: @create_children) end class Route < ConfigClass def has_multiple_values?; false; end def _section :route end class Service < XML::ConfigClass def has_multiple_values?; true; end def _section :service end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Source < ConfigClass def has_multiple_values?; false; end def _section :source end @props = {'interface'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Source interface to use to reach destination'}, 'address'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Source IP address to use to reach destination', 'complete-handler'=>'pan-vsys-ip-completer'}} # Source interface to use to reach destination def interface prop_get('interface') end # Source interface to use to reach destination def interface=(val) prop_set('interface', val) end # Source IP address to use to reach destination def address prop_get('address') end # Source IP address to use to reach destination def address=(val) prop_set('address', val) end end def source @subclasses['source'] ||= Source.new(parent_instance: self, client: @client, create_children: @create_children) end class SourceV6 < ConfigClass def has_multiple_values?; false; end def _section :'source-v6' end @props = {'interface'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Source interface to use to reach destination'}, 'address'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'96', 'help-string'=>'Source IP address to use to reach destination', 'complete-handler'=>'pan-vsys-ip-completer'}} # Source interface to use to reach destination def interface prop_get('interface') end # Source interface to use to reach destination def interface=(val) prop_set('interface', val) end # Source IP address to use to reach destination def address prop_get('address') end # Source IP address to use to reach destination def address=(val) prop_set('address', val) end end def source_v6 @subclasses['source-v6'] ||= SourceV6.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'Service name'}} # Service name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def service maybe_register_subclass('service', Service.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def route @subclasses['route'] ||= Route.new(parent_instance: self, client: @client, create_children: @create_children) end class AuthenticationProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'authentication-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SingleSignOn < ConfigClass def has_multiple_values?; false; end def _section :'single-sign-on' end @props = {'realm'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'127', 'subtype'=>'object-name', 'help-string'=>'Kerberos realm to be used for authentication'}, 'service-principal'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'255', 'regex'=>'^([:/a-zA-Z0-9._-])+$', 'help-string'=>'Kerberos service principal'}, 'kerberos-keytab'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'131072', 'encrypt'=>'yes', 'help-string'=>'Kerberos keytab'}} # Kerberos realm to be used for authentication def realm prop_get('realm') end # Kerberos realm to be used for authentication def realm=(val) prop_set('realm', val) end # Kerberos service principal def service_principal prop_get('service-principal') end # Kerberos service principal def service_principal=(val) prop_set('service-principal', val) end # Kerberos keytab def kerberos_keytab prop_get('kerberos-keytab') end # Kerberos keytab def kerberos_keytab=(val) prop_set('kerberos-keytab', val) end end def single_sign_on @subclasses['single-sign-on'] ||= SingleSignOn.new(parent_instance: self, client: @client, create_children: @create_children) end class Lockout < ConfigClass def has_multiple_values?; false; end def _section :lockout end @props = {'failed-attempts'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'10', 'help-string'=>'Number of failed login attempts to trigger lock-out'}, 'lockout-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'60', 'default'=>'0', 'help-string'=>'Number of minutes to lock-out'}} # Number of failed login attempts to trigger lock-out def failed_attempts prop_get('failed-attempts') end # Number of failed login attempts to trigger lock-out def failed_attempts=(val) prop_set('failed-attempts', val) end # Number of minutes to lock-out def lockout_time prop_get('lockout-time') end # Number of minutes to lock-out def lockout_time=(val) prop_set('lockout-time', val) end end def lockout @subclasses['lockout'] ||= Lockout.new(parent_instance: self, client: @client, create_children: @create_children) end class AllowList < XML::ConfigClass def has_multiple_values?; true; end def _section :'allow-list' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'loose-membership'=>'yes', 'maxlen'=>'1023'}, 'enum'=>[{'value'=>'all', 'help-string'=>'all user and user groups'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def allow_list maybe_register_subclass('allow-list', AllowList.new(parent_instance: self, client: @client, create_children: @create_children)) end class Method < XML::ConfigClass def has_multiple_values?; true; end def _section :method end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end class Cloud < ConfigClass def has_multiple_values?; false; end def _section :cloud end class Region < ConfigClass def has_multiple_values?; false; end def _section :region end class Tenant < ConfigClass def has_multiple_values?; false; end def _section :tenant end class Profile < ConfigClass def has_multiple_values?; false; end def _section :profile end class Mfa < ConfigClass def has_multiple_values?; false; end def _section :mfa end @props = {'force-mfa'=>{'node-type'=>'element', 'type'=>'string', 'default'=>'no', 'complete-handler'=>'cas-force-mfa-completer', 'help-string'=>'force multi-factor authentication in cloud'}} # force multi-factor authentication in cloud def force_mfa prop_get('force-mfa') end # force multi-factor authentication in cloud def force_mfa=(val) prop_set('force-mfa', val) end end def mfa @subclasses['mfa'] ||= Mfa.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'profile_id'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'64', 'complete-handler'=>'cas-profile-completer', 'help-string'=>'CAS Profile id'}} # CAS Profile id def profile_id prop_get('profile_id') end # CAS Profile id def profile_id=(val) prop_set('profile_id', val) end end def profile @subclasses['profile'] ||= Profile.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'tenant_id'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'64', 'complete-handler'=>'cas-tenant-completer', 'help-string'=>'Tenant id'}} # Tenant id def tenant_id prop_get('tenant_id') end # Tenant id def tenant_id=(val) prop_set('tenant_id', val) end end def tenant @subclasses['tenant'] ||= Tenant.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'region_id'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'128', 'help-string'=>'Region Id', 'complete-handler'=>'cas-region-completer'}} # Region Id def region_id prop_get('region_id') end # Region Id def region_id=(val) prop_set('region_id', val) end end def region @subclasses['region'] ||= Region.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'clock-skew'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'900', 'default'=>'60', 'help-string'=>'clock skew between CAS service and device'}} # clock skew between CAS service and device def clock_skew prop_get('clock-skew') end # clock skew between CAS service and device def clock_skew=(val) prop_set('clock-skew', val) end end def cloud @subclasses['cloud'] ||= Cloud.new(parent_instance: self, client: @client, create_children: @create_children) end class LocalDatabase < ConfigClass def has_multiple_values?; false; end def _section :'local-database' end @props = {} end def local_database @subclasses['local-database'] ||= LocalDatabase.new(parent_instance: self, client: @client, create_children: @create_children) end class Radius < ConfigClass def has_multiple_values?; false; end def _section :radius end @props = {'server-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'RADIUS server profile object'}, 'checkgroup'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Retrieve user group from RADIUS'}} # RADIUS server profile object def server_profile prop_get('server-profile') end # RADIUS server profile object def server_profile=(val) prop_set('server-profile', val) end # Retrieve user group from RADIUS def checkgroup prop_get('checkgroup') end # Retrieve user group from RADIUS def checkgroup=(val) prop_set('checkgroup', val) end end def radius @subclasses['radius'] ||= Radius.new(parent_instance: self, client: @client, create_children: @create_children) end class Ldap < ConfigClass def has_multiple_values?; false; end def _section :ldap end @props = {'server-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'LDAP server profile object'}, 'login-attribute'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'Default is samAccountName for Active Directory, uid for other directory servers'}, 'passwd-exp-days'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'255', 'optional'=>'yes', 'help-string'=>'Avail for Active Directory, eDir', 'default'=>'7'}} # LDAP server profile object def server_profile prop_get('server-profile') end # LDAP server profile object def server_profile=(val) prop_set('server-profile', val) end # Default is samAccountName for Active Directory, uid for other directory servers def login_attribute prop_get('login-attribute') end # Default is samAccountName for Active Directory, uid for other directory servers def login_attribute=(val) prop_set('login-attribute', val) end # Avail for Active Directory, eDir def passwd_exp_days prop_get('passwd-exp-days') end # Avail for Active Directory, eDir def passwd_exp_days=(val) prop_set('passwd-exp-days', val) end end def ldap @subclasses['ldap'] ||= Ldap.new(parent_instance: self, client: @client, create_children: @create_children) end class Kerberos < ConfigClass def has_multiple_values?; false; end def _section :kerberos end @props = {'server-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'Kerberos server profile object'}, 'realm'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127', 'subtype'=>'object-name', 'help-string'=>'Realm name to be used for authentication'}} # Kerberos server profile object def server_profile prop_get('server-profile') end # Kerberos server profile object def server_profile=(val) prop_set('server-profile', val) end # Realm name to be used for authentication def realm prop_get('realm') end # Realm name to be used for authentication def realm=(val) prop_set('realm', val) end end def kerberos @subclasses['kerberos'] ||= Kerberos.new(parent_instance: self, client: @client, create_children: @create_children) end class Tacplus < ConfigClass def has_multiple_values?; false; end def _section :tacplus end @props = {'server-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'TACACS+ server profile object'}, 'checkgroup'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Retrieve user group from TACACS+'}} # TACACS+ server profile object def server_profile prop_get('server-profile') end # TACACS+ server profile object def server_profile=(val) prop_set('server-profile', val) end # Retrieve user group from TACACS+ def checkgroup prop_get('checkgroup') end # Retrieve user group from TACACS+ def checkgroup=(val) prop_set('checkgroup', val) end end def tacplus @subclasses['tacplus'] ||= Tacplus.new(parent_instance: self, client: @client, create_children: @create_children) end class SamlIdp < ConfigClass def has_multiple_values?; false; end def _section :'saml-idp' end @props = {'server-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'IdP server profile object'}, 'enable-single-logout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable single logout'}, 'request-signing-certificate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'64', 'complete-handler'=>'check-cert-fields-completer', 'help-string'=>'Signing certificate for SAML requests'}, 'certificate-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'Certificate profile for IDP and SP'}, 'attribute-name-username'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'63', 'default'=>'username', 'help-string'=>'Attribute name for username to be extracted from SAML response', 'uiHint-fieldLabel'=>'Username Attribute'}, 'attribute-name-usergroup'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'usergroup', 'uiHint-fieldLabel'=>'User Group Attribute'}, 'attribute-name-admin-role'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'admin-role', 'uiHint-fieldLabel'=>'Admin Role Attribute'}, 'attribute-name-access-domain'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'access-domain', 'uiHint-fieldLabel'=>'Access Domain Attribute'}} # IdP server profile object def server_profile prop_get('server-profile') end # IdP server profile object def server_profile=(val) prop_set('server-profile', val) end # Enable single logout def enable_single_logout prop_get('enable-single-logout') end # Enable single logout def enable_single_logout=(val) prop_set('enable-single-logout', val) end # Signing certificate for SAML requests def request_signing_certificate prop_get('request-signing-certificate') end # Signing certificate for SAML requests def request_signing_certificate=(val) prop_set('request-signing-certificate', val) end # Certificate profile for IDP and SP def certificate_profile prop_get('certificate-profile') end # Certificate profile for IDP and SP def certificate_profile=(val) prop_set('certificate-profile', val) end # Attribute name for username to be extracted from SAML response def attribute_name_username prop_get('attribute-name-username') end # Attribute name for username to be extracted from SAML response def attribute_name_username=(val) prop_set('attribute-name-username', val) end # usergroup def attribute_name_usergroup prop_get('attribute-name-usergroup') end # usergroup def attribute_name_usergroup=(val) prop_set('attribute-name-usergroup', val) end # admin-role def attribute_name_admin_role prop_get('attribute-name-admin-role') end # admin-role def attribute_name_admin_role=(val) prop_set('attribute-name-admin-role', val) end # access-domain def attribute_name_access_domain prop_get('attribute-name-access-domain') end # access-domain def attribute_name_access_domain=(val) prop_set('attribute-name-access-domain', val) end end def saml_idp @subclasses['saml-idp'] ||= SamlIdp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def method maybe_register_subclass('method', Method.new(parent_instance: self, client: @client, create_children: @create_children)) end class MultiFactorAuth < ConfigClass def has_multiple_values?; false; end def _section :'multi-factor-auth' end class Factors < XML::ConfigClass def has_multiple_values?; true; end def _section :factors end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'max-count'=>'3'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def factors maybe_register_subclass('factors', Factors.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'mfa-enable'=>{'node-type'=>'element', 'type'=>'bool', 'help-string'=>'Enable Additional Authentication Factors'}} # Enable Additional Authentication Factors def mfa_enable prop_get('mfa-enable') end # Enable Additional Authentication Factors def mfa_enable=(val) prop_set('mfa-enable', val) end end def multi_factor_auth @subclasses['multi-factor-auth'] ||= MultiFactorAuth.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'regex'=>'^[a-zA-Z0-9\ ._-]+$', 'help-string'=>'Group name'}, 'username-modifier'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'%USERINPUT%', 'help-string'=>'Username modifier(Not for SAML) to handle user domain', 'multi-types'=>{'string'=>{'loose-membership'=>'yes', 'maxlen'=>'127'}, 'enum'=>[{'value'=>'%USERINPUT%'}, {'value'=>'%USERINPUT%@%USERDOMAIN%'}, {'value'=>'%USERDOMAIN%\%USERINPUT%'}]}}, 'user-domain'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'regex'=>'^[^\\\/\:\*\?\"\<\>\|\.]{1}[^\\\/\:\*\?\"\<\>\|]{0,62}$', 'help-string'=>'Domain name(Not for SAML) to be used for authentication'}} # Group name def name prop_get('@name') end # Username modifier(Not for SAML) to handle user domain def username_modifier prop_get('username-modifier') end # Username modifier(Not for SAML) to handle user domain def username_modifier=(val) prop_set('username-modifier', val) end # Domain name(Not for SAML) to be used for authentication def user_domain prop_get('user-domain') end # Domain name(Not for SAML) to be used for authentication def user_domain=(val) prop_set('user-domain', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def authentication_profile maybe_register_subclass('authentication-profile', AuthenticationProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class AuthenticationSequence < XML::ConfigClass def has_multiple_values?; true; end def _section :'authentication-sequence' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class AuthenticationProfiles < XML::ConfigClass def has_multiple_values?; true; end def _section :'authentication-profiles' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def authentication_profiles maybe_register_subclass('authentication-profiles', AuthenticationProfiles.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'regex'=>'^[a-zA-Z0-9\ ._-]+$', 'help-string'=>'Authentication sequence name'}, 'use-domain-find-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Attempt to use domain to determine authentication profile'}, 'exit-sequence-on-failure'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'exit the sequence if the domain matched profile fails'}, 'use-userid-domain'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'use the domain retrieved from userid'}} # Authentication sequence name def name prop_get('@name') end # Attempt to use domain to determine authentication profile def use_domain_find_profile prop_get('use-domain-find-profile') end # Attempt to use domain to determine authentication profile def use_domain_find_profile=(val) prop_set('use-domain-find-profile', val) end # exit the sequence if the domain matched profile fails def exit_sequence_on_failure prop_get('exit-sequence-on-failure') end # exit the sequence if the domain matched profile fails def exit_sequence_on_failure=(val) prop_set('exit-sequence-on-failure', val) end # use the domain retrieved from userid def use_userid_domain prop_get('use-userid-domain') end # use the domain retrieved from userid def use_userid_domain=(val) prop_set('use-userid-domain', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def authentication_sequence maybe_register_subclass('authentication-sequence', AuthenticationSequence.new(parent_instance: self, client: @client, create_children: @create_children)) end class CertificateProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'certificate-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class UsernameField < XML::ConfigClass def has_multiple_values?; true; end def _section :'username-field' end @props = {'subject'=>{'node-type'=>'element', 'type'=>'enum', 'help-string'=>'get user name from subject', 'enum'=>[{'value'=>'common-name'}]}, 'subject-alt'=>{'node-type'=>'element', 'type'=>'enum', 'help-string'=>'get user name from subject alternative name', 'enum'=>[{'value'=>'email'}, {'value'=>'principal-name'}]}} # get user name from subject def subject prop_get('subject') end # get user name from subject def subject=(val) prop_set('subject', val) end # get user name from subject alternative name def subject_alt prop_get('subject-alt') end # get user name from subject alternative name def subject_alt=(val) prop_set('subject-alt', val) end end def username_field maybe_register_subclass('username-field', UsernameField.new(parent_instance: self, client: @client, create_children: @create_children)) end class CA < XML::ConfigClass def has_multiple_values?; true; end def _section :CA end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'help-string'=>'CA file for client certificate'}, 'default-ocsp-url'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'1', 'maxlen'=>'255', 'regex'=>'^http(s)?://.+$', 'help-string'=>'default URL for ocsp verification'}, 'ocsp-verify-cert'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'63', 'help-string'=>'Certificate to verify signature in OCSP response'}, 'template-name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'1', 'maxlen'=>'255', 'help-string'=>'Certificate Template Name / OID for the certificate'}} # CA file for client certificate def name prop_get('@name') end # default URL for ocsp verification def default_ocsp_url prop_get('default-ocsp-url') end # default URL for ocsp verification def default_ocsp_url=(val) prop_set('default-ocsp-url', val) end # Certificate to verify signature in OCSP response def ocsp_verify_cert prop_get('ocsp-verify-cert') end # Certificate to verify signature in OCSP response def ocsp_verify_cert=(val) prop_set('ocsp-verify-cert', val) end # Certificate Template Name / OID for the certificate def template_name prop_get('template-name') end # Certificate Template Name / OID for the certificate def template_name=(val) prop_set('template-name', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def CA maybe_register_subclass('CA', CA.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'regex'=>'^[a-zA-Z0-9_-]+$', 'help-string'=>'Profile name'}, 'domain'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]', 'uiHint-fieldLabel'=>'User Domain'}, 'use-crl'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}, 'use-ocsp'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}, 'crl-receive-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'60', 'default'=>'5', 'help-string'=>'set CRL receive timeout value in seconds'}, 'ocsp-receive-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'60', 'default'=>'5', 'help-string'=>'set OCSP receive timeout value in seconds'}, 'ocsp-exclude-nonce'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'whether to exclude nonce extension for OCSP requests'}, 'cert-status-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'60', 'default'=>'5', 'help-string'=>'set cert status query timeout value in seconds'}, 'block-unknown-cert'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'whether to block a session if cert. status is unknown'}, 'block-timeout-cert'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'whether to block a session if cert. status can\'t be retrieved within timeout'}, 'block-unauthenticated-cert'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'whether to block session if the certificate was not issued to the authenticating device'}, 'block-expired-cert'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'whether to block a session if cert. status is expired'}} # Profile name def name prop_get('@name') end # alphanumeric string [ 0-9a-zA-Z._-] def domain prop_get('domain') end # alphanumeric string [ 0-9a-zA-Z._-] def domain=(val) prop_set('domain', val) end def use_crl prop_get('use-crl') end def use_crl=(val) prop_set('use-crl', val) end def use_ocsp prop_get('use-ocsp') end def use_ocsp=(val) prop_set('use-ocsp', val) end # set CRL receive timeout value in seconds def crl_receive_timeout prop_get('crl-receive-timeout') end # set CRL receive timeout value in seconds def crl_receive_timeout=(val) prop_set('crl-receive-timeout', val) end # set OCSP receive timeout value in seconds def ocsp_receive_timeout prop_get('ocsp-receive-timeout') end # set OCSP receive timeout value in seconds def ocsp_receive_timeout=(val) prop_set('ocsp-receive-timeout', val) end # whether to exclude nonce extension for OCSP requests def ocsp_exclude_nonce prop_get('ocsp-exclude-nonce') end # whether to exclude nonce extension for OCSP requests def ocsp_exclude_nonce=(val) prop_set('ocsp-exclude-nonce', val) end # set cert status query timeout value in seconds def cert_status_timeout prop_get('cert-status-timeout') end # set cert status query timeout value in seconds def cert_status_timeout=(val) prop_set('cert-status-timeout', val) end # whether to block a session if cert. status is unknown def block_unknown_cert prop_get('block-unknown-cert') end # whether to block a session if cert. status is unknown def block_unknown_cert=(val) prop_set('block-unknown-cert', val) end # whether to block a session if cert. status can't be retrieved within timeout def block_timeout_cert prop_get('block-timeout-cert') end # whether to block a session if cert. status can't be retrieved within timeout def block_timeout_cert=(val) prop_set('block-timeout-cert', val) end # whether to block session if the certificate was not issued to the authenticating device def block_unauthenticated_cert prop_get('block-unauthenticated-cert') end # whether to block session if the certificate was not issued to the authenticating device def block_unauthenticated_cert=(val) prop_set('block-unauthenticated-cert', val) end # whether to block a session if cert. status is expired def block_expired_cert prop_get('block-expired-cert') end # whether to block a session if cert. status is expired def block_expired_cert=(val) prop_set('block-expired-cert', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def certificate_profile maybe_register_subclass('certificate-profile', CertificateProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class ServerProfile < ConfigClass def has_multiple_values?; false; end def _section :'server-profile' end class Ldap < XML::ConfigClass def has_multiple_values?; true; end def _section :ldap end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'ldap server ip or host name.', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'minlen'=>'1', 'loose-membership'=>'yes', 'maxlen'=>'63', 'help-string'=>'Host name.'}}}, 'port'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'389', 'help-string'=>'default 389 for LDAP, 636 for LDAPS'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # ldap server ip or host name. def address prop_get('address') end # ldap server ip or host name. def address=(val) prop_set('address', val) end # default 389 for LDAP, 636 for LDAPS def port prop_get('port') end # default 389 for LDAP, 636 for LDAPS def port=(val) prop_set('port', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'ldap-type'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'other', 'enum'=>[{'value'=>'active-directory'}, {'value'=>'e-directory'}, {'value'=>'sun'}, {'value'=>'other'}]}, 'ssl'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes'}, 'verify-server-certificate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Verify server certificate for SSL sessions'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}, 'base'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'255', 'regex'=>'^[^[:cntrl:]]+$', 'help-string'=>'Default base distinguished name (DN) to use for searches'}, 'bind-dn'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'255', 'regex'=>'^[^[:cntrl:]]+$', 'help-string'=>'bind distinguished name'}, 'bind-password'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'121', 'encrypt'=>'yes', 'help-string'=>'bind password'}, 'timelimit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'30', 'default'=>'30', 'help-string'=>'number of seconds to wait for performing searches'}, 'bind-timelimit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'60', 'default'=>'30', 'help-string'=>'number of seconds to use for connecting to servers'}, 'retry-interval'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'60', 'max'=>'3600', 'help-string'=>'Interval (seconds) for reconnecting LDAP server', 'default'=>'60'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def ldap_type prop_get('ldap-type') end def ldap_type=(val) prop_set('ldap-type', val) end def ssl prop_get('ssl') end def ssl=(val) prop_set('ssl', val) end # Verify server certificate for SSL sessions def verify_server_certificate prop_get('verify-server-certificate') end # Verify server certificate for SSL sessions def verify_server_certificate=(val) prop_set('verify-server-certificate', val) end def disabled prop_get('disabled') end def disabled=(val) prop_set('disabled', val) end # Default base distinguished name (DN) to use for searches def base prop_get('base') end # Default base distinguished name (DN) to use for searches def base=(val) prop_set('base', val) end # bind distinguished name def bind_dn prop_get('bind-dn') end # bind distinguished name def bind_dn=(val) prop_set('bind-dn', val) end # bind password def bind_password prop_get('bind-password') end # bind password def bind_password=(val) prop_set('bind-password', val) end # number of seconds to wait for performing searches def timelimit prop_get('timelimit') end # number of seconds to wait for performing searches def timelimit=(val) prop_set('timelimit', val) end # number of seconds to use for connecting to servers def bind_timelimit prop_get('bind-timelimit') end # number of seconds to use for connecting to servers def bind_timelimit=(val) prop_set('bind-timelimit', val) end # Interval (seconds) for reconnecting LDAP server def retry_interval prop_get('retry-interval') end # Interval (seconds) for reconnecting LDAP server def retry_interval=(val) prop_set('retry-interval', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ldap maybe_register_subclass('ldap', Ldap.new(parent_instance: self, client: @client, create_children: @create_children)) end class Radius < XML::ConfigClass def has_multiple_values?; true; end def _section :radius end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Protocol < XML::ConfigClass def has_multiple_values?; true; end def _section :protocol end class CHAP < ConfigClass def has_multiple_values?; false; end def _section :CHAP end @props = {} end def CHAP @subclasses['CHAP'] ||= CHAP.new(parent_instance: self, client: @client, create_children: @create_children) end class PAP < ConfigClass def has_multiple_values?; false; end def _section :PAP end @props = {} end def PAP @subclasses['PAP'] ||= PAP.new(parent_instance: self, client: @client, create_children: @create_children) end class PEAPMSCHAPv2 < ConfigClass def has_multiple_values?; false; end def _section :'PEAP-MSCHAPv2' end @props = {'anon-outer-id'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Make Outer Identity Anonymous'}, 'allow-pwd-change'=>{'node-type'=>'element', 'type'=>'bool', 'help-string'=>'Allow users to change passwords after expiry'}, 'radius-cert-profile'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Certificate profile for verifying the RADIUS server'}} # Make Outer Identity Anonymous def anon_outer_id prop_get('anon-outer-id') end # Make Outer Identity Anonymous def anon_outer_id=(val) prop_set('anon-outer-id', val) end # Allow users to change passwords after expiry def allow_pwd_change prop_get('allow-pwd-change') end # Allow users to change passwords after expiry def allow_pwd_change=(val) prop_set('allow-pwd-change', val) end # Certificate profile for verifying the RADIUS server def radius_cert_profile prop_get('radius-cert-profile') end # Certificate profile for verifying the RADIUS server def radius_cert_profile=(val) prop_set('radius-cert-profile', val) end end def PEAP_MSCHAPv2 @subclasses['PEAP-MSCHAPv2'] ||= PEAPMSCHAPv2.new(parent_instance: self, client: @client, create_children: @create_children) end class PEAPWithGTC < ConfigClass def has_multiple_values?; false; end def _section :'PEAP-with-GTC' end @props = {'anon-outer-id'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Make Outer Identity Anonymous'}, 'radius-cert-profile'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Certificate profile for verifying the RADIUS server'}} # Make Outer Identity Anonymous def anon_outer_id prop_get('anon-outer-id') end # Make Outer Identity Anonymous def anon_outer_id=(val) prop_set('anon-outer-id', val) end # Certificate profile for verifying the RADIUS server def radius_cert_profile prop_get('radius-cert-profile') end # Certificate profile for verifying the RADIUS server def radius_cert_profile=(val) prop_set('radius-cert-profile', val) end end def PEAP_with_GTC @subclasses['PEAP-with-GTC'] ||= PEAPWithGTC.new(parent_instance: self, client: @client, create_children: @create_children) end class EAPTTLSWithPAP < ConfigClass def has_multiple_values?; false; end def _section :'EAP-TTLS-with-PAP' end @props = {'anon-outer-id'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Make Outer Identity Anonymous'}, 'radius-cert-profile'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Certificate profile for verifying the RADIUS server'}} # Make Outer Identity Anonymous def anon_outer_id prop_get('anon-outer-id') end # Make Outer Identity Anonymous def anon_outer_id=(val) prop_set('anon-outer-id', val) end # Certificate profile for verifying the RADIUS server def radius_cert_profile prop_get('radius-cert-profile') end # Certificate profile for verifying the RADIUS server def radius_cert_profile=(val) prop_set('radius-cert-profile', val) end end def EAP_TTLS_with_PAP @subclasses['EAP-TTLS-with-PAP'] ||= EAPTTLSWithPAP.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def protocol maybe_register_subclass('protocol', Protocol.new(parent_instance: self, client: @client, create_children: @create_children)) end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'ip-address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'RADIUS server IP or host name', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'minlen'=>'1', 'loose-membership'=>'yes', 'maxlen'=>'63', 'help-string'=>'Host name.'}}}, 'secret'=>{'node-type'=>'element', 'type'=>'string', 'encrypt'=>'yes', 'maxlen'=>'64', 'help-string'=>'Shared secret for RADIUS communication'}, 'port'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'1812', 'help-string'=>'RADIUS server port'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # RADIUS server IP or host name def ip_address prop_get('ip-address') end # RADIUS server IP or host name def ip_address=(val) prop_set('ip-address', val) end # Shared secret for RADIUS communication def secret prop_get('secret') end # Shared secret for RADIUS communication def secret=(val) prop_set('secret', val) end # RADIUS server port def port prop_get('port') end # RADIUS server port def port=(val) prop_set('port', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'120', 'default'=>'3', 'help-string'=>'number of seconds to wait for when performing authentication'}, 'retries'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'5', 'default'=>'3', 'help-string'=>'number of attempts before giving up authentication'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # number of seconds to wait for when performing authentication def timeout prop_get('timeout') end # number of seconds to wait for when performing authentication def timeout=(val) prop_set('timeout', val) end # number of attempts before giving up authentication def retries prop_get('retries') end # number of attempts before giving up authentication def retries=(val) prop_set('retries', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def radius maybe_register_subclass('radius', Radius.new(parent_instance: self, client: @client, create_children: @create_children)) end class Scp < XML::ConfigClass def has_multiple_values?; true; end def _section :scp end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string'}, 'server'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'SCP hostname'}, 'port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'22', 'help-string'=>'SCP port'}, 'username'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'128', 'regex'=>'[^\']*', 'help-string'=>'SCP username'}, 'password'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'64', 'regex'=>'[^\']*', 'help-string'=>'SCP Password', 'encrypt'=>'yes'}, 'path'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'256', 'help-string'=>'SCP image base path'}, 'fingerprint'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'256', 'regex'=>'[^\']*', 'help-string'=>'SCP host fingerprint'}} # alphanumeric string def name prop_get('@name') end # SCP hostname def server prop_get('server') end # SCP hostname def server=(val) prop_set('server', val) end # SCP port def port prop_get('port') end # SCP port def port=(val) prop_set('port', val) end # SCP username def username prop_get('username') end # SCP username def username=(val) prop_set('username', val) end # SCP Password def password prop_get('password') end # SCP Password def password=(val) prop_set('password', val) end # SCP image base path def path prop_get('path') end # SCP image base path def path=(val) prop_set('path', val) end # SCP host fingerprint def fingerprint prop_get('fingerprint') end # SCP host fingerprint def fingerprint=(val) prop_set('fingerprint', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def scp maybe_register_subclass('scp', Scp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Kerberos < XML::ConfigClass def has_multiple_values?; true; end def _section :kerberos end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'host'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Kerberos server ip or host name.', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'minlen'=>'1', 'loose-membership'=>'yes', 'maxlen'=>'63', 'help-string'=>'Host name.'}}}, 'port'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'88', 'help-string'=>'Kerberos Domain Controller '}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # Kerberos server ip or host name. def host prop_get('host') end # Kerberos server ip or host name. def host=(val) prop_set('host', val) end # Kerberos Domain Controller def port prop_get('port') end # Kerberos Domain Controller def port=(val) prop_set('port', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def kerberos maybe_register_subclass('kerberos', Kerberos.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tacplus < XML::ConfigClass def has_multiple_values?; true; end def _section :tacplus end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'TACACS+ server ip or host name.', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'minlen'=>'1', 'loose-membership'=>'yes', 'maxlen'=>'63', 'help-string'=>'Host name.'}}}, 'secret'=>{'node-type'=>'element', 'type'=>'string', 'encrypt'=>'yes', 'maxlen'=>'64', 'help-string'=>'Shared secret for TACACS+ communication'}, 'port'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'49', 'help-string'=>'TACACS+ server port'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # TACACS+ server ip or host name. def address prop_get('address') end # TACACS+ server ip or host name. def address=(val) prop_set('address', val) end # Shared secret for TACACS+ communication def secret prop_get('secret') end # Shared secret for TACACS+ communication def secret=(val) prop_set('secret', val) end # TACACS+ server port def port prop_get('port') end # TACACS+ server port def port=(val) prop_set('port', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'30', 'default'=>'3', 'help-string'=>'number of seconds to wait for when performing authentication'}, 'use-single-connection'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Use single connection for all authentication'}, 'protocol'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'CHAP', 'help-string'=>'Select authentication protocol', 'enum'=>[{'value'=>'CHAP'}, {'value'=>'PAP'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # number of seconds to wait for when performing authentication def timeout prop_get('timeout') end # number of seconds to wait for when performing authentication def timeout=(val) prop_set('timeout', val) end # Use single connection for all authentication def use_single_connection prop_get('use-single-connection') end # Use single connection for all authentication def use_single_connection=(val) prop_set('use-single-connection', val) end # Select authentication protocol def protocol prop_get('protocol') end # Select authentication protocol def protocol=(val) prop_set('protocol', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def tacplus maybe_register_subclass('tacplus', Tacplus.new(parent_instance: self, client: @client, create_children: @create_children)) end class SamlIdp < XML::ConfigClass def has_multiple_values?; true; end def _section :'saml-idp' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'entity-id'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'1024', 'help-string'=>'Unique identifier for SAML IdP'}, 'certificate'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'complete-handler'=>'check-idp-cert-fields-completer', 'help-string'=>'Object name of IdP signing certificate'}, 'sso-url'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'255', 'help-string'=>'The Single Sign On Service URL for the IdP server'}, 'sso-bindings'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'post', 'enum'=>[{'value'=>'post'}, {'value'=>'redirect'}]}, 'slo-url'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'255', 'help-string'=>'The Single Logout Service URL for the IdP server'}, 'slo-bindings'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'post', 'enum'=>[{'value'=>'post'}, {'value'=>'redirect'}]}, 'validate-idp-certificate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Certificate revocation check for IdP certificate when checking assertion signature'}, 'want-auth-requests-signed'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Client auth request signed by cert'}, 'max-clock-skew'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'900', 'default'=>'60', 'help-string'=>'maximum allowed clock skew in second between SAML entities\' system time'}, 'attribute-name-username-import'=>{'node-type'=>'element', 'internal'=>'yes', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'63', 'default'=>'username', 'help-string'=>'Attribute name for username to be extracted from SAML response'}, 'attribute-name-usergroup-import'=>{'node-type'=>'element', 'internal'=>'yes', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'usergroup'}, 'attribute-name-admin-role-import'=>{'node-type'=>'element', 'internal'=>'yes', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'admin-role'}, 'attribute-name-access-domain-import'=>{'node-type'=>'element', 'internal'=>'yes', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'access-domain'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # Unique identifier for SAML IdP def entity_id prop_get('entity-id') end # Unique identifier for SAML IdP def entity_id=(val) prop_set('entity-id', val) end # Object name of IdP signing certificate def certificate prop_get('certificate') end # Object name of IdP signing certificate def certificate=(val) prop_set('certificate', val) end # The Single Sign On Service URL for the IdP server def sso_url prop_get('sso-url') end # The Single Sign On Service URL for the IdP server def sso_url=(val) prop_set('sso-url', val) end def sso_bindings prop_get('sso-bindings') end def sso_bindings=(val) prop_set('sso-bindings', val) end # The Single Logout Service URL for the IdP server def slo_url prop_get('slo-url') end # The Single Logout Service URL for the IdP server def slo_url=(val) prop_set('slo-url', val) end def slo_bindings prop_get('slo-bindings') end def slo_bindings=(val) prop_set('slo-bindings', val) end # Certificate revocation check for IdP certificate when checking assertion signature def validate_idp_certificate prop_get('validate-idp-certificate') end # Certificate revocation check for IdP certificate when checking assertion signature def validate_idp_certificate=(val) prop_set('validate-idp-certificate', val) end # Client auth request signed by cert def want_auth_requests_signed prop_get('want-auth-requests-signed') end # Client auth request signed by cert def want_auth_requests_signed=(val) prop_set('want-auth-requests-signed', val) end # maximum allowed clock skew in second between SAML entities' system time def max_clock_skew prop_get('max-clock-skew') end # maximum allowed clock skew in second between SAML entities' system time def max_clock_skew=(val) prop_set('max-clock-skew', val) end # Attribute name for username to be extracted from SAML response def attribute_name_username_import prop_get('attribute-name-username-import') end # Attribute name for username to be extracted from SAML response def attribute_name_username_import=(val) prop_set('attribute-name-username-import', val) end # usergroup def attribute_name_usergroup_import prop_get('attribute-name-usergroup-import') end # usergroup def attribute_name_usergroup_import=(val) prop_set('attribute-name-usergroup-import', val) end # admin-role def attribute_name_admin_role_import prop_get('attribute-name-admin-role-import') end # admin-role def attribute_name_admin_role_import=(val) prop_set('attribute-name-admin-role-import', val) end # access-domain def attribute_name_access_domain_import prop_get('attribute-name-access-domain-import') end # access-domain def attribute_name_access_domain_import=(val) prop_set('attribute-name-access-domain-import', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def saml_idp maybe_register_subclass('saml-idp', SamlIdp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Netflow < XML::ConfigClass def has_multiple_values?; true; end def _section :netflow end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class TemplateRefreshRate < ConfigClass def has_multiple_values?; false; end def _section :'template-refresh-rate' end @props = {'minutes'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'30'}, 'packets'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'600', 'default'=>'20'}} def minutes prop_get('minutes') end def minutes=(val) prop_set('minutes', val) end def packets prop_get('packets') end def packets=(val) prop_set('packets', val) end end def template_refresh_rate @subclasses['template-refresh-rate'] ||= TemplateRefreshRate.new(parent_instance: self, client: @client, create_children: @create_children) end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'host'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Netflow server ip or host name.', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'loose-membership'=>'yes', 'maxlen'=>'63'}}}, 'port'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'default'=>'2055', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Netflow server port'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # Netflow server ip or host name. def host prop_get('host') end # Netflow server ip or host name. def host=(val) prop_set('host', val) end # Netflow server port def port prop_get('port') end # Netflow server port def port=(val) prop_set('port', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'active-timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'60', 'default'=>'5', 'help-string'=>'Active timeout in minutes'}, 'export-enterprise-fields'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Export PAN-OS Specific Field Types'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # Active timeout in minutes def active_timeout prop_get('active-timeout') end # Active timeout in minutes def active_timeout=(val) prop_set('active-timeout', val) end # Export PAN-OS Specific Field Types def export_enterprise_fields prop_get('export-enterprise-fields') end # Export PAN-OS Specific Field Types def export_enterprise_fields=(val) prop_set('export-enterprise-fields', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def netflow maybe_register_subclass('netflow', Netflow.new(parent_instance: self, client: @client, create_children: @create_children)) end class Dns < XML::ConfigClass def has_multiple_values?; true; end def _section :dns end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Inheritance < ConfigClass def has_multiple_values?; false; end def _section :inheritance end @props = {'source'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Dynamic interface'}} # Dynamic interface def source prop_get('source') end # Dynamic interface def source=(val) prop_set('source', val) end end def inheritance @subclasses['inheritance'] ||= Inheritance.new(parent_instance: self, client: @client, create_children: @create_children) end class Source < ConfigClass def has_multiple_values?; false; end def _section :source end @props = {'interface'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Source interface to use to reach destination'}, 'address'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Source IP address to use to reach destination'}} # Source interface to use to reach destination def interface prop_get('interface') end # Source interface to use to reach destination def interface=(val) prop_set('interface', val) end # Source IP address to use to reach destination def address prop_get('address') end # Source IP address to use to reach destination def address=(val) prop_set('address', val) end end def source @subclasses['source'] ||= Source.new(parent_instance: self, client: @client, create_children: @create_children) end class SourceV6 < ConfigClass def has_multiple_values?; false; end def _section :'source-v6' end @props = {'interface'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Source interface to use to reach destination'}, 'address'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'96', 'help-string'=>'Source IP address to use to reach destination'}} # Source interface to use to reach destination def interface prop_get('interface') end # Source interface to use to reach destination def interface=(val) prop_set('interface', val) end # Source IP address to use to reach destination def address prop_get('address') end # Source IP address to use to reach destination def address=(val) prop_set('address', val) end end def source_v6 @subclasses['source-v6'] ||= SourceV6.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'primary'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Primary DNS Name server IP address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'help-string'=>'DNS primary server ip'}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'inherited'}]}}, 'secondary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'Secondary DNS Name server IP address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'help-string'=>'DNS primary server ip'}, 'string'=>{'maxlen'=>'63'}, 'enum'=>[{'value'=>'inherited'}]}}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # Primary DNS Name server IP address def primary prop_get('primary') end # Primary DNS Name server IP address def primary=(val) prop_set('primary', val) end # Secondary DNS Name server IP address def secondary prop_get('secondary') end # Secondary DNS Name server IP address def secondary=(val) prop_set('secondary', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def dns maybe_register_subclass('dns', Dns.new(parent_instance: self, client: @client, create_children: @create_children)) end class MfaServerProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'mfa-server-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class MfaConfig < XML::ConfigClass def has_multiple_values?; true; end def _section :'mfa-config' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def mfa_config maybe_register_subclass('mfa-config', MfaConfig.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'regex'=>'^[a-zA-Z0-9\ ._-]+$', 'help-string'=>'MFA Server Profile Name'}, 'mfa-vendor-type'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'128', 'help-string'=>'Vendor and product type'}, 'mfa-cert-profile'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Certificate profile for verifying the MFA Vendor'}} # MFA Server Profile Name def name prop_get('@name') end # Vendor and product type def mfa_vendor_type prop_get('mfa-vendor-type') end # Vendor and product type def mfa_vendor_type=(val) prop_set('mfa-vendor-type', val) end # Certificate profile for verifying the MFA Vendor def mfa_cert_profile prop_get('mfa-cert-profile') end # Certificate profile for verifying the MFA Vendor def mfa_cert_profile=(val) prop_set('mfa-cert-profile', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def mfa_server_profile maybe_register_subclass('mfa-server-profile', MfaServerProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def server_profile @subclasses['server-profile'] ||= ServerProfile.new(parent_instance: self, client: @client, create_children: @create_children) end class DnsProxy < XML::ConfigClass def has_multiple_values?; true; end def _section :'dns-proxy' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Interface < XML::ConfigClass def has_multiple_values?; true; end def _section :interface end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Interface name'}} # Interface name def member prop_get('member') end # Interface name def member=(val) prop_set('member', val) end end def interface maybe_register_subclass('interface', Interface.new(parent_instance: self, client: @client, create_children: @create_children)) end class DomainServers < XML::ConfigClass def has_multiple_values?; true; end def _section :'domain-servers' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class DomainName < XML::ConfigClass def has_multiple_values?; true; end def _section :'domain-name' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^[a-zA-Z0-9_\.\*\-]+$', 'maxlen'=>'128', 'help-string'=>'Dotted domain name with optional wildcards'}} # Dotted domain name with optional wildcards def member prop_get('member') end # Dotted domain name with optional wildcards def member=(val) prop_set('member', val) end end def domain_name maybe_register_subclass('domain-name', DomainName.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'optional'=>'no', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'cacheable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Turn on caching of domains resolved by this mapping'}, 'server-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'DNS server object'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # Turn on caching of domains resolved by this mapping def cacheable prop_get('cacheable') end # Turn on caching of domains resolved by this mapping def cacheable=(val) prop_set('cacheable', val) end # DNS server object def server_profile prop_get('server-profile') end # DNS server object def server_profile=(val) prop_set('server-profile', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def domain_servers maybe_register_subclass('domain-servers', DomainServers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Cache < ConfigClass def has_multiple_values?; false; end def _section :cache end class MaxTtl < ConfigClass def has_multiple_values?; false; end def _section :'max-ttl' end @props = {'enabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable max ttl for this DNS object'}, 'time-to-live'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'60', 'max'=>'86400', 'help-string'=>'Time in seconds after which entry is cleared'}} # Enable max ttl for this DNS object def enabled prop_get('enabled') end # Enable max ttl for this DNS object def enabled=(val) prop_set('enabled', val) end # Time in seconds after which entry is cleared def time_to_live prop_get('time-to-live') end # Time in seconds after which entry is cleared def time_to_live=(val) prop_set('time-to-live', val) end end def max_ttl @subclasses['max-ttl'] ||= MaxTtl.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Turn on caching for this DNS object'}, 'cache-edns'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Cache EDNS UDP response'}} # Turn on caching for this DNS object def enabled prop_get('enabled') end # Turn on caching for this DNS object def enabled=(val) prop_set('enabled', val) end # Cache EDNS UDP response def cache_edns prop_get('cache-edns') end # Cache EDNS UDP response def cache_edns=(val) prop_set('cache-edns', val) end end def cache @subclasses['cache'] ||= Cache.new(parent_instance: self, client: @client, create_children: @create_children) end class StaticEntries < XML::ConfigClass def has_multiple_values?; true; end def _section :'static-entries' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Address < XML::ConfigClass def has_multiple_values?; true; end def _section :address end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Resolved IP address', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # Resolved IP address def member prop_get('member') end # Resolved IP address def member=(val) prop_set('member', val) end end def address maybe_register_subclass('address', Address.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'optional'=>'no', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'domain'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'help-string'=>'Fully qualified domain name for specified IP address'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # Fully qualified domain name for specified IP address def domain prop_get('domain') end # Fully qualified domain name for specified IP address def domain=(val) prop_set('domain', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def static_entries maybe_register_subclass('static-entries', StaticEntries.new(parent_instance: self, client: @client, create_children: @create_children)) end class TcpQueries < ConfigClass def has_multiple_values?; false; end def _section :'tcp-queries' end @props = {'enabled'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Turn on forwarding of TCP DNS queries'}, 'max-pending-requests'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'64', 'max'=>'256', 'default'=>'64', 'help-string'=>'Upper limit on number of concurrent TCP DNS requests'}} # Turn on forwarding of TCP DNS queries def enabled prop_get('enabled') end # Turn on forwarding of TCP DNS queries def enabled=(val) prop_set('enabled', val) end # Upper limit on number of concurrent TCP DNS requests def max_pending_requests prop_get('max-pending-requests') end # Upper limit on number of concurrent TCP DNS requests def max_pending_requests=(val) prop_set('max-pending-requests', val) end end def tcp_queries @subclasses['tcp-queries'] ||= TcpQueries.new(parent_instance: self, client: @client, create_children: @create_children) end class UdpQueries < ConfigClass def has_multiple_values?; false; end def _section :'udp-queries' end class Retries < ConfigClass def has_multiple_values?; false; end def _section :retries end @props = {'interval'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'1', 'max'=>'30', 'default'=>'2', 'help-string'=>'Time in seconds for another request to be sent'}, 'attempts'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'1', 'max'=>'30', 'default'=>'5', 'help-string'=>'Maximum number of retries before trying next name server'}} # Time in seconds for another request to be sent def interval prop_get('interval') end # Time in seconds for another request to be sent def interval=(val) prop_set('interval', val) end # Maximum number of retries before trying next name server def attempts prop_get('attempts') end # Maximum number of retries before trying next name server def attempts=(val) prop_set('attempts', val) end end def retries @subclasses['retries'] ||= Retries.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def udp_queries @subclasses['udp-queries'] ||= UdpQueries.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'optional'=>'no', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Enable or disable processing of DNS requests on interface(s) on this object'}, 'server-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'DNS server object'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # Enable or disable processing of DNS requests on interface(s) on this object def enabled prop_get('enabled') end # Enable or disable processing of DNS requests on interface(s) on this object def enabled=(val) prop_set('enabled', val) end # DNS server object def server_profile prop_get('server-profile') end # DNS server object def server_profile=(val) prop_set('server-profile', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def dns_proxy maybe_register_subclass('dns-proxy', DnsProxy.new(parent_instance: self, client: @client, create_children: @create_children)) end class LogSettings < ConfigClass def has_multiple_values?; false; end def _section :'log-settings' end class Correlation < ConfigClass def has_multiple_values?; false; end def _section :correlation end class MatchList < XML::ConfigClass def has_multiple_values?; true; end def _section :'match-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SendSnmptrap < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-snmptrap' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_snmptrap maybe_register_subclass('send-snmptrap', SendSnmptrap.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendEmail < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-email' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_email maybe_register_subclass('send-email', SendEmail.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendSyslog < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-syslog' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_syslog maybe_register_subclass('send-syslog', SendSyslog.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendHttp < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-http' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_http maybe_register_subclass('send-http', SendHttp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Actions < XML::ConfigClass def has_multiple_values?; true; end def _section :actions end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Integration < ConfigClass def has_multiple_values?; false; end def _section :integration end @props = {'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'Azure-Security-Center-Integration', 'enum'=>[{'value'=>'Azure-Security-Center-Integration', 'help-string'=>'Azure Security Center Integration'}]}} def action prop_get('action') end def action=(val) prop_set('action', val) end end def integration @subclasses['integration'] ||= Integration.new(parent_instance: self, client: @client, create_children: @create_children) end class Tagging < ConfigClass def has_multiple_values?; false; end def _section :tagging end class Registration < XML::ConfigClass def has_multiple_values?; true; end def _section :registration end class Localhost < ConfigClass def has_multiple_values?; false; end def _section :localhost end @props = {} end def localhost @subclasses['localhost'] ||= Localhost.new(parent_instance: self, client: @client, create_children: @create_children) end class Panorama < ConfigClass def has_multiple_values?; false; end def _section :panorama end @props = {} end def panorama @subclasses['panorama'] ||= Panorama.new(parent_instance: self, client: @client, create_children: @create_children) end class Remote < ConfigClass def has_multiple_values?; false; end def _section :remote end @props = {'http-profile'=>{'node-type'=>'element', 'type'=>'string'}} def http_profile prop_get('http-profile') end def http_profile=(val) prop_set('http-profile', val) end end def remote @subclasses['remote'] ||= Remote.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def registration maybe_register_subclass('registration', Registration.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'127', 'regex'=>'^[^\]\'\[]*$'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'target'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'source-address', 'enum'=>[{'value'=>'source-address', 'help-string'=>'Source Address'}, {'value'=>'destination-address', 'help-string'=>'Destination Address'}, {'value'=>'xff-address', 'help-string'=>'X-Forwarded-For Address'}, {'value'=>'user', 'help-string'=>'User'}]}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'add-tag', 'enum'=>[{'value'=>'add-tag', 'help-string'=>'Add Tag'}, {'value'=>'remove-tag', 'help-string'=>'Remove Tag'}]}, 'timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'43200', 'optional'=>'yes', 'default'=>'0', 'help-string'=>'timeout in minutes'}} def target prop_get('target') end def target=(val) prop_set('target', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # timeout in minutes def timeout prop_get('timeout') end # timeout in minutes def timeout=(val) prop_set('timeout', val) end end def tagging @subclasses['tagging'] ||= Tagging.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def actions maybe_register_subclass('actions', Actions.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'filter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1023'}, 'quarantine'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}} def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def filter prop_get('filter') end def filter=(val) prop_set('filter', val) end def quarantine prop_get('quarantine') end def quarantine=(val) prop_set('quarantine', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def match_list maybe_register_subclass('match-list', MatchList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def correlation @subclasses['correlation'] ||= Correlation.new(parent_instance: self, client: @client, create_children: @create_children) end class Snmptrap < XML::ConfigClass def has_multiple_values?; true; end def _section :snmptrap end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Version < XML::ConfigClass def has_multiple_values?; true; end def _section :version end class V2c < ConfigClass def has_multiple_values?; false; end def _section :v2c end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'manager'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'IP address or FQDN of SNMP manager to use', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63', 'loose-membership'=>'yes'}}}, 'community'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # IP address or FQDN of SNMP manager to use def manager prop_get('manager') end # IP address or FQDN of SNMP manager to use def manager=(val) prop_set('manager', val) end def community prop_get('community') end def community=(val) prop_set('community', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def v2c @subclasses['v2c'] ||= V2c.new(parent_instance: self, client: @client, create_children: @create_children) end class V3 < ConfigClass def has_multiple_values?; false; end def _section :v3 end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'manager'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'IP address or FQDN of SNMP manager to use', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63', 'loose-membership'=>'yes'}}}, 'user'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31'}, 'engineid'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'255', 'regex'=>'^[0][xX][0-9A-Fa-f]{10,128}$', 'help-string'=>'A hex number (min 5 - max 64 bytes) '}, 'authpwd'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Authentication Protocol Password', 'minlen'=>'8', 'maxlen'=>'256', 'encrypt'=>'yes'}, 'privpwd'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Privacy Protocol Password', 'minlen'=>'8', 'maxlen'=>'256', 'encrypt'=>'yes'}, 'authproto'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'SHA', 'help-string'=>'Authentication Protocol', 'enum'=>[{'value'=>'SHA'}, {'value'=>'SHA-224'}, {'value'=>'SHA-256'}, {'value'=>'SHA-384'}, {'value'=>'SHA-512'}]}, 'privproto'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'AES', 'help-string'=>'Privacy Protocol', 'enum'=>[{'value'=>'AES'}, {'value'=>'AES-192'}, {'value'=>'AES-256'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # IP address or FQDN of SNMP manager to use def manager prop_get('manager') end # IP address or FQDN of SNMP manager to use def manager=(val) prop_set('manager', val) end def user prop_get('user') end def user=(val) prop_set('user', val) end # A hex number (min 5 - max 64 bytes) def engineid prop_get('engineid') end # A hex number (min 5 - max 64 bytes) def engineid=(val) prop_set('engineid', val) end # Authentication Protocol Password def authpwd prop_get('authpwd') end # Authentication Protocol Password def authpwd=(val) prop_set('authpwd', val) end # Privacy Protocol Password def privpwd prop_get('privpwd') end # Privacy Protocol Password def privpwd=(val) prop_set('privpwd', val) end # Authentication Protocol def authproto prop_get('authproto') end # Authentication Protocol def authproto=(val) prop_set('authproto', val) end # Privacy Protocol def privproto prop_get('privproto') end # Privacy Protocol def privproto=(val) prop_set('privproto', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def v3 @subclasses['v3'] ||= V3.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def version maybe_register_subclass('version', Version.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def snmptrap maybe_register_subclass('snmptrap', Snmptrap.new(parent_instance: self, client: @client, create_children: @create_children)) end class Email < XML::ConfigClass def has_multiple_values?; true; end def _section :email end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'display-name'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes'}, 'from'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([a-zA-Z0-9_?~^\'`.\+/=|#$!*%{}\&-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$', 'maxlen'=>'128', 'help-string'=>'email address (e.g. admin@mycompany.com)'}, 'to'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([a-zA-Z0-9_?~^\'`.\+/=|#$!*%{}\&-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$', 'maxlen'=>'128', 'help-string'=>'email address (e.g. admin@mycompany.com)'}, 'and-also-to'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^([a-zA-Z0-9_?~^\'`.\+/=|#$!*%{}\&-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$', 'maxlen'=>'128', 'help-string'=>'email address (e.g. admin@mycompany.com)'}, 'gateway'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'IP address or FQDN of SMTP gateway to use'}, 'protocol'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'SMTP', 'enum'=>[{'value'=>'SMTP'}, {'value'=>'TLS'}]}, 'port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'optional'=>'yes', 'default'=>'25', 'help-string'=>'Port number (Standard EMAIL ports SMTP:25, TLS:587)'}, 'tls-version'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'1.2', 'help-string'=>'TLS handshake protocol version', 'enum'=>[{'value'=>'1.2'}, {'value'=>'1.1'}]}, 'auth'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'Auto'}, {'value'=>'Login'}, {'value'=>'Plain'}]}, 'certificate-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'default'=>'None', 'help-string'=>'Certificate Profile for validating server certificate'}, 'username'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'username for authentication', 'minlen'=>'0', 'maxlen'=>'255', 'regex'=>'[^\']*'}, 'password'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'regex'=>'[^\']*', 'encrypt'=>'yes'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def display_name prop_get('display-name') end def display_name=(val) prop_set('display-name', val) end # email address (e.g. admin@mycompany.com) def from prop_get('from') end # email address (e.g. admin@mycompany.com) def from=(val) prop_set('from', val) end # email address (e.g. admin@mycompany.com) def to prop_get('to') end # email address (e.g. admin@mycompany.com) def to=(val) prop_set('to', val) end # email address (e.g. admin@mycompany.com) def and_also_to prop_get('and-also-to') end # email address (e.g. admin@mycompany.com) def and_also_to=(val) prop_set('and-also-to', val) end # IP address or FQDN of SMTP gateway to use def gateway prop_get('gateway') end # IP address or FQDN of SMTP gateway to use def gateway=(val) prop_set('gateway', val) end def protocol prop_get('protocol') end def protocol=(val) prop_set('protocol', val) end # Port number (Standard EMAIL ports SMTP:25, TLS:587) def port prop_get('port') end # Port number (Standard EMAIL ports SMTP:25, TLS:587) def port=(val) prop_set('port', val) end # TLS handshake protocol version def tls_version prop_get('tls-version') end # TLS handshake protocol version def tls_version=(val) prop_set('tls-version', val) end def auth prop_get('auth') end def auth=(val) prop_set('auth', val) end # Certificate Profile for validating server certificate def certificate_profile prop_get('certificate-profile') end # Certificate Profile for validating server certificate def certificate_profile=(val) prop_set('certificate-profile', val) end # username for authentication def username prop_get('username') end # username for authentication def username=(val) prop_set('username', val) end def password prop_get('password') end def password=(val) prop_set('password', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end class Format < ConfigClass def has_multiple_values?; false; end def _section :format end class Escaping < ConfigClass def has_multiple_values?; false; end def _section :escaping end @props = {'escaped-characters'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'help-string'=>'List of characters to be escaped'}, 'escape-character'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'1', 'help-string'=>'Escape character'}} # List of characters to be escaped def escaped_characters prop_get('escaped-characters') end # List of characters to be escaped def escaped_characters=(val) prop_set('escaped-characters', val) end # Escape character def escape_character prop_get('escape-character') end # Escape character def escape_character=(val) prop_set('escape-character', val) end end def escaping @subclasses['escaping'] ||= Escaping.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'traffic'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'threat'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'wildfire'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'url'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'data'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'gtp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420,cfg.platform.model=PA-1410,cfg.platform.model=PA-1420'}, 'sctp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420,cfg.platform.model=PA-1410,cfg.platform.model=PA-1420'}, 'tunnel'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'auth'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'userid'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'iptag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'decryption'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'config'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'system'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'globalprotect'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'hip-match'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'correlation'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}} def traffic prop_get('traffic') end def traffic=(val) prop_set('traffic', val) end def threat prop_get('threat') end def threat=(val) prop_set('threat', val) end def wildfire prop_get('wildfire') end def wildfire=(val) prop_set('wildfire', val) end def url prop_get('url') end def url=(val) prop_set('url', val) end def data prop_get('data') end def data=(val) prop_set('data', val) end def gtp prop_get('gtp') end def gtp=(val) prop_set('gtp', val) end def sctp prop_get('sctp') end def sctp=(val) prop_set('sctp', val) end def tunnel prop_get('tunnel') end def tunnel=(val) prop_set('tunnel', val) end def auth prop_get('auth') end def auth=(val) prop_set('auth', val) end def userid prop_get('userid') end def userid=(val) prop_set('userid', val) end def iptag prop_get('iptag') end def iptag=(val) prop_set('iptag', val) end def decryption prop_get('decryption') end def decryption=(val) prop_set('decryption', val) end def config prop_get('config') end def config=(val) prop_set('config', val) end def system prop_get('system') end def system=(val) prop_set('system', val) end def globalprotect prop_get('globalprotect') end def globalprotect=(val) prop_set('globalprotect', val) end def hip_match prop_get('hip-match') end def hip_match=(val) prop_set('hip-match', val) end def correlation prop_get('correlation') end def correlation=(val) prop_set('correlation', val) end end def format @subclasses['format'] ||= Format.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def email maybe_register_subclass('email', Email.new(parent_instance: self, client: @client, create_children: @create_children)) end class Syslog < XML::ConfigClass def has_multiple_values?; true; end def _section :syslog end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'server'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'regex'=>'^([a-zA-Z0-9:\.\_-])+([a-zA-Z0-9:\_-])$|^\$([a-zA-Z0-9._-])+$', 'help-string'=>'IP address or FQDN of SYSLOG server to use'}, 'transport'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'UDP', 'enum'=>[{'value'=>'UDP'}, {'value'=>'TCP'}, {'value'=>'SSL'}]}, 'port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'optional'=>'yes', 'help-string'=>'Port number (Standard Syslog ports UDP:514, SSL:6514)'}, 'format'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'BSD', 'help-string'=>'Format of the Syslog message', 'enum'=>[{'value'=>'BSD'}, {'value'=>'IETF'}]}, 'facility'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'LOG_USER', 'enum'=>[{'value'=>'LOG_USER'}, {'value'=>'LOG_LOCAL0'}, {'value'=>'LOG_LOCAL1'}, {'value'=>'LOG_LOCAL2'}, {'value'=>'LOG_LOCAL3'}, {'value'=>'LOG_LOCAL4'}, {'value'=>'LOG_LOCAL5'}, {'value'=>'LOG_LOCAL6'}, {'value'=>'LOG_LOCAL7'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # IP address or FQDN of SYSLOG server to use def server prop_get('server') end # IP address or FQDN of SYSLOG server to use def server=(val) prop_set('server', val) end def transport prop_get('transport') end def transport=(val) prop_set('transport', val) end # Port number (Standard Syslog ports UDP:514, SSL:6514) def port prop_get('port') end # Port number (Standard Syslog ports UDP:514, SSL:6514) def port=(val) prop_set('port', val) end # Format of the Syslog message def format prop_get('format') end # Format of the Syslog message def format=(val) prop_set('format', val) end def facility prop_get('facility') end def facility=(val) prop_set('facility', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end class Format < ConfigClass def has_multiple_values?; false; end def _section :format end class Escaping < ConfigClass def has_multiple_values?; false; end def _section :escaping end @props = {'escaped-characters'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'help-string'=>'List of characters to be escaped'}, 'escape-character'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'1', 'help-string'=>'Escape character'}} # List of characters to be escaped def escaped_characters prop_get('escaped-characters') end # List of characters to be escaped def escaped_characters=(val) prop_set('escaped-characters', val) end # Escape character def escape_character prop_get('escape-character') end # Escape character def escape_character=(val) prop_set('escape-character', val) end end def escaping @subclasses['escaping'] ||= Escaping.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'traffic'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'threat'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'wildfire'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'url'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'data'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'gtp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420,cfg.platform.model=PA-1410,cfg.platform.model=PA-1420'}, 'sctp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420,cfg.platform.model=PA-1410,cfg.platform.model=PA-1420'}, 'tunnel'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'auth'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'userid'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'iptag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'decryption'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'config'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'system'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'globalprotect'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'hip-match'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'correlation'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}} def traffic prop_get('traffic') end def traffic=(val) prop_set('traffic', val) end def threat prop_get('threat') end def threat=(val) prop_set('threat', val) end def wildfire prop_get('wildfire') end def wildfire=(val) prop_set('wildfire', val) end def url prop_get('url') end def url=(val) prop_set('url', val) end def data prop_get('data') end def data=(val) prop_set('data', val) end def gtp prop_get('gtp') end def gtp=(val) prop_set('gtp', val) end def sctp prop_get('sctp') end def sctp=(val) prop_set('sctp', val) end def tunnel prop_get('tunnel') end def tunnel=(val) prop_set('tunnel', val) end def auth prop_get('auth') end def auth=(val) prop_set('auth', val) end def userid prop_get('userid') end def userid=(val) prop_set('userid', val) end def iptag prop_get('iptag') end def iptag=(val) prop_set('iptag', val) end def decryption prop_get('decryption') end def decryption=(val) prop_set('decryption', val) end def config prop_get('config') end def config=(val) prop_set('config', val) end def system prop_get('system') end def system=(val) prop_set('system', val) end def globalprotect prop_get('globalprotect') end def globalprotect=(val) prop_set('globalprotect', val) end def hip_match prop_get('hip-match') end def hip_match=(val) prop_set('hip-match', val) end def correlation prop_get('correlation') end def correlation=(val) prop_set('correlation', val) end end def format @subclasses['format'] ||= Format.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def syslog maybe_register_subclass('syslog', Syslog.new(parent_instance: self, client: @client, create_children: @create_children)) end class Http < XML::ConfigClass def has_multiple_values?; true; end def _section :http end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'address'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'help-string'=>'IP address or FQDN of HTTP server to use', 'error-string'=>'Must be IP address or FQDN'}, 'protocol'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'HTTPS', 'enum'=>[{'value'=>'HTTP'}, {'value'=>'HTTPS'}]}, 'port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'optional'=>'yes', 'default'=>'443', 'help-string'=>'Port number (Standard HTTP ports HTTP:80, HTTPS:443)'}, 'tls-version'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'1.2', 'help-string'=>'TLS handshake protocol version', 'enum'=>[{'value'=>'1.2'}, {'value'=>'1.1'}, {'value'=>'1.0'}]}, 'auth'=>{'node-type'=>'element', 'type'=>'enum', 'internal'=>'yes', 'optional'=>'yes', 'enum'=>[{'value'=>'OAUTH2'}]}, 'certificate-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'default'=>'None', 'help-string'=>'Certificate Profile for validating server certificate'}, 'http-method'=>{'node-type'=>'element', 'type'=>'string', 'default'=>'POST', 'complete-handler'=>'http-method-completer'}, 'username'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'username for HTTP basic authentication', 'minlen'=>'1', 'maxlen'=>'255', 'regex'=>'[^\']*'}, 'password'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'regex'=>'[^\']*', 'encrypt'=>'yes'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # IP address or FQDN of HTTP server to use def address prop_get('address') end # IP address or FQDN of HTTP server to use def address=(val) prop_set('address', val) end def protocol prop_get('protocol') end def protocol=(val) prop_set('protocol', val) end # Port number (Standard HTTP ports HTTP:80, HTTPS:443) def port prop_get('port') end # Port number (Standard HTTP ports HTTP:80, HTTPS:443) def port=(val) prop_set('port', val) end # TLS handshake protocol version def tls_version prop_get('tls-version') end # TLS handshake protocol version def tls_version=(val) prop_set('tls-version', val) end def auth prop_get('auth') end def auth=(val) prop_set('auth', val) end # Certificate Profile for validating server certificate def certificate_profile prop_get('certificate-profile') end # Certificate Profile for validating server certificate def certificate_profile=(val) prop_set('certificate-profile', val) end def http_method prop_get('http-method') end def http_method=(val) prop_set('http-method', val) end # username for HTTP basic authentication def username prop_get('username') end # username for HTTP basic authentication def username=(val) prop_set('username', val) end def password prop_get('password') end def password=(val) prop_set('password', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end class Format < ConfigClass def has_multiple_values?; false; end def _section :format end class Config < ConfigClass def has_multiple_values?; false; end def _section :config end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def config @subclasses['config'] ||= Config.new(parent_instance: self, client: @client, create_children: @create_children) end class System < ConfigClass def has_multiple_values?; false; end def _section :system end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def system @subclasses['system'] ||= System.new(parent_instance: self, client: @client, create_children: @create_children) end class Traffic < ConfigClass def has_multiple_values?; false; end def _section :traffic end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def traffic @subclasses['traffic'] ||= Traffic.new(parent_instance: self, client: @client, create_children: @create_children) end class Threat < ConfigClass def has_multiple_values?; false; end def _section :threat end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def threat @subclasses['threat'] ||= Threat.new(parent_instance: self, client: @client, create_children: @create_children) end class Wildfire < ConfigClass def has_multiple_values?; false; end def _section :wildfire end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def wildfire @subclasses['wildfire'] ||= Wildfire.new(parent_instance: self, client: @client, create_children: @create_children) end class Url < ConfigClass def has_multiple_values?; false; end def _section :url end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def url @subclasses['url'] ||= Url.new(parent_instance: self, client: @client, create_children: @create_children) end class Data < ConfigClass def has_multiple_values?; false; end def _section :data end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def data @subclasses['data'] ||= Data.new(parent_instance: self, client: @client, create_children: @create_children) end class Gtp < ConfigClass def has_multiple_values?; false; end def _section :gtp end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def gtp @subclasses['gtp'] ||= Gtp.new(parent_instance: self, client: @client, create_children: @create_children) end class Sctp < ConfigClass def has_multiple_values?; false; end def _section :sctp end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def sctp @subclasses['sctp'] ||= Sctp.new(parent_instance: self, client: @client, create_children: @create_children) end class Tunnel < ConfigClass def has_multiple_values?; false; end def _section :tunnel end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def tunnel @subclasses['tunnel'] ||= Tunnel.new(parent_instance: self, client: @client, create_children: @create_children) end class Auth < ConfigClass def has_multiple_values?; false; end def _section :auth end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def auth @subclasses['auth'] ||= Auth.new(parent_instance: self, client: @client, create_children: @create_children) end class Userid < ConfigClass def has_multiple_values?; false; end def _section :userid end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def userid @subclasses['userid'] ||= Userid.new(parent_instance: self, client: @client, create_children: @create_children) end class Iptag < ConfigClass def has_multiple_values?; false; end def _section :iptag end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def iptag @subclasses['iptag'] ||= Iptag.new(parent_instance: self, client: @client, create_children: @create_children) end class Decryption < ConfigClass def has_multiple_values?; false; end def _section :decryption end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def decryption @subclasses['decryption'] ||= Decryption.new(parent_instance: self, client: @client, create_children: @create_children) end class Globalprotect < ConfigClass def has_multiple_values?; false; end def _section :globalprotect end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def globalprotect @subclasses['globalprotect'] ||= Globalprotect.new(parent_instance: self, client: @client, create_children: @create_children) end class HipMatch < ConfigClass def has_multiple_values?; false; end def _section :'hip-match' end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def hip_match @subclasses['hip-match'] ||= HipMatch.new(parent_instance: self, client: @client, create_children: @create_children) end class Correlation < ConfigClass def has_multiple_values?; false; end def _section :correlation end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def correlation @subclasses['correlation'] ||= Correlation.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def format @subclasses['format'] ||= Format.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'tag-registration'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'The server(s) should have User-ID agent running in order for tag registration to work'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # The server(s) should have User-ID agent running in order for tag registration to work def tag_registration prop_get('tag-registration') end # The server(s) should have User-ID agent running in order for tag registration to work def tag_registration=(val) prop_set('tag-registration', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def http maybe_register_subclass('http', Http.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def log_settings @subclasses['log-settings'] ||= LogSettings.new(parent_instance: self, client: @client, create_children: @create_children) end class Certificate < XML::ConfigClass def has_multiple_values?; true; end def _section :certificate end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'private-key'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'16384', 'encrypt'=>'yes', 'double-encrypt'=>'yes'}, 'private-key-on-hsm'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'algorithm'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'ca'=>{'node-type'=>'element', 'type'=>'bool', 'internal'=>'yes', 'optional'=>'yes'}, 'not-valid-after'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'not-valid-before'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'expiry-epoch'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0-9]*$'}, 'subject'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'subject-hash'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'issuer'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'issuer-hash'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}, 'status'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'valid', 'enum'=>[{'value'=>'valid'}, {'value'=>'revoked'}]}, 'revoke-date-epoch'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[0-9]*$'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def private_key prop_get('private-key') end def private_key=(val) prop_set('private-key', val) end def private_key_on_hsm prop_get('private-key-on-hsm') end def private_key_on_hsm=(val) prop_set('private-key-on-hsm', val) end def algorithm prop_get('algorithm') end def algorithm=(val) prop_set('algorithm', val) end def ca prop_get('ca') end def ca=(val) prop_set('ca', val) end def not_valid_after prop_get('not-valid-after') end def not_valid_after=(val) prop_set('not-valid-after', val) end def not_valid_before prop_get('not-valid-before') end def not_valid_before=(val) prop_set('not-valid-before', val) end def expiry_epoch prop_get('expiry-epoch') end def expiry_epoch=(val) prop_set('expiry-epoch', val) end def subject prop_get('subject') end def subject=(val) prop_set('subject', val) end def subject_hash prop_get('subject-hash') end def subject_hash=(val) prop_set('subject-hash', val) end def issuer prop_get('issuer') end def issuer=(val) prop_set('issuer', val) end def issuer_hash prop_get('issuer-hash') end def issuer_hash=(val) prop_set('issuer-hash', val) end def status prop_get('status') end def status=(val) prop_set('status', val) end def revoke_date_epoch prop_get('revoke-date-epoch') end def revoke_date_epoch=(val) prop_set('revoke-date-epoch', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def certificate maybe_register_subclass('certificate', Certificate.new(parent_instance: self, client: @client, create_children: @create_children)) end class SslTlsServiceProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'ssl-tls-service-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class ProtocolSettings < ConfigClass def has_multiple_values?; false; end def _section :'protocol-settings' end @props = {'min-version'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'tls1-0', 'enum'=>[{'value'=>'tls1-0', 'help-string'=>'TLSv1.0'}, {'value'=>'tls1-1', 'help-string'=>'TLSv1.1'}, {'value'=>'tls1-2', 'help-string'=>'TLSv1.2'}]}, 'max-version'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'max', 'enum'=>[{'value'=>'tls1-0', 'help-string'=>'TLSv1.0'}, {'value'=>'tls1-1', 'help-string'=>'TLSv1.1'}, {'value'=>'tls1-2', 'help-string'=>'TLSv1.2'}, {'value'=>'max', 'help-string'=>'Max'}]}, 'keyxchg-algo-rsa'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm RSA'}, 'keyxchg-algo-dhe'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm DHE'}, 'keyxchg-algo-ecdhe'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm ECDHE'}, 'enc-algo-3des'=>{'node-type'=>'element', 'prune-on'=>'fips-mode', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm 3DES'}, 'enc-algo-rc4'=>{'node-type'=>'element', 'prune-on'=>'fips-mode', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm RC4'}, 'enc-algo-aes-128-cbc'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm AES-128-CBC'}, 'enc-algo-aes-256-cbc'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm AES-256-CBC'}, 'enc-algo-aes-128-gcm'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm AES-128-GCM'}, 'enc-algo-aes-256-gcm'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm AES-256-GCM'}, 'auth-algo-sha1'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow authentication SHA1'}, 'auth-algo-sha256'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow authentication SHA256'}, 'auth-algo-sha384'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow authentication SHA384'}} def min_version prop_get('min-version') end def min_version=(val) prop_set('min-version', val) end def max_version prop_get('max-version') end def max_version=(val) prop_set('max-version', val) end # Allow algorithm RSA def keyxchg_algo_rsa prop_get('keyxchg-algo-rsa') end # Allow algorithm RSA def keyxchg_algo_rsa=(val) prop_set('keyxchg-algo-rsa', val) end # Allow algorithm DHE def keyxchg_algo_dhe prop_get('keyxchg-algo-dhe') end # Allow algorithm DHE def keyxchg_algo_dhe=(val) prop_set('keyxchg-algo-dhe', val) end # Allow algorithm ECDHE def keyxchg_algo_ecdhe prop_get('keyxchg-algo-ecdhe') end # Allow algorithm ECDHE def keyxchg_algo_ecdhe=(val) prop_set('keyxchg-algo-ecdhe', val) end # Allow algorithm 3DES def enc_algo_3des prop_get('enc-algo-3des') end # Allow algorithm 3DES def enc_algo_3des=(val) prop_set('enc-algo-3des', val) end # Allow algorithm RC4 def enc_algo_rc4 prop_get('enc-algo-rc4') end # Allow algorithm RC4 def enc_algo_rc4=(val) prop_set('enc-algo-rc4', val) end # Allow algorithm AES-128-CBC def enc_algo_aes_128_cbc prop_get('enc-algo-aes-128-cbc') end # Allow algorithm AES-128-CBC def enc_algo_aes_128_cbc=(val) prop_set('enc-algo-aes-128-cbc', val) end # Allow algorithm AES-256-CBC def enc_algo_aes_256_cbc prop_get('enc-algo-aes-256-cbc') end # Allow algorithm AES-256-CBC def enc_algo_aes_256_cbc=(val) prop_set('enc-algo-aes-256-cbc', val) end # Allow algorithm AES-128-GCM def enc_algo_aes_128_gcm prop_get('enc-algo-aes-128-gcm') end # Allow algorithm AES-128-GCM def enc_algo_aes_128_gcm=(val) prop_set('enc-algo-aes-128-gcm', val) end # Allow algorithm AES-256-GCM def enc_algo_aes_256_gcm prop_get('enc-algo-aes-256-gcm') end # Allow algorithm AES-256-GCM def enc_algo_aes_256_gcm=(val) prop_set('enc-algo-aes-256-gcm', val) end # Allow authentication SHA1 def auth_algo_sha1 prop_get('auth-algo-sha1') end # Allow authentication SHA1 def auth_algo_sha1=(val) prop_set('auth-algo-sha1', val) end # Allow authentication SHA256 def auth_algo_sha256 prop_get('auth-algo-sha256') end # Allow authentication SHA256 def auth_algo_sha256=(val) prop_set('auth-algo-sha256', val) end # Allow authentication SHA384 def auth_algo_sha384 prop_get('auth-algo-sha384') end # Allow authentication SHA384 def auth_algo_sha384=(val) prop_set('auth-algo-sha384', val) end end def protocol_settings @subclasses['protocol-settings'] ||= ProtocolSettings.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'127', 'regex'=>'.*', 'help-string'=>'Profile name'}, 'certificate'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'SSL certificate file name', 'maxlen'=>'255'}} # Profile name def name prop_get('@name') end # SSL certificate file name def certificate prop_get('certificate') end # SSL certificate file name def certificate=(val) prop_set('certificate', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ssl_tls_service_profile maybe_register_subclass('ssl-tls-service-profile', SslTlsServiceProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class ResponsePage < ConfigClass def has_multiple_values?; false; end def _section :'response-page' end class GlobalProtectPortalCustomLoginPage < XML::ConfigClass def has_multiple_values?; true; end def _section :'global-protect-portal-custom-login-page' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'page'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def page prop_get('page') end def page=(val) prop_set('page', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def global_protect_portal_custom_login_page maybe_register_subclass('global-protect-portal-custom-login-page', GlobalProtectPortalCustomLoginPage.new(parent_instance: self, client: @client, create_children: @create_children)) end class GlobalProtectPortalCustomHomePage < XML::ConfigClass def has_multiple_values?; true; end def _section :'global-protect-portal-custom-home-page' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'page'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def page prop_get('page') end def page=(val) prop_set('page', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def global_protect_portal_custom_home_page maybe_register_subclass('global-protect-portal-custom-home-page', GlobalProtectPortalCustomHomePage.new(parent_instance: self, client: @client, create_children: @create_children)) end class GlobalProtectPortalCustomHelpPage < XML::ConfigClass def has_multiple_values?; true; end def _section :'global-protect-portal-custom-help-page' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'page'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'174762'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def page prop_get('page') end def page=(val) prop_set('page', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def global_protect_portal_custom_help_page maybe_register_subclass('global-protect-portal-custom-help-page', GlobalProtectPortalCustomHelpPage.new(parent_instance: self, client: @client, create_children: @create_children)) end class GlobalProtectPortalCustomWelcomePage < XML::ConfigClass def has_multiple_values?; true; end def _section :'global-protect-portal-custom-welcome-page' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'page'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'174762'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def page prop_get('page') end def page=(val) prop_set('page', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def global_protect_portal_custom_welcome_page maybe_register_subclass('global-protect-portal-custom-welcome-page', GlobalProtectPortalCustomWelcomePage.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'application-block-page'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845', 'tlo'=>'yes', 'in-tpl'=>'yes'}, 'captive-portal-text'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845', 'tlo'=>'yes', 'in-tpl'=>'yes'}, 'file-block-continue-page'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845', 'tlo'=>'yes', 'in-tpl'=>'yes'}, 'file-block-page'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845', 'tlo'=>'yes', 'in-tpl'=>'yes'}, 'ssl-cert-status-page'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845', 'tlo'=>'yes', 'in-tpl'=>'yes'}, 'ssl-optout-text'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845', 'tlo'=>'yes', 'in-tpl'=>'yes'}, 'url-block-page'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845', 'tlo'=>'yes', 'in-tpl'=>'yes'}, 'url-coach-text'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845', 'tlo'=>'yes', 'in-tpl'=>'yes'}, 'credential-block-page'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845', 'tlo'=>'yes', 'in-tpl'=>'yes'}, 'credential-coach-text'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845', 'tlo'=>'yes', 'in-tpl'=>'yes'}, 'virus-block-page'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845', 'tlo'=>'yes', 'in-tpl'=>'yes'}, 'data-filter-block-page'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845', 'tlo'=>'yes', 'in-tpl'=>'yes'}, 'safe-search-block-page'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845', 'tlo'=>'yes', 'in-tpl'=>'yes'}, 'saml-auth-internal-error-page'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845', 'tlo'=>'yes', 'in-tpl'=>'yes'}, 'mfa-login-page'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'21845', 'tlo'=>'yes', 'in-tpl'=>'yes'}} def application_block_page prop_get('application-block-page') end def application_block_page=(val) prop_set('application-block-page', val) end def captive_portal_text prop_get('captive-portal-text') end def captive_portal_text=(val) prop_set('captive-portal-text', val) end def file_block_continue_page prop_get('file-block-continue-page') end def file_block_continue_page=(val) prop_set('file-block-continue-page', val) end def file_block_page prop_get('file-block-page') end def file_block_page=(val) prop_set('file-block-page', val) end def ssl_cert_status_page prop_get('ssl-cert-status-page') end def ssl_cert_status_page=(val) prop_set('ssl-cert-status-page', val) end def ssl_optout_text prop_get('ssl-optout-text') end def ssl_optout_text=(val) prop_set('ssl-optout-text', val) end def url_block_page prop_get('url-block-page') end def url_block_page=(val) prop_set('url-block-page', val) end def url_coach_text prop_get('url-coach-text') end def url_coach_text=(val) prop_set('url-coach-text', val) end def credential_block_page prop_get('credential-block-page') end def credential_block_page=(val) prop_set('credential-block-page', val) end def credential_coach_text prop_get('credential-coach-text') end def credential_coach_text=(val) prop_set('credential-coach-text', val) end def virus_block_page prop_get('virus-block-page') end def virus_block_page=(val) prop_set('virus-block-page', val) end def data_filter_block_page prop_get('data-filter-block-page') end def data_filter_block_page=(val) prop_set('data-filter-block-page', val) end def safe_search_block_page prop_get('safe-search-block-page') end def safe_search_block_page=(val) prop_set('safe-search-block-page', val) end def saml_auth_internal_error_page prop_get('saml-auth-internal-error-page') end def saml_auth_internal_error_page=(val) prop_set('saml-auth-internal-error-page', val) end def mfa_login_page prop_get('mfa-login-page') end def mfa_login_page=(val) prop_set('mfa-login-page', val) end end def response_page @subclasses['response-page'] ||= ResponsePage.new(parent_instance: self, client: @client, create_children: @create_children) end class LocalUserDatabase < ConfigClass def has_multiple_values?; false; end def _section :'local-user-database' end class User < XML::ConfigClass def has_multiple_values?; true; end def _section :user end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'31', 'help-string'=>'User name'}, 'phash'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}} # User name def name prop_get('@name') end def phash prop_get('phash') end def phash=(val) prop_set('phash', val) end def disabled prop_get('disabled') end def disabled=(val) prop_set('disabled', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def user maybe_register_subclass('user', User.new(parent_instance: self, client: @client, create_children: @create_children)) end class UserGroup < XML::ConfigClass def has_multiple_values?; true; end def _section :'user-group' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class User < XML::ConfigClass def has_multiple_values?; true; end def _section :user end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'User name'}} # User name def member prop_get('member') end # User name def member=(val) prop_set('member', val) end end def user maybe_register_subclass('user', User.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'Group name'}} # Group name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def user_group maybe_register_subclass('user-group', UserGroup.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def local_user_database @subclasses['local-user-database'] ||= LocalUserDatabase.new(parent_instance: self, client: @client, create_children: @create_children) end class SslDecrypt < ConfigClass def has_multiple_values?; false; end def _section :'ssl-decrypt' end class ForwardTrustCertificate < ConfigClass def has_multiple_values?; false; end def _section :'forward-trust-certificate' end @props = {'rsa'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'RSA certificate', 'maxlen'=>'63'}, 'ecdsa'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'ECDSA certificate', 'maxlen'=>'63'}} # RSA certificate def rsa prop_get('rsa') end # RSA certificate def rsa=(val) prop_set('rsa', val) end # ECDSA certificate def ecdsa prop_get('ecdsa') end # ECDSA certificate def ecdsa=(val) prop_set('ecdsa', val) end end def forward_trust_certificate @subclasses['forward-trust-certificate'] ||= ForwardTrustCertificate.new(parent_instance: self, client: @client, create_children: @create_children) end class ForwardUntrustCertificate < ConfigClass def has_multiple_values?; false; end def _section :'forward-untrust-certificate' end @props = {'rsa'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'RSA certificate', 'maxlen'=>'63'}, 'ecdsa'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'ECDSA certificate', 'maxlen'=>'63'}} # RSA certificate def rsa prop_get('rsa') end # RSA certificate def rsa=(val) prop_set('rsa', val) end # ECDSA certificate def ecdsa prop_get('ecdsa') end # ECDSA certificate def ecdsa=(val) prop_set('ecdsa', val) end end def forward_untrust_certificate @subclasses['forward-untrust-certificate'] ||= ForwardUntrustCertificate.new(parent_instance: self, client: @client, create_children: @create_children) end class SslExcludeCert < XML::ConfigClass def has_multiple_values?; true; end def _section :'ssl-exclude-cert' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'255', 'help-string'=>'SSL Decryption Exclusion entry name'}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'0', 'maxlen'=>'512'}, 'exclude'=>{'node-type'=>'element', 'type'=>'bool'}} # SSL Decryption Exclusion entry name def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def exclude prop_get('exclude') end def exclude=(val) prop_set('exclude', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ssl_exclude_cert maybe_register_subclass('ssl-exclude-cert', SslExcludeCert.new(parent_instance: self, client: @client, create_children: @create_children)) end class RootCaExcludeList < XML::ConfigClass def has_multiple_values?; true; end def _section :'root-ca-exclude-list' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1024'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def root_ca_exclude_list maybe_register_subclass('root-ca-exclude-list', RootCaExcludeList.new(parent_instance: self, client: @client, create_children: @create_children)) end class TrustedRootCA < XML::ConfigClass def has_multiple_values?; true; end def _section :'trusted-root-CA' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Trusted Root CA', 'maxlen'=>'63'}} # Trusted Root CA def member prop_get('member') end # Trusted Root CA def member=(val) prop_set('member', val) end end def trusted_root_CA maybe_register_subclass('trusted-root-CA', TrustedRootCA.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def ssl_decrypt @subclasses['ssl-decrypt'] ||= SslDecrypt.new(parent_instance: self, client: @client, create_children: @create_children) end class OcspResponder < XML::ConfigClass def has_multiple_values?; true; end def _section :'ocsp-responder' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [:0-9a-zA-Z._-]'}, 'host-name'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'255', 'regex'=>'^([$:a-zA-Z0-9._-])+$'}} # alphanumeric string [:0-9a-zA-Z._-] def name prop_get('@name') end def host_name prop_get('host-name') end def host_name=(val) prop_set('host-name', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ocsp_responder maybe_register_subclass('ocsp-responder', OcspResponder.new(parent_instance: self, client: @client, create_children: @create_children)) end class Scep < XML::ConfigClass def has_multiple_values?; true; end def _section :scep end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class ScepChallenge < XML::ConfigClass def has_multiple_values?; true; end def _section :'scep-challenge' end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end class Dynamic < ConfigClass def has_multiple_values?; false; end def _section :dynamic end @props = {'otp-server-url'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^(http|https)://.+$', 'minlen'=>'0', 'maxlen'=>'255', 'help-string'=>'URL to get the One-Time-Password', 'uiHint-fieldLabel'=>'Server URL'}, 'username'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'help-string'=>'Username to authenticate to the SCEP server for procuring OTP'}, 'password'=>{'node-type'=>'element', 'type'=>'string', 'encrypt'=>'yes', 'minlen'=>'0', 'maxlen'=>'255', 'help-string'=>'Password to authenticate to the SCEP server for procuring OTP'}} # URL to get the One-Time-Password def otp_server_url prop_get('otp-server-url') end # URL to get the One-Time-Password def otp_server_url=(val) prop_set('otp-server-url', val) end # Username to authenticate to the SCEP server for procuring OTP def username prop_get('username') end # Username to authenticate to the SCEP server for procuring OTP def username=(val) prop_set('username', val) end # Password to authenticate to the SCEP server for procuring OTP def password prop_get('password') end # Password to authenticate to the SCEP server for procuring OTP def password=(val) prop_set('password', val) end end def dynamic @subclasses['dynamic'] ||= Dynamic.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'fixed'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'regex'=>'[^\']*', 'helpstring'=>'Challenge to use for SCEP server on mobile clients'}} def fixed prop_get('fixed') end def fixed=(val) prop_set('fixed', val) end end def scep_challenge maybe_register_subclass('scep-challenge', ScepChallenge.new(parent_instance: self, client: @client, create_children: @create_children)) end class Algorithm < XML::ConfigClass def has_multiple_values?; true; end def _section :algorithm end class Rsa < ConfigClass def has_multiple_values?; false; end def _section :rsa end @props = {'rsa-nbits'=>{'node-type'=>'element', 'type'=>'string', 'complete-handler'=>'generate-cert-nbits-complete-handler', 'help-string'=>'Length of the key'}} # Length of the key def rsa_nbits prop_get('rsa-nbits') end # Length of the key def rsa_nbits=(val) prop_set('rsa-nbits', val) end end def rsa @subclasses['rsa'] ||= Rsa.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def algorithm maybe_register_subclass('algorithm', Algorithm.new(parent_instance: self, client: @client, create_children: @create_children)) end class CertificateAttributes < XML::ConfigClass def has_multiple_values?; true; end def _section :'certificate-attributes' end @props = {'rfc822name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'0', 'maxlen'=>'255', 'help-string'=>'rfc822Name'}, 'dnsname'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'0', 'maxlen'=>'255', 'help-string'=>'dNSName'}, 'uniform-resource-identifier'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'help-string'=>'uniformResourceIdentifier'}} # rfc822Name def rfc822name prop_get('rfc822name') end # rfc822Name def rfc822name=(val) prop_set('rfc822name', val) end # dNSName def dnsname prop_get('dnsname') end # dNSName def dnsname=(val) prop_set('dnsname', val) end # uniformResourceIdentifier def uniform_resource_identifier prop_get('uniform-resource-identifier') end # uniformResourceIdentifier def uniform_resource_identifier=(val) prop_set('uniform-resource-identifier', val) end end def certificate_attributes maybe_register_subclass('certificate-attributes', CertificateAttributes.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'scep-url'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^(http|https)://.+$', 'minlen'=>'0', 'maxlen'=>'255', 'help-string'=>'The base URL for the SCEP server'}, 'scep-ca-cert'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'help-string'=>'SCEP Server CA Certificate'}, 'scep-client-cert'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1024', 'optional'=>'yes', 'help-string'=>'Client Certificate to use when connecting to SCEP Server over SSL'}, 'ca-identity-name'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'help-string'=>'Name of the SCEP server CA Identity'}, 'subject'=>{'node-type'=>'element', 'regex'=>'(.*)CN=(.*?)(.*)', 'type'=>'string', 'default'=>'CN=$USERNAME', 'minlen'=>'0', 'maxlen'=>'1024', 'help-string'=>'Representation of a X.500 name'}, 'digest'=>{'node-type'=>'element', 'type'=>'string', 'complete-handler'=>'generate-cert-digest-complete-handler', 'help-string'=>'Digest Algorithm for CSR'}, 'fingerprint'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'0', 'maxlen'=>'255', 'help-string'=>'Hex String to use as a fingerprint'}, 'use-as-digital-signature'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Use as digital signature', 'uiHint-fieldLabel'=>'Use as digital signature'}, 'use-for-key-encipherment'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Use for key encipherment', 'uiHint-fieldLabel'=>'Use for key encipherment'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # The base URL for the SCEP server def scep_url prop_get('scep-url') end # The base URL for the SCEP server def scep_url=(val) prop_set('scep-url', val) end # SCEP Server CA Certificate def scep_ca_cert prop_get('scep-ca-cert') end # SCEP Server CA Certificate def scep_ca_cert=(val) prop_set('scep-ca-cert', val) end # Client Certificate to use when connecting to SCEP Server over SSL def scep_client_cert prop_get('scep-client-cert') end # Client Certificate to use when connecting to SCEP Server over SSL def scep_client_cert=(val) prop_set('scep-client-cert', val) end # Name of the SCEP server CA Identity def ca_identity_name prop_get('ca-identity-name') end # Name of the SCEP server CA Identity def ca_identity_name=(val) prop_set('ca-identity-name', val) end # Representation of a X.500 name def subject prop_get('subject') end # Representation of a X.500 name def subject=(val) prop_set('subject', val) end # Digest Algorithm for CSR def digest prop_get('digest') end # Digest Algorithm for CSR def digest=(val) prop_set('digest', val) end # Hex String to use as a fingerprint def fingerprint prop_get('fingerprint') end # Hex String to use as a fingerprint def fingerprint=(val) prop_set('fingerprint', val) end # Use as digital signature def use_as_digital_signature prop_get('use-as-digital-signature') end # Use as digital signature def use_as_digital_signature=(val) prop_set('use-as-digital-signature', val) end # Use for key encipherment def use_for_key_encipherment prop_get('use-for-key-encipherment') end # Use for key encipherment def use_for_key_encipherment=(val) prop_set('use-for-key-encipherment', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def scep maybe_register_subclass('scep', Scep.new(parent_instance: self, client: @client, create_children: @create_children)) end class UrlContentTypes < XML::ConfigClass def has_multiple_values?; true; end def _section :'url-content-types' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'31', 'help-string'=>'content type string'}} # content type string def member prop_get('member') end # content type string def member=(val) prop_set('member', val) end end def url_content_types maybe_register_subclass('url-content-types', UrlContentTypes.new(parent_instance: self, client: @client, create_children: @create_children)) end class TsAgent < XML::ConfigClass def has_multiple_values?; true; end def _section :'ts-agent' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class IpList < XML::ConfigClass def has_multiple_values?; true; end def _section :'ip-list' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'terminal server alternative ips', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'regex'=>'^([$a-zA-Z0-9./_-])+$', 'loose-membership'=>'yes', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'host name'}}}} # terminal server alternative ips def member prop_get('member') end # terminal server alternative ips def member=(val) prop_set('member', val) end end def ip_list maybe_register_subclass('ip-list', IpList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'host'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'IP address or hostname for pan agent.', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'help-string'=>'agent IP address'}, 'string'=>{'regex'=>'^([$a-zA-Z0-9./_-])+$', 'loose-membership'=>'yes', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'Host name.'}}}, 'port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'5009', 'help-string'=>'terminal server agent listening port'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # IP address or hostname for pan agent. def host prop_get('host') end # IP address or hostname for pan agent. def host=(val) prop_set('host', val) end # terminal server agent listening port def port prop_get('port') end # terminal server agent listening port def port=(val) prop_set('port', val) end def disabled prop_get('disabled') end def disabled=(val) prop_set('disabled', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ts_agent maybe_register_subclass('ts-agent', TsAgent.new(parent_instance: self, client: @client, create_children: @create_children)) end class RedistributionAgent < XML::ConfigClass def has_multiple_values?; true; end def _section :'redistribution-agent' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class HostPort < ConfigClass def has_multiple_values?; false; end def _section :'host-port' end @props = {'host'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'IP address or hostname for redistribution agent.', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'help-string'=>'agent IP address'}, 'string'=>{'regex'=>'^([$a-zA-Z0-9./_-])+$', 'loose-membership'=>'yes', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'Host name.'}}}, 'ldap-proxy'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}, 'port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'redistribution agent listening port'}, 'collectorname'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'3', 'maxlen'=>'255', 'help-string'=>'collector name on peer panos'}, 'secret'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'encrypt'=>'yes', 'maxlen'=>'255', 'help-string'=>'collector pre-shared key on peer panos'}} # IP address or hostname for redistribution agent. def host prop_get('host') end # IP address or hostname for redistribution agent. def host=(val) prop_set('host', val) end def ldap_proxy prop_get('ldap-proxy') end def ldap_proxy=(val) prop_set('ldap-proxy', val) end # redistribution agent listening port def port prop_get('port') end # redistribution agent listening port def port=(val) prop_set('port', val) end # collector name on peer panos def collectorname prop_get('collectorname') end # collector name on peer panos def collectorname=(val) prop_set('collectorname', val) end # collector pre-shared key on peer panos def secret prop_get('secret') end # collector pre-shared key on peer panos def secret=(val) prop_set('secret', val) end end def host_port @subclasses['host-port'] ||= HostPort.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'serial-number'=>{'node-type'=>'element', 'type'=>'multiple', 'complete-handler'=>'uid-agent-serial-completer', 'optional'=>'yes', 'help-string'=>'panorama or panorama2 or log collector serial number.', 'multi-types'=>{'string'=>{'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'Serial number.'}}}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}, 'ip-user-mappings'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}, 'ip-tags'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}, 'user-tags'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}, 'hip'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}, 'quarantine-list'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # panorama or panorama2 or log collector serial number. def serial_number prop_get('serial-number') end # panorama or panorama2 or log collector serial number. def serial_number=(val) prop_set('serial-number', val) end def disabled prop_get('disabled') end def disabled=(val) prop_set('disabled', val) end def ip_user_mappings prop_get('ip-user-mappings') end def ip_user_mappings=(val) prop_set('ip-user-mappings', val) end def ip_tags prop_get('ip-tags') end def ip_tags=(val) prop_set('ip-tags', val) end def user_tags prop_get('user-tags') end def user_tags=(val) prop_set('user-tags', val) end def hip prop_get('hip') end def hip=(val) prop_set('hip', val) end def quarantine_list prop_get('quarantine-list') end def quarantine_list=(val) prop_set('quarantine-list', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def redistribution_agent maybe_register_subclass('redistribution-agent', RedistributionAgent.new(parent_instance: self, client: @client, create_children: @create_children)) end class IpuserIncludeExcludeList < ConfigClass def has_multiple_values?; false; end def _section :'ipuser-include-exclude-list' end class IncludeExcludeNetwork < XML::ConfigClass def has_multiple_values?; true; end def _section :'include-exclude-network' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}, 'discovery'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'include', 'help-string'=>'default is include', 'enum'=>[{'value'=>'include', 'help-string'=>'Include'}, {'value'=>'exclude', 'help-string'=>'Exclude'}]}, 'network-address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'network address/prefix to include or exclude', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def disabled prop_get('disabled') end def disabled=(val) prop_set('disabled', val) end # default is include def discovery prop_get('discovery') end # default is include def discovery=(val) prop_set('discovery', val) end # network address/prefix to include or exclude def network_address prop_get('network-address') end # network address/prefix to include or exclude def network_address=(val) prop_set('network-address', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def include_exclude_network maybe_register_subclass('include-exclude-network', IncludeExcludeNetwork.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def ipuser_include_exclude_list @subclasses['ipuser-include-exclude-list'] ||= IpuserIncludeExcludeList.new(parent_instance: self, client: @client, create_children: @create_children) end class IptagIncludeExcludeList < ConfigClass def has_multiple_values?; false; end def _section :'iptag-include-exclude-list' end class IncludeExcludeNetwork < XML::ConfigClass def has_multiple_values?; true; end def _section :'include-exclude-network' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}, 'discovery'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'include', 'help-string'=>'default is include', 'enum'=>[{'value'=>'include', 'help-string'=>'Include'}, {'value'=>'exclude', 'help-string'=>'Exclude'}]}, 'network-address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'network address/prefix to include or exclude', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def disabled prop_get('disabled') end def disabled=(val) prop_set('disabled', val) end # default is include def discovery prop_get('discovery') end # default is include def discovery=(val) prop_set('discovery', val) end # network address/prefix to include or exclude def network_address prop_get('network-address') end # network address/prefix to include or exclude def network_address=(val) prop_set('network-address', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def include_exclude_network maybe_register_subclass('include-exclude-network', IncludeExcludeNetwork.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def iptag_include_exclude_list @subclasses['iptag-include-exclude-list'] ||= IptagIncludeExcludeList.new(parent_instance: self, client: @client, create_children: @create_children) end class RedistributionCollector < ConfigClass def has_multiple_values?; false; end def _section :'redistribution-collector' end class Setting < ConfigClass def has_multiple_values?; false; end def _section :setting end @props = {'collectorname'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'3', 'maxlen'=>'255', 'help-string'=>'collector name for data re-distribution'}, 'secret'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'encrypt'=>'yes', 'maxlen'=>'255', 'help-string'=>'pre-shared key for data re-distribution'}} # collector name for data re-distribution def collectorname prop_get('collectorname') end # collector name for data re-distribution def collectorname=(val) prop_set('collectorname', val) end # pre-shared key for data re-distribution def secret prop_get('secret') end # pre-shared key for data re-distribution def secret=(val) prop_set('secret', val) end end def setting @subclasses['setting'] ||= Setting.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def redistribution_collector @subclasses['redistribution-collector'] ||= RedistributionCollector.new(parent_instance: self, client: @client, create_children: @create_children) end class UserIdSslAuth < ConfigClass def has_multiple_values?; false; end def _section :'user-id-ssl-auth' end @props = {'certificate-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Profile for authenticating client certificates'}} # Profile for authenticating client certificates def certificate_profile prop_get('certificate-profile') end # Profile for authenticating client certificates def certificate_profile=(val) prop_set('certificate-profile', val) end end def user_id_ssl_auth @subclasses['user-id-ssl-auth'] ||= UserIdSslAuth.new(parent_instance: self, client: @client, create_children: @create_children) end class VmInfoSource < XML::ConfigClass def has_multiple_values?; true; end def _section :'vm-info-source' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class AWSVPC < ConfigClass def has_multiple_values?; false; end def _section :'AWS-VPC' end @props = {'description'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'255'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}, 'source'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([$a-zA-Z0-9./_-])+$', 'minlen'=>'1', 'maxlen'=>'255', 'help-string'=>'IP address or name(example: ec2.amazonaws.com Default aws-region:us-east-1)'}, 'access-key-id'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'16', 'maxlen'=>'32', 'help-string'=>'AWS access key ID'}, 'secret-access-key'=>{'node-type'=>'element', 'type'=>'string', 'encrypt'=>'yes', 'maxlen'=>'255', 'help-string'=>'AWS secret access key'}, 'update-interval'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'60', 'max'=>'1200', 'default'=>'60', 'optional'=>'yes', 'help-string'=>'time interval (in sec) for updates'}, 'vm-info-timeout-enable'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'enable vm-info timeout when source is disconnected'}, 'vm-info-timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'2', 'max'=>'10', 'default'=>'2', 'optional'=>'yes', 'help-string'=>'vm-info timeout value (in hour) when source is disconnected'}, 'vpc-id'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'help-string'=>'AWS VPC name or Id'}} def description prop_get('description') end def description=(val) prop_set('description', val) end def disabled prop_get('disabled') end def disabled=(val) prop_set('disabled', val) end # IP address or name(example: ec2.amazonaws.com Default aws-region:us-east-1) def source prop_get('source') end # IP address or name(example: ec2.amazonaws.com Default aws-region:us-east-1) def source=(val) prop_set('source', val) end # AWS access key ID def access_key_id prop_get('access-key-id') end # AWS access key ID def access_key_id=(val) prop_set('access-key-id', val) end # AWS secret access key def secret_access_key prop_get('secret-access-key') end # AWS secret access key def secret_access_key=(val) prop_set('secret-access-key', val) end # time interval (in sec) for updates def update_interval prop_get('update-interval') end # time interval (in sec) for updates def update_interval=(val) prop_set('update-interval', val) end # enable vm-info timeout when source is disconnected def vm_info_timeout_enable prop_get('vm-info-timeout-enable') end # enable vm-info timeout when source is disconnected def vm_info_timeout_enable=(val) prop_set('vm-info-timeout-enable', val) end # vm-info timeout value (in hour) when source is disconnected def vm_info_timeout prop_get('vm-info-timeout') end # vm-info timeout value (in hour) when source is disconnected def vm_info_timeout=(val) prop_set('vm-info-timeout', val) end # AWS VPC name or Id def vpc_id prop_get('vpc-id') end # AWS VPC name or Id def vpc_id=(val) prop_set('vpc-id', val) end end def AWS_VPC @subclasses['AWS-VPC'] ||= AWSVPC.new(parent_instance: self, client: @client, create_children: @create_children) end class GoogleComputeEngine < ConfigClass def has_multiple_values?; false; end def _section :'Google-Compute-Engine' end class ServiceAuthType < XML::ConfigClass def has_multiple_values?; true; end def _section :'service-auth-type' end class ServiceInGce < ConfigClass def has_multiple_values?; false; end def _section :'service-in-gce' end @props = {} end def service_in_gce @subclasses['service-in-gce'] ||= ServiceInGce.new(parent_instance: self, client: @client, create_children: @create_children) end class ServiceAccount < ConfigClass def has_multiple_values?; false; end def _section :'service-account' end @props = {'service-account-cred'=>{'node-type'=>'element', 'type'=>'string', 'encrypt'=>'yes', 'maxlen'=>'8192', 'help-string'=>'GCE service account JSON file'}} # GCE service account JSON file def service_account_cred prop_get('service-account-cred') end # GCE service account JSON file def service_account_cred=(val) prop_set('service-account-cred', val) end end def service_account @subclasses['service-account'] ||= ServiceAccount.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def service_auth_type maybe_register_subclass('service-auth-type', ServiceAuthType.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'description'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'255'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}, 'project-id'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'64', 'help-string'=>'Google Compute Engine Project-ID'}, 'zone-name'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'64', 'help-string'=>'Google Compute Engine Project-Zone-Name'}, 'update-interval'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'60', 'max'=>'1200', 'default'=>'60', 'optional'=>'yes', 'help-string'=>'time interval (in sec) for updates'}, 'vm-info-timeout-enable'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'enable vm-info timeout when source is disconnected'}, 'vm-info-timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'2', 'max'=>'10', 'default'=>'2', 'optional'=>'yes', 'help-string'=>'vm-info timeout value (in hour) when source is disconnected'}} def description prop_get('description') end def description=(val) prop_set('description', val) end def disabled prop_get('disabled') end def disabled=(val) prop_set('disabled', val) end # Google Compute Engine Project-ID def project_id prop_get('project-id') end # Google Compute Engine Project-ID def project_id=(val) prop_set('project-id', val) end # Google Compute Engine Project-Zone-Name def zone_name prop_get('zone-name') end # Google Compute Engine Project-Zone-Name def zone_name=(val) prop_set('zone-name', val) end # time interval (in sec) for updates def update_interval prop_get('update-interval') end # time interval (in sec) for updates def update_interval=(val) prop_set('update-interval', val) end # enable vm-info timeout when source is disconnected def vm_info_timeout_enable prop_get('vm-info-timeout-enable') end # enable vm-info timeout when source is disconnected def vm_info_timeout_enable=(val) prop_set('vm-info-timeout-enable', val) end # vm-info timeout value (in hour) when source is disconnected def vm_info_timeout prop_get('vm-info-timeout') end # vm-info timeout value (in hour) when source is disconnected def vm_info_timeout=(val) prop_set('vm-info-timeout', val) end end def Google_Compute_Engine @subclasses['Google-Compute-Engine'] ||= GoogleComputeEngine.new(parent_instance: self, client: @client, create_children: @create_children) end class VMwareESXi < ConfigClass def has_multiple_values?; false; end def _section :'VMware-ESXi' end @props = {'description'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'255'}, 'port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'443', 'optional'=>'yes'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}, 'vm-info-timeout-enable'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'enable vm-info timeout when source is disconnected'}, 'vm-info-timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'2', 'max'=>'10', 'default'=>'2', 'optional'=>'yes', 'help-string'=>'vm-info timeout value (in hour) when source is disconnected'}, 'source'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'IP address or source name for vm-info-source', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'help-string'=>'IP address'}, 'string'=>{'regex'=>'^([$a-zA-Z0-9./_-])+$', 'loose-membership'=>'yes', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'Source name'}}}, 'username'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'help-string'=>'vm-info-source login username'}, 'password'=>{'node-type'=>'element', 'type'=>'string', 'encrypt'=>'yes', 'maxlen'=>'255', 'help-string'=>'vm-info-source login password'}, 'update-interval'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'5', 'max'=>'600', 'default'=>'5', 'optional'=>'yes', 'help-string'=>'time interval (in sec) for updates'}} def description prop_get('description') end def description=(val) prop_set('description', val) end def port prop_get('port') end def port=(val) prop_set('port', val) end def disabled prop_get('disabled') end def disabled=(val) prop_set('disabled', val) end # enable vm-info timeout when source is disconnected def vm_info_timeout_enable prop_get('vm-info-timeout-enable') end # enable vm-info timeout when source is disconnected def vm_info_timeout_enable=(val) prop_set('vm-info-timeout-enable', val) end # vm-info timeout value (in hour) when source is disconnected def vm_info_timeout prop_get('vm-info-timeout') end # vm-info timeout value (in hour) when source is disconnected def vm_info_timeout=(val) prop_set('vm-info-timeout', val) end # IP address or source name for vm-info-source def source prop_get('source') end # IP address or source name for vm-info-source def source=(val) prop_set('source', val) end # vm-info-source login username def username prop_get('username') end # vm-info-source login username def username=(val) prop_set('username', val) end # vm-info-source login password def password prop_get('password') end # vm-info-source login password def password=(val) prop_set('password', val) end # time interval (in sec) for updates def update_interval prop_get('update-interval') end # time interval (in sec) for updates def update_interval=(val) prop_set('update-interval', val) end end def VMware_ESXi @subclasses['VMware-ESXi'] ||= VMwareESXi.new(parent_instance: self, client: @client, create_children: @create_children) end class VMwareVCenter < ConfigClass def has_multiple_values?; false; end def _section :'VMware-vCenter' end @props = {'description'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'255'}, 'port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'443', 'optional'=>'yes'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}, 'vm-info-timeout-enable'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'enable vm-info timeout when source is disconnected'}, 'vm-info-timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'2', 'max'=>'10', 'default'=>'2', 'optional'=>'yes', 'help-string'=>'vm-info timeout value (in hour) when source is disconnected'}, 'source'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'IP address or source name for vm-info-source', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes', 'help-string'=>'IP address'}, 'string'=>{'regex'=>'^([$a-zA-Z0-9./_-])+$', 'loose-membership'=>'yes', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'Source name'}}}, 'username'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'help-string'=>'vm-info-source login username'}, 'password'=>{'node-type'=>'element', 'type'=>'string', 'encrypt'=>'yes', 'maxlen'=>'255', 'help-string'=>'vm-info-source login password'}, 'update-interval'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'5', 'max'=>'600', 'default'=>'5', 'optional'=>'yes', 'help-string'=>'time interval (in sec) for updates'}} def description prop_get('description') end def description=(val) prop_set('description', val) end def port prop_get('port') end def port=(val) prop_set('port', val) end def disabled prop_get('disabled') end def disabled=(val) prop_set('disabled', val) end # enable vm-info timeout when source is disconnected def vm_info_timeout_enable prop_get('vm-info-timeout-enable') end # enable vm-info timeout when source is disconnected def vm_info_timeout_enable=(val) prop_set('vm-info-timeout-enable', val) end # vm-info timeout value (in hour) when source is disconnected def vm_info_timeout prop_get('vm-info-timeout') end # vm-info timeout value (in hour) when source is disconnected def vm_info_timeout=(val) prop_set('vm-info-timeout', val) end # IP address or source name for vm-info-source def source prop_get('source') end # IP address or source name for vm-info-source def source=(val) prop_set('source', val) end # vm-info-source login username def username prop_get('username') end # vm-info-source login username def username=(val) prop_set('username', val) end # vm-info-source login password def password prop_get('password') end # vm-info-source login password def password=(val) prop_set('password', val) end # time interval (in sec) for updates def update_interval prop_get('update-interval') end # time interval (in sec) for updates def update_interval=(val) prop_set('update-interval', val) end end def VMware_vCenter @subclasses['VMware-vCenter'] ||= VMwareVCenter.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vm_info_source maybe_register_subclass('vm-info-source', VmInfoSource.new(parent_instance: self, client: @client, create_children: @create_children)) end class GroupMapping < XML::ConfigClass def has_multiple_values?; true; end def _section :'group-mapping' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class GroupObject < XML::ConfigClass def has_multiple_values?; true; end def _section :'group-object' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def group_object maybe_register_subclass('group-object', GroupObject.new(parent_instance: self, client: @client, create_children: @create_children)) end class GroupMember < XML::ConfigClass def has_multiple_values?; true; end def _section :'group-member' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def group_member maybe_register_subclass('group-member', GroupMember.new(parent_instance: self, client: @client, create_children: @create_children)) end class GroupName < XML::ConfigClass def has_multiple_values?; true; end def _section :'group-name' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def group_name maybe_register_subclass('group-name', GroupName.new(parent_instance: self, client: @client, create_children: @create_children)) end class UserObject < XML::ConfigClass def has_multiple_values?; true; end def _section :'user-object' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def user_object maybe_register_subclass('user-object', UserObject.new(parent_instance: self, client: @client, create_children: @create_children)) end class UserName < XML::ConfigClass def has_multiple_values?; true; end def _section :'user-name' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def user_name maybe_register_subclass('user-name', UserName.new(parent_instance: self, client: @client, create_children: @create_children)) end class UserEmail < XML::ConfigClass def has_multiple_values?; true; end def _section :'user-email' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def user_email maybe_register_subclass('user-email', UserEmail.new(parent_instance: self, client: @client, create_children: @create_children)) end class GroupEmail < XML::ConfigClass def has_multiple_values?; true; end def _section :'group-email' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def group_email maybe_register_subclass('group-email', GroupEmail.new(parent_instance: self, client: @client, create_children: @create_children)) end class AlternateUserName1 < XML::ConfigClass def has_multiple_values?; true; end def _section :'alternate-user-name-1' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def alternate_user_name_1 maybe_register_subclass('alternate-user-name-1', AlternateUserName1.new(parent_instance: self, client: @client, create_children: @create_children)) end class AlternateUserName2 < XML::ConfigClass def has_multiple_values?; true; end def _section :'alternate-user-name-2' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def alternate_user_name_2 maybe_register_subclass('alternate-user-name-2', AlternateUserName2.new(parent_instance: self, client: @client, create_children: @create_children)) end class AlternateUserName3 < XML::ConfigClass def has_multiple_values?; true; end def _section :'alternate-user-name-3' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def alternate_user_name_3 maybe_register_subclass('alternate-user-name-3', AlternateUserName3.new(parent_instance: self, client: @client, create_children: @create_children)) end class ContainerObject < XML::ConfigClass def has_multiple_values?; true; end def _section :'container-object' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'128'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def container_object maybe_register_subclass('container-object', ContainerObject.new(parent_instance: self, client: @client, create_children: @create_children)) end class LastModifyAttr < XML::ConfigClass def has_multiple_values?; true; end def _section :'last-modify-attr' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def last_modify_attr maybe_register_subclass('last-modify-attr', LastModifyAttr.new(parent_instance: self, client: @client, create_children: @create_children)) end class GroupIncludeList < XML::ConfigClass def has_multiple_values?; true; end def _section :'group-include-list' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1023', 'max-count'=>'640'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def group_include_list maybe_register_subclass('group-include-list', GroupIncludeList.new(parent_instance: self, client: @client, create_children: @create_children)) end class CustomGroup < XML::ConfigClass def has_multiple_values?; true; end def _section :'custom-group' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'1023', 'regex'=>'.*', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'ldap-filter'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'1023', 'regex'=>'.*', 'help-string'=>'ldap filter criteria'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # ldap filter criteria def ldap_filter prop_get('ldap-filter') end # ldap filter criteria def ldap_filter=(val) prop_set('ldap-filter', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def custom_group maybe_register_subclass('custom-group', CustomGroup.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'server-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'LDAP server object'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}, 'use-ldap-for-serialno-check'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'help-string'=>'Use LDAP for fetching device serial numbers (GlobalProtect only)'}, 'use-modify-timestamp'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes'}, 'limited-group-search'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes'}, 'nested-group-level'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'1', 'max'=>'20', 'default'=>'10'}, 'group-filter'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'1024', 'help-string'=>'ldap search filter for group'}, 'user-filter'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'1024', 'help-string'=>'ldap search filter for user'}, 'domain'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'Domain name used for override'}, 'update-interval'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'60', 'max'=>'86400', 'help-string'=>'Interval (seconds) for updating group membership, default is 3600 seconds'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # LDAP server object def server_profile prop_get('server-profile') end # LDAP server object def server_profile=(val) prop_set('server-profile', val) end def disabled prop_get('disabled') end def disabled=(val) prop_set('disabled', val) end # Use LDAP for fetching device serial numbers (GlobalProtect only) def use_ldap_for_serialno_check prop_get('use-ldap-for-serialno-check') end # Use LDAP for fetching device serial numbers (GlobalProtect only) def use_ldap_for_serialno_check=(val) prop_set('use-ldap-for-serialno-check', val) end def use_modify_timestamp prop_get('use-modify-timestamp') end def use_modify_timestamp=(val) prop_set('use-modify-timestamp', val) end def limited_group_search prop_get('limited-group-search') end def limited_group_search=(val) prop_set('limited-group-search', val) end def nested_group_level prop_get('nested-group-level') end def nested_group_level=(val) prop_set('nested-group-level', val) end # ldap search filter for group def group_filter prop_get('group-filter') end # ldap search filter for group def group_filter=(val) prop_set('group-filter', val) end # ldap search filter for user def user_filter prop_get('user-filter') end # ldap search filter for user def user_filter=(val) prop_set('user-filter', val) end # Domain name used for override def domain prop_get('domain') end # Domain name used for override def domain=(val) prop_set('domain', val) end # Interval (seconds) for updating group membership, default is 3600 seconds def update_interval prop_get('update-interval') end # Interval (seconds) for updating group membership, default is 3600 seconds def update_interval=(val) prop_set('update-interval', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def group_mapping maybe_register_subclass('group-mapping', GroupMapping.new(parent_instance: self, client: @client, create_children: @create_children)) end class CloudIdentityEngine < XML::ConfigClass def has_multiple_values?; true; end def _section :'cloud-identity-engine' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'Cloud Identity Engine name'}, 'region'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'complete-handler'=>'directory-sync-region-completer', 'help-string'=>'region name'}, 'cloud-identity-engine-instance'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'complete-handler'=>'directory-sync-instance-completer', 'help-string'=>'cloud identity engine tenant name'}, 'domain'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'complete-handler'=>'directory-sync-domain-completer', 'help-string'=>'domain name'}, 'update-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'5', 'max'=>'1440', 'default'=>'60', 'help-string'=>'Interval (mins) for updating group membership, default is 60 mins'}, 'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'primary-user'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'complete-handler'=>'directory-sync-user-attribute-completer', 'help-string'=>'Primary user name attribute'}, 'user-email'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'complete-handler'=>'directory-sync-user-attribute-completer', 'help-string'=>'User email attribute'}, 'alt-username-1'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'complete-handler'=>'directory-sync-user-attribute-completer', 'help-string'=>'Alternate user name 1 attribute'}, 'alt-username-2'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'complete-handler'=>'directory-sync-user-attribute-completer', 'help-string'=>'Alternate user name 2 attribute'}, 'alt-username-3'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'complete-handler'=>'directory-sync-user-attribute-completer', 'help-string'=>'Alternate user name 3 attribute'}, 'group-name'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'63', 'complete-handler'=>'directory-sync-group-attribute-completer', 'help-string'=>'Group name attribute'}, 'group-email'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes', 'complete-handler'=>'directory-sync-group-attribute-completer', 'help-string'=>'Group email attribute'}, 'endpoint-serial-number'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1024', 'optional'=>'yes', 'complete-handler'=>'directory-sync-serial-number-completer', 'help-string'=>'device endpoint serial number'}} # Cloud Identity Engine name def name prop_get('@name') end # region name def region prop_get('region') end # region name def region=(val) prop_set('region', val) end # cloud identity engine tenant name def cloud_identity_engine_instance prop_get('cloud-identity-engine-instance') end # cloud identity engine tenant name def cloud_identity_engine_instance=(val) prop_set('cloud-identity-engine-instance', val) end # domain name def domain prop_get('domain') end # domain name def domain=(val) prop_set('domain', val) end # Interval (mins) for updating group membership, default is 60 mins def update_interval prop_get('update-interval') end # Interval (mins) for updating group membership, default is 60 mins def update_interval=(val) prop_set('update-interval', val) end def enabled prop_get('enabled') end def enabled=(val) prop_set('enabled', val) end # Primary user name attribute def primary_user prop_get('primary-user') end # Primary user name attribute def primary_user=(val) prop_set('primary-user', val) end # User email attribute def user_email prop_get('user-email') end # User email attribute def user_email=(val) prop_set('user-email', val) end # Alternate user name 1 attribute def alt_username_1 prop_get('alt-username-1') end # Alternate user name 1 attribute def alt_username_1=(val) prop_set('alt-username-1', val) end # Alternate user name 2 attribute def alt_username_2 prop_get('alt-username-2') end # Alternate user name 2 attribute def alt_username_2=(val) prop_set('alt-username-2', val) end # Alternate user name 3 attribute def alt_username_3 prop_get('alt-username-3') end # Alternate user name 3 attribute def alt_username_3=(val) prop_set('alt-username-3', val) end # Group name attribute def group_name prop_get('group-name') end # Group name attribute def group_name=(val) prop_set('group-name', val) end # Group email attribute def group_email prop_get('group-email') end # Group email attribute def group_email=(val) prop_set('group-email', val) end # device endpoint serial number def endpoint_serial_number prop_get('endpoint-serial-number') end # device endpoint serial number def endpoint_serial_number=(val) prop_set('endpoint-serial-number', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def cloud_identity_engine maybe_register_subclass('cloud-identity-engine', CloudIdentityEngine.new(parent_instance: self, client: @client, create_children: @create_children)) end class CaptivePortal < ConfigClass def has_multiple_values?; false; end def _section :'captive-portal' end class Mode < XML::ConfigClass def has_multiple_values?; true; end def _section :mode end class Transparent < ConfigClass def has_multiple_values?; false; end def _section :transparent end @props = {} end def transparent @subclasses['transparent'] ||= Transparent.new(parent_instance: self, client: @client, create_children: @create_children) end class Redirect < ConfigClass def has_multiple_values?; false; end def _section :redirect end class SessionCookie < ConfigClass def has_multiple_values?; false; end def _section :'session-cookie' end @props = {'enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'60', 'max'=>'10080', 'default'=>'1440', 'help-string'=>'expiration timer (minutes)'}, 'roaming'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'enable/disable ip roaming'}} def enable prop_get('enable') end def enable=(val) prop_set('enable', val) end # expiration timer (minutes) def timeout prop_get('timeout') end # expiration timer (minutes) def timeout=(val) prop_set('timeout', val) end # enable/disable ip roaming def roaming prop_get('roaming') end # enable/disable ip roaming def roaming=(val) prop_set('roaming', val) end end def session_cookie @subclasses['session-cookie'] ||= SessionCookie.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def redirect @subclasses['redirect'] ||= Redirect.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def mode maybe_register_subclass('mode', Mode.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enable-captive-portal'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'idle-timer'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'1440', 'default'=>'15', 'help-string'=>'idle timer (minutes)'}, 'timer'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'1440', 'default'=>'60', 'help-string'=>'expiration timer (minutes)'}, 'redirect-host'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'ip or host name for redirect for captive portal', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'regex'=>'^([$a-zA-Z0-9./_-])+$', 'loose-membership'=>'yes', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'Host name.'}}}, 'ssl-tls-service-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'255', 'help-string'=>'SSL TLS service profile'}, 'gp-udp-port'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'4501', 'help-string'=>'MFA notification port on GP client'}, 'authentication-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Authentication profile to use for authentication.'}, 'certificate-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Profile for authenticating client certificates'}} def enable_captive_portal prop_get('enable-captive-portal') end def enable_captive_portal=(val) prop_set('enable-captive-portal', val) end # idle timer (minutes) def idle_timer prop_get('idle-timer') end # idle timer (minutes) def idle_timer=(val) prop_set('idle-timer', val) end # expiration timer (minutes) def timer prop_get('timer') end # expiration timer (minutes) def timer=(val) prop_set('timer', val) end # ip or host name for redirect for captive portal def redirect_host prop_get('redirect-host') end # ip or host name for redirect for captive portal def redirect_host=(val) prop_set('redirect-host', val) end # SSL TLS service profile def ssl_tls_service_profile prop_get('ssl-tls-service-profile') end # SSL TLS service profile def ssl_tls_service_profile=(val) prop_set('ssl-tls-service-profile', val) end # MFA notification port on GP client def gp_udp_port prop_get('gp-udp-port') end # MFA notification port on GP client def gp_udp_port=(val) prop_set('gp-udp-port', val) end # Authentication profile to use for authentication. def authentication_profile prop_get('authentication-profile') end # Authentication profile to use for authentication. def authentication_profile=(val) prop_set('authentication-profile', val) end # Profile for authenticating client certificates def certificate_profile prop_get('certificate-profile') end # Profile for authenticating client certificates def certificate_profile=(val) prop_set('certificate-profile', val) end end def captive_portal @subclasses['captive-portal'] ||= CaptivePortal.new(parent_instance: self, client: @client, create_children: @create_children) end class UserIdCollector < ConfigClass def has_multiple_values?; false; end def _section :'user-id-collector' end class Setting < ConfigClass def has_multiple_values?; false; end def _section :setting end @props = {'wmi-account'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'3', 'maxlen'=>'255', 'help-string'=>'AD account name for wmi query, e.g. domain\username'}, 'wmi-password'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'encrypt'=>'yes', 'maxlen'=>'255', 'help-string'=>'password for AD account for wmi query'}, 'domain-name'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^([a-zA-Z0-9./_-])+$', 'minlen'=>'1', 'maxlen'=>'256', 'help-string'=>'DNS Domain Name'}, 'server-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'Kerberos server object', 'prune-on'=>'fips-mode,cc-only-mode'}, 'enable-security-log'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'security-log-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'2', 'help-string'=>'security log monitor frequency in seconds'}, 'enable-session'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'session-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'10', 'help-string'=>'windows server session monitor frequency in seconds'}, 'edirectory-query-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3600', 'default'=>'30', 'help-string'=>'server session read frequency in seconds'}, 'enable-probing'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'client-probing-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'1440', 'default'=>'20', 'help-string'=>'wmi client probing frequency in minutes'}, 'enable-mapping-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'ip-user-mapping-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'1440', 'default'=>'45', 'help-string'=>'ip user mapping timeout in minutes'}, 'enable-user-match'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'syslog-service-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'255', 'help-string'=>'Syslog service ssl-tls profile '}} # AD account name for wmi query, e.g. domain\username def wmi_account prop_get('wmi-account') end # AD account name for wmi query, e.g. domain\username def wmi_account=(val) prop_set('wmi-account', val) end # password for AD account for wmi query def wmi_password prop_get('wmi-password') end # password for AD account for wmi query def wmi_password=(val) prop_set('wmi-password', val) end # DNS Domain Name def domain_name prop_get('domain-name') end # DNS Domain Name def domain_name=(val) prop_set('domain-name', val) end # Kerberos server object def server_profile prop_get('server-profile') end # Kerberos server object def server_profile=(val) prop_set('server-profile', val) end def enable_security_log prop_get('enable-security-log') end def enable_security_log=(val) prop_set('enable-security-log', val) end # security log monitor frequency in seconds def security_log_interval prop_get('security-log-interval') end # security log monitor frequency in seconds def security_log_interval=(val) prop_set('security-log-interval', val) end def enable_session prop_get('enable-session') end def enable_session=(val) prop_set('enable-session', val) end # windows server session monitor frequency in seconds def session_interval prop_get('session-interval') end # windows server session monitor frequency in seconds def session_interval=(val) prop_set('session-interval', val) end # server session read frequency in seconds def edirectory_query_interval prop_get('edirectory-query-interval') end # server session read frequency in seconds def edirectory_query_interval=(val) prop_set('edirectory-query-interval', val) end def enable_probing prop_get('enable-probing') end def enable_probing=(val) prop_set('enable-probing', val) end # wmi client probing frequency in minutes def client_probing_interval prop_get('client-probing-interval') end # wmi client probing frequency in minutes def client_probing_interval=(val) prop_set('client-probing-interval', val) end def enable_mapping_timeout prop_get('enable-mapping-timeout') end def enable_mapping_timeout=(val) prop_set('enable-mapping-timeout', val) end # ip user mapping timeout in minutes def ip_user_mapping_timeout prop_get('ip-user-mapping-timeout') end # ip user mapping timeout in minutes def ip_user_mapping_timeout=(val) prop_set('ip-user-mapping-timeout', val) end def enable_user_match prop_get('enable-user-match') end def enable_user_match=(val) prop_set('enable-user-match', val) end # Syslog service ssl-tls profile def syslog_service_profile prop_get('syslog-service-profile') end # Syslog service ssl-tls profile def syslog_service_profile=(val) prop_set('syslog-service-profile', val) end end def setting @subclasses['setting'] ||= Setting.new(parent_instance: self, client: @client, create_children: @create_children) end class SyslogParseProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'syslog-parse-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class RegexIdentifier < ConfigClass def has_multiple_values?; false; end def _section :'regex-identifier' end @props = {'event-regex'=>{'node-type'=>'element', 'help-string'=>'regex to identify authentication message', 'type'=>'string', 'maxlen'=>'1024'}, 'username-regex'=>{'node-type'=>'element', 'help-string'=>'regex to identify user name', 'type'=>'string', 'maxlen'=>'1024'}, 'address-regex'=>{'node-type'=>'element', 'help-string'=>'regex to identify address', 'type'=>'string', 'maxlen'=>'1024'}} # regex to identify authentication message def event_regex prop_get('event-regex') end # regex to identify authentication message def event_regex=(val) prop_set('event-regex', val) end # regex to identify user name def username_regex prop_get('username-regex') end # regex to identify user name def username_regex=(val) prop_set('username-regex', val) end # regex to identify address def address_regex prop_get('address-regex') end # regex to identify address def address_regex=(val) prop_set('address-regex', val) end end def regex_identifier @subclasses['regex-identifier'] ||= RegexIdentifier.new(parent_instance: self, client: @client, create_children: @create_children) end class FieldIdentifier < ConfigClass def has_multiple_values?; false; end def _section :'field-identifier' end @props = {'event-string'=>{'node-type'=>'element', 'help-string'=>'string to identify authentication message', 'type'=>'string', 'maxlen'=>'1024'}, 'username-prefix'=>{'node-type'=>'element', 'help-string'=>'string to identify user name', 'type'=>'string', 'maxlen'=>'1024'}, 'username-delimiter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1024'}, 'address-prefix'=>{'node-type'=>'element', 'help-string'=>'string to identify address', 'type'=>'string', 'maxlen'=>'1024'}, 'address-delimiter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1024'}, 'address-per-log'=>{'node-type'=>'element', 'help-string'=>'Maximum number of addresses per log', 'type'=>'rangedint', 'min'=>'1', 'max'=>'3', 'default'=>'1', 'optional'=>'yes'}} # string to identify authentication message def event_string prop_get('event-string') end # string to identify authentication message def event_string=(val) prop_set('event-string', val) end # string to identify user name def username_prefix prop_get('username-prefix') end # string to identify user name def username_prefix=(val) prop_set('username-prefix', val) end def username_delimiter prop_get('username-delimiter') end def username_delimiter=(val) prop_set('username-delimiter', val) end # string to identify address def address_prefix prop_get('address-prefix') end # string to identify address def address_prefix=(val) prop_set('address-prefix', val) end def address_delimiter prop_get('address-delimiter') end def address_delimiter=(val) prop_set('address-delimiter', val) end # Maximum number of addresses per log def address_per_log prop_get('address-per-log') end # Maximum number of addresses per log def address_per_log=(val) prop_set('address-per-log', val) end end def field_identifier @subclasses['field-identifier'] ||= FieldIdentifier.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string begin with non-digit: [ 0-9a-zA-Z._-]', 'regex'=>'^[a-zA-Z._-]{1}[ 0-9a-zA-Z._-]*$'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255'}} # alphanumeric string begin with non-digit: [ 0-9a-zA-Z._-] def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def syslog_parse_profile maybe_register_subclass('syslog-parse-profile', SyslogParseProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class ServerMonitor < XML::ConfigClass def has_multiple_values?; true; end def _section :'server-monitor' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class ActiveDirectory < ConfigClass def has_multiple_values?; false; end def _section :'active-directory' end @props = {'type'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'WMI', 'help-string'=>'Transport protocol', 'enum'=>[{'value'=>'WMI', 'help-string'=>'Connected to monitored server over MSRPC'}, {'value'=>'WinRM-HTTP', 'help-string'=>'Connected to monitored server with encrypted HTTP payload', 'prune-on'=>'fips-mode,cc-only-mode'}, {'value'=>'WinRM-HTTPS', 'help-string'=>'Connected to monitored server over HTTPS', 'prune-on'=>'fips-mode,cc-only-mode'}]}, 'host'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'IP address or hostname for the server', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'regex'=>'^([$a-zA-Z0-9./_-])+$', 'loose-membership'=>'yes', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'Host name.'}}}} # Transport protocol def type prop_get('type') end # Transport protocol def type=(val) prop_set('type', val) end # IP address or hostname for the server def host prop_get('host') end # IP address or hostname for the server def host=(val) prop_set('host', val) end end def active_directory @subclasses['active-directory'] ||= ActiveDirectory.new(parent_instance: self, client: @client, create_children: @create_children) end class Exchange < ConfigClass def has_multiple_values?; false; end def _section :exchange end @props = {'type'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'WMI', 'help-string'=>'Transport protocol', 'enum'=>[{'value'=>'WMI', 'help-string'=>'Connected to monitored server over MSRPC'}, {'value'=>'WinRM-HTTP', 'help-string'=>'Connected to monitored server with encrypted HTTP payload'}, {'value'=>'WinRM-HTTPS', 'help-string'=>'Connected to monitored server over HTTPS'}]}, 'host'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'IP address or hostname for the server', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'regex'=>'^([$a-zA-Z0-9./_-])+$', 'loose-membership'=>'yes', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'Host name.'}}}} # Transport protocol def type prop_get('type') end # Transport protocol def type=(val) prop_set('type', val) end # IP address or hostname for the server def host prop_get('host') end # IP address or hostname for the server def host=(val) prop_set('host', val) end end def exchange @subclasses['exchange'] ||= Exchange.new(parent_instance: self, client: @client, create_children: @create_children) end class EDirectory < ConfigClass def has_multiple_values?; false; end def _section :'e-directory' end @props = {'server-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'LDAP server object'}} # LDAP server object def server_profile prop_get('server-profile') end # LDAP server object def server_profile=(val) prop_set('server-profile', val) end end def e_directory @subclasses['e-directory'] ||= EDirectory.new(parent_instance: self, client: @client, create_children: @create_children) end class Syslog < ConfigClass def has_multiple_values?; false; end def _section :syslog end class SyslogParseProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'syslog-parse-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'user-id syslog message parse profile'}, 'event-type'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'login', 'enum'=>[{'value'=>'login', 'help-string'=>'Login Event'}, {'value'=>'logout', 'help-string'=>'Logout Event'}]}} # user-id syslog message parse profile def name prop_get('@name') end def event_type prop_get('event-type') end def event_type=(val) prop_set('event-type', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def syslog_parse_profile maybe_register_subclass('syslog-parse-profile', SyslogParseProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'IP address for the syslog server', 'multi-types'=>{'ipspec'=>{'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'connection-type'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'ssl', 'enum'=>[{'value'=>'udp', 'help-string'=>'Receive syslog via UDP', 'prune-on'=>'fips-mode'}, {'value'=>'ssl', 'help-string'=>'Receive syslog via SSL'}]}, 'default-domain-name'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63'}} # IP address for the syslog server def address prop_get('address') end # IP address for the syslog server def address=(val) prop_set('address', val) end def connection_type prop_get('connection-type') end def connection_type=(val) prop_set('connection-type', val) end def default_domain_name prop_get('default-domain-name') end def default_domain_name=(val) prop_set('default-domain-name', val) end end def syslog @subclasses['syslog'] ||= Syslog.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'255', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def disabled prop_get('disabled') end def disabled=(val) prop_set('disabled', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server_monitor maybe_register_subclass('server-monitor', ServerMonitor.new(parent_instance: self, client: @client, create_children: @create_children)) end class IncludeExcludeNetwork < XML::ConfigClass def has_multiple_values?; true; end def _section :'include-exclude-network' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}, 'discovery'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'include', 'help-string'=>'default is include', 'enum'=>[{'value'=>'include', 'help-string'=>'Include'}, {'value'=>'exclude', 'help-string'=>'Exclude'}]}, 'network-address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'network address/prefix to include or exclude', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def disabled prop_get('disabled') end def disabled=(val) prop_set('disabled', val) end # default is include def discovery prop_get('discovery') end # default is include def discovery=(val) prop_set('discovery', val) end # network address/prefix to include or exclude def network_address prop_get('network-address') end # network address/prefix to include or exclude def network_address=(val) prop_set('network-address', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def include_exclude_network maybe_register_subclass('include-exclude-network', IncludeExcludeNetwork.new(parent_instance: self, client: @client, create_children: @create_children)) end class IncludeExcludeNetworkSequence < ConfigClass def has_multiple_values?; false; end def _section :'include-exclude-network-sequence' end class IncludeExcludeNetwork < XML::ConfigClass def has_multiple_values?; true; end def _section :'include-exclude-network' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def include_exclude_network maybe_register_subclass('include-exclude-network', IncludeExcludeNetwork.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def include_exclude_network_sequence @subclasses['include-exclude-network-sequence'] ||= IncludeExcludeNetworkSequence.new(parent_instance: self, client: @client, create_children: @create_children) end class IgnoreUser < XML::ConfigClass def has_multiple_values?; true; end def _section :'ignore-user' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'max-count'=>'5000', 'multi-types'=>{'string'=>{'maxlen'=>'63'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def ignore_user maybe_register_subclass('ignore-user', IgnoreUser.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def user_id_collector @subclasses['user-id-collector'] ||= UserIdCollector.new(parent_instance: self, client: @client, create_children: @create_children) end class UrlAdminOverride < ConfigClass def has_multiple_values?; false; end def _section :'url-admin-override' end class Mode < XML::ConfigClass def has_multiple_values?; true; end def _section :mode end class Transparent < ConfigClass def has_multiple_values?; false; end def _section :transparent end @props = {} end def transparent @subclasses['transparent'] ||= Transparent.new(parent_instance: self, client: @client, create_children: @create_children) end class Redirect < ConfigClass def has_multiple_values?; false; end def _section :redirect end @props = {'address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'set ip or host name for url admin override.', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'regex'=>'^([a-zA-Z0-9./_-])+$', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'Host name.'}}}} # set ip or host name for url admin override. def address prop_get('address') end # set ip or host name for url admin override. def address=(val) prop_set('address', val) end end def redirect @subclasses['redirect'] ||= Redirect.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def mode maybe_register_subclass('mode', Mode.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'password'=>{'node-type'=>'element', 'type'=>'string', 'encrypt'=>'yes', 'maxlen'=>'64', 'help-string'=>'password for url admin override'}, 'ssl-tls-service-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'255', 'help-string'=>'SSL TLS service profile'}} # password for url admin override def password prop_get('password') end # password for url admin override def password=(val) prop_set('password', val) end # SSL TLS service profile def ssl_tls_service_profile prop_get('ssl-tls-service-profile') end # SSL TLS service profile def ssl_tls_service_profile=(val) prop_set('ssl-tls-service-profile', val) end end def url_admin_override @subclasses['url-admin-override'] ||= UrlAdminOverride.new(parent_instance: self, client: @client, create_children: @create_children) end class Zone < XML::ConfigClass def has_multiple_values?; true; end def _section :zone end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Network < ConfigClass def has_multiple_values?; false; end def _section :network end class Tap < XML::ConfigClass def has_multiple_values?; true; end def _section :tap end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tap maybe_register_subclass('tap', Tap.new(parent_instance: self, client: @client, create_children: @create_children)) end class VirtualWire < XML::ConfigClass def has_multiple_values?; true; end def _section :'virtual-wire' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def virtual_wire maybe_register_subclass('virtual-wire', VirtualWire.new(parent_instance: self, client: @client, create_children: @create_children)) end class Layer2 < XML::ConfigClass def has_multiple_values?; true; end def _section :layer2 end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def layer2 maybe_register_subclass('layer2', Layer2.new(parent_instance: self, client: @client, create_children: @create_children)) end class Layer3 < XML::ConfigClass def has_multiple_values?; true; end def _section :layer3 end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def layer3 maybe_register_subclass('layer3', Layer3.new(parent_instance: self, client: @client, create_children: @create_children)) end class External < XML::ConfigClass def has_multiple_values?; true; end def _section :external end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def external maybe_register_subclass('external', External.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tunnel < ConfigClass def has_multiple_values?; false; end def _section :tunnel end @props = {} end def tunnel @subclasses['tunnel'] ||= Tunnel.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'zone-protection-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Zone protection profile'}, 'enable-packet-buffer-protection'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'net-inspection'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'log-setting'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'Log setting for forwarding scan logs'}} # Zone protection profile def zone_protection_profile prop_get('zone-protection-profile') end # Zone protection profile def zone_protection_profile=(val) prop_set('zone-protection-profile', val) end def enable_packet_buffer_protection prop_get('enable-packet-buffer-protection') end def enable_packet_buffer_protection=(val) prop_set('enable-packet-buffer-protection', val) end def net_inspection prop_get('net-inspection') end def net_inspection=(val) prop_set('net-inspection', val) end # Log setting for forwarding scan logs def log_setting prop_get('log-setting') end # Log setting for forwarding scan logs def log_setting=(val) prop_set('log-setting', val) end end def network @subclasses['network'] ||= Network.new(parent_instance: self, client: @client, create_children: @create_children) end class UserAcl < ConfigClass def has_multiple_values?; false; end def _section :'user-acl' end class IncludeList < XML::ConfigClass def has_multiple_values?; true; end def _section :'include-list' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'ipspec'=>{}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def include_list maybe_register_subclass('include-list', IncludeList.new(parent_instance: self, client: @client, create_children: @create_children)) end class ExcludeList < XML::ConfigClass def has_multiple_values?; true; end def _section :'exclude-list' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'ipspec'=>{}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def exclude_list maybe_register_subclass('exclude-list', ExcludeList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def user_acl @subclasses['user-acl'] ||= UserAcl.new(parent_instance: self, client: @client, create_children: @create_children) end class DeviceAcl < ConfigClass def has_multiple_values?; false; end def _section :'device-acl' end class IncludeList < XML::ConfigClass def has_multiple_values?; true; end def _section :'include-list' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'ipspec'=>{}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def include_list maybe_register_subclass('include-list', IncludeList.new(parent_instance: self, client: @client, create_children: @create_children)) end class ExcludeList < XML::ConfigClass def has_multiple_values?; true; end def _section :'exclude-list' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'maxlen'=>'63'}, 'ipspec'=>{}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def exclude_list maybe_register_subclass('exclude-list', ExcludeList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def device_acl @subclasses['device-acl'] ||= DeviceAcl.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'enable-user-identification'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'enable-device-identification'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'dos-profile'=>{'node-type'=>'element', 'disabled'=>'yes', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Denial-of-Service profile'}, 'dos-log-setting'=>{'node-type'=>'element', 'disabled'=>'yes', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'Log setting for forwarding DoS logs'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def enable_user_identification prop_get('enable-user-identification') end def enable_user_identification=(val) prop_set('enable-user-identification', val) end def enable_device_identification prop_get('enable-device-identification') end def enable_device_identification=(val) prop_set('enable-device-identification', val) end # Denial-of-Service profile def dos_profile prop_get('dos-profile') end # Denial-of-Service profile def dos_profile=(val) prop_set('dos-profile', val) end # Log setting for forwarding DoS logs def dos_log_setting prop_get('dos-log-setting') end # Log setting for forwarding DoS logs def dos_log_setting=(val) prop_set('dos-log-setting', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def zone maybe_register_subclass('zone', Zone.new(parent_instance: self, client: @client, create_children: @create_children)) end class SdwanInterfaceProfile < XML::ConfigClass def has_multiple_values?; true; end def _section :'sdwan-interface-profile' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'disable-override'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'no', 'ui-hint'=>'fieldLabel: "Disable override"', 'ui-field-hint'=>'type: "bool"', 'help-string'=>'disable object override in child device groups', 'enum'=>[{'value'=>'no'}]}, 'link-tag'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}, 'link-type'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'Ethernet', 'help-string'=>'Type of link', 'enum'=>[{'value'=>'ADSL/DSL', 'help-string'=>'ADSL/DSL Link'}, {'value'=>'Cablemodem', 'help-string'=>'Cablemodem Link'}, {'value'=>'Ethernet', 'help-string'=>'Ethernet Link'}, {'value'=>'Fiber', 'help-string'=>'Fiber Link'}, {'value'=>'LTE/3G/4G/5G', 'help-string'=>'LTE/3G/4G/5G Link'}, {'value'=>'MPLS', 'help-string'=>'MPLS Link'}, {'value'=>'Microwave/Radio', 'help-string'=>'Microwave/Radio Link'}, {'value'=>'Satellite', 'help-string'=>'Satellite Link'}, {'value'=>'WiFi', 'help-string'=>'WiFi Link'}, {'value'=>'Other', 'help-string'=>'Other Type of Link'}]}, 'vpn-data-tunnel-support'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'optional'=>'yes', 'help-string'=>'Enable data traffic over VPN'}, 'maximum-download'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'100000', 'help-string'=>'Maximum Capacity in Mbps'}, 'maximum-upload'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'0', 'max'=>'100000', 'help-string'=>'Maximum Capacity in Mbps'}, 'error-correction'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Allow this interface for FEC / Packet Duplication'}, 'path-monitoring'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'Aggressive', 'help-string'=>'Path Monitoring Profile', 'enum'=>[{'value'=>'Aggressive', 'help-string'=>'Aggressive Fixed Interval'}, {'value'=>'Relaxed', 'help-string'=>'Relaxed Fixed Interval'}]}, 'vpn-failover-metric'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'default'=>'10', 'help-string'=>'Metric for vpn tunnels on this interface'}, 'probe-frequency'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'5', 'default'=>'5', 'help-string'=>'Number of probes sent per second'}, 'probe-idle-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'86400', 'default'=>'60', 'help-string'=>'Idle time in seconds when no probes are sent'}, 'failback-hold-time'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'20', 'max'=>'120', 'default'=>'120', 'help-string'=>'Failback hold time in seconds before reverting session to original path'}, 'comment'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'0', 'maxlen'=>'1023'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # disable object override in child device groups def disable_override prop_get('disable-override') end # disable object override in child device groups def disable_override=(val) prop_set('disable-override', val) end def link_tag prop_get('link-tag') end def link_tag=(val) prop_set('link-tag', val) end # Type of link def link_type prop_get('link-type') end # Type of link def link_type=(val) prop_set('link-type', val) end # Enable data traffic over VPN def vpn_data_tunnel_support prop_get('vpn-data-tunnel-support') end # Enable data traffic over VPN def vpn_data_tunnel_support=(val) prop_set('vpn-data-tunnel-support', val) end # Maximum Capacity in Mbps def maximum_download prop_get('maximum-download') end # Maximum Capacity in Mbps def maximum_download=(val) prop_set('maximum-download', val) end # Maximum Capacity in Mbps def maximum_upload prop_get('maximum-upload') end # Maximum Capacity in Mbps def maximum_upload=(val) prop_set('maximum-upload', val) end # Allow this interface for FEC / Packet Duplication def error_correction prop_get('error-correction') end # Allow this interface for FEC / Packet Duplication def error_correction=(val) prop_set('error-correction', val) end # Path Monitoring Profile def path_monitoring prop_get('path-monitoring') end # Path Monitoring Profile def path_monitoring=(val) prop_set('path-monitoring', val) end # Metric for vpn tunnels on this interface def vpn_failover_metric prop_get('vpn-failover-metric') end # Metric for vpn tunnels on this interface def vpn_failover_metric=(val) prop_set('vpn-failover-metric', val) end # Number of probes sent per second def probe_frequency prop_get('probe-frequency') end # Number of probes sent per second def probe_frequency=(val) prop_set('probe-frequency', val) end # Idle time in seconds when no probes are sent def probe_idle_time prop_get('probe-idle-time') end # Idle time in seconds when no probes are sent def probe_idle_time=(val) prop_set('probe-idle-time', val) end # Failback hold time in seconds before reverting session to original path def failback_hold_time prop_get('failback-hold-time') end # Failback hold time in seconds before reverting session to original path def failback_hold_time=(val) prop_set('failback-hold-time', val) end def comment prop_get('comment') end def comment=(val) prop_set('comment', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def sdwan_interface_profile maybe_register_subclass('sdwan-interface-profile', SdwanInterfaceProfile.new(parent_instance: self, client: @client, create_children: @create_children)) end class XAuthenticatedUser < ConfigClass def has_multiple_values?; false; end def _section :'x-authenticated-user' end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'x-authenticated-user whitelist', 'maxlen'=>'63'}} # x-authenticated-user whitelist def member prop_get('member') end # x-authenticated-user whitelist def member=(val) prop_set('member', val) end end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'enabled'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Enable x-authenticated-user whitelist'}, 'overwrite-xau'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Overwrite value of x-authenticated-user header'}} # Enable x-authenticated-user whitelist def enabled prop_get('enabled') end # Enable x-authenticated-user whitelist def enabled=(val) prop_set('enabled', val) end # Overwrite value of x-authenticated-user header def overwrite_xau prop_get('overwrite-xau') end # Overwrite value of x-authenticated-user header def overwrite_xau=(val) prop_set('overwrite-xau', val) end end def x_authenticated_user @subclasses['x-authenticated-user'] ||= XAuthenticatedUser.new(parent_instance: self, client: @client, create_children: @create_children) end class User < XML::ConfigClass def has_multiple_values?; true; end def _section :user end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def user maybe_register_subclass('user', User.new(parent_instance: self, client: @client, create_children: @create_children)) end class UserGroup < XML::ConfigClass def has_multiple_values?; true; end def _section :'user-group' end class Entry < XML::ConfigClass def has_multiple_values?; true; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'255', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def member prop_get('member') end def member=(val) prop_set('member', val) end end def entry maybe_register_subclass('entry', Entry.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def user_group maybe_register_subclass('user-group', UserGroup.new(parent_instance: self, client: @client, create_children: @create_children)) end class GlobalProtect < ConfigClass def has_multiple_values?; false; end def _section :'global-protect' end class GlobalProtectPortal < XML::ConfigClass def has_multiple_values?; true; end def _section :'global-protect-portal' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class PortalConfig < ConfigClass def has_multiple_values?; false; end def _section :'portal-config' end class LocalAddress < ConfigClass def has_multiple_values?; false; end def _section :'local-address' end class Ip < ConfigClass def has_multiple_values?; false; end def _section :ip end @props = {'ipv4'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'IPv4 addresses'}, 'ipv6'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'IPv6 address'}} # IPv4 addresses def ipv4 prop_get('ipv4') end # IPv4 addresses def ipv4=(val) prop_set('ipv4', val) end # IPv6 address def ipv6 prop_get('ipv6') end # IPv6 address def ipv6=(val) prop_set('ipv6', val) end end def ip @subclasses['ip'] ||= Ip.new(parent_instance: self, client: @client, create_children: @create_children) end class FloatingIp < ConfigClass def has_multiple_values?; false; end def _section :'floating-ip' end @props = {'ipv4'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Floating IPv4 address'}, 'ipv6'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'Floating IPv6 address'}} # Floating IPv4 address def ipv4 prop_get('ipv4') end # Floating IPv4 address def ipv4=(val) prop_set('ipv4', val) end # Floating IPv6 address def ipv6 prop_get('ipv6') end # Floating IPv6 address def ipv6=(val) prop_set('ipv6', val) end end def floating_ip @subclasses['floating-ip'] ||= FloatingIp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'ip-address-family'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'ipv4', 'optional'=>'yes', 'help-string'=>'specify the family of the local address', 'enum'=>[{'value'=>'ipv4', 'help-string'=>'IPv4 Only'}, {'value'=>'ipv6', 'help-string'=>'IPv6 Only'}, {'value'=>'ipv4_ipv6', 'help-string'=>'IPv4 and IPv6'}]}, 'interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'local gateway end-point'}} # specify the family of the local address def ip_address_family prop_get('ip-address-family') end # specify the family of the local address def ip_address_family=(val) prop_set('ip-address-family', val) end # local gateway end-point def interface prop_get('interface') end # local gateway end-point def interface=(val) prop_set('interface', val) end end def local_address @subclasses['local-address'] ||= LocalAddress.new(parent_instance: self, client: @client, create_children: @create_children) end class ClientAuth < XML::ConfigClass def has_multiple_values?; true; end def _section :'client-auth' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'31', 'help-string'=>'GlobalProtect client authentication name'}, 'os'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'Any', 'help-string'=>'Client OS', 'multi-types'=>{'string'=>{'maxlen'=>'31', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'Any'}, {'value'=>'Browser'}, {'value'=>'Satellite'}]}}, 'authentication-profile'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'authentication profile used for this GlobalProtect'}, 'auto-retrieve-passcode'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Automatically retrieve passcode from SoftToken application'}, 'username-label'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'20', 'default'=>'Username', 'optional'=>'yes', 'help-string'=>'Username Label'}, 'password-label'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'20', 'default'=>'Password', 'optional'=>'yes', 'help-string'=>'Password Label'}, 'authentication-message'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256', 'default'=>'Enter login credentials', 'optional'=>'yes', 'help-string'=>'Authentication Message'}, 'user-credential-or-client-cert-required'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Allow Authentication with User Credentials OR Client Certificate', 'enum'=>[{'value'=>'no', 'help-string'=>'No (User Credentials AND Client Certificate Required)'}, {'value'=>'yes', 'help-string'=>'Yes (User Credentials OR Client Certificate Required)'}]}} # GlobalProtect client authentication name def name prop_get('@name') end # Client OS def os prop_get('os') end # Client OS def os=(val) prop_set('os', val) end # authentication profile used for this GlobalProtect def authentication_profile prop_get('authentication-profile') end # authentication profile used for this GlobalProtect def authentication_profile=(val) prop_set('authentication-profile', val) end # Automatically retrieve passcode from SoftToken application def auto_retrieve_passcode prop_get('auto-retrieve-passcode') end # Automatically retrieve passcode from SoftToken application def auto_retrieve_passcode=(val) prop_set('auto-retrieve-passcode', val) end # Username Label def username_label prop_get('username-label') end # Username Label def username_label=(val) prop_set('username-label', val) end # Password Label def password_label prop_get('password-label') end # Password Label def password_label=(val) prop_set('password-label', val) end # Authentication Message def authentication_message prop_get('authentication-message') end # Authentication Message def authentication_message=(val) prop_set('authentication-message', val) end # Allow Authentication with User Credentials OR Client Certificate def user_credential_or_client_cert_required prop_get('user-credential-or-client-cert-required') end # Allow Authentication with User Credentials OR Client Certificate def user_credential_or_client_cert_required=(val) prop_set('user-credential-or-client-cert-required', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def client_auth maybe_register_subclass('client-auth', ClientAuth.new(parent_instance: self, client: @client, create_children: @create_children)) end class ConfigSelection < ConfigClass def has_multiple_values?; false; end def _section :'config-selection' end class CustomChecks < ConfigClass def has_multiple_values?; false; end def _section :'custom-checks' end class Windows < ConfigClass def has_multiple_values?; false; end def _section :windows end class RegistryKey < XML::ConfigClass def has_multiple_values?; true; end def _section :'registry-key' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class RegistryValue < XML::ConfigClass def has_multiple_values?; true; end def _section :'registry-value' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'1023'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def registry_value maybe_register_subclass('registry-value', RegistryValue.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'1023'}} def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def registry_key maybe_register_subclass('registry-key', RegistryKey.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def windows @subclasses['windows'] ||= Windows.new(parent_instance: self, client: @client, create_children: @create_children) end class MacOs < ConfigClass def has_multiple_values?; false; end def _section :'mac-os' end class Plist < XML::ConfigClass def has_multiple_values?; true; end def _section :plist end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Key < XML::ConfigClass def has_multiple_values?; true; end def _section :key end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'1023'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def key maybe_register_subclass('key', Key.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'1023'}} def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def plist maybe_register_subclass('plist', Plist.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def mac_os @subclasses['mac-os'] ||= MacOs.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def custom_checks @subclasses['custom-checks'] ||= CustomChecks.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'certificate-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Profile for authenticating client certificates'}} # Profile for authenticating client certificates def certificate_profile prop_get('certificate-profile') end # Profile for authenticating client certificates def certificate_profile=(val) prop_set('certificate-profile', val) end end def config_selection @subclasses['config-selection'] ||= ConfigSelection.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'ssl-tls-service-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'help-string'=>'SSL TLS service profile'}, 'certificate-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Profile for authenticating client certificates'}, 'custom-login-page'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'default'=>'factory-default'}, 'custom-home-page'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'default'=>'factory-default'}, 'custom-help-page'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes'}, 'log-success'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Log successful TLS handshakes'}, 'log-fail'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'optional'=>'yes', 'help-string'=>'Log unsuccessful TLS handshakes'}, 'log-setting'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'maxlen'=>'63', 'optional'=>'yes'}} # SSL TLS service profile def ssl_tls_service_profile prop_get('ssl-tls-service-profile') end # SSL TLS service profile def ssl_tls_service_profile=(val) prop_set('ssl-tls-service-profile', val) end # Profile for authenticating client certificates def certificate_profile prop_get('certificate-profile') end # Profile for authenticating client certificates def certificate_profile=(val) prop_set('certificate-profile', val) end def custom_login_page prop_get('custom-login-page') end def custom_login_page=(val) prop_set('custom-login-page', val) end def custom_home_page prop_get('custom-home-page') end def custom_home_page=(val) prop_set('custom-home-page', val) end def custom_help_page prop_get('custom-help-page') end def custom_help_page=(val) prop_set('custom-help-page', val) end # Log successful TLS handshakes def log_success prop_get('log-success') end # Log successful TLS handshakes def log_success=(val) prop_set('log-success', val) end # Log unsuccessful TLS handshakes def log_fail prop_get('log-fail') end # Log unsuccessful TLS handshakes def log_fail=(val) prop_set('log-fail', val) end def log_setting prop_get('log-setting') end def log_setting=(val) prop_set('log-setting', val) end end def portal_config @subclasses['portal-config'] ||= PortalConfig.new(parent_instance: self, client: @client, create_children: @create_children) end class ClientlessVpn < ConfigClass def has_multiple_values?; false; end def _section :'clientless-vpn' end class LoginLifetime < XML::ConfigClass def has_multiple_values?; true; end def _section :'login-lifetime' end @props = {'minutes'=>{'node-type'=>'element', 'help-string'=>'specify lifetime in minutes', 'type'=>'rangedint', 'max'=>'1440', 'min'=>'60'}, 'hours'=>{'node-type'=>'element', 'help-string'=>'specify lifetime in hours', 'type'=>'rangedint', 'max'=>'24', 'min'=>'1', 'default'=>'3'}} # specify lifetime in minutes def minutes prop_get('minutes') end # specify lifetime in minutes def minutes=(val) prop_set('minutes', val) end # specify lifetime in hours def hours prop_get('hours') end # specify lifetime in hours def hours=(val) prop_set('hours', val) end end def login_lifetime maybe_register_subclass('login-lifetime', LoginLifetime.new(parent_instance: self, client: @client, create_children: @create_children)) end class InactivityLogout < XML::ConfigClass def has_multiple_values?; true; end def _section :'inactivity-logout' end @props = {'minutes'=>{'node-type'=>'element', 'help-string'=>'specify inactivity time in minutes', 'type'=>'rangedint', 'max'=>'1440', 'min'=>'5', 'default'=>'30'}, 'hours'=>{'node-type'=>'element', 'help-string'=>'specify inactivity time in hours', 'type'=>'rangedint', 'max'=>'24', 'min'=>'1'}} # specify inactivity time in minutes def minutes prop_get('minutes') end # specify inactivity time in minutes def minutes=(val) prop_set('minutes', val) end # specify inactivity time in hours def hours prop_get('hours') end # specify inactivity time in hours def hours=(val) prop_set('hours', val) end end def inactivity_logout maybe_register_subclass('inactivity-logout', InactivityLogout.new(parent_instance: self, client: @client, create_children: @create_children)) end class CryptoSettings < ConfigClass def has_multiple_values?; false; end def _section :'crypto-settings' end class SslProtocol < ConfigClass def has_multiple_values?; false; end def _section :'ssl-protocol' end @props = {'min-version'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'tls1-0', 'enum'=>[{'value'=>'sslv3', 'prune-on'=>'fips-mode', 'help-string'=>'SSLv3.0'}, {'value'=>'tls1-0', 'help-string'=>'TLSv1.0'}, {'value'=>'tls1-1', 'help-string'=>'TLSv1.1'}, {'value'=>'tls1-2', 'help-string'=>'TLSv1.2'}]}, 'max-version'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'max', 'enum'=>[{'value'=>'sslv3', 'prune-on'=>'fips-mode', 'help-string'=>'SSLv3.0'}, {'value'=>'tls1-0', 'help-string'=>'TLSv1.0'}, {'value'=>'tls1-1', 'help-string'=>'TLSv1.1'}, {'value'=>'tls1-2', 'help-string'=>'TLSv1.2'}, {'value'=>'max', 'help-string'=>'Max'}]}, 'keyxchg-algo-rsa'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm RSA'}, 'keyxchg-algo-dhe'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm DHE'}, 'keyxchg-algo-ecdhe'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm ECDHE'}, 'enc-algo-3des'=>{'node-type'=>'element', 'type'=>'bool', 'prune-on'=>'fips-mode', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm 3DES'}, 'enc-algo-rc4'=>{'node-type'=>'element', 'type'=>'bool', 'prune-on'=>'fips-mode', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm RC4'}, 'enc-algo-aes-128-cbc'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm AES-128-CBC'}, 'enc-algo-aes-256-cbc'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm AES-256-CBC'}, 'enc-algo-aes-128-gcm'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm AES-128-GCM'}, 'enc-algo-aes-256-gcm'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow algorithm AES-256-GCM'}, 'auth-algo-md5'=>{'node-type'=>'element', 'prune-on'=>'fips-mode', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Allow authentication MD5'}, 'auth-algo-sha1'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow authentication SHA1'}, 'auth-algo-sha256'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow authentication SHA256'}, 'auth-algo-sha384'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Allow authentication SHA384'}} def min_version prop_get('min-version') end def min_version=(val) prop_set('min-version', val) end def max_version prop_get('max-version') end def max_version=(val) prop_set('max-version', val) end # Allow algorithm RSA def keyxchg_algo_rsa prop_get('keyxchg-algo-rsa') end # Allow algorithm RSA def keyxchg_algo_rsa=(val) prop_set('keyxchg-algo-rsa', val) end # Allow algorithm DHE def keyxchg_algo_dhe prop_get('keyxchg-algo-dhe') end # Allow algorithm DHE def keyxchg_algo_dhe=(val) prop_set('keyxchg-algo-dhe', val) end # Allow algorithm ECDHE def keyxchg_algo_ecdhe prop_get('keyxchg-algo-ecdhe') end # Allow algorithm ECDHE def keyxchg_algo_ecdhe=(val) prop_set('keyxchg-algo-ecdhe', val) end # Allow algorithm 3DES def enc_algo_3des prop_get('enc-algo-3des') end # Allow algorithm 3DES def enc_algo_3des=(val) prop_set('enc-algo-3des', val) end # Allow algorithm RC4 def enc_algo_rc4 prop_get('enc-algo-rc4') end # Allow algorithm RC4 def enc_algo_rc4=(val) prop_set('enc-algo-rc4', val) end # Allow algorithm AES-128-CBC def enc_algo_aes_128_cbc prop_get('enc-algo-aes-128-cbc') end # Allow algorithm AES-128-CBC def enc_algo_aes_128_cbc=(val) prop_set('enc-algo-aes-128-cbc', val) end # Allow algorithm AES-256-CBC def enc_algo_aes_256_cbc prop_get('enc-algo-aes-256-cbc') end # Allow algorithm AES-256-CBC def enc_algo_aes_256_cbc=(val) prop_set('enc-algo-aes-256-cbc', val) end # Allow algorithm AES-128-GCM def enc_algo_aes_128_gcm prop_get('enc-algo-aes-128-gcm') end # Allow algorithm AES-128-GCM def enc_algo_aes_128_gcm=(val) prop_set('enc-algo-aes-128-gcm', val) end # Allow algorithm AES-256-GCM def enc_algo_aes_256_gcm prop_get('enc-algo-aes-256-gcm') end # Allow algorithm AES-256-GCM def enc_algo_aes_256_gcm=(val) prop_set('enc-algo-aes-256-gcm', val) end # Allow authentication MD5 def auth_algo_md5 prop_get('auth-algo-md5') end # Allow authentication MD5 def auth_algo_md5=(val) prop_set('auth-algo-md5', val) end # Allow authentication SHA1 def auth_algo_sha1 prop_get('auth-algo-sha1') end # Allow authentication SHA1 def auth_algo_sha1=(val) prop_set('auth-algo-sha1', val) end # Allow authentication SHA256 def auth_algo_sha256 prop_get('auth-algo-sha256') end # Allow authentication SHA256 def auth_algo_sha256=(val) prop_set('auth-algo-sha256', val) end # Allow authentication SHA384 def auth_algo_sha384 prop_get('auth-algo-sha384') end # Allow authentication SHA384 def auth_algo_sha384=(val) prop_set('auth-algo-sha384', val) end end def ssl_protocol @subclasses['ssl-protocol'] ||= SslProtocol.new(parent_instance: self, client: @client, create_children: @create_children) end class ServerCertVerification < ConfigClass def has_multiple_values?; false; end def _section :'server-cert-verification' end @props = {'block-expired-certificate'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'whether to block sessions if server\'s certificate is expired'}, 'block-untrusted-issuer'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'whether to block sessions if server\'s certificate is issued by untrusted CA'}, 'block-unknown-cert'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'whether to block a session if cert. status is unknown'}, 'block-timeout-cert'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'whether to block a session if cert. status can\'t be retrieved within timeout'}} # whether to block sessions if server's certificate is expired def block_expired_certificate prop_get('block-expired-certificate') end # whether to block sessions if server's certificate is expired def block_expired_certificate=(val) prop_set('block-expired-certificate', val) end # whether to block sessions if server's certificate is issued by untrusted CA def block_untrusted_issuer prop_get('block-untrusted-issuer') end # whether to block sessions if server's certificate is issued by untrusted CA def block_untrusted_issuer=(val) prop_set('block-untrusted-issuer', val) end # whether to block a session if cert. status is unknown def block_unknown_cert prop_get('block-unknown-cert') end # whether to block a session if cert. status is unknown def block_unknown_cert=(val) prop_set('block-unknown-cert', val) end # whether to block a session if cert. status can't be retrieved within timeout def block_timeout_cert prop_get('block-timeout-cert') end # whether to block a session if cert. status can't be retrieved within timeout def block_timeout_cert=(val) prop_set('block-timeout-cert', val) end end def server_cert_verification @subclasses['server-cert-verification'] ||= ServerCertVerification.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def crypto_settings @subclasses['crypto-settings'] ||= CryptoSettings.new(parent_instance: self, client: @client, create_children: @create_children) end class RewriteExcludeDomainList < XML::ConfigClass def has_multiple_values?; true; end def _section :'rewrite-exclude-domain-list' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'256', 'help-string'=>'domain name which can start with *.', 'max-count'=>'200'}} # domain name which can start with *. def member prop_get('member') end # domain name which can start with *. def member=(val) prop_set('member', val) end end def rewrite_exclude_domain_list maybe_register_subclass('rewrite-exclude-domain-list', RewriteExcludeDomainList.new(parent_instance: self, client: @client, create_children: @create_children)) end class AppsToUserMapping < XML::ConfigClass def has_multiple_values?; true; end def _section :'apps-to-user-mapping' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SourceUser < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-user' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'1023', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any user'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_user maybe_register_subclass('source-user', SourceUser.new(parent_instance: self, client: @client, create_children: @create_children)) end class Applications < XML::ConfigClass def has_multiple_values?; true; end def _section :applications end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Global protect clientless app or app-group'}} # Global protect clientless app or app-group def member prop_get('member') end # Global protect clientless app or app-group def member=(val) prop_set('member', val) end end def applications maybe_register_subclass('applications', Applications.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'31', 'help-string'=>'GlobalProtect user to app mappings'}, 'enable-custom-app-URL-address-bar'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'URL browse bar to access unpublished clientless VPN applications'}, 'display-global-protect-agent-download-link'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Display Global Protect Agent download link'}} # GlobalProtect user to app mappings def name prop_get('@name') end # URL browse bar to access unpublished clientless VPN applications def enable_custom_app_URL_address_bar prop_get('enable-custom-app-URL-address-bar') end # URL browse bar to access unpublished clientless VPN applications def enable_custom_app_URL_address_bar=(val) prop_set('enable-custom-app-URL-address-bar', val) end # Display Global Protect Agent download link def display_global_protect_agent_download_link prop_get('display-global-protect-agent-download-link') end # Display Global Protect Agent download link def display_global_protect_agent_download_link=(val) prop_set('display-global-protect-agent-download-link', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def apps_to_user_mapping maybe_register_subclass('apps-to-user-mapping', AppsToUserMapping.new(parent_instance: self, client: @client, create_children: @create_children)) end class ProxyServerSetting < XML::ConfigClass def has_multiple_values?; true; end def _section :'proxy-server-setting' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Domains < XML::ConfigClass def has_multiple_values?; true; end def _section :domains end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'256', 'help-string'=>'domain name which can start with *.', 'max-count'=>'50'}} # domain name which can start with *. def member prop_get('member') end # domain name which can start with *. def member=(val) prop_set('member', val) end end def domains maybe_register_subclass('domains', Domains.new(parent_instance: self, client: @client, create_children: @create_children)) end class ProxyServer < ConfigClass def has_multiple_values?; false; end def _section :'proxy-server' end @props = {'server'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([$0-9a-zA-Z.:/_-])+$', 'maxlen'=>'63', 'help-string'=>'Proxy server to use'}, 'port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Port for proxy server'}, 'user'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'255', 'help-string'=>'Proxy user name to use'}, 'password'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'255', 'encrypt'=>'yes', 'help-string'=>'Proxy password to use'}} # Proxy server to use def server prop_get('server') end # Proxy server to use def server=(val) prop_set('server', val) end # Port for proxy server def port prop_get('port') end # Port for proxy server def port=(val) prop_set('port', val) end # Proxy user name to use def user prop_get('user') end # Proxy user name to use def user=(val) prop_set('user', val) end # Proxy password to use def password prop_get('password') end # Proxy password to use def password=(val) prop_set('password', val) end end def proxy_server @subclasses['proxy-server'] ||= ProxyServer.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'31', 'help-string'=>'Clientless VPN Proxy setting'}, 'use-proxy'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Whether to use proxy server'}} # Clientless VPN Proxy setting def name prop_get('@name') end # Whether to use proxy server def use_proxy prop_get('use-proxy') end # Whether to use proxy server def use_proxy=(val) prop_set('use-proxy', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def proxy_server_setting maybe_register_subclass('proxy-server-setting', ProxyServerSetting.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'hostname'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[$a-zA-Z0-9._-]+$', 'maxlen'=>'255', 'help-string'=>'FQDN or IP address of GlobalProtect Portal'}, 'security-zone'=>{'node-type'=>'element', 'maxlen'=>'31', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Zone to be used for clientless-vpn traffic'}, 'max-user'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'1', 'max'=>'30000', 'platform-max'=>'cfg.general.max-sslvpn-ck-cache-size-mp', 'help-string'=>'max number of concurrent logined users to GlobalProtect portal'}, 'dns-proxy'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'DNS proxy object used for resolving clientless-vpn application hostnames'}} # FQDN or IP address of GlobalProtect Portal def hostname prop_get('hostname') end # FQDN or IP address of GlobalProtect Portal def hostname=(val) prop_set('hostname', val) end # Zone to be used for clientless-vpn traffic def security_zone prop_get('security-zone') end # Zone to be used for clientless-vpn traffic def security_zone=(val) prop_set('security-zone', val) end # max number of concurrent logined users to GlobalProtect portal def max_user prop_get('max-user') end # max number of concurrent logined users to GlobalProtect portal def max_user=(val) prop_set('max-user', val) end # DNS proxy object used for resolving clientless-vpn application hostnames def dns_proxy prop_get('dns-proxy') end # DNS proxy object used for resolving clientless-vpn application hostnames def dns_proxy=(val) prop_set('dns-proxy', val) end end def clientless_vpn @subclasses['clientless-vpn'] ||= ClientlessVpn.new(parent_instance: self, client: @client, create_children: @create_children) end class ClientConfig < ConfigClass def has_multiple_values?; false; end def _section :'client-config' end class RootCa < XML::ConfigClass def has_multiple_values?; true; end def _section :'root-ca' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'CA cert', 'maxlen'=>'255'}, 'install-in-cert-store'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Install in Trusted CA Certificate Store'}} # CA cert def name prop_get('@name') end # Install in Trusted CA Certificate Store def install_in_cert_store prop_get('install-in-cert-store') end # Install in Trusted CA Certificate Store def install_in_cert_store=(val) prop_set('install-in-cert-store', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def root_ca maybe_register_subclass('root-ca', RootCa.new(parent_instance: self, client: @client, create_children: @create_children)) end class Configs < XML::ConfigClass def has_multiple_values?; true; end def _section :configs end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SourceUser < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-user' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'1023', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any user'}, {'value'=>'pre-logon', 'help-string'=>'prelogon client machine'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_user maybe_register_subclass('source-user', SourceUser.new(parent_instance: self, client: @client, create_children: @create_children)) end class Certificate < ConfigClass def has_multiple_values?; false; end def _section :certificate end class Criteria < ConfigClass def has_multiple_values?; false; end def _section :criteria end @props = {'certificate-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Profile for authenticating client certificates'}} # Profile for authenticating client certificates def certificate_profile prop_get('certificate-profile') end # Profile for authenticating client certificates def certificate_profile=(val) prop_set('certificate-profile', val) end end def criteria @subclasses['criteria'] ||= Criteria.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def certificate @subclasses['certificate'] ||= Certificate.new(parent_instance: self, client: @client, create_children: @create_children) end class CustomChecks < ConfigClass def has_multiple_values?; false; end def _section :'custom-checks' end class Criteria < ConfigClass def has_multiple_values?; false; end def _section :criteria end class RegistryKey < XML::ConfigClass def has_multiple_values?; true; end def _section :'registry-key' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class RegistryValue < XML::ConfigClass def has_multiple_values?; true; end def _section :'registry-value' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'1023', 'regex'=>'.*', 'help-string'=>'Registry value name'}, 'value-data'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'1024', 'help-string'=>'Registry value data'}, 'negate'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Value does not exist'}} # Registry value name def name prop_get('@name') end # Registry value data def value_data prop_get('value-data') end # Registry value data def value_data=(val) prop_set('value-data', val) end # Value does not exist def negate prop_get('negate') end # Value does not exist def negate=(val) prop_set('negate', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def registry_value maybe_register_subclass('registry-value', RegistryValue.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'1023', 'regex'=>'.*', 'help-string'=>'Registry key'}, 'default-value-data'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'1024', 'help-string'=>'Registry key default value data'}, 'negate'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Key does not exist'}} # Registry key def name prop_get('@name') end # Registry key default value data def default_value_data prop_get('default-value-data') end # Registry key default value data def default_value_data=(val) prop_set('default-value-data', val) end # Key does not exist def negate prop_get('negate') end # Key does not exist def negate=(val) prop_set('negate', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def registry_key maybe_register_subclass('registry-key', RegistryKey.new(parent_instance: self, client: @client, create_children: @create_children)) end class Plist < XML::ConfigClass def has_multiple_values?; true; end def _section :plist end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Key < XML::ConfigClass def has_multiple_values?; true; end def _section :key end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'1023', 'regex'=>'.*', 'help-string'=>'Key name'}, 'value'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'1024', 'help-string'=>'Key value'}, 'negate'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Value does not exist or match specified value data'}} # Key name def name prop_get('@name') end # Key value def value prop_get('value') end # Key value def value=(val) prop_set('value', val) end # Value does not exist or match specified value data def negate prop_get('negate') end # Value does not exist or match specified value data def negate=(val) prop_set('negate', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def key maybe_register_subclass('key', Key.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'1023', 'regex'=>'.*', 'help-string'=>'Preference list'}, 'negate'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Plist does not exist'}} # Preference list def name prop_get('@name') end # Plist does not exist def negate prop_get('negate') end # Plist does not exist def negate=(val) prop_set('negate', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def plist maybe_register_subclass('plist', Plist.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def criteria @subclasses['criteria'] ||= Criteria.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def custom_checks @subclasses['custom-checks'] ||= CustomChecks.new(parent_instance: self, client: @client, create_children: @create_children) end class MachineAccountExistsWithSerialno < XML::ConfigClass def has_multiple_values?; true; end def _section :'machine-account-exists-with-serialno' end class No < ConfigClass def has_multiple_values?; false; end def _section :no end @props = {} end def no @subclasses['no'] ||= No.new(parent_instance: self, client: @client, create_children: @create_children) end class Yes < ConfigClass def has_multiple_values?; false; end def _section :yes end @props = {} end def yes @subclasses['yes'] ||= Yes.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def machine_account_exists_with_serialno maybe_register_subclass('machine-account-exists-with-serialno', MachineAccountExistsWithSerialno.new(parent_instance: self, client: @client, create_children: @create_children)) end class Gateways < ConfigClass def has_multiple_values?; false; end def _section :gateways end class Internal < ConfigClass def has_multiple_values?; false; end def _section :internal end class List < XML::ConfigClass def has_multiple_values?; true; end def _section :list end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Ip < ConfigClass def has_multiple_values?; false; end def _section :ip end @props = {'ipv4'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'100', 'help-string'=>'IPv4'}, 'ipv6'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'100', 'help-string'=>'IPv6'}} # IPv4 def ipv4 prop_get('ipv4') end # IPv4 def ipv4=(val) prop_set('ipv4', val) end # IPv6 def ipv6 prop_get('ipv6') end # IPv6 def ipv6=(val) prop_set('ipv6', val) end end def ip @subclasses['ip'] ||= Ip.new(parent_instance: self, client: @client, create_children: @create_children) end class SourceIp < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-ip' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes'}, 'iprangespec'=>{}, 'string'=>{'maxlen'=>'63', 'loose-membership'=>'yes'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_ip maybe_register_subclass('source-ip', SourceIp.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'255', 'help-string'=>'description of the gateway'}, 'fqdn'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'regex'=>'^([$:/a-zA-Z0-9._-])+$', 'help-string'=>'fqdn'}} # description of the gateway def name prop_get('@name') end # fqdn def fqdn prop_get('fqdn') end # fqdn def fqdn=(val) prop_set('fqdn', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def list maybe_register_subclass('list', List.new(parent_instance: self, client: @client, create_children: @create_children)) end class DhcpOptionCode < XML::ConfigClass def has_multiple_values?; true; end def _section :'dhcp-option-code' end @props = {'member'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'254'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def dhcp_option_code maybe_register_subclass('dhcp-option-code', DhcpOptionCode.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def internal @subclasses['internal'] ||= Internal.new(parent_instance: self, client: @client, create_children: @create_children) end class External < ConfigClass def has_multiple_values?; false; end def _section :external end class List < XML::ConfigClass def has_multiple_values?; true; end def _section :list end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Ip < ConfigClass def has_multiple_values?; false; end def _section :ip end @props = {'ipv4'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'100', 'help-string'=>'IPv4'}, 'ipv6'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'100', 'help-string'=>'IPv6'}} # IPv4 def ipv4 prop_get('ipv4') end # IPv4 def ipv4=(val) prop_set('ipv4', val) end # IPv6 def ipv6 prop_get('ipv6') end # IPv6 def ipv6=(val) prop_set('ipv6', val) end end def ip @subclasses['ip'] ||= Ip.new(parent_instance: self, client: @client, create_children: @create_children) end class PriorityRule < XML::ConfigClass def has_multiple_values?; true; end def _section :'priority-rule' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'help-string'=>'Region name'}, 'priority'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'1', 'help-string'=>'Priority of GlobalProtect gateway', 'enum'=>[{'value'=>'0', 'help-string'=>'Manual only'}, {'value'=>'1', 'help-string'=>'Highest'}, {'value'=>'2', 'help-string'=>'High'}, {'value'=>'3', 'help-string'=>'Medium'}, {'value'=>'4', 'help-string'=>'Low'}, {'value'=>'5', 'help-string'=>'Lowest'}]}} # Region name def name prop_get('@name') end # Priority of GlobalProtect gateway def priority prop_get('priority') end # Priority of GlobalProtect gateway def priority=(val) prop_set('priority', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def priority_rule maybe_register_subclass('priority-rule', PriorityRule.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'255', 'regex'=>'^[^;|`&\'"<>[:cntrl:]]+$', 'help-string'=>'description of the gateway'}, 'fqdn'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'regex'=>'^([$:/a-zA-Z0-9._-])+$', 'help-string'=>'fqdn'}, 'manual'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'If this GlobalProtect gateway can be manually selected'}} # description of the gateway def name prop_get('@name') end # fqdn def fqdn prop_get('fqdn') end # fqdn def fqdn=(val) prop_set('fqdn', val) end # If this GlobalProtect gateway can be manually selected def manual prop_get('manual') end # If this GlobalProtect gateway can be manually selected def manual=(val) prop_set('manual', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def list maybe_register_subclass('list', List.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'cutoff-time'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'default'=>'5', 'max'=>'10', 'optional'=>'yes', 'help-string'=>'Gateway discovery cutoff time in seconds'}} # Gateway discovery cutoff time in seconds def cutoff_time prop_get('cutoff-time') end # Gateway discovery cutoff time in seconds def cutoff_time=(val) prop_set('cutoff-time', val) end end def external @subclasses['external'] ||= External.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def gateways @subclasses['gateways'] ||= Gateways.new(parent_instance: self, client: @client, create_children: @create_children) end class InternalHostDetection < ConfigClass def has_multiple_values?; false; end def _section :'internal-host-detection' end @props = {'ip-address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Internal IPv4 address of a host', 'multi-types'=>{'ipspec'=>{'ipv4-only'=>'yes', 'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'hostname'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^[$a-zA-Z0-9._-]+$', 'maxlen'=>'256', 'help-string'=>'Host name of the IPv4 in DNS record'}} # Internal IPv4 address of a host def ip_address prop_get('ip-address') end # Internal IPv4 address of a host def ip_address=(val) prop_set('ip-address', val) end # Host name of the IPv4 in DNS record def hostname prop_get('hostname') end # Host name of the IPv4 in DNS record def hostname=(val) prop_set('hostname', val) end end def internal_host_detection @subclasses['internal-host-detection'] ||= InternalHostDetection.new(parent_instance: self, client: @client, create_children: @create_children) end class InternalHostDetectionV6 < ConfigClass def has_multiple_values?; false; end def _section :'internal-host-detection-v6' end @props = {'ip-address'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'Internal IPv6 address of a host', 'multi-types'=>{'ipspec'=>{'ipv6-only'=>'yes', 'unicast-only'=>'yes'}, 'string'=>{'maxlen'=>'63'}}}, 'hostname'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^[$a-zA-Z0-9._-]+$', 'maxlen'=>'256', 'help-string'=>'Host name of the IPv6 in DNS record'}} # Internal IPv6 address of a host def ip_address prop_get('ip-address') end # Internal IPv6 address of a host def ip_address=(val) prop_set('ip-address', val) end # Host name of the IPv6 in DNS record def hostname prop_get('hostname') end # Host name of the IPv6 in DNS record def hostname=(val) prop_set('hostname', val) end end def internal_host_detection_v6 @subclasses['internal-host-detection-v6'] ||= InternalHostDetectionV6.new(parent_instance: self, client: @client, create_children: @create_children) end class AgentUi < ConfigClass def has_multiple_values?; false; end def _section :'agent-ui' end class WelcomePage < ConfigClass def has_multiple_values?; false; end def _section :'welcome-page' end @props = {'page'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes'}} def page prop_get('page') end def page=(val) prop_set('page', val) end end def welcome_page @subclasses['welcome-page'] ||= WelcomePage.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'passcode'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'encrypt'=>'yes', 'minlen'=>'6', 'maxlen'=>'64', 'help-string'=>'Passcode required for override'}, 'uninstall-password'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'encrypt'=>'yes', 'minlen'=>'6', 'maxlen'=>'32', 'help-string'=>'Password to uninstall GlobalProtect app'}, 'agent-user-override-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'default'=>'0', 'help-string'=>'Agent user override duration in minutes'}, 'max-agent-user-overrides'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'default'=>'0', 'help-string'=>'Max agent user overrides'}} # Passcode required for override def passcode prop_get('passcode') end # Passcode required for override def passcode=(val) prop_set('passcode', val) end # Password to uninstall GlobalProtect app def uninstall_password prop_get('uninstall-password') end # Password to uninstall GlobalProtect app def uninstall_password=(val) prop_set('uninstall-password', val) end # Agent user override duration in minutes def agent_user_override_timeout prop_get('agent-user-override-timeout') end # Agent user override duration in minutes def agent_user_override_timeout=(val) prop_set('agent-user-override-timeout', val) end # Max agent user overrides def max_agent_user_overrides prop_get('max-agent-user-overrides') end # Max agent user overrides def max_agent_user_overrides=(val) prop_set('max-agent-user-overrides', val) end end def agent_ui @subclasses['agent-ui'] ||= AgentUi.new(parent_instance: self, client: @client, create_children: @create_children) end class HipCollection < ConfigClass def has_multiple_values?; false; end def _section :'hip-collection' end class Exclusion < ConfigClass def has_multiple_values?; false; end def _section :exclusion end class Category < XML::ConfigClass def has_multiple_values?; true; end def _section :category end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Vendor < XML::ConfigClass def has_multiple_values?; true; end def _section :vendor end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Product < XML::ConfigClass def has_multiple_values?; true; end def _section :product end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'1023'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def product maybe_register_subclass('product', Product.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'1023'}} def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vendor maybe_register_subclass('vendor', Vendor.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'31'}} def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def category maybe_register_subclass('category', Category.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def exclusion @subclasses['exclusion'] ||= Exclusion.new(parent_instance: self, client: @client, create_children: @create_children) end class CustomChecks < ConfigClass def has_multiple_values?; false; end def _section :'custom-checks' end class Windows < ConfigClass def has_multiple_values?; false; end def _section :windows end class RegistryKey < XML::ConfigClass def has_multiple_values?; true; end def _section :'registry-key' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class RegistryValue < XML::ConfigClass def has_multiple_values?; true; end def _section :'registry-value' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'1023'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def registry_value maybe_register_subclass('registry-value', RegistryValue.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'1023'}} def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def registry_key maybe_register_subclass('registry-key', RegistryKey.new(parent_instance: self, client: @client, create_children: @create_children)) end class ProcessList < XML::ConfigClass def has_multiple_values?; true; end def _section :'process-list' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'1023', 'max-count'=>'1024'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def process_list maybe_register_subclass('process-list', ProcessList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def windows @subclasses['windows'] ||= Windows.new(parent_instance: self, client: @client, create_children: @create_children) end class MacOs < ConfigClass def has_multiple_values?; false; end def _section :'mac-os' end class Plist < XML::ConfigClass def has_multiple_values?; true; end def _section :plist end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Key < XML::ConfigClass def has_multiple_values?; true; end def _section :key end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'1023'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def key maybe_register_subclass('key', Key.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'1023'}} def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def plist maybe_register_subclass('plist', Plist.new(parent_instance: self, client: @client, create_children: @create_children)) end class ProcessList < XML::ConfigClass def has_multiple_values?; true; end def _section :'process-list' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'1023', 'max-count'=>'1024'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def process_list maybe_register_subclass('process-list', ProcessList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def mac_os @subclasses['mac-os'] ||= MacOs.new(parent_instance: self, client: @client, create_children: @create_children) end class Linux < ConfigClass def has_multiple_values?; false; end def _section :linux end class ProcessList < XML::ConfigClass def has_multiple_values?; true; end def _section :'process-list' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'1023', 'max-count'=>'1024'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def process_list maybe_register_subclass('process-list', ProcessList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def linux @subclasses['linux'] ||= Linux.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def custom_checks @subclasses['custom-checks'] ||= CustomChecks.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'certificate-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Profile for authenticating client certificates'}, 'max-wait-time'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'10', 'max'=>'60', 'default'=>'20', 'optional'=>'yes', 'help-string'=>'Max Wait Time (Sec)'}, 'collect-hip-data'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'optional'=>'yes', 'help-string'=>'Collect HIP Data'}} # Profile for authenticating client certificates def certificate_profile prop_get('certificate-profile') end # Profile for authenticating client certificates def certificate_profile=(val) prop_set('certificate-profile', val) end # Max Wait Time (Sec) def max_wait_time prop_get('max-wait-time') end # Max Wait Time (Sec) def max_wait_time=(val) prop_set('max-wait-time', val) end # Collect HIP Data def collect_hip_data prop_get('collect-hip-data') end # Collect HIP Data def collect_hip_data=(val) prop_set('collect-hip-data', val) end end def hip_collection @subclasses['hip-collection'] ||= HipCollection.new(parent_instance: self, client: @client, create_children: @create_children) end class ThirdPartyVpnClients < XML::ConfigClass def has_multiple_values?; true; end def _section :'third-party-vpn-clients' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'63'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def third_party_vpn_clients maybe_register_subclass('third-party-vpn-clients', ThirdPartyVpnClients.new(parent_instance: self, client: @client, create_children: @create_children)) end class AgentConfig < ConfigClass def has_multiple_values?; false; end def _section :'agent-config' end @props = {} end def agent_config @subclasses['agent-config'] ||= AgentConfig.new(parent_instance: self, client: @client, create_children: @create_children) end class GpAppConfig < ConfigClass def has_multiple_values?; false; end def _section :'gp-app-config' end class Config < XML::ConfigClass def has_multiple_values?; true; end def _section :config end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Value < XML::ConfigClass def has_multiple_values?; true; end def _section :value end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'174762'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def value maybe_register_subclass('value', Value.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'127'}} def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def config maybe_register_subclass('config', Config.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def gp_app_config @subclasses['gp-app-config'] ||= GpAppConfig.new(parent_instance: self, client: @client, create_children: @create_children) end class Os < XML::ConfigClass def has_multiple_values?; true; end def _section :os end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'any'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def os maybe_register_subclass('os', Os.new(parent_instance: self, client: @client, create_children: @create_children)) end class ClientCertificate < XML::ConfigClass def has_multiple_values?; true; end def _section :'client-certificate' end @props = {'local'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Select Client Certificate', 'maxlen'=>'255'}, 'scep'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'255'}} # Select Client Certificate def local prop_get('local') end # Select Client Certificate def local=(val) prop_set('local', val) end def scep prop_get('scep') end def scep=(val) prop_set('scep', val) end end def client_certificate maybe_register_subclass('client-certificate', ClientCertificate.new(parent_instance: self, client: @client, create_children: @create_children)) end class AuthenticationOverride < ConfigClass def has_multiple_values?; false; end def _section :'authentication-override' end class AcceptCookie < ConfigClass def has_multiple_values?; false; end def _section :'accept-cookie' end class CookieLifetime < XML::ConfigClass def has_multiple_values?; true; end def _section :'cookie-lifetime' end @props = {'lifetime-in-days'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'365', 'default'=>'365', 'optional'=>'yes', 'help-string'=>'Cookie lifetime in days', 'uiHint-fieldLabel'=>'Days'}, 'lifetime-in-hours'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'72', 'default'=>'24', 'optional'=>'yes', 'help-string'=>'Cookie lifetime in hours', 'uiHint-fieldLabel'=>'Hours'}, 'lifetime-in-minutes'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'59', 'default'=>'5', 'optional'=>'yes', 'help-string'=>'Cookie lifetime in minutes', 'uiHint-fieldLabel'=>'Minutes'}} # Cookie lifetime in days def lifetime_in_days prop_get('lifetime-in-days') end # Cookie lifetime in days def lifetime_in_days=(val) prop_set('lifetime-in-days', val) end # Cookie lifetime in hours def lifetime_in_hours prop_get('lifetime-in-hours') end # Cookie lifetime in hours def lifetime_in_hours=(val) prop_set('lifetime-in-hours', val) end # Cookie lifetime in minutes def lifetime_in_minutes prop_get('lifetime-in-minutes') end # Cookie lifetime in minutes def lifetime_in_minutes=(val) prop_set('lifetime-in-minutes', val) end end def cookie_lifetime maybe_register_subclass('cookie-lifetime', CookieLifetime.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def accept_cookie @subclasses['accept-cookie'] ||= AcceptCookie.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'generate-cookie'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Generate cookie for authentication override'}, 'cookie-encrypt-decrypt-cert'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Certificate to Encrypt/Decrypt Cookie', 'maxlen'=>'255', 'uiHint-fieldLabel'=>'Certificate to Encrypt/Decrypt cookie'}} # Generate cookie for authentication override def generate_cookie prop_get('generate-cookie') end # Generate cookie for authentication override def generate_cookie=(val) prop_set('generate-cookie', val) end # Certificate to Encrypt/Decrypt Cookie def cookie_encrypt_decrypt_cert prop_get('cookie-encrypt-decrypt-cert') end # Certificate to Encrypt/Decrypt Cookie def cookie_encrypt_decrypt_cert=(val) prop_set('cookie-encrypt-decrypt-cert', val) end end def authentication_override @subclasses['authentication-override'] ||= AuthenticationOverride.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'save-user-credentials'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'1', 'optional'=>'yes', 'help-string'=>'Save User Credentials', 'enum'=>[{'value'=>'0', 'help-string'=>'No'}, {'value'=>'1', 'help-string'=>'Yes'}, {'value'=>'2', 'help-string'=>'Save Username Only'}, {'value'=>'3', 'help-string'=>'Only with User Fingerprint'}]}, 'portal-2fa'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Portal Authentication OTP'}, 'internal-gateway-2fa'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Internal Gateway Authentication OTP'}, 'auto-discovery-external-gateway-2fa'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Auto Discovery External Gateway Authentication OTP'}, 'manual-only-gateway-2fa'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Manual Only External Gateway Authentication OTP'}, '@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'31', 'help-string'=>'GlobalProtect client configurations'}, 'refresh-config'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'optional'=>'yes', 'help-string'=>'Enable portal config refresh'}, 'mdm-address'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'regex'=>'^([a-zA-Z0-9._-])+$', 'optional'=>'yes', 'help-string'=>'IP address or hostname for GlobalProtect MDM server'}, 'mdm-enrollment-port'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'443', 'help-string'=>'MDM enrollment port', 'enum'=>[{'value'=>'443'}, {'value'=>'7443'}, {'value'=>'8443'}]}} # Save User Credentials def save_user_credentials prop_get('save-user-credentials') end # Save User Credentials def save_user_credentials=(val) prop_set('save-user-credentials', val) end # Portal Authentication OTP def portal_2fa prop_get('portal-2fa') end # Portal Authentication OTP def portal_2fa=(val) prop_set('portal-2fa', val) end # Internal Gateway Authentication OTP def internal_gateway_2fa prop_get('internal-gateway-2fa') end # Internal Gateway Authentication OTP def internal_gateway_2fa=(val) prop_set('internal-gateway-2fa', val) end # Auto Discovery External Gateway Authentication OTP def auto_discovery_external_gateway_2fa prop_get('auto-discovery-external-gateway-2fa') end # Auto Discovery External Gateway Authentication OTP def auto_discovery_external_gateway_2fa=(val) prop_set('auto-discovery-external-gateway-2fa', val) end # Manual Only External Gateway Authentication OTP def manual_only_gateway_2fa prop_get('manual-only-gateway-2fa') end # Manual Only External Gateway Authentication OTP def manual_only_gateway_2fa=(val) prop_set('manual-only-gateway-2fa', val) end # GlobalProtect client configurations def name prop_get('@name') end # Enable portal config refresh def refresh_config prop_get('refresh-config') end # Enable portal config refresh def refresh_config=(val) prop_set('refresh-config', val) end # IP address or hostname for GlobalProtect MDM server def mdm_address prop_get('mdm-address') end # IP address or hostname for GlobalProtect MDM server def mdm_address=(val) prop_set('mdm-address', val) end # MDM enrollment port def mdm_enrollment_port prop_get('mdm-enrollment-port') end # MDM enrollment port def mdm_enrollment_port=(val) prop_set('mdm-enrollment-port', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def configs maybe_register_subclass('configs', Configs.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'agent-user-override-key'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'encrypt'=>'yes', 'skip-fips-chk'=>'yes', 'minlen'=>'1', 'maxlen'=>'4', 'help-string'=>'Agent user override ticket key'}} # Agent user override ticket key def agent_user_override_key prop_get('agent-user-override-key') end # Agent user override ticket key def agent_user_override_key=(val) prop_set('agent-user-override-key', val) end end def client_config @subclasses['client-config'] ||= ClientConfig.new(parent_instance: self, client: @client, create_children: @create_children) end class SatelliteConfig < ConfigClass def has_multiple_values?; false; end def _section :'satellite-config' end class RootCa < XML::ConfigClass def has_multiple_values?; true; end def _section :'root-ca' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'maxlen'=>'255'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def root_ca maybe_register_subclass('root-ca', RootCa.new(parent_instance: self, client: @client, create_children: @create_children)) end class ClientCertificate < XML::ConfigClass def has_multiple_values?; true; end def _section :'client-certificate' end class Local < ConfigClass def has_multiple_values?; false; end def _section :local end @props = {'issuing-certificate'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Issuing certificate to issue GlobalProtect satellite certificate'}, 'ocsp-responder'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'OCSP responder'}, 'certificate-life-time'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'7', 'max'=>'365', 'default'=>'7', 'help-string'=>'Issued GlobalProtect satellite certificate life time in days'}, 'certificate-renewal-period'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'3', 'max'=>'30', 'default'=>'3', 'help-string'=>'GlobalProtect satellite certificate renewal period in days'}} # Issuing certificate to issue GlobalProtect satellite certificate def issuing_certificate prop_get('issuing-certificate') end # Issuing certificate to issue GlobalProtect satellite certificate def issuing_certificate=(val) prop_set('issuing-certificate', val) end # OCSP responder def ocsp_responder prop_get('ocsp-responder') end # OCSP responder def ocsp_responder=(val) prop_set('ocsp-responder', val) end # Issued GlobalProtect satellite certificate life time in days def certificate_life_time prop_get('certificate-life-time') end # Issued GlobalProtect satellite certificate life time in days def certificate_life_time=(val) prop_set('certificate-life-time', val) end # GlobalProtect satellite certificate renewal period in days def certificate_renewal_period prop_get('certificate-renewal-period') end # GlobalProtect satellite certificate renewal period in days def certificate_renewal_period=(val) prop_set('certificate-renewal-period', val) end end def local @subclasses['local'] ||= Local.new(parent_instance: self, client: @client, create_children: @create_children) end class Scep < ConfigClass def has_multiple_values?; false; end def _section :scep end @props = {'scep'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'255'}, 'certificate-renewal-period'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'3', 'max'=>'30', 'default'=>'3', 'help-string'=>'GlobalProtect satellite certificate renewal period in days'}} def scep prop_get('scep') end def scep=(val) prop_set('scep', val) end # GlobalProtect satellite certificate renewal period in days def certificate_renewal_period prop_get('certificate-renewal-period') end # GlobalProtect satellite certificate renewal period in days def certificate_renewal_period=(val) prop_set('certificate-renewal-period', val) end end def scep @subclasses['scep'] ||= Scep.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def client_certificate maybe_register_subclass('client-certificate', ClientCertificate.new(parent_instance: self, client: @client, create_children: @create_children)) end class Configs < XML::ConfigClass def has_multiple_values?; true; end def _section :configs end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'63', 'regex'=>'^[0-9A-F]+$', 'help-string'=>'GlobalProtect satellite pan device serial number'}} # GlobalProtect satellite pan device serial number def member prop_get('member') end # GlobalProtect satellite pan device serial number def member=(val) prop_set('member', val) end end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceUser < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-user' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'1023', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any user'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_user maybe_register_subclass('source-user', SourceUser.new(parent_instance: self, client: @client, create_children: @create_children)) end class Gateways < XML::ConfigClass def has_multiple_values?; true; end def _section :gateways end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Ip < ConfigClass def has_multiple_values?; false; end def _section :ip end @props = {'ipv4'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'100', 'help-string'=>'IPv4'}, 'ipv6'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'100', 'help-string'=>'IPv6'}} # IPv4 def ipv4 prop_get('ipv4') end # IPv4 def ipv4=(val) prop_set('ipv4', val) end # IPv6 def ipv6 prop_get('ipv6') end # IPv6 def ipv6=(val) prop_set('ipv6', val) end end def ip @subclasses['ip'] ||= Ip.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'255', 'help-string'=>'description of the gateway'}, 'fqdn'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'regex'=>'^([$:/a-zA-Z0-9._-])+$', 'help-string'=>'fqdn'}, 'ipv6-preferred'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'IPv6 Preferred'}, 'priority'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'25', 'help-string'=>'Priority of GlobalProtect gateway'}} # description of the gateway def name prop_get('@name') end # fqdn def fqdn prop_get('fqdn') end # fqdn def fqdn=(val) prop_set('fqdn', val) end # IPv6 Preferred def ipv6_preferred prop_get('ipv6-preferred') end # IPv6 Preferred def ipv6_preferred=(val) prop_set('ipv6-preferred', val) end # Priority of GlobalProtect gateway def priority prop_get('priority') end # Priority of GlobalProtect gateway def priority=(val) prop_set('priority', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def gateways maybe_register_subclass('gateways', Gateways.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'31', 'help-string'=>'GlobalProtect satellite config rule'}, 'config-refresh-interval'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'1', 'max'=>'48', 'default'=>'24', 'help-string'=>'GlobalProtect satellite configuration refresh interval in hours'}} # GlobalProtect satellite config rule def name prop_get('@name') end # GlobalProtect satellite configuration refresh interval in hours def config_refresh_interval prop_get('config-refresh-interval') end # GlobalProtect satellite configuration refresh interval in hours def config_refresh_interval=(val) prop_set('config-refresh-interval', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def configs maybe_register_subclass('configs', Configs.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def satellite_config @subclasses['satellite-config'] ||= SatelliteConfig.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string begin with letter: [ 0-9a-zA-Z._-]'}} # alphanumeric string begin with letter: [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def global_protect_portal maybe_register_subclass('global-protect-portal', GlobalProtectPortal.new(parent_instance: self, client: @client, create_children: @create_children)) end class GlobalProtectGateway < XML::ConfigClass def has_multiple_values?; true; end def _section :'global-protect-gateway' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class RemoteUserTunnelConfigs < XML::ConfigClass def has_multiple_values?; true; end def _section :'remote-user-tunnel-configs' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SourceUser < XML::ConfigClass def has_multiple_values?; true; end def _section :'source-user' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'1023', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'any', 'help-string'=>'any user'}, {'value'=>'pre-logon', 'help-string'=>'prelogon client machine'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def source_user maybe_register_subclass('source-user', SourceUser.new(parent_instance: self, client: @client, create_children: @create_children)) end class AuthenticationOverride < ConfigClass def has_multiple_values?; false; end def _section :'authentication-override' end class AcceptCookie < ConfigClass def has_multiple_values?; false; end def _section :'accept-cookie' end class CookieLifetime < XML::ConfigClass def has_multiple_values?; true; end def _section :'cookie-lifetime' end @props = {'lifetime-in-days'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'365', 'default'=>'365', 'optional'=>'yes', 'help-string'=>'Cookie lifetime in days', 'uiHint-fieldLabel'=>'Days'}, 'lifetime-in-hours'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'72', 'default'=>'24', 'optional'=>'yes', 'help-string'=>'Cookie lifetime in hours', 'uiHint-fieldLabel'=>'Hours'}, 'lifetime-in-minutes'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'59', 'default'=>'5', 'optional'=>'yes', 'help-string'=>'Cookie lifetime in minutes', 'uiHint-fieldLabel'=>'Minutes'}} # Cookie lifetime in days def lifetime_in_days prop_get('lifetime-in-days') end # Cookie lifetime in days def lifetime_in_days=(val) prop_set('lifetime-in-days', val) end # Cookie lifetime in hours def lifetime_in_hours prop_get('lifetime-in-hours') end # Cookie lifetime in hours def lifetime_in_hours=(val) prop_set('lifetime-in-hours', val) end # Cookie lifetime in minutes def lifetime_in_minutes prop_get('lifetime-in-minutes') end # Cookie lifetime in minutes def lifetime_in_minutes=(val) prop_set('lifetime-in-minutes', val) end end def cookie_lifetime maybe_register_subclass('cookie-lifetime', CookieLifetime.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def accept_cookie @subclasses['accept-cookie'] ||= AcceptCookie.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'generate-cookie'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Generate cookie for authentication override'}, 'cookie-encrypt-decrypt-cert'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Certificate to Encrypt/Decrypt Cookie', 'maxlen'=>'255', 'uiHint-fieldLabel'=>'Certificate to Encrypt/Decrypt cookie'}} # Generate cookie for authentication override def generate_cookie prop_get('generate-cookie') end # Generate cookie for authentication override def generate_cookie=(val) prop_set('generate-cookie', val) end # Certificate to Encrypt/Decrypt Cookie def cookie_encrypt_decrypt_cert prop_get('cookie-encrypt-decrypt-cert') end # Certificate to Encrypt/Decrypt Cookie def cookie_encrypt_decrypt_cert=(val) prop_set('cookie-encrypt-decrypt-cert', val) end end def authentication_override @subclasses['authentication-override'] ||= AuthenticationOverride.new(parent_instance: self, client: @client, create_children: @create_children) end class Os < XML::ConfigClass def has_multiple_values?; true; end def _section :os end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'any', 'multi-types'=>{'string'=>{'maxlen'=>'31', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'any'}]}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def os maybe_register_subclass('os', Os.new(parent_instance: self, client: @client, create_children: @create_children)) end class SourceAddress < ConfigClass def has_multiple_values?; false; end def _section :'source-address' end class Region < XML::ConfigClass def has_multiple_values?; true; end def _section :region end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'maxlen'=>'63'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def region maybe_register_subclass('region', Region.new(parent_instance: self, client: @client, create_children: @create_children)) end class IpAddress < XML::ConfigClass def has_multiple_values?; true; end def _section :'ip-address' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{}, 'iprangespec'=>{}, 'string'=>{'maxlen'=>'63', 'loose-membership'=>'yes'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def ip_address maybe_register_subclass('ip-address', IpAddress.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def source_address @subclasses['source-address'] ||= SourceAddress.new(parent_instance: self, client: @client, create_children: @create_children) end class DnsServer < XML::ConfigClass def has_multiple_values?; true; end def _section :'dns-server' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'40', 'help-string'=>'DNS server for client'}} # DNS server for client def member prop_get('member') end # DNS server for client def member=(val) prop_set('member', val) end end def dns_server maybe_register_subclass('dns-server', DnsServer.new(parent_instance: self, client: @client, create_children: @create_children)) end class DnsSuffix < XML::ConfigClass def has_multiple_values?; true; end def _section :'dns-suffix' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'DNS suffix for client'}} # DNS suffix for client def member prop_get('member') end # DNS suffix for client def member=(val) prop_set('member', val) end end def dns_suffix maybe_register_subclass('dns-suffix', DnsSuffix.new(parent_instance: self, client: @client, create_children: @create_children)) end class IpPool < XML::ConfigClass def has_multiple_values?; true; end def _section :'ip-pool' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes'}, 'iprangespec'=>{}, 'string'=>{'maxlen'=>'63', 'loose-membership'=>'yes'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def ip_pool maybe_register_subclass('ip-pool', IpPool.new(parent_instance: self, client: @client, create_children: @create_children)) end class SplitTunneling < ConfigClass def has_multiple_values?; false; end def _section :'split-tunneling' end class AccessRoute < XML::ConfigClass def has_multiple_values?; true; end def _section :'access-route' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes'}, 'string'=>{'maxlen'=>'63', 'loose-membership'=>'yes'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def access_route maybe_register_subclass('access-route', AccessRoute.new(parent_instance: self, client: @client, create_children: @create_children)) end class ExcludeAccessRoute < XML::ConfigClass def has_multiple_values?; true; end def _section :'exclude-access-route' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes'}, 'string'=>{'maxlen'=>'63', 'loose-membership'=>'yes'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def exclude_access_route maybe_register_subclass('exclude-access-route', ExcludeAccessRoute.new(parent_instance: self, client: @client, create_children: @create_children)) end class IncludeApplications < XML::ConfigClass def has_multiple_values?; true; end def _section :'include-applications' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'511', 'max-count'=>'200'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def include_applications maybe_register_subclass('include-applications', IncludeApplications.new(parent_instance: self, client: @client, create_children: @create_children)) end class IncludeDomains < ConfigClass def has_multiple_values?; false; end def _section :'include-domains' end class List < XML::ConfigClass def has_multiple_values?; true; end def _section :list end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Ports < XML::ConfigClass def has_multiple_values?; true; end def _section :ports end @props = {'member'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'1', 'max'=>'65535'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def ports maybe_register_subclass('ports', Ports.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'255', 'regex'=>'^\*?([:/a-zA-Z0-9._\.\-])+$', 'help-string'=>'Dotted domain name with optional wildcards'}} # Dotted domain name with optional wildcards def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def list maybe_register_subclass('list', List.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def include_domains @subclasses['include-domains'] ||= IncludeDomains.new(parent_instance: self, client: @client, create_children: @create_children) end class ExcludeApplications < XML::ConfigClass def has_multiple_values?; true; end def _section :'exclude-applications' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'511', 'max-count'=>'200'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def exclude_applications maybe_register_subclass('exclude-applications', ExcludeApplications.new(parent_instance: self, client: @client, create_children: @create_children)) end class ExcludeDomains < ConfigClass def has_multiple_values?; false; end def _section :'exclude-domains' end class List < XML::ConfigClass def has_multiple_values?; true; end def _section :list end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Ports < XML::ConfigClass def has_multiple_values?; true; end def _section :ports end @props = {'member'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'1', 'max'=>'65535'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def ports maybe_register_subclass('ports', Ports.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'255', 'regex'=>'^\*?([:/a-zA-Z0-9._\.\-])+$', 'help-string'=>'Dotted domain name with optional wildcards'}} # Dotted domain name with optional wildcards def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def list maybe_register_subclass('list', List.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def exclude_domains @subclasses['exclude-domains'] ||= ExcludeDomains.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def split_tunneling @subclasses['split-tunneling'] ||= SplitTunneling.new(parent_instance: self, client: @client, create_children: @create_children) end class AuthenticationServerIpPool < XML::ConfigClass def has_multiple_values?; true; end def _section :'authentication-server-ip-pool' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'ipspec'=>{'subnet-only'=>'yes'}, 'iprangespec'=>{}, 'string'=>{'maxlen'=>'63', 'loose-membership'=>'yes'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def authentication_server_ip_pool maybe_register_subclass('authentication-server-ip-pool', AuthenticationServerIpPool.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'31', 'help-string'=>'GlobalProtect gateway remote user tunnel configuration name'}, 'no-direct-access-to-local-network'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'No direct access to local network'}, 'retrieve-framed-ip-address'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'retrieve framed ip address'}} # GlobalProtect gateway remote user tunnel configuration name def name prop_get('@name') end # No direct access to local network def no_direct_access_to_local_network prop_get('no-direct-access-to-local-network') end # No direct access to local network def no_direct_access_to_local_network=(val) prop_set('no-direct-access-to-local-network', val) end # retrieve framed ip address def retrieve_framed_ip_address prop_get('retrieve-framed-ip-address') end # retrieve framed ip address def retrieve_framed_ip_address=(val) prop_set('retrieve-framed-ip-address', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def remote_user_tunnel_configs maybe_register_subclass('remote-user-tunnel-configs', RemoteUserTunnelConfigs.new(parent_instance: self, client: @client, create_children: @create_children)) end class ClientAuth < XML::ConfigClass def has_multiple_values?; true; end def _section :'client-auth' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'31', 'help-string'=>'GlobalProtect client authentication name'}, 'os'=>{'node-type'=>'element', 'type'=>'multiple', 'default'=>'Any', 'help-string'=>'Client OS', 'multi-types'=>{'string'=>{'maxlen'=>'31', 'loose-membership'=>'yes'}, 'enum'=>[{'value'=>'Any'}, {'value'=>'Satellite'}, {'value'=>'X-Auth', 'help-string'=>'Third party IPSec clients'}]}}, 'authentication-profile'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'authentication profile used for this GlobalProtect'}, 'auto-retrieve-passcode'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Automatically retrieve passcode from SoftToken application'}, 'username-label'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'20', 'default'=>'Username', 'optional'=>'yes', 'help-string'=>'Username Label'}, 'password-label'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'20', 'default'=>'Password', 'optional'=>'yes', 'help-string'=>'Password Label'}, 'authentication-message'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256', 'default'=>'Enter login credentials', 'optional'=>'yes', 'help-string'=>'Authentication Message'}, 'user-credential-or-client-cert-required'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Allow Authentication with User Credentials OR Client Certificate', 'enum'=>[{'value'=>'no', 'help-string'=>'No (User Credentials AND Client Certificate Required)'}, {'value'=>'yes', 'help-string'=>'Yes (User Credentials OR Client Certificate Required)'}]}} # GlobalProtect client authentication name def name prop_get('@name') end # Client OS def os prop_get('os') end # Client OS def os=(val) prop_set('os', val) end # authentication profile used for this GlobalProtect def authentication_profile prop_get('authentication-profile') end # authentication profile used for this GlobalProtect def authentication_profile=(val) prop_set('authentication-profile', val) end # Automatically retrieve passcode from SoftToken application def auto_retrieve_passcode prop_get('auto-retrieve-passcode') end # Automatically retrieve passcode from SoftToken application def auto_retrieve_passcode=(val) prop_set('auto-retrieve-passcode', val) end # Username Label def username_label prop_get('username-label') end # Username Label def username_label=(val) prop_set('username-label', val) end # Password Label def password_label prop_get('password-label') end # Password Label def password_label=(val) prop_set('password-label', val) end # Authentication Message def authentication_message prop_get('authentication-message') end # Authentication Message def authentication_message=(val) prop_set('authentication-message', val) end # Allow Authentication with User Credentials OR Client Certificate def user_credential_or_client_cert_required prop_get('user-credential-or-client-cert-required') end # Allow Authentication with User Credentials OR Client Certificate def user_credential_or_client_cert_required=(val) prop_set('user-credential-or-client-cert-required', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def client_auth maybe_register_subclass('client-auth', ClientAuth.new(parent_instance: self, client: @client, create_children: @create_children)) end class LocalAddress < ConfigClass def has_multiple_values?; false; end def _section :'local-address' end class Ip < ConfigClass def has_multiple_values?; false; end def _section :ip end @props = {'ipv4'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'IPv4 addresses'}, 'ipv6'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'IPv6 address'}} # IPv4 addresses def ipv4 prop_get('ipv4') end # IPv4 addresses def ipv4=(val) prop_set('ipv4', val) end # IPv6 address def ipv6 prop_get('ipv6') end # IPv6 address def ipv6=(val) prop_set('ipv6', val) end end def ip @subclasses['ip'] ||= Ip.new(parent_instance: self, client: @client, create_children: @create_children) end class FloatingIp < ConfigClass def has_multiple_values?; false; end def _section :'floating-ip' end @props = {'ipv4'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Floating IPv4 address'}, 'ipv6'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'63', 'help-string'=>'Floating IPv6 address'}} # Floating IPv4 address def ipv4 prop_get('ipv4') end # Floating IPv4 address def ipv4=(val) prop_set('ipv4', val) end # Floating IPv6 address def ipv6 prop_get('ipv6') end # Floating IPv6 address def ipv6=(val) prop_set('ipv6', val) end end def floating_ip @subclasses['floating-ip'] ||= FloatingIp.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'ip-address-family'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'ipv4', 'optional'=>'yes', 'help-string'=>'specify the family of the local address', 'enum'=>[{'value'=>'ipv4', 'help-string'=>'IPv4 Only'}, {'value'=>'ipv6', 'help-string'=>'IPv6 Only'}, {'value'=>'ipv4_ipv6', 'help-string'=>'IPv4 and IPv6'}]}, 'interface'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'local gateway end-point'}} # specify the family of the local address def ip_address_family prop_get('ip-address-family') end # specify the family of the local address def ip_address_family=(val) prop_set('ip-address-family', val) end # local gateway end-point def interface prop_get('interface') end # local gateway end-point def interface=(val) prop_set('interface', val) end end def local_address @subclasses['local-address'] ||= LocalAddress.new(parent_instance: self, client: @client, create_children: @create_children) end class SecurityRestrictions < ConfigClass def has_multiple_values?; false; end def _section :'security-restrictions' end class SourceIpEnforcement < ConfigClass def has_multiple_values?; false; end def _section :'source-ip-enforcement' end class Default < ConfigClass def has_multiple_values?; false; end def _section :default end @props = {} end def default @subclasses['default'] ||= Default.new(parent_instance: self, client: @client, create_children: @create_children) end class Custom < ConfigClass def has_multiple_values?; false; end def _section :custom end @props = {'source-ipv4-netmask'=>{'node-type'=>'element', 'help-string'=>'Source IPv4 Netmask', 'type'=>'rangedint', 'max'=>'32', 'min'=>'0'}, 'source-ipv6-netmask'=>{'node-type'=>'element', 'help-string'=>'Source IPv6 Netmask', 'type'=>'rangedint', 'max'=>'128', 'min'=>'0'}} # Source IPv4 Netmask def source_ipv4_netmask prop_get('source-ipv4-netmask') end # Source IPv4 Netmask def source_ipv4_netmask=(val) prop_set('source-ipv4-netmask', val) end # Source IPv6 Netmask def source_ipv6_netmask prop_get('source-ipv6-netmask') end # Source IPv6 Netmask def source_ipv6_netmask=(val) prop_set('source-ipv6-netmask', val) end end def custom @subclasses['custom'] ||= Custom.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Allow Authentication Cookie Usage Only'}} # Allow Authentication Cookie Usage Only def enable prop_get('enable') end # Allow Authentication Cookie Usage Only def enable=(val) prop_set('enable', val) end end def source_ip_enforcement @subclasses['source-ip-enforcement'] ||= SourceIpEnforcement.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'disallow-automatic-restoration'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Disallow Automatic Restoration of SSL VPN'}} # Disallow Automatic Restoration of SSL VPN def disallow_automatic_restoration prop_get('disallow-automatic-restoration') end # Disallow Automatic Restoration of SSL VPN def disallow_automatic_restoration=(val) prop_set('disallow-automatic-restoration', val) end end def security_restrictions @subclasses['security-restrictions'] ||= SecurityRestrictions.new(parent_instance: self, client: @client, create_children: @create_children) end class Roles < XML::ConfigClass def has_multiple_values?; true; end def _section :roles end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class ClientMaxBandwidth < ConfigClass def has_multiple_values?; false; end def _section :'client-max-bandwidth' end @props = {'client-to-gateway'=>{'node-type'=>'element', 'type'=>'float', 'optional'=>'yes', 'min'=>'0', 'max'=>'100', 'default'=>'1', 'help-string'=>'client\'s max sending bandwidth through VPN in mbps'}, 'gateway-to-client'=>{'node-type'=>'element', 'type'=>'float', 'optional'=>'yes', 'min'=>'0', 'max'=>'100', 'default'=>'1', 'help-string'=>'client\'s max receiving bandwidth through VPN in mbps'}} # client's max sending bandwidth through VPN in mbps def client_to_gateway prop_get('client-to-gateway') end # client's max sending bandwidth through VPN in mbps def client_to_gateway=(val) prop_set('client-to-gateway', val) end # client's max receiving bandwidth through VPN in mbps def gateway_to_client prop_get('gateway-to-client') end # client's max receiving bandwidth through VPN in mbps def gateway_to_client=(val) prop_set('gateway-to-client', val) end end def client_max_bandwidth @subclasses['client-max-bandwidth'] ||= ClientMaxBandwidth.new(parent_instance: self, client: @client, create_children: @create_children) end class LoginLifetime < XML::ConfigClass def has_multiple_values?; true; end def _section :'login-lifetime' end @props = {'minutes'=>{'node-type'=>'element', 'help-string'=>'specify lifetime in minutes', 'type'=>'rangedint', 'max'=>'43200', 'min'=>'120'}, 'hours'=>{'node-type'=>'element', 'help-string'=>'specify lifetime in hours', 'type'=>'rangedint', 'max'=>'720', 'min'=>'2'}, 'days'=>{'node-type'=>'element', 'help-string'=>'specify lifetime in days', 'type'=>'rangedint', 'max'=>'30', 'min'=>'1', 'default'=>'30'}} # specify lifetime in minutes def minutes prop_get('minutes') end # specify lifetime in minutes def minutes=(val) prop_set('minutes', val) end # specify lifetime in hours def hours prop_get('hours') end # specify lifetime in hours def hours=(val) prop_set('hours', val) end # specify lifetime in days def days prop_get('days') end # specify lifetime in days def days=(val) prop_set('days', val) end end def login_lifetime maybe_register_subclass('login-lifetime', LoginLifetime.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'enum', 'maxlen'=>'31', 'help-string'=>'tunnel traffic group', 'enum'=>[{'value'=>'default', 'help-string'=>'the default group of GlobalProtect gateway users'}]}, 'lifetime-notify-prior'=>{'node-type'=>'element', 'help-string'=>'Notify users before the lifetime expiration in the specified amount of minutes.', 'type'=>'rangedint', 'max'=>'60', 'min'=>'0', 'optional'=>'yes', 'default'=>'30'}, 'lifetime-notify-message'=>{'node-type'=>'element', 'help-string'=>'Lifetime expiration notification displayed on GP app', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'127', 'default'=>'Your GlobalProtect session will expire in 30 minutes. Please save your work before your session expires.'}, 'inactivity-logout'=>{'node-type'=>'element', 'help-string'=>'Logout the GlobalProtect user session if the GlobalProtect app has not sent traffic in the specified amount of minutes.', 'type'=>'rangedint', 'max'=>'43200', 'min'=>'5', 'optional'=>'yes', 'default'=>'180'}, 'inactivity-notify-prior'=>{'node-type'=>'element', 'help-string'=>'Notify users before the inactivity timeout in the specified amount of minutes.', 'type'=>'rangedint', 'max'=>'60', 'min'=>'0', 'optional'=>'yes', 'default'=>'30'}, 'inactivity-notify-message'=>{'node-type'=>'element', 'help-string'=>'Inactivity logout notification displayed on GP app', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'127', 'default'=>'Your GlobalProtect session will time out in 30 minutes. Please save your work before your session times out.'}, 'admin-logout-notify'=>{'node-type'=>'element', 'help-string'=>'Notify users on admin logout', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}, 'admin-logout-notify-message'=>{'node-type'=>'element', 'help-string'=>'Admin logout notification displayed on GP app', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'127', 'default'=>'Your administrator has logged you out.'}} # tunnel traffic group def name prop_get('@name') end # Notify users before the lifetime expiration in the specified amount of minutes. def lifetime_notify_prior prop_get('lifetime-notify-prior') end # Notify users before the lifetime expiration in the specified amount of minutes. def lifetime_notify_prior=(val) prop_set('lifetime-notify-prior', val) end # Lifetime expiration notification displayed on GP app def lifetime_notify_message prop_get('lifetime-notify-message') end # Lifetime expiration notification displayed on GP app def lifetime_notify_message=(val) prop_set('lifetime-notify-message', val) end # Logout the GlobalProtect user session if the GlobalProtect app has not sent traffic in the specified amount of minutes. def inactivity_logout prop_get('inactivity-logout') end # Logout the GlobalProtect user session if the GlobalProtect app has not sent traffic in the specified amount of minutes. def inactivity_logout=(val) prop_set('inactivity-logout', val) end # Notify users before the inactivity timeout in the specified amount of minutes. def inactivity_notify_prior prop_get('inactivity-notify-prior') end # Notify users before the inactivity timeout in the specified amount of minutes. def inactivity_notify_prior=(val) prop_set('inactivity-notify-prior', val) end # Inactivity logout notification displayed on GP app def inactivity_notify_message prop_get('inactivity-notify-message') end # Inactivity logout notification displayed on GP app def inactivity_notify_message=(val) prop_set('inactivity-notify-message', val) end # Notify users on admin logout def admin_logout_notify prop_get('admin-logout-notify') end # Notify users on admin logout def admin_logout_notify=(val) prop_set('admin-logout-notify', val) end # Admin logout notification displayed on GP app def admin_logout_notify_message prop_get('admin-logout-notify-message') end # Admin logout notification displayed on GP app def admin_logout_notify_message=(val) prop_set('admin-logout-notify-message', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def roles maybe_register_subclass('roles', Roles.new(parent_instance: self, client: @client, create_children: @create_children)) end class HipNotification < XML::ConfigClass def has_multiple_values?; true; end def _section :'hip-notification' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class MatchMessage < ConfigClass def has_multiple_values?; false; end def _section :'match-message' end @props = {'include-app-list'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Whether include matched application list in message', 'uiHint-fieldLabel'=>'Include Mobile App List'}, 'show-notification-as'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'system-tray-balloon', 'help-string'=>'Show notification as', 'enum'=>[{'value'=>'system-tray-balloon'}, {'value'=>'pop-up-message'}]}, 'message'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'10239', 'help-string'=>'Matched message'}} # Whether include matched application list in message def include_app_list prop_get('include-app-list') end # Whether include matched application list in message def include_app_list=(val) prop_set('include-app-list', val) end # Show notification as def show_notification_as prop_get('show-notification-as') end # Show notification as def show_notification_as=(val) prop_set('show-notification-as', val) end # Matched message def message prop_get('message') end # Matched message def message=(val) prop_set('message', val) end end def match_message @subclasses['match-message'] ||= MatchMessage.new(parent_instance: self, client: @client, create_children: @create_children) end class NotMatchMessage < ConfigClass def has_multiple_values?; false; end def _section :'not-match-message' end @props = {'show-notification-as'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'system-tray-balloon', 'help-string'=>'Show notification as', 'enum'=>[{'value'=>'system-tray-balloon'}, {'value'=>'pop-up-message'}]}, 'message'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'10239', 'help-string'=>'Not matched message'}} # Show notification as def show_notification_as prop_get('show-notification-as') end # Show notification as def show_notification_as=(val) prop_set('show-notification-as', val) end # Not matched message def message prop_get('message') end # Not matched message def message=(val) prop_set('message', val) end end def not_match_message @subclasses['not-match-message'] ||= NotMatchMessage.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'31', 'help-string'=>'hip object name'}} # hip object name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def hip_notification maybe_register_subclass('hip-notification', HipNotification.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'31', 'help-string'=>'tunnel interface or name'}, 'remote-user-tunnel'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'GlobalProtect user tunnel'}, 'ssl-tls-service-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'help-string'=>'SSL TLS service profile'}, 'certificate-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Profile for authenticating client certificates'}, 'satellite-tunnel'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'GlobalProtect satellite tunnel'}, 'tunnel-mode'=>{'node-type'=>'element', 'type'=>'bool', 'help-string'=>'Tunnel mode'}, 'block-quarantined-devices'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'yes', 'help-string'=>'Block login for quarantined devices'}, 'log-success'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'Log successful TLS handshakes'}, 'log-fail'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'yes', 'optional'=>'yes', 'help-string'=>'Log unsuccessful TLS handshakes'}, 'log-setting'=>{'node-type'=>'element', 'type'=>'string', 'no-default'=>'yes', 'maxlen'=>'63', 'optional'=>'yes'}} # tunnel interface or name def name prop_get('@name') end # GlobalProtect user tunnel def remote_user_tunnel prop_get('remote-user-tunnel') end # GlobalProtect user tunnel def remote_user_tunnel=(val) prop_set('remote-user-tunnel', val) end # SSL TLS service profile def ssl_tls_service_profile prop_get('ssl-tls-service-profile') end # SSL TLS service profile def ssl_tls_service_profile=(val) prop_set('ssl-tls-service-profile', val) end # Profile for authenticating client certificates def certificate_profile prop_get('certificate-profile') end # Profile for authenticating client certificates def certificate_profile=(val) prop_set('certificate-profile', val) end # GlobalProtect satellite tunnel def satellite_tunnel prop_get('satellite-tunnel') end # GlobalProtect satellite tunnel def satellite_tunnel=(val) prop_set('satellite-tunnel', val) end # Tunnel mode def tunnel_mode prop_get('tunnel-mode') end # Tunnel mode def tunnel_mode=(val) prop_set('tunnel-mode', val) end # Block login for quarantined devices def block_quarantined_devices prop_get('block-quarantined-devices') end # Block login for quarantined devices def block_quarantined_devices=(val) prop_set('block-quarantined-devices', val) end # Log successful TLS handshakes def log_success prop_get('log-success') end # Log successful TLS handshakes def log_success=(val) prop_set('log-success', val) end # Log unsuccessful TLS handshakes def log_fail prop_get('log-fail') end # Log unsuccessful TLS handshakes def log_fail=(val) prop_set('log-fail', val) end def log_setting prop_get('log-setting') end def log_setting=(val) prop_set('log-setting', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def global_protect_gateway maybe_register_subclass('global-protect-gateway', GlobalProtectGateway.new(parent_instance: self, client: @client, create_children: @create_children)) end class GlobalProtectMdm < XML::ConfigClass def has_multiple_values?; true; end def _section :'global-protect-mdm' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class RootCa < XML::ConfigClass def has_multiple_values?; true; end def _section :'root-ca' end @props = {'member'=>{'node-type'=>'element', 'type'=>'multiple', 'multi-types'=>{'string'=>{'maxlen'=>'255'}}}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def root_ca maybe_register_subclass('root-ca', RootCa.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'maxlen'=>'31', 'help-string'=>'GlobalProtect MDM server name'}, 'disabled'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no'}, 'host'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([$a-zA-Z0-9._:-])+$', 'minlen'=>'1', 'maxlen'=>'255', 'help-string'=>'IP address or hostname for GlobalProtect MDM server'}, 'port'=>{'node-type'=>'element', 'type'=>'rangedint', 'optional'=>'yes', 'min'=>'1', 'max'=>'65535', 'default'=>'5008', 'help-string'=>'GlobalProtect MDM server listening port'}, 'client-certificate'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'SSL client certificate', 'maxlen'=>'255'}} # GlobalProtect MDM server name def name prop_get('@name') end def disabled prop_get('disabled') end def disabled=(val) prop_set('disabled', val) end # IP address or hostname for GlobalProtect MDM server def host prop_get('host') end # IP address or hostname for GlobalProtect MDM server def host=(val) prop_set('host', val) end # GlobalProtect MDM server listening port def port prop_get('port') end # GlobalProtect MDM server listening port def port=(val) prop_set('port', val) end # SSL client certificate def client_certificate prop_get('client-certificate') end # SSL client certificate def client_certificate=(val) prop_set('client-certificate', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def global_protect_mdm maybe_register_subclass('global-protect-mdm', GlobalProtectMdm.new(parent_instance: self, client: @client, create_children: @create_children)) end class ClientlessApp < XML::ConfigClass def has_multiple_values?; true; end def _section :'clientless-app' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'31', 'help-string'=>'clientless vpn application name'}, 'application-home-url'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([A-Za-z0-9_\.~!\*\'\(\);:@=\+\$,/\?#%\&-]|\[|\])+$', 'maxlen'=>'4095', 'help-string'=>'Home URL of application'}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'optional'=>'yes', 'help-string'=>'Description for application'}, 'app-icon'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'180000', 'optional'=>'yes', 'help-string'=>'application icon'}} # clientless vpn application name def name prop_get('@name') end # Home URL of application def application_home_url prop_get('application-home-url') end # Home URL of application def application_home_url=(val) prop_set('application-home-url', val) end # Description for application def description prop_get('description') end # Description for application def description=(val) prop_set('description', val) end # application icon def app_icon prop_get('app-icon') end # application icon def app_icon=(val) prop_set('app-icon', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def clientless_app maybe_register_subclass('clientless-app', ClientlessApp.new(parent_instance: self, client: @client, create_children: @create_children)) end class ClientlessAppGroup < XML::ConfigClass def has_multiple_values?; true; end def _section :'clientless-app-group' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Members < XML::ConfigClass def has_multiple_values?; true; end def _section :members end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'max-count'=>'200'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def members maybe_register_subclass('members', Members.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'31', 'help-string'=>'clientless vpn application group name'}} # clientless vpn application group name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def clientless_app_group maybe_register_subclass('clientless-app-group', ClientlessAppGroup.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def global_protect @subclasses['global-protect'] ||= GlobalProtect.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'vsys name'}, 'disable-inspect'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes'}} # vsys name def name prop_get('@name') end def disable_inspect prop_get('disable-inspect') end def disable_inspect=(val) prop_set('disable-inspect', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def vsys maybe_register_subclass('vsys', Vsys.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'enum', 'maxlen'=>'31', 'help-string'=>'must be localhost.localdomain', 'enum'=>[{'value'=>'localhost.localdomain'}]}} # must be localhost.localdomain def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def config @subclasses['config'] ||= Config.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'description'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'optional'=>'yes', 'help-string'=>'Description of template stack'}, 'auto-push-on-1st-conn'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Automatically push content when software device (vm or container) registers to Panorama'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # Description of template stack def description prop_get('description') end # Description of template stack def description=(val) prop_set('description', val) end # Automatically push content when software device (vm or container) registers to Panorama def auto_push_on_1st_conn prop_get('auto-push-on-1st-conn') end # Automatically push content when software device (vm or container) registers to Panorama def auto_push_on_1st_conn=(val) prop_set('auto-push-on-1st-conn', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def template_stack maybe_register_subclass('template-stack', TemplateStack.new(parent_instance: self, client: @client, create_children: @create_children)) end class Cluster < XML::ConfigClass def has_multiple_values?; true; end def _section :cluster end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'64', 'regex'=>'^[0-9A-Z]+$', 'help-string'=>'device name'}} # device name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'cluster-type'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'CN'}, {'value'=>'VM'}, {'value'=>'HW'}]}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'255', 'help-string'=>'Description'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def cluster_type prop_get('cluster-type') end def cluster_type=(val) prop_set('cluster-type', val) end # Description def description prop_get('description') end # Description def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def cluster maybe_register_subclass('cluster', Cluster.new(parent_instance: self, client: @client, create_children: @create_children)) end class LogCollector < XML::ConfigClass def has_multiple_values?; true; end def _section :'log-collector' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class AuthenticationSetting < ConfigClass def has_multiple_values?; false; end def _section :'authentication-setting' end class Users < XML::ConfigClass def has_multiple_values?; true; end def _section :users end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Permissions < XML::ConfigClass def has_multiple_values?; true; end def _section :permissions end class RoleBased < XML::ConfigClass def has_multiple_values?; true; end def _section :'role-based' end @props = {'superuser'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'yes'}]}} def superuser prop_get('superuser') end def superuser=(val) prop_set('superuser', val) end end def role_based maybe_register_subclass('role-based', RoleBased.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def permissions maybe_register_subclass('permissions', Permissions.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'^[a-zA-Z0-9_.-]+$', 'maxlen'=>'31', 'help-string'=>'alphanumeric value'}, 'phash'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes'}, 'authentication-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes'}, 'password-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes'}, 'public-key'=>{'node-type'=>'element', 'type'=>'string', 'prune-on'=>'fips-mode', 'optional'=>'yes', 'minlen'=>'1', 'maxlen'=>'4096', 'help-string'=>'Public RSA/DSA'}} # alphanumeric value def name prop_get('@name') end def phash prop_get('phash') end def phash=(val) prop_set('phash', val) end def authentication_profile prop_get('authentication-profile') end def authentication_profile=(val) prop_set('authentication-profile', val) end def password_profile prop_get('password-profile') end def password_profile=(val) prop_set('password-profile', val) end # Public RSA/DSA def public_key prop_get('public-key') end # Public RSA/DSA def public_key=(val) prop_set('public-key', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def users maybe_register_subclass('users', Users.new(parent_instance: self, client: @client, create_children: @create_children)) end class ImportedPanoramaAdminUsers < XML::ConfigClass def has_multiple_values?; true; end def _section :'imported-panorama-admin-users' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'complete-handler'=>'imported-panorama-admin-users-completer', 'help-string'=>'Imported Panorama admin user name'}} # Imported Panorama admin user name def member prop_get('member') end # Imported Panorama admin user name def member=(val) prop_set('member', val) end end def imported_panorama_admin_users maybe_register_subclass('imported-panorama-admin-users', ImportedPanoramaAdminUsers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Api < ConfigClass def has_multiple_values?; false; end def _section :api end class Key < ConfigClass def has_multiple_values?; false; end def _section :key end @props = {'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'api key lifetime in minutes', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'525600'}, 'enum'=>[{'value'=>'0', 'help-string'=>'never'}]}}} # api key lifetime in minutes def lifetime prop_get('lifetime') end # api key lifetime in minutes def lifetime=(val) prop_set('lifetime', val) end end def key @subclasses['key'] ||= Key.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def api @subclasses['api'] ||= Api.new(parent_instance: self, client: @client, create_children: @create_children) end class AdminLockout < ConfigClass def has_multiple_values?; false; end def _section :'admin-lockout' end @props = {'failed-attempts'=>{'node-type'=>'element', 'default'=>'10', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'10', 'help-string'=>'Number of failed login attempts to trigger lock-out'}, 'lockout-time'=>{'node-type'=>'element', 'default'=>'5', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'60', 'help-string'=>'Number of minutes to lock-out'}} # Number of failed login attempts to trigger lock-out def failed_attempts prop_get('failed-attempts') end # Number of failed login attempts to trigger lock-out def failed_attempts=(val) prop_set('failed-attempts', val) end # Number of minutes to lock-out def lockout_time prop_get('lockout-time') end # Number of minutes to lock-out def lockout_time=(val) prop_set('lockout-time', val) end end def admin_lockout @subclasses['admin-lockout'] ||= AdminLockout.new(parent_instance: self, client: @client, create_children: @create_children) end class AdminSession < ConfigClass def has_multiple_values?; false; end def _section :'admin-session' end @props = {'max-session-count'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4', 'default'=>'0', 'prune-on'=>'fips-mode', 'help-string'=>'Set the maximum number of sessions administrators are allowed'}, 'max-session-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4', 'default'=>'0', 'prune-on'=>'fips-mode', 'help-string'=>'Set the maximum session time (0, 60-1499 minutes)', 'regex'=>'^((0)|([6-9][0-9])|([1-9][0-9][0-9])|(1[0-4][0-9][0-9]))$'}} # Set the maximum number of sessions administrators are allowed def max_session_count prop_get('max-session-count') end # Set the maximum number of sessions administrators are allowed def max_session_count=(val) prop_set('max-session-count', val) end # Set the maximum session time (0, 60-1499 minutes) def max_session_time prop_get('max-session-time') end # Set the maximum session time (0, 60-1499 minutes) def max_session_time=(val) prop_set('max-session-time', val) end end def admin_session @subclasses['admin-session'] ||= AdminSession.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'idle-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'default administrative session idle timeout in minutes', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'1440', 'help-string'=>'minutes'}, 'enum'=>[{'value'=>'0', 'help-string'=>'never timeout'}]}}, 'authentication-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Authentication profile to use for non-local admins. Only RADIUS, TACACS+ and authentication sequence are supported.'}} # default administrative session idle timeout in minutes def idle_timeout prop_get('idle-timeout') end # default administrative session idle timeout in minutes def idle_timeout=(val) prop_set('idle-timeout', val) end # Authentication profile to use for non-local admins. Only RADIUS, TACACS+ and authentication sequence are supported. def authentication_profile prop_get('authentication-profile') end # Authentication profile to use for non-local admins. Only RADIUS, TACACS+ and authentication sequence are supported. def authentication_profile=(val) prop_set('authentication-profile', val) end end def authentication_setting @subclasses['authentication-setting'] ||= AuthenticationSetting.new(parent_instance: self, client: @client, create_children: @create_children) end class SecureConnServer < ConfigClass def has_multiple_values?; false; end def _section :'secure-conn-server' end class AuthorizationList < XML::ConfigClass def has_multiple_values?; true; end def _section :'authorization-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Identifier < XML::ConfigClass def has_multiple_values?; true; end def _section :identifier end class Subject < ConfigClass def has_multiple_values?; false; end def _section :subject end @props = {'common-name'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'.*', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'Subject Common Name'}} # Subject Common Name def common_name prop_get('common-name') end # Subject Common Name def common_name=(val) prop_set('common-name', val) end end def subject @subclasses['subject'] ||= Subject.new(parent_instance: self, client: @client, create_children: @create_children) end class SubjectAltName < ConfigClass def has_multiple_values?; false; end def _section :'subject-alt-name' end @props = {'ip'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'help-string'=>'Subject alternate name IP'}, 'hostname'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^([a-zA-Z0-9./_-])+$', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'Subject alternate name DNS'}, 'email'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'255', 'help-string'=>'Email address of the contact person'}} # Subject alternate name IP def ip prop_get('ip') end # Subject alternate name IP def ip=(val) prop_set('ip', val) end # Subject alternate name DNS def hostname prop_get('hostname') end # Subject alternate name DNS def hostname=(val) prop_set('hostname', val) end # Email address of the contact person def email prop_get('email') end # Email address of the contact person def email=(val) prop_set('email', val) end end def subject_alt_name @subclasses['subject-alt-name'] ||= SubjectAltName.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def identifier maybe_register_subclass('identifier', Identifier.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def authorization_list maybe_register_subclass('authorization-list', AuthorizationList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'ssl-tls-service-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'optional'=>'yes', 'help-string'=>'SSL TLS service profile'}, 'certificate-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'255', 'help-string'=>'profile for verifying client certificates'}, 'enable-secure-user-id-communication'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Use the secure-server settings for User Identification connections. Default setting : \'no\'', 'optional'=>'yes'}, 'disable-pre-defined-cert'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Disable connections using predefined certificates. Default setting: \'no\''}, 'check-client-identity'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'help'=>'Check if the Serial # in Subject common name of the client certificate is part of the user-configured managed device list. Default setting : no.', 'optional'=>'yes'}, 'check-authorization-list'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'help'=>'Check the authorization table for permitting incoming client connections. Default setting : \'no\'', 'optional'=>'yes'}, 'disconnect-wait-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'44640', 'help-string'=>'Disconnect previously established connections on configuration change after wait time (in minutes, Min: 0(ASAP), Default: 1 min, Max: 44640 i.e 31 days).'}} # SSL TLS service profile def ssl_tls_service_profile prop_get('ssl-tls-service-profile') end # SSL TLS service profile def ssl_tls_service_profile=(val) prop_set('ssl-tls-service-profile', val) end # profile for verifying client certificates def certificate_profile prop_get('certificate-profile') end # profile for verifying client certificates def certificate_profile=(val) prop_set('certificate-profile', val) end # Use the secure-server settings for User Identification connections. Default setting : 'no' def enable_secure_user_id_communication prop_get('enable-secure-user-id-communication') end # Use the secure-server settings for User Identification connections. Default setting : 'no' def enable_secure_user_id_communication=(val) prop_set('enable-secure-user-id-communication', val) end # Disable connections using predefined certificates. Default setting: 'no' def disable_pre_defined_cert prop_get('disable-pre-defined-cert') end # Disable connections using predefined certificates. Default setting: 'no' def disable_pre_defined_cert=(val) prop_set('disable-pre-defined-cert', val) end def check_client_identity prop_get('check-client-identity') end def check_client_identity=(val) prop_set('check-client-identity', val) end def check_authorization_list prop_get('check-authorization-list') end def check_authorization_list=(val) prop_set('check-authorization-list', val) end # Disconnect previously established connections on configuration change after wait time (in minutes, Min: 0(ASAP), Default: 1 min, Max: 44640 i.e 31 days). def disconnect_wait_time prop_get('disconnect-wait-time') end # Disconnect previously established connections on configuration change after wait time (in minutes, Min: 0(ASAP), Default: 1 min, Max: 44640 i.e 31 days). def disconnect_wait_time=(val) prop_set('disconnect-wait-time', val) end end def secure_conn_server @subclasses['secure-conn-server'] ||= SecureConnServer.new(parent_instance: self, client: @client, create_children: @create_children) end class SecureConnClient < ConfigClass def has_multiple_values?; false; end def _section :'secure-conn-client' end class CertificateType < ConfigClass def has_multiple_values?; false; end def _section :'certificate-type' end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end class Local < ConfigClass def has_multiple_values?; false; end def _section :local end @props = {'certificate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'255', 'help-string'=>'Custom certificate used in management connections to Panorama and Log collectors'}, 'certificate-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'optional'=>'yes'}} # Custom certificate used in management connections to Panorama and Log collectors def certificate prop_get('certificate') end # Custom certificate used in management connections to Panorama and Log collectors def certificate=(val) prop_set('certificate', val) end def certificate_profile prop_get('certificate-profile') end def certificate_profile=(val) prop_set('certificate-profile', val) end end def local @subclasses['local'] ||= Local.new(parent_instance: self, client: @client, create_children: @create_children) end class Scep < ConfigClass def has_multiple_values?; false; end def _section :scep end @props = {'scep-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'optional'=>'yes', 'help-string'=>'SCEP profile name'}, 'certificate-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'optional'=>'yes'}} # SCEP profile name def scep_profile prop_get('scep-profile') end # SCEP profile name def scep_profile=(val) prop_set('scep-profile', val) end def certificate_profile prop_get('certificate-profile') end def certificate_profile=(val) prop_set('certificate-profile', val) end end def scep @subclasses['scep'] ||= Scep.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def certificate_type @subclasses['certificate-type'] ||= CertificateType.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable-secure-user-id-communication'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Use the secure-client certificate settings for User Identification connections. Default setting : \'no\'', 'optional'=>'yes'}, 'check-server-identity'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help'=>'Check server certificate Subject common name(IP/FQDN) with the configured panorama servers. Default setting: \'no\''}} # Use the secure-client certificate settings for User Identification connections. Default setting : 'no' def enable_secure_user_id_communication prop_get('enable-secure-user-id-communication') end # Use the secure-client certificate settings for User Identification connections. Default setting : 'no' def enable_secure_user_id_communication=(val) prop_set('enable-secure-user-id-communication', val) end def check_server_identity prop_get('check-server-identity') end def check_server_identity=(val) prop_set('check-server-identity', val) end end def secure_conn_client @subclasses['secure-conn-client'] ||= SecureConnClient.new(parent_instance: self, client: @client, create_children: @create_children) end class Deviceconfig < ConfigClass def has_multiple_values?; false; end def _section :deviceconfig end class System < ConfigClass def has_multiple_values?; false; end def _section :system end class Type < ConfigClass def has_multiple_values?; false; end def _section :type end class Static < ConfigClass def has_multiple_values?; false; end def _section :static end @props = {} end def static @subclasses['static'] ||= Static.new(parent_instance: self, client: @client, create_children: @create_children) end class DhcpClient < ConfigClass def has_multiple_values?; false; end def _section :'dhcp-client' end @props = {} end def dhcp_client @subclasses['dhcp-client'] ||= DhcpClient.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type @subclasses['type'] ||= Type.new(parent_instance: self, client: @client, create_children: @create_children) end class Service < ConfigClass def has_multiple_values?; false; end def _section :service end @props = {'disable-ssh'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'disable-icmp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'disable-snmp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'disable-userid-service'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'disable-device-log-collection'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'disable-collector-group-communication'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'disable-syslog-forwarding'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'disable-device-telemetry-forwarding'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} def disable_ssh prop_get('disable-ssh') end def disable_ssh=(val) prop_set('disable-ssh', val) end def disable_icmp prop_get('disable-icmp') end def disable_icmp=(val) prop_set('disable-icmp', val) end def disable_snmp prop_get('disable-snmp') end def disable_snmp=(val) prop_set('disable-snmp', val) end def disable_userid_service prop_get('disable-userid-service') end def disable_userid_service=(val) prop_set('disable-userid-service', val) end def disable_device_log_collection prop_get('disable-device-log-collection') end def disable_device_log_collection=(val) prop_set('disable-device-log-collection', val) end def disable_collector_group_communication prop_get('disable-collector-group-communication') end def disable_collector_group_communication=(val) prop_set('disable-collector-group-communication', val) end def disable_syslog_forwarding prop_get('disable-syslog-forwarding') end def disable_syslog_forwarding=(val) prop_set('disable-syslog-forwarding', val) end def disable_device_telemetry_forwarding prop_get('disable-device-telemetry-forwarding') end def disable_device_telemetry_forwarding=(val) prop_set('disable-device-telemetry-forwarding', val) end end def service @subclasses['service'] ||= Service.new(parent_instance: self, client: @client, create_children: @create_children) end class DnsSetting < ConfigClass def has_multiple_values?; false; end def _section :'dns-setting' end class Servers < ConfigClass def has_multiple_values?; false; end def _section :servers end @props = {'primary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-only'=>'yes', 'help-string'=>'Primary DNS server IP address'}, 'secondary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-only'=>'yes', 'help-string'=>'Secondary DNS server IP address'}} # Primary DNS server IP address def primary prop_get('primary') end # Primary DNS server IP address def primary=(val) prop_set('primary', val) end # Secondary DNS server IP address def secondary prop_get('secondary') end # Secondary DNS server IP address def secondary=(val) prop_set('secondary', val) end end def servers @subclasses['servers'] ||= Servers.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def dns_setting @subclasses['dns-setting'] ||= DnsSetting.new(parent_instance: self, client: @client, create_children: @create_children) end class NtpServers < ConfigClass def has_multiple_values?; false; end def _section :'ntp-servers' end class PrimaryNtpServer < ConfigClass def has_multiple_values?; false; end def _section :'primary-ntp-server' end class AuthenticationType < XML::ConfigClass def has_multiple_values?; true; end def _section :'authentication-type' end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end class SymmetricKey < ConfigClass def has_multiple_values?; false; end def _section :'symmetric-key' end class Algorithm < XML::ConfigClass def has_multiple_values?; true; end def _section :algorithm end class Md5 < ConfigClass def has_multiple_values?; false; end def _section :md5 end @props = {'authentication-key'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([!-~])+$', 'minlen'=>'6', 'maxlen'=>'32', 'help-string'=>'Symmetric Key MD5 String', 'encrypt'=>'yes'}} # Symmetric Key MD5 String def authentication_key prop_get('authentication-key') end # Symmetric Key MD5 String def authentication_key=(val) prop_set('authentication-key', val) end end def md5 @subclasses['md5'] ||= Md5.new(parent_instance: self, client: @client, create_children: @create_children) end class Sha1 < ConfigClass def has_multiple_values?; false; end def _section :sha1 end @props = {'authentication-key'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([0-9A-Fa-f])+$', 'minlen'=>'40', 'maxlen'=>'40', 'help-string'=>'Symmetric Key SHA1 Hexadecimal', 'encrypt'=>'yes', 'error-string'=>'Error: SHA1 authentication-key should be 40 hexadecimal characters'}} # Symmetric Key SHA1 Hexadecimal def authentication_key prop_get('authentication-key') end # Symmetric Key SHA1 Hexadecimal def authentication_key=(val) prop_set('authentication-key', val) end end def sha1 @subclasses['sha1'] ||= Sha1.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def algorithm maybe_register_subclass('algorithm', Algorithm.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'key-id'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65534', 'help-string'=>'Symmetric Key Number'}} # Symmetric Key Number def key_id prop_get('key-id') end # Symmetric Key Number def key_id=(val) prop_set('key-id', val) end end def symmetric_key @subclasses['symmetric-key'] ||= SymmetricKey.new(parent_instance: self, client: @client, create_children: @create_children) end class Autokey < ConfigClass def has_multiple_values?; false; end def _section :autokey end @props = {} end def autokey @subclasses['autokey'] ||= Autokey.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def authentication_type maybe_register_subclass('authentication-type', AuthenticationType.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'ntp-server-address'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([0-9a-zA-Z:./_-])+$', 'maxlen'=>'63', 'help-string'=>'NTP Server IP Address or Domain Name'}} # NTP Server IP Address or Domain Name def ntp_server_address prop_get('ntp-server-address') end # NTP Server IP Address or Domain Name def ntp_server_address=(val) prop_set('ntp-server-address', val) end end def primary_ntp_server @subclasses['primary-ntp-server'] ||= PrimaryNtpServer.new(parent_instance: self, client: @client, create_children: @create_children) end class SecondaryNtpServer < ConfigClass def has_multiple_values?; false; end def _section :'secondary-ntp-server' end class AuthenticationType < XML::ConfigClass def has_multiple_values?; true; end def _section :'authentication-type' end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end class SymmetricKey < ConfigClass def has_multiple_values?; false; end def _section :'symmetric-key' end class Algorithm < XML::ConfigClass def has_multiple_values?; true; end def _section :algorithm end class Md5 < ConfigClass def has_multiple_values?; false; end def _section :md5 end @props = {'authentication-key'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([!-~])+$', 'minlen'=>'6', 'maxlen'=>'32', 'help-string'=>'Symmetric Key MD5 String', 'encrypt'=>'yes'}} # Symmetric Key MD5 String def authentication_key prop_get('authentication-key') end # Symmetric Key MD5 String def authentication_key=(val) prop_set('authentication-key', val) end end def md5 @subclasses['md5'] ||= Md5.new(parent_instance: self, client: @client, create_children: @create_children) end class Sha1 < ConfigClass def has_multiple_values?; false; end def _section :sha1 end @props = {'authentication-key'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([0-9A-Fa-f])+$', 'minlen'=>'40', 'maxlen'=>'40', 'help-string'=>'Symmetric Key SHA1 Hexadecimal', 'encrypt'=>'yes', 'error-string'=>'Error: SHA1 authentication-key should be 40 hexadecimal characters'}} # Symmetric Key SHA1 Hexadecimal def authentication_key prop_get('authentication-key') end # Symmetric Key SHA1 Hexadecimal def authentication_key=(val) prop_set('authentication-key', val) end end def sha1 @subclasses['sha1'] ||= Sha1.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def algorithm maybe_register_subclass('algorithm', Algorithm.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'key-id'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65534', 'help-string'=>'Symmetric Key Number'}} # Symmetric Key Number def key_id prop_get('key-id') end # Symmetric Key Number def key_id=(val) prop_set('key-id', val) end end def symmetric_key @subclasses['symmetric-key'] ||= SymmetricKey.new(parent_instance: self, client: @client, create_children: @create_children) end class Autokey < ConfigClass def has_multiple_values?; false; end def _section :autokey end @props = {} end def autokey @subclasses['autokey'] ||= Autokey.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def authentication_type maybe_register_subclass('authentication-type', AuthenticationType.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'ntp-server-address'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([0-9a-zA-Z:./_-])+$', 'maxlen'=>'63', 'help-string'=>'NTP Server IP Address or Domain Name'}} # NTP Server IP Address or Domain Name def ntp_server_address prop_get('ntp-server-address') end # NTP Server IP Address or Domain Name def ntp_server_address=(val) prop_set('ntp-server-address', val) end end def secondary_ntp_server @subclasses['secondary-ntp-server'] ||= SecondaryNtpServer.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ntp_servers @subclasses['ntp-servers'] ||= NtpServers.new(parent_instance: self, client: @client, create_children: @create_children) end class GeoLocation < ConfigClass def has_multiple_values?; false; end def _section :'geo-location' end @props = {'latitude'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'-90.0', 'max'=>'90.0', 'help-string'=>'latitude coordinate'}, 'longitude'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'-180.0', 'max'=>'180.0', 'help-string'=>'longitude coordinate'}} # latitude coordinate def latitude prop_get('latitude') end # latitude coordinate def latitude=(val) prop_set('latitude', val) end # longitude coordinate def longitude prop_get('longitude') end # longitude coordinate def longitude=(val) prop_set('longitude', val) end end def geo_location @subclasses['geo-location'] ||= GeoLocation.new(parent_instance: self, client: @client, create_children: @create_children) end class PermittedIp < XML::ConfigClass def has_multiple_values?; true; end def _section :'permitted-ip' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'optional'=>'yes', 'type'=>'ipspec', 'help-string'=>'ip address/prefix'}} # ip address/prefix def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def permitted_ip maybe_register_subclass('permitted-ip', PermittedIp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Eth2 < ConfigClass def has_multiple_values?; false; end def _section :eth2 end class Type < ConfigClass def has_multiple_values?; false; end def _section :type end class Static < ConfigClass def has_multiple_values?; false; end def _section :static end @props = {} end def static @subclasses['static'] ||= Static.new(parent_instance: self, client: @client, create_children: @create_children) end class DhcpClient < ConfigClass def has_multiple_values?; false; end def _section :'dhcp-client' end @props = {} end def dhcp_client @subclasses['dhcp-client'] ||= DhcpClient.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type @subclasses['type'] ||= Type.new(parent_instance: self, client: @client, create_children: @create_children) end class Service < ConfigClass def has_multiple_values?; false; end def _section :service end @props = {'disable-icmp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'disable-ssh'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'disable-device-log-collection'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'disable-collector-group-communication'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'disable-syslog-forwarding'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'disable-device-telemetry-forwarding'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}} def disable_icmp prop_get('disable-icmp') end def disable_icmp=(val) prop_set('disable-icmp', val) end def disable_ssh prop_get('disable-ssh') end def disable_ssh=(val) prop_set('disable-ssh', val) end def disable_device_log_collection prop_get('disable-device-log-collection') end def disable_device_log_collection=(val) prop_set('disable-device-log-collection', val) end def disable_collector_group_communication prop_get('disable-collector-group-communication') end def disable_collector_group_communication=(val) prop_set('disable-collector-group-communication', val) end def disable_syslog_forwarding prop_get('disable-syslog-forwarding') end def disable_syslog_forwarding=(val) prop_set('disable-syslog-forwarding', val) end def disable_device_telemetry_forwarding prop_get('disable-device-telemetry-forwarding') end def disable_device_telemetry_forwarding=(val) prop_set('disable-device-telemetry-forwarding', val) end end def service @subclasses['service'] ||= Service.new(parent_instance: self, client: @client, create_children: @create_children) end class PermittedIp < XML::ConfigClass def has_multiple_values?; true; end def _section :'permitted-ip' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'optional'=>'yes', 'type'=>'ipspec', 'help-string'=>'ip address/prefix'}} # ip address/prefix def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def permitted_ip maybe_register_subclass('permitted-ip', PermittedIp.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'speed-duplex'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'auto-negotiate', 'help-string'=>'Speed and duplex for the interface', 'enum'=>[{'value'=>'auto-negotiate'}, {'value'=>'10Mbps-half-duplex', 'prune-on-sdb'=>'cfg.platform.model=M-300,cfg.platform.model=M-700'}, {'value'=>'10Mbps-full-duplex', 'prune-on-sdb'=>'cfg.platform.model=M-300,cfg.platform.model=M-700'}, {'value'=>'100Mbps-half-duplex', 'prune-on-sdb'=>'cfg.platform.model=M-300,cfg.platform.model=M-700'}, {'value'=>'100Mbps-full-duplex', 'prune-on-sdb'=>'cfg.platform.model=M-300,cfg.platform.model=M-700'}, {'value'=>'1Gbps-half-duplex', 'prune-on-sdb'=>'cfg.platform.model=M-300,cfg.platform.model=M-700'}, {'value'=>'1Gbps-full-duplex', 'prune-on-sdb'=>'cfg.platform.model=M-300,cfg.platform.model=M-700'}]}, 'ip-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes', 'help-string'=>'IP address for the interface'}, 'netmask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'subtype'=>'ip-address', 'help-string'=>'IP netmask for the interface'}, 'default-gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-only'=>'yes', 'help-string'=>'Default gateway'}, 'public-ip-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes', 'help-string'=>'Public IP address for the interface'}, 'ipv6-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-with-mask'=>'yes', 'ipv6-only'=>'yes', 'help-string'=>'IPv6 address for the interface'}, 'ipv6-default-gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'unicast-only'=>'yes', 'type'=>'ipspec', 'help-string'=>'IPv6 Default gateway'}, 'mtu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'576', 'max'=>'1500', 'default'=>'1500', 'help-string'=>'Maximum Transmission Unit for the interface'}} # Speed and duplex for the interface def speed_duplex prop_get('speed-duplex') end # Speed and duplex for the interface def speed_duplex=(val) prop_set('speed-duplex', val) end # IP address for the interface def ip_address prop_get('ip-address') end # IP address for the interface def ip_address=(val) prop_set('ip-address', val) end # IP netmask for the interface def netmask prop_get('netmask') end # IP netmask for the interface def netmask=(val) prop_set('netmask', val) end # Default gateway def default_gateway prop_get('default-gateway') end # Default gateway def default_gateway=(val) prop_set('default-gateway', val) end # Public IP address for the interface def public_ip_address prop_get('public-ip-address') end # Public IP address for the interface def public_ip_address=(val) prop_set('public-ip-address', val) end # IPv6 address for the interface def ipv6_address prop_get('ipv6-address') end # IPv6 address for the interface def ipv6_address=(val) prop_set('ipv6-address', val) end # IPv6 Default gateway def ipv6_default_gateway prop_get('ipv6-default-gateway') end # IPv6 Default gateway def ipv6_default_gateway=(val) prop_set('ipv6-default-gateway', val) end # Maximum Transmission Unit for the interface def mtu prop_get('mtu') end # Maximum Transmission Unit for the interface def mtu=(val) prop_set('mtu', val) end end def eth2 @subclasses['eth2'] ||= Eth2.new(parent_instance: self, client: @client, create_children: @create_children) end class Eth3 < ConfigClass def has_multiple_values?; false; end def _section :eth3 end class Type < ConfigClass def has_multiple_values?; false; end def _section :type end class Static < ConfigClass def has_multiple_values?; false; end def _section :static end @props = {} end def static @subclasses['static'] ||= Static.new(parent_instance: self, client: @client, create_children: @create_children) end class DhcpClient < ConfigClass def has_multiple_values?; false; end def _section :'dhcp-client' end @props = {} end def dhcp_client @subclasses['dhcp-client'] ||= DhcpClient.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type @subclasses['type'] ||= Type.new(parent_instance: self, client: @client, create_children: @create_children) end class Service < ConfigClass def has_multiple_values?; false; end def _section :service end @props = {'disable-icmp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'disable-ssh'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'disable-device-log-collection'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'disable-collector-group-communication'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'disable-syslog-forwarding'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'disable-device-telemetry-forwarding'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}} def disable_icmp prop_get('disable-icmp') end def disable_icmp=(val) prop_set('disable-icmp', val) end def disable_ssh prop_get('disable-ssh') end def disable_ssh=(val) prop_set('disable-ssh', val) end def disable_device_log_collection prop_get('disable-device-log-collection') end def disable_device_log_collection=(val) prop_set('disable-device-log-collection', val) end def disable_collector_group_communication prop_get('disable-collector-group-communication') end def disable_collector_group_communication=(val) prop_set('disable-collector-group-communication', val) end def disable_syslog_forwarding prop_get('disable-syslog-forwarding') end def disable_syslog_forwarding=(val) prop_set('disable-syslog-forwarding', val) end def disable_device_telemetry_forwarding prop_get('disable-device-telemetry-forwarding') end def disable_device_telemetry_forwarding=(val) prop_set('disable-device-telemetry-forwarding', val) end end def service @subclasses['service'] ||= Service.new(parent_instance: self, client: @client, create_children: @create_children) end class PermittedIp < XML::ConfigClass def has_multiple_values?; true; end def _section :'permitted-ip' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'optional'=>'yes', 'type'=>'ipspec', 'help-string'=>'ip address/prefix'}} # ip address/prefix def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def permitted_ip maybe_register_subclass('permitted-ip', PermittedIp.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'speed-duplex'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'auto-negotiate', 'help-string'=>'Speed and duplex for the interface', 'enum'=>[{'value'=>'auto-negotiate'}, {'value'=>'10Mbps-half-duplex', 'prune-on-sdb'=>'cfg.platform.model=M-300,cfg.platform.model=M-700'}, {'value'=>'10Mbps-full-duplex', 'prune-on-sdb'=>'cfg.platform.model=M-300,cfg.platform.model=M-700'}, {'value'=>'100Mbps-half-duplex', 'prune-on-sdb'=>'cfg.platform.model=M-300,cfg.platform.model=M-700'}, {'value'=>'100Mbps-full-duplex', 'prune-on-sdb'=>'cfg.platform.model=M-300,cfg.platform.model=M-700'}, {'value'=>'1Gbps-half-duplex', 'prune-on-sdb'=>'cfg.platform.model=M-300,cfg.platform.model=M-700'}, {'value'=>'1Gbps-full-duplex', 'prune-on-sdb'=>'cfg.platform.model=M-300,cfg.platform.model=M-700'}]}, 'ip-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes', 'help-string'=>'IP address for the interface'}, 'netmask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'subtype'=>'ip-address', 'help-string'=>'IP netmask for the interface'}, 'default-gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-only'=>'yes', 'help-string'=>'Default gateway'}, 'public-ip-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes', 'help-string'=>'Public IP address for the interface'}, 'ipv6-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-with-mask'=>'yes', 'ipv6-only'=>'yes', 'help-string'=>'IPv6 address for the interface'}, 'ipv6-default-gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'unicast-only'=>'yes', 'type'=>'ipspec', 'help-string'=>'IPv6 Default gateway'}, 'mtu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'576', 'max'=>'1500', 'default'=>'1500', 'help-string'=>'Maximum Transmission Unit for the interface'}} # Speed and duplex for the interface def speed_duplex prop_get('speed-duplex') end # Speed and duplex for the interface def speed_duplex=(val) prop_set('speed-duplex', val) end # IP address for the interface def ip_address prop_get('ip-address') end # IP address for the interface def ip_address=(val) prop_set('ip-address', val) end # IP netmask for the interface def netmask prop_get('netmask') end # IP netmask for the interface def netmask=(val) prop_set('netmask', val) end # Default gateway def default_gateway prop_get('default-gateway') end # Default gateway def default_gateway=(val) prop_set('default-gateway', val) end # Public IP address for the interface def public_ip_address prop_get('public-ip-address') end # Public IP address for the interface def public_ip_address=(val) prop_set('public-ip-address', val) end # IPv6 address for the interface def ipv6_address prop_get('ipv6-address') end # IPv6 address for the interface def ipv6_address=(val) prop_set('ipv6-address', val) end # IPv6 Default gateway def ipv6_default_gateway prop_get('ipv6-default-gateway') end # IPv6 Default gateway def ipv6_default_gateway=(val) prop_set('ipv6-default-gateway', val) end # Maximum Transmission Unit for the interface def mtu prop_get('mtu') end # Maximum Transmission Unit for the interface def mtu=(val) prop_set('mtu', val) end end def eth3 @subclasses['eth3'] ||= Eth3.new(parent_instance: self, client: @client, create_children: @create_children) end class Eth1 < ConfigClass def has_multiple_values?; false; end def _section :eth1 end class Type < ConfigClass def has_multiple_values?; false; end def _section :type end class Static < ConfigClass def has_multiple_values?; false; end def _section :static end @props = {} end def static @subclasses['static'] ||= Static.new(parent_instance: self, client: @client, create_children: @create_children) end class DhcpClient < ConfigClass def has_multiple_values?; false; end def _section :'dhcp-client' end @props = {} end def dhcp_client @subclasses['dhcp-client'] ||= DhcpClient.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type @subclasses['type'] ||= Type.new(parent_instance: self, client: @client, create_children: @create_children) end class Service < ConfigClass def has_multiple_values?; false; end def _section :service end @props = {'disable-icmp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'disable-ssh'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'disable-device-log-collection'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'disable-collector-group-communication'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'disable-syslog-forwarding'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'disable-device-telemetry-forwarding'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}} def disable_icmp prop_get('disable-icmp') end def disable_icmp=(val) prop_set('disable-icmp', val) end def disable_ssh prop_get('disable-ssh') end def disable_ssh=(val) prop_set('disable-ssh', val) end def disable_device_log_collection prop_get('disable-device-log-collection') end def disable_device_log_collection=(val) prop_set('disable-device-log-collection', val) end def disable_collector_group_communication prop_get('disable-collector-group-communication') end def disable_collector_group_communication=(val) prop_set('disable-collector-group-communication', val) end def disable_syslog_forwarding prop_get('disable-syslog-forwarding') end def disable_syslog_forwarding=(val) prop_set('disable-syslog-forwarding', val) end def disable_device_telemetry_forwarding prop_get('disable-device-telemetry-forwarding') end def disable_device_telemetry_forwarding=(val) prop_set('disable-device-telemetry-forwarding', val) end end def service @subclasses['service'] ||= Service.new(parent_instance: self, client: @client, create_children: @create_children) end class PermittedIp < XML::ConfigClass def has_multiple_values?; true; end def _section :'permitted-ip' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'optional'=>'yes', 'type'=>'ipspec', 'help-string'=>'ip address/prefix'}} # ip address/prefix def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def permitted_ip maybe_register_subclass('permitted-ip', PermittedIp.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'speed-duplex'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'auto-negotiate', 'help-string'=>'Speed and duplex for the interface', 'enum'=>[{'value'=>'auto-negotiate'}, {'value'=>'10Mbps-half-duplex', 'prune-on-sdb'=>'cfg.platform.model=M-300,cfg.platform.model=M-700'}, {'value'=>'10Mbps-full-duplex', 'prune-on-sdb'=>'cfg.platform.model=M-300,cfg.platform.model=M-700'}, {'value'=>'100Mbps-half-duplex', 'prune-on-sdb'=>'cfg.platform.model=M-300,cfg.platform.model=M-700'}, {'value'=>'100Mbps-full-duplex', 'prune-on-sdb'=>'cfg.platform.model=M-300,cfg.platform.model=M-700'}, {'value'=>'1Gbps-half-duplex', 'prune-on-sdb'=>'cfg.platform.model=M-300,cfg.platform.model=M-700'}, {'value'=>'1Gbps-full-duplex', 'prune-on-sdb'=>'cfg.platform.model=M-300,cfg.platform.model=M-700'}, {'value'=>'10Gbps-full-duplex', 'prune-on-sdb'=>'cfg.platform.model=M-300,cfg.platform.model=M-700'}]}, 'ip-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes', 'help-string'=>'IP address for the interface'}, 'netmask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'subtype'=>'ip-address', 'help-string'=>'IP netmask for the interface'}, 'default-gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-only'=>'yes', 'help-string'=>'Default gateway'}, 'public-ip-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes', 'help-string'=>'Public IP address for the interface'}, 'ipv6-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-with-mask'=>'yes', 'ipv6-only'=>'yes', 'help-string'=>'IPv6 address for the interface'}, 'ipv6-default-gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'unicast-only'=>'yes', 'type'=>'ipspec', 'help-string'=>'IPv6 Default gateway'}, 'mtu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'576', 'max'=>'1500', 'default'=>'1500', 'help-string'=>'Maximum Transmission Unit for the interface'}} # Speed and duplex for the interface def speed_duplex prop_get('speed-duplex') end # Speed and duplex for the interface def speed_duplex=(val) prop_set('speed-duplex', val) end # IP address for the interface def ip_address prop_get('ip-address') end # IP address for the interface def ip_address=(val) prop_set('ip-address', val) end # IP netmask for the interface def netmask prop_get('netmask') end # IP netmask for the interface def netmask=(val) prop_set('netmask', val) end # Default gateway def default_gateway prop_get('default-gateway') end # Default gateway def default_gateway=(val) prop_set('default-gateway', val) end # Public IP address for the interface def public_ip_address prop_get('public-ip-address') end # Public IP address for the interface def public_ip_address=(val) prop_set('public-ip-address', val) end # IPv6 address for the interface def ipv6_address prop_get('ipv6-address') end # IPv6 address for the interface def ipv6_address=(val) prop_set('ipv6-address', val) end # IPv6 Default gateway def ipv6_default_gateway prop_get('ipv6-default-gateway') end # IPv6 Default gateway def ipv6_default_gateway=(val) prop_set('ipv6-default-gateway', val) end # Maximum Transmission Unit for the interface def mtu prop_get('mtu') end # Maximum Transmission Unit for the interface def mtu=(val) prop_set('mtu', val) end end def eth1 @subclasses['eth1'] ||= Eth1.new(parent_instance: self, client: @client, create_children: @create_children) end class Eth4 < ConfigClass def has_multiple_values?; false; end def _section :eth4 end class Type < ConfigClass def has_multiple_values?; false; end def _section :type end class Static < ConfigClass def has_multiple_values?; false; end def _section :static end @props = {} end def static @subclasses['static'] ||= Static.new(parent_instance: self, client: @client, create_children: @create_children) end class DhcpClient < ConfigClass def has_multiple_values?; false; end def _section :'dhcp-client' end @props = {} end def dhcp_client @subclasses['dhcp-client'] ||= DhcpClient.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type @subclasses['type'] ||= Type.new(parent_instance: self, client: @client, create_children: @create_children) end class Service < ConfigClass def has_multiple_values?; false; end def _section :service end @props = {'disable-icmp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'disable-ssh'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'disable-device-log-collection'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'disable-collector-group-communication'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'disable-syslog-forwarding'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'disable-device-telemetry-forwarding'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}} def disable_icmp prop_get('disable-icmp') end def disable_icmp=(val) prop_set('disable-icmp', val) end def disable_ssh prop_get('disable-ssh') end def disable_ssh=(val) prop_set('disable-ssh', val) end def disable_device_log_collection prop_get('disable-device-log-collection') end def disable_device_log_collection=(val) prop_set('disable-device-log-collection', val) end def disable_collector_group_communication prop_get('disable-collector-group-communication') end def disable_collector_group_communication=(val) prop_set('disable-collector-group-communication', val) end def disable_syslog_forwarding prop_get('disable-syslog-forwarding') end def disable_syslog_forwarding=(val) prop_set('disable-syslog-forwarding', val) end def disable_device_telemetry_forwarding prop_get('disable-device-telemetry-forwarding') end def disable_device_telemetry_forwarding=(val) prop_set('disable-device-telemetry-forwarding', val) end end def service @subclasses['service'] ||= Service.new(parent_instance: self, client: @client, create_children: @create_children) end class PermittedIp < XML::ConfigClass def has_multiple_values?; true; end def _section :'permitted-ip' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'optional'=>'yes', 'type'=>'ipspec', 'help-string'=>'ip address/prefix'}} # ip address/prefix def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def permitted_ip maybe_register_subclass('permitted-ip', PermittedIp.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'speed-duplex'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'auto-negotiate', 'help-string'=>'Speed and duplex for the interface', 'enum'=>[{'value'=>'auto-negotiate'}, {'value'=>'10Mbps-half-duplex', 'prune-on-sdb'=>'cfg.platform.model=M-300,cfg.platform.model=M-700'}, {'value'=>'10Mbps-full-duplex', 'prune-on-sdb'=>'cfg.platform.model=M-300,cfg.platform.model=M-700'}, {'value'=>'100Mbps-half-duplex', 'prune-on-sdb'=>'cfg.platform.model=M-300,cfg.platform.model=M-700'}, {'value'=>'100Mbps-full-duplex', 'prune-on-sdb'=>'cfg.platform.model=M-300,cfg.platform.model=M-700'}, {'value'=>'1Gbps-half-duplex', 'prune-on-sdb'=>'cfg.platform.model=M-300,cfg.platform.model=M-700'}, {'value'=>'1Gbps-full-duplex', 'prune-on-sdb'=>'cfg.platform.model=M-300,cfg.platform.model=M-700'}, {'value'=>'10Gbps-full-duplex', 'prune-on-sdb'=>'cfg.platform.model=M-300,cfg.platform.model=M-700'}]}, 'ip-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes', 'help-string'=>'IP address for the interface'}, 'netmask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'subtype'=>'ip-address', 'help-string'=>'IP netmask for the interface'}, 'default-gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-only'=>'yes', 'help-string'=>'Default gateway'}, 'public-ip-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes', 'help-string'=>'Public IP address for the interface'}, 'ipv6-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-with-mask'=>'yes', 'ipv6-only'=>'yes', 'help-string'=>'IPv6 address for the interface'}, 'ipv6-default-gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'unicast-only'=>'yes', 'type'=>'ipspec', 'help-string'=>'IPv6 Default gateway'}, 'mtu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'576', 'max'=>'1500', 'default'=>'1500', 'help-string'=>'Maximum Transmission Unit for the interface'}} # Speed and duplex for the interface def speed_duplex prop_get('speed-duplex') end # Speed and duplex for the interface def speed_duplex=(val) prop_set('speed-duplex', val) end # IP address for the interface def ip_address prop_get('ip-address') end # IP address for the interface def ip_address=(val) prop_set('ip-address', val) end # IP netmask for the interface def netmask prop_get('netmask') end # IP netmask for the interface def netmask=(val) prop_set('netmask', val) end # Default gateway def default_gateway prop_get('default-gateway') end # Default gateway def default_gateway=(val) prop_set('default-gateway', val) end # Public IP address for the interface def public_ip_address prop_get('public-ip-address') end # Public IP address for the interface def public_ip_address=(val) prop_set('public-ip-address', val) end # IPv6 address for the interface def ipv6_address prop_get('ipv6-address') end # IPv6 address for the interface def ipv6_address=(val) prop_set('ipv6-address', val) end # IPv6 Default gateway def ipv6_default_gateway prop_get('ipv6-default-gateway') end # IPv6 Default gateway def ipv6_default_gateway=(val) prop_set('ipv6-default-gateway', val) end # Maximum Transmission Unit for the interface def mtu prop_get('mtu') end # Maximum Transmission Unit for the interface def mtu=(val) prop_set('mtu', val) end end def eth4 @subclasses['eth4'] ||= Eth4.new(parent_instance: self, client: @client, create_children: @create_children) end class Eth5 < ConfigClass def has_multiple_values?; false; end def _section :eth5 end class Type < ConfigClass def has_multiple_values?; false; end def _section :type end class Static < ConfigClass def has_multiple_values?; false; end def _section :static end @props = {} end def static @subclasses['static'] ||= Static.new(parent_instance: self, client: @client, create_children: @create_children) end class DhcpClient < ConfigClass def has_multiple_values?; false; end def _section :'dhcp-client' end @props = {} end def dhcp_client @subclasses['dhcp-client'] ||= DhcpClient.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type @subclasses['type'] ||= Type.new(parent_instance: self, client: @client, create_children: @create_children) end class Service < ConfigClass def has_multiple_values?; false; end def _section :service end @props = {'disable-icmp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'disable-ssh'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'disable-device-log-collection'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'disable-collector-group-communication'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'disable-syslog-forwarding'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'disable-device-telemetry-forwarding'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}} def disable_icmp prop_get('disable-icmp') end def disable_icmp=(val) prop_set('disable-icmp', val) end def disable_ssh prop_get('disable-ssh') end def disable_ssh=(val) prop_set('disable-ssh', val) end def disable_device_log_collection prop_get('disable-device-log-collection') end def disable_device_log_collection=(val) prop_set('disable-device-log-collection', val) end def disable_collector_group_communication prop_get('disable-collector-group-communication') end def disable_collector_group_communication=(val) prop_set('disable-collector-group-communication', val) end def disable_syslog_forwarding prop_get('disable-syslog-forwarding') end def disable_syslog_forwarding=(val) prop_set('disable-syslog-forwarding', val) end def disable_device_telemetry_forwarding prop_get('disable-device-telemetry-forwarding') end def disable_device_telemetry_forwarding=(val) prop_set('disable-device-telemetry-forwarding', val) end end def service @subclasses['service'] ||= Service.new(parent_instance: self, client: @client, create_children: @create_children) end class PermittedIp < XML::ConfigClass def has_multiple_values?; true; end def _section :'permitted-ip' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'optional'=>'yes', 'type'=>'ipspec', 'help-string'=>'ip address/prefix'}} # ip address/prefix def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def permitted_ip maybe_register_subclass('permitted-ip', PermittedIp.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'speed-duplex'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'auto-negotiate', 'help-string'=>'Speed and duplex for the interface', 'enum'=>[{'value'=>'auto-negotiate'}, {'value'=>'10Mbps-half-duplex', 'prune-on-sdb'=>'cfg.platform.model=M-300,cfg.platform.model=M-700'}, {'value'=>'10Mbps-full-duplex', 'prune-on-sdb'=>'cfg.platform.model=M-300,cfg.platform.model=M-700'}, {'value'=>'100Mbps-half-duplex', 'prune-on-sdb'=>'cfg.platform.model=M-300,cfg.platform.model=M-700'}, {'value'=>'100Mbps-full-duplex', 'prune-on-sdb'=>'cfg.platform.model=M-300,cfg.platform.model=M-700'}, {'value'=>'1Gbps-half-duplex', 'prune-on-sdb'=>'cfg.platform.model=M-300,cfg.platform.model=M-700'}, {'value'=>'1Gbps-full-duplex', 'prune-on-sdb'=>'cfg.platform.model=M-300,cfg.platform.model=M-700'}, {'value'=>'10Gbps-full-duplex', 'prune-on-sdb'=>'cfg.platform.model=M-300,cfg.platform.model=M-700'}]}, 'ip-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes', 'help-string'=>'IP address for the interface'}, 'netmask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'subtype'=>'ip-address', 'help-string'=>'IP netmask for the interface'}, 'default-gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-only'=>'yes', 'help-string'=>'Default gateway'}, 'public-ip-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes', 'help-string'=>'Public IP address for the interface'}, 'ipv6-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-with-mask'=>'yes', 'ipv6-only'=>'yes', 'help-string'=>'IPv6 address for the interface'}, 'ipv6-default-gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'unicast-only'=>'yes', 'type'=>'ipspec', 'help-string'=>'IPv6 Default gateway'}, 'mtu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'576', 'max'=>'1500', 'default'=>'1500', 'help-string'=>'Maximum Transmission Unit for the interface'}} # Speed and duplex for the interface def speed_duplex prop_get('speed-duplex') end # Speed and duplex for the interface def speed_duplex=(val) prop_set('speed-duplex', val) end # IP address for the interface def ip_address prop_get('ip-address') end # IP address for the interface def ip_address=(val) prop_set('ip-address', val) end # IP netmask for the interface def netmask prop_get('netmask') end # IP netmask for the interface def netmask=(val) prop_set('netmask', val) end # Default gateway def default_gateway prop_get('default-gateway') end # Default gateway def default_gateway=(val) prop_set('default-gateway', val) end # Public IP address for the interface def public_ip_address prop_get('public-ip-address') end # Public IP address for the interface def public_ip_address=(val) prop_set('public-ip-address', val) end # IPv6 address for the interface def ipv6_address prop_get('ipv6-address') end # IPv6 address for the interface def ipv6_address=(val) prop_set('ipv6-address', val) end # IPv6 Default gateway def ipv6_default_gateway prop_get('ipv6-default-gateway') end # IPv6 Default gateway def ipv6_default_gateway=(val) prop_set('ipv6-default-gateway', val) end # Maximum Transmission Unit for the interface def mtu prop_get('mtu') end # Maximum Transmission Unit for the interface def mtu=(val) prop_set('mtu', val) end end def eth5 @subclasses['eth5'] ||= Eth5.new(parent_instance: self, client: @client, create_children: @create_children) end class Bond1 < ConfigClass def has_multiple_values?; false; end def _section :bond1 end class Type < ConfigClass def has_multiple_values?; false; end def _section :type end class Static < ConfigClass def has_multiple_values?; false; end def _section :static end @props = {} end def static @subclasses['static'] ||= Static.new(parent_instance: self, client: @client, create_children: @create_children) end class DhcpClient < ConfigClass def has_multiple_values?; false; end def _section :'dhcp-client' end @props = {} end def dhcp_client @subclasses['dhcp-client'] ||= DhcpClient.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type @subclasses['type'] ||= Type.new(parent_instance: self, client: @client, create_children: @create_children) end class Service < ConfigClass def has_multiple_values?; false; end def _section :service end @props = {'disable-icmp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'disable-ssh'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'disable-device-log-collection'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'disable-collector-group-communication'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'disable-syslog-forwarding'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'disable-device-telemetry-forwarding'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}} def disable_icmp prop_get('disable-icmp') end def disable_icmp=(val) prop_set('disable-icmp', val) end def disable_ssh prop_get('disable-ssh') end def disable_ssh=(val) prop_set('disable-ssh', val) end def disable_device_log_collection prop_get('disable-device-log-collection') end def disable_device_log_collection=(val) prop_set('disable-device-log-collection', val) end def disable_collector_group_communication prop_get('disable-collector-group-communication') end def disable_collector_group_communication=(val) prop_set('disable-collector-group-communication', val) end def disable_syslog_forwarding prop_get('disable-syslog-forwarding') end def disable_syslog_forwarding=(val) prop_set('disable-syslog-forwarding', val) end def disable_device_telemetry_forwarding prop_get('disable-device-telemetry-forwarding') end def disable_device_telemetry_forwarding=(val) prop_set('disable-device-telemetry-forwarding', val) end end def service @subclasses['service'] ||= Service.new(parent_instance: self, client: @client, create_children: @create_children) end class PermittedIp < XML::ConfigClass def has_multiple_values?; true; end def _section :'permitted-ip' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'optional'=>'yes', 'type'=>'ipspec', 'help-string'=>'ip address/prefix'}} # ip address/prefix def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def permitted_ip maybe_register_subclass('permitted-ip', PermittedIp.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'speed-duplex'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'auto-negotiate', 'help-string'=>'Speed and duplex for the interface', 'enum'=>[{'value'=>'auto-negotiate'}, {'value'=>'10Mbps-half-duplex', 'prune-on-sdb'=>'cfg.platform.model=M-300,cfg.platform.model=M-700'}, {'value'=>'10Mbps-full-duplex', 'prune-on-sdb'=>'cfg.platform.model=M-300,cfg.platform.model=M-700'}, {'value'=>'100Mbps-half-duplex', 'prune-on-sdb'=>'cfg.platform.model=M-300,cfg.platform.model=M-700'}, {'value'=>'100Mbps-full-duplex', 'prune-on-sdb'=>'cfg.platform.model=M-300,cfg.platform.model=M-700'}, {'value'=>'1Gbps-half-duplex', 'prune-on-sdb'=>'cfg.platform.model=M-300,cfg.platform.model=M-700'}, {'value'=>'1Gbps-full-duplex', 'prune-on-sdb'=>'cfg.platform.model=M-300,cfg.platform.model=M-700'}, {'value'=>'10Gbps-full-duplex', 'prune-on-sdb'=>'cfg.platform.model=M-300,cfg.platform.model=M-700'}]}, 'ip-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes', 'help-string'=>'IP address for the interface'}, 'netmask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'subtype'=>'ip-address', 'help-string'=>'IP netmask for the interface'}, 'default-gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-only'=>'yes', 'help-string'=>'Default gateway'}, 'public-ip-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes', 'help-string'=>'Public IP address for the interface'}, 'ipv6-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-with-mask'=>'yes', 'ipv6-only'=>'yes', 'help-string'=>'IPv6 address for the interface'}, 'ipv6-default-gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'unicast-only'=>'yes', 'type'=>'ipspec', 'help-string'=>'IPv6 Default gateway'}, 'mtu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'576', 'max'=>'1500', 'default'=>'1500', 'help-string'=>'Maximum Transmission Unit for the interface'}} # Speed and duplex for the interface def speed_duplex prop_get('speed-duplex') end # Speed and duplex for the interface def speed_duplex=(val) prop_set('speed-duplex', val) end # IP address for the interface def ip_address prop_get('ip-address') end # IP address for the interface def ip_address=(val) prop_set('ip-address', val) end # IP netmask for the interface def netmask prop_get('netmask') end # IP netmask for the interface def netmask=(val) prop_set('netmask', val) end # Default gateway def default_gateway prop_get('default-gateway') end # Default gateway def default_gateway=(val) prop_set('default-gateway', val) end # Public IP address for the interface def public_ip_address prop_get('public-ip-address') end # Public IP address for the interface def public_ip_address=(val) prop_set('public-ip-address', val) end # IPv6 address for the interface def ipv6_address prop_get('ipv6-address') end # IPv6 address for the interface def ipv6_address=(val) prop_set('ipv6-address', val) end # IPv6 Default gateway def ipv6_default_gateway prop_get('ipv6-default-gateway') end # IPv6 Default gateway def ipv6_default_gateway=(val) prop_set('ipv6-default-gateway', val) end # Maximum Transmission Unit for the interface def mtu prop_get('mtu') end # Maximum Transmission Unit for the interface def mtu=(val) prop_set('mtu', val) end end def bond1 @subclasses['bond1'] ||= Bond1.new(parent_instance: self, client: @client, create_children: @create_children) end class UserIdSslAuth < ConfigClass def has_multiple_values?; false; end def _section :'user-id-ssl-auth' end @props = {'certificate-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Profile for authenticating client certificates'}} # Profile for authenticating client certificates def certificate_profile prop_get('certificate-profile') end # Profile for authenticating client certificates def certificate_profile=(val) prop_set('certificate-profile', val) end end def user_id_ssl_auth @subclasses['user-id-ssl-auth'] ||= UserIdSslAuth.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'login-banner'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'3200'}, 'hostname'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[a-zA-Z0-9\._-]+$', 'minlen'=>'1', 'maxlen'=>'32'}, 'domain'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'32'}, 'speed-duplex'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'auto-negotiate', 'help-string'=>'Speed and duplex for the management interface', 'enum'=>[{'value'=>'auto-negotiate'}, {'value'=>'10Mbps-half-duplex', 'prune-on-sdb'=>'cfg.platform.model=M-300,cfg.platform.model=M-700'}, {'value'=>'10Mbps-full-duplex', 'prune-on-sdb'=>'cfg.platform.model=M-300,cfg.platform.model=M-700'}, {'value'=>'100Mbps-half-duplex', 'prune-on-sdb'=>'cfg.platform.model=M-300,cfg.platform.model=M-700'}, {'value'=>'100Mbps-full-duplex', 'prune-on-sdb'=>'cfg.platform.model=M-300,cfg.platform.model=M-700'}, {'value'=>'1Gbps-half-duplex', 'prune-on-sdb'=>'cfg.platform.model=M-300,cfg.platform.model=M-700'}, {'value'=>'1Gbps-full-duplex', 'prune-on-sdb'=>'cfg.platform.model=M-300,cfg.platform.model=M-700'}]}, 'syslog-certificate'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'client certificate for syslog'}, 'inbound-syslog-certificate'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'server certificate for syslog'}, 'ip-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-only'=>'yes', 'help-string'=>'IP address for the management interface'}, 'public-ip-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-only'=>'yes', 'help-string'=>'Public IP address for the management interface'}, 'netmask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'subtype'=>'ip-address', 'help-string'=>'IP netmask for the management interface'}, 'default-gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-only'=>'yes', 'help-string'=>'Default gateway'}, 'ipv6-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'help-string'=>'IPv6 address for the management interface'}, 'ipv6-default-gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'unicast-only'=>'yes', 'type'=>'ipspec', 'help-string'=>'IPv6 Default gateway'}, 'mtu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'576', 'max'=>'1500', 'default'=>'1500', 'help-string'=>'Maximum Transmission Unit for the management interface'}, 'panorama-server'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^([0-9a-zA-Z:./_-])+$', 'maxlen'=>'63', 'help-string'=>'Panorama server (IP address or FQDN)'}, 'panorama-server-2'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^([0-9a-zA-Z:./_-])+$', 'maxlen'=>'63', 'help-string'=>'Panorama server 2 (IP address or FQDN)'}, 'timezone'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'Africa/Abidjan'}, {'value'=>'Africa/Accra'}, {'value'=>'Africa/Addis_Ababa'}, {'value'=>'Africa/Algiers'}, {'value'=>'Africa/Asmara'}, {'value'=>'Africa/Asmera'}, {'value'=>'Africa/Bamako'}, {'value'=>'Africa/Bangui'}, {'value'=>'Africa/Banjul'}, {'value'=>'Africa/Bissau'}, {'value'=>'Africa/Blantyre'}, {'value'=>'Africa/Brazzaville'}, {'value'=>'Africa/Bujumbura'}, {'value'=>'Africa/Cairo'}, {'value'=>'Africa/Casablanca'}, {'value'=>'Africa/Ceuta'}, {'value'=>'Africa/Conakry'}, {'value'=>'Africa/Dakar'}, {'value'=>'Africa/Dar_es_Salaam'}, {'value'=>'Africa/Djibouti'}, {'value'=>'Africa/Douala'}, {'value'=>'Africa/El_Aaiun'}, {'value'=>'Africa/Freetown'}, {'value'=>'Africa/Gaborone'}, {'value'=>'Africa/Harare'}, {'value'=>'Africa/Johannesburg'}, {'value'=>'Africa/Kampala'}, {'value'=>'Africa/Khartoum'}, {'value'=>'Africa/Kigali'}, {'value'=>'Africa/Kinshasa'}, {'value'=>'Africa/Lagos'}, {'value'=>'Africa/Libreville'}, {'value'=>'Africa/Lome'}, {'value'=>'Africa/Luanda'}, {'value'=>'Africa/Lubumbashi'}, {'value'=>'Africa/Lusaka'}, {'value'=>'Africa/Malabo'}, {'value'=>'Africa/Maputo'}, {'value'=>'Africa/Maseru'}, {'value'=>'Africa/Mbabane'}, {'value'=>'Africa/Mogadishu'}, {'value'=>'Africa/Monrovia'}, {'value'=>'Africa/Nairobi'}, {'value'=>'Africa/Ndjamena'}, {'value'=>'Africa/Niamey'}, {'value'=>'Africa/Nouakchott'}, {'value'=>'Africa/Ouagadougou'}, {'value'=>'Africa/Porto-Novo'}, {'value'=>'Africa/Sao_Tome'}, {'value'=>'Africa/Timbuktu'}, {'value'=>'Africa/Tripoli'}, {'value'=>'Africa/Tunis'}, {'value'=>'Africa/Windhoek'}, {'value'=>'America/Adak'}, {'value'=>'America/Anchorage'}, {'value'=>'America/Anguilla'}, {'value'=>'America/Antigua'}, {'value'=>'America/Araguaina'}, {'value'=>'America/Argentina/Buenos_Aires'}, {'value'=>'America/Argentina/Catamarca'}, {'value'=>'America/Argentina/ComodRivadavia'}, {'value'=>'America/Argentina/Cordoba'}, {'value'=>'America/Argentina/Jujuy'}, {'value'=>'America/Argentina/La_Rioja'}, {'value'=>'America/Argentina/Mendoza'}, {'value'=>'America/Argentina/Rio_Gallegos'}, {'value'=>'America/Argentina/Salta'}, {'value'=>'America/Argentina/San_Juan'}, {'value'=>'America/Argentina/San_Luis'}, {'value'=>'America/Argentina/Tucuman'}, {'value'=>'America/Argentina/Ushuaia'}, {'value'=>'America/Aruba'}, {'value'=>'America/Asuncion'}, {'value'=>'America/Atikokan'}, {'value'=>'America/Atka'}, {'value'=>'America/Bahia'}, {'value'=>'America/Barbados'}, {'value'=>'America/Belem'}, {'value'=>'America/Belize'}, {'value'=>'America/Blanc-Sablon'}, {'value'=>'America/Boa_Vista'}, {'value'=>'America/Bogota'}, {'value'=>'America/Boise'}, {'value'=>'America/Buenos_Aires'}, {'value'=>'America/Cambridge_Bay'}, {'value'=>'America/Campo_Grande'}, {'value'=>'America/Cancun'}, {'value'=>'America/Caracas'}, {'value'=>'America/Catamarca'}, {'value'=>'America/Cayenne'}, {'value'=>'America/Cayman'}, {'value'=>'America/Chicago'}, {'value'=>'America/Chihuahua'}, {'value'=>'America/Coral_Harbour'}, {'value'=>'America/Cordoba'}, {'value'=>'America/Costa_Rica'}, {'value'=>'America/Cuiaba'}, {'value'=>'America/Curacao'}, {'value'=>'America/Danmarkshavn'}, {'value'=>'America/Dawson'}, {'value'=>'America/Dawson_Creek'}, {'value'=>'America/Denver'}, {'value'=>'America/Detroit'}, {'value'=>'America/Dominica'}, {'value'=>'America/Edmonton'}, {'value'=>'America/Eirunepe'}, {'value'=>'America/El_Salvador'}, {'value'=>'America/Ensenada'}, {'value'=>'America/Fortaleza'}, {'value'=>'America/Fort_Wayne'}, {'value'=>'America/Glace_Bay'}, {'value'=>'America/Godthab'}, {'value'=>'America/Goose_Bay'}, {'value'=>'America/Grand_Turk'}, {'value'=>'America/Grenada'}, {'value'=>'America/Guadeloupe'}, {'value'=>'America/Guatemala'}, {'value'=>'America/Guayaquil'}, {'value'=>'America/Guyana'}, {'value'=>'America/Halifax'}, {'value'=>'America/Havana'}, {'value'=>'America/Hermosillo'}, {'value'=>'America/Indiana/Indianapolis'}, {'value'=>'America/Indiana/Knox'}, {'value'=>'America/Indiana/Marengo'}, {'value'=>'America/Indiana/Petersburg'}, {'value'=>'America/Indianapolis'}, {'value'=>'America/Indiana/Tell_City'}, {'value'=>'America/Indiana/Vevay'}, {'value'=>'America/Indiana/Vincennes'}, {'value'=>'America/Indiana/Winamac'}, {'value'=>'America/Inuvik'}, {'value'=>'America/Iqaluit'}, {'value'=>'America/Jamaica'}, {'value'=>'America/Jujuy'}, {'value'=>'America/Juneau'}, {'value'=>'America/Kentucky/Louisville'}, {'value'=>'America/Kentucky/Monticello'}, {'value'=>'America/Knox_IN'}, {'value'=>'America/La_Paz'}, {'value'=>'America/Lima'}, {'value'=>'America/Los_Angeles'}, {'value'=>'America/Louisville'}, {'value'=>'America/Maceio'}, {'value'=>'America/Managua'}, {'value'=>'America/Manaus'}, {'value'=>'America/Marigot'}, {'value'=>'America/Martinique'}, {'value'=>'America/Mazatlan'}, {'value'=>'America/Mendoza'}, {'value'=>'America/Menominee'}, {'value'=>'America/Merida'}, {'value'=>'America/Mexico_City'}, {'value'=>'America/Miquelon'}, {'value'=>'America/Moncton'}, {'value'=>'America/Monterrey'}, {'value'=>'America/Montevideo'}, {'value'=>'America/Montreal'}, {'value'=>'America/Montserrat'}, {'value'=>'America/Nassau'}, {'value'=>'America/New_York'}, {'value'=>'America/Nipigon'}, {'value'=>'America/Nome'}, {'value'=>'America/Noronha'}, {'value'=>'America/North_Dakota/Center'}, {'value'=>'America/North_Dakota/New_Salem'}, {'value'=>'America/Panama'}, {'value'=>'America/Pangnirtung'}, {'value'=>'America/Paramaribo'}, {'value'=>'America/Phoenix'}, {'value'=>'America/Port-au-Prince'}, {'value'=>'America/Porto_Acre'}, {'value'=>'America/Port_of_Spain'}, {'value'=>'America/Porto_Velho'}, {'value'=>'America/Puerto_Rico'}, {'value'=>'America/Rainy_River'}, {'value'=>'America/Rankin_Inlet'}, {'value'=>'America/Recife'}, {'value'=>'America/Regina'}, {'value'=>'America/Resolute'}, {'value'=>'America/Rio_Branco'}, {'value'=>'America/Rosario'}, {'value'=>'America/Santarem'}, {'value'=>'America/Santiago'}, {'value'=>'America/Santo_Domingo'}, {'value'=>'America/Sao_Paulo'}, {'value'=>'America/Scoresbysund'}, {'value'=>'America/Shiprock'}, {'value'=>'America/St_Barthelemy'}, {'value'=>'America/St_Johns'}, {'value'=>'America/St_Kitts'}, {'value'=>'America/St_Lucia'}, {'value'=>'America/St_Thomas'}, {'value'=>'America/St_Vincent'}, {'value'=>'America/Swift_Current'}, {'value'=>'America/Tegucigalpa'}, {'value'=>'America/Thule'}, {'value'=>'America/Thunder_Bay'}, {'value'=>'America/Tijuana'}, {'value'=>'America/Toronto'}, {'value'=>'America/Tortola'}, {'value'=>'America/Vancouver'}, {'value'=>'America/Virgin'}, {'value'=>'America/Whitehorse'}, {'value'=>'America/Winnipeg'}, {'value'=>'America/Yakutat'}, {'value'=>'America/Yellowknife'}, {'value'=>'Antarctica/Casey'}, {'value'=>'Antarctica/Davis'}, {'value'=>'Antarctica/DumontDUrville'}, {'value'=>'Antarctica/Mawson'}, {'value'=>'Antarctica/McMurdo'}, {'value'=>'Antarctica/Palmer'}, {'value'=>'Antarctica/Rothera'}, {'value'=>'Antarctica/South_Pole'}, {'value'=>'Antarctica/Syowa'}, {'value'=>'Antarctica/Vostok'}, {'value'=>'Arctic/Longyearbyen'}, {'value'=>'Asia/Aden'}, {'value'=>'Asia/Almaty'}, {'value'=>'Asia/Amman'}, {'value'=>'Asia/Anadyr'}, {'value'=>'Asia/Aqtau'}, {'value'=>'Asia/Aqtobe'}, {'value'=>'Asia/Ashgabat'}, {'value'=>'Asia/Ashkhabad'}, {'value'=>'Asia/Baghdad'}, {'value'=>'Asia/Bahrain'}, {'value'=>'Asia/Baku'}, {'value'=>'Asia/Bangkok'}, {'value'=>'Asia/Beirut'}, {'value'=>'Asia/Bishkek'}, {'value'=>'Asia/Brunei'}, {'value'=>'Asia/Calcutta'}, {'value'=>'Asia/Choibalsan'}, {'value'=>'Asia/Chongqing'}, {'value'=>'Asia/Chungking'}, {'value'=>'Asia/Colombo'}, {'value'=>'Asia/Dacca'}, {'value'=>'Asia/Damascus'}, {'value'=>'Asia/Dhaka'}, {'value'=>'Asia/Dili'}, {'value'=>'Asia/Dubai'}, {'value'=>'Asia/Dushanbe'}, {'value'=>'Asia/Gaza'}, {'value'=>'Asia/Harbin'}, {'value'=>'Asia/Ho_Chi_Minh'}, {'value'=>'Asia/Hong_Kong'}, {'value'=>'Asia/Hovd'}, {'value'=>'Asia/Irkutsk'}, {'value'=>'Asia/Istanbul'}, {'value'=>'Asia/Jakarta'}, {'value'=>'Asia/Jayapura'}, {'value'=>'Asia/Jerusalem'}, {'value'=>'Asia/Kabul'}, {'value'=>'Asia/Kamchatka'}, {'value'=>'Asia/Karachi'}, {'value'=>'Asia/Kashgar'}, {'value'=>'Asia/Kathmandu'}, {'value'=>'Asia/Katmandu'}, {'value'=>'Asia/Kolkata'}, {'value'=>'Asia/Krasnoyarsk'}, {'value'=>'Asia/Kuala_Lumpur'}, {'value'=>'Asia/Kuching'}, {'value'=>'Asia/Kuwait'}, {'value'=>'Asia/Macao'}, {'value'=>'Asia/Macau'}, {'value'=>'Asia/Magadan'}, {'value'=>'Asia/Makassar'}, {'value'=>'Asia/Manila'}, {'value'=>'Asia/Muscat'}, {'value'=>'Asia/Nicosia'}, {'value'=>'Asia/Novokuznetsk'}, {'value'=>'Asia/Novosibirsk'}, {'value'=>'Asia/Omsk'}, {'value'=>'Asia/Oral'}, {'value'=>'Asia/Phnom_Penh'}, {'value'=>'Asia/Pontianak'}, {'value'=>'Asia/Pyongyang'}, {'value'=>'Asia/Qatar'}, {'value'=>'Asia/Qyzylorda'}, {'value'=>'Asia/Rangoon'}, {'value'=>'Asia/Riyadh'}, {'value'=>'Asia/Riyadh87'}, {'value'=>'Asia/Riyadh88'}, {'value'=>'Asia/Riyadh89'}, {'value'=>'Asia/Saigon'}, {'value'=>'Asia/Sakhalin'}, {'value'=>'Asia/Samarkand'}, {'value'=>'Asia/Seoul'}, {'value'=>'Asia/Shanghai'}, {'value'=>'Asia/Singapore'}, {'value'=>'Asia/Taipei'}, {'value'=>'Asia/Tashkent'}, {'value'=>'Asia/Tbilisi'}, {'value'=>'Asia/Tehran'}, {'value'=>'Asia/Tel_Aviv'}, {'value'=>'Asia/Thimbu'}, {'value'=>'Asia/Thimphu'}, {'value'=>'Asia/Tokyo'}, {'value'=>'Asia/Ujung_Pandang'}, {'value'=>'Asia/Ulaanbaatar'}, {'value'=>'Asia/Ulan_Bator'}, {'value'=>'Asia/Urumqi'}, {'value'=>'Asia/Vientiane'}, {'value'=>'Asia/Vladivostok'}, {'value'=>'Asia/Yakutsk'}, {'value'=>'Asia/Yekaterinburg'}, {'value'=>'Asia/Yerevan'}, {'value'=>'Atlantic/Azores'}, {'value'=>'Atlantic/Bermuda'}, {'value'=>'Atlantic/Canary'}, {'value'=>'Atlantic/Cape_Verde'}, {'value'=>'Atlantic/Faeroe'}, {'value'=>'Atlantic/Faroe'}, {'value'=>'Atlantic/Jan_Mayen'}, {'value'=>'Atlantic/Madeira'}, {'value'=>'Atlantic/Reykjavik'}, {'value'=>'Atlantic/South_Georgia'}, {'value'=>'Atlantic/Stanley'}, {'value'=>'Atlantic/St_Helena'}, {'value'=>'Australia/ACT'}, {'value'=>'Australia/Adelaide'}, {'value'=>'Australia/Brisbane'}, {'value'=>'Australia/Broken_Hill'}, {'value'=>'Australia/Canberra'}, {'value'=>'Australia/Currie'}, {'value'=>'Australia/Darwin'}, {'value'=>'Australia/Eucla'}, {'value'=>'Australia/Hobart'}, {'value'=>'Australia/LHI'}, {'value'=>'Australia/Lindeman'}, {'value'=>'Australia/Lord_Howe'}, {'value'=>'Australia/Melbourne'}, {'value'=>'Australia/North'}, {'value'=>'Australia/NSW'}, {'value'=>'Australia/Perth'}, {'value'=>'Australia/Queensland'}, {'value'=>'Australia/South'}, {'value'=>'Australia/Sydney'}, {'value'=>'Australia/Tasmania'}, {'value'=>'Australia/Victoria'}, {'value'=>'Australia/West'}, {'value'=>'Australia/Yancowinna'}, {'value'=>'Brazil/Acre'}, {'value'=>'Brazil/DeNoronha'}, {'value'=>'Brazil/East'}, {'value'=>'Brazil/West'}, {'value'=>'Canada/Atlantic'}, {'value'=>'Canada/Central'}, {'value'=>'Canada/Eastern'}, {'value'=>'Canada/East-Saskatchewan'}, {'value'=>'Canada/Mountain'}, {'value'=>'Canada/Newfoundland'}, {'value'=>'Canada/Pacific'}, {'value'=>'Canada/Saskatchewan'}, {'value'=>'Canada/Yukon'}, {'value'=>'CET'}, {'value'=>'Chile/Continental'}, {'value'=>'Chile/EasterIsland'}, {'value'=>'CST6CDT'}, {'value'=>'Cuba'}, {'value'=>'EET'}, {'value'=>'Egypt'}, {'value'=>'Eire'}, {'value'=>'EST'}, {'value'=>'EST5EDT'}, {'value'=>'Etc/GMT'}, {'value'=>'Etc/GMT0'}, {'value'=>'Etc/GMT-0'}, {'value'=>'Etc/GMT+0'}, {'value'=>'Etc/GMT-1'}, {'value'=>'Etc/GMT+1'}, {'value'=>'Etc/GMT-10'}, {'value'=>'Etc/GMT+10'}, {'value'=>'Etc/GMT-11'}, {'value'=>'Etc/GMT+11'}, {'value'=>'Etc/GMT-12'}, {'value'=>'Etc/GMT+12'}, {'value'=>'Etc/GMT-13'}, {'value'=>'Etc/GMT-14'}, {'value'=>'Etc/GMT-2'}, {'value'=>'Etc/GMT+2'}, {'value'=>'Etc/GMT-3'}, {'value'=>'Etc/GMT+3'}, {'value'=>'Etc/GMT-4'}, {'value'=>'Etc/GMT+4'}, {'value'=>'Etc/GMT-5'}, {'value'=>'Etc/GMT+5'}, {'value'=>'Etc/GMT-6'}, {'value'=>'Etc/GMT+6'}, {'value'=>'Etc/GMT-7'}, {'value'=>'Etc/GMT+7'}, {'value'=>'Etc/GMT-8'}, {'value'=>'Etc/GMT+8'}, {'value'=>'Etc/GMT-9'}, {'value'=>'Etc/GMT+9'}, {'value'=>'Etc/Greenwich'}, {'value'=>'Etc/UCT'}, {'value'=>'Etc/Universal'}, {'value'=>'Etc/UTC'}, {'value'=>'Etc/Zulu'}, {'value'=>'Europe/Amsterdam'}, {'value'=>'Europe/Andorra'}, {'value'=>'Europe/Athens'}, {'value'=>'Europe/Belfast'}, {'value'=>'Europe/Belgrade'}, {'value'=>'Europe/Berlin'}, {'value'=>'Europe/Bratislava'}, {'value'=>'Europe/Brussels'}, {'value'=>'Europe/Bucharest'}, {'value'=>'Europe/Budapest'}, {'value'=>'Europe/Chisinau'}, {'value'=>'Europe/Copenhagen'}, {'value'=>'Europe/Dublin'}, {'value'=>'Europe/Gibraltar'}, {'value'=>'Europe/Guernsey'}, {'value'=>'Europe/Helsinki'}, {'value'=>'Europe/Isle_of_Man'}, {'value'=>'Europe/Istanbul'}, {'value'=>'Europe/Jersey'}, {'value'=>'Europe/Kaliningrad'}, {'value'=>'Europe/Kiev'}, {'value'=>'Europe/Lisbon'}, {'value'=>'Europe/Ljubljana'}, {'value'=>'Europe/London'}, {'value'=>'Europe/Luxembourg'}, {'value'=>'Europe/Madrid'}, {'value'=>'Europe/Malta'}, {'value'=>'Europe/Mariehamn'}, {'value'=>'Europe/Minsk'}, {'value'=>'Europe/Monaco'}, {'value'=>'Europe/Moscow'}, {'value'=>'Europe/Nicosia'}, {'value'=>'Europe/Oslo'}, {'value'=>'Europe/Paris'}, {'value'=>'Europe/Podgorica'}, {'value'=>'Europe/Prague'}, {'value'=>'Europe/Riga'}, {'value'=>'Europe/Rome'}, {'value'=>'Europe/Samara'}, {'value'=>'Europe/San_Marino'}, {'value'=>'Europe/Sarajevo'}, {'value'=>'Europe/Simferopol'}, {'value'=>'Europe/Skopje'}, {'value'=>'Europe/Sofia'}, {'value'=>'Europe/Stockholm'}, {'value'=>'Europe/Tallinn'}, {'value'=>'Europe/Tirane'}, {'value'=>'Europe/Tiraspol'}, {'value'=>'Europe/Uzhgorod'}, {'value'=>'Europe/Vaduz'}, {'value'=>'Europe/Vatican'}, {'value'=>'Europe/Vienna'}, {'value'=>'Europe/Vilnius'}, {'value'=>'Europe/Volgograd'}, {'value'=>'Europe/Warsaw'}, {'value'=>'Europe/Zagreb'}, {'value'=>'Europe/Zaporozhye'}, {'value'=>'Europe/Zurich'}, {'value'=>'Factory'}, {'value'=>'GB'}, {'value'=>'GB-Eire'}, {'value'=>'GMT'}, {'value'=>'GMT0'}, {'value'=>'GMT-0'}, {'value'=>'GMT+0'}, {'value'=>'Greenwich'}, {'value'=>'Hongkong'}, {'value'=>'HST'}, {'value'=>'Iceland'}, {'value'=>'Indian/Antananarivo'}, {'value'=>'Indian/Chagos'}, {'value'=>'Indian/Christmas'}, {'value'=>'Indian/Cocos'}, {'value'=>'Indian/Comoro'}, {'value'=>'Indian/Kerguelen'}, {'value'=>'Indian/Mahe'}, {'value'=>'Indian/Maldives'}, {'value'=>'Indian/Mauritius'}, {'value'=>'Indian/Mayotte'}, {'value'=>'Indian/Reunion'}, {'value'=>'Iran'}, {'value'=>'Israel'}, {'value'=>'Jamaica'}, {'value'=>'Japan'}, {'value'=>'Kwajalein'}, {'value'=>'Libya'}, {'value'=>'MET'}, {'value'=>'Mexico/BajaNorte'}, {'value'=>'Mexico/BajaSur'}, {'value'=>'Mexico/General'}, {'value'=>'Mideast/Riyadh87'}, {'value'=>'Mideast/Riyadh88'}, {'value'=>'Mideast/Riyadh89'}, {'value'=>'MST'}, {'value'=>'MST7MDT'}, {'value'=>'Navajo'}, {'value'=>'NZ'}, {'value'=>'NZ-CHAT'}, {'value'=>'Pacific/Apia'}, {'value'=>'Pacific/Auckland'}, {'value'=>'Pacific/Chatham'}, {'value'=>'Pacific/Easter'}, {'value'=>'Pacific/Efate'}, {'value'=>'Pacific/Enderbury'}, {'value'=>'Pacific/Fakaofo'}, {'value'=>'Pacific/Fiji'}, {'value'=>'Pacific/Funafuti'}, {'value'=>'Pacific/Galapagos'}, {'value'=>'Pacific/Gambier'}, {'value'=>'Pacific/Guadalcanal'}, {'value'=>'Pacific/Guam'}, {'value'=>'Pacific/Honolulu'}, {'value'=>'Pacific/Johnston'}, {'value'=>'Pacific/Kiritimati'}, {'value'=>'Pacific/Kosrae'}, {'value'=>'Pacific/Kwajalein'}, {'value'=>'Pacific/Majuro'}, {'value'=>'Pacific/Marquesas'}, {'value'=>'Pacific/Midway'}, {'value'=>'Pacific/Nauru'}, {'value'=>'Pacific/Niue'}, {'value'=>'Pacific/Norfolk'}, {'value'=>'Pacific/Noumea'}, {'value'=>'Pacific/Pago_Pago'}, {'value'=>'Pacific/Palau'}, {'value'=>'Pacific/Pitcairn'}, {'value'=>'Pacific/Ponape'}, {'value'=>'Pacific/Port_Moresby'}, {'value'=>'Pacific/Rarotonga'}, {'value'=>'Pacific/Saipan'}, {'value'=>'Pacific/Samoa'}, {'value'=>'Pacific/Tahiti'}, {'value'=>'Pacific/Tarawa'}, {'value'=>'Pacific/Tongatapu'}, {'value'=>'Pacific/Truk'}, {'value'=>'Pacific/Wake'}, {'value'=>'Pacific/Wallis'}, {'value'=>'Pacific/Yap'}, {'value'=>'Poland'}, {'value'=>'Portugal'}, {'value'=>'PRC'}, {'value'=>'PST8PDT'}, {'value'=>'ROC'}, {'value'=>'ROK'}, {'value'=>'Singapore'}, {'value'=>'Turkey'}, {'value'=>'UCT'}, {'value'=>'Universal'}, {'value'=>'US/Alaska'}, {'value'=>'US/Aleutian'}, {'value'=>'US/Arizona'}, {'value'=>'US/Central'}, {'value'=>'US/Eastern'}, {'value'=>'US/East-Indiana'}, {'value'=>'US/Hawaii'}, {'value'=>'US/Indiana-Starke'}, {'value'=>'US/Michigan'}, {'value'=>'US/Mountain'}, {'value'=>'US/Pacific'}, {'value'=>'US/Samoa'}, {'value'=>'UTC'}, {'value'=>'WET'}, {'value'=>'W-SU'}, {'value'=>'Zulu'}]}} def login_banner prop_get('login-banner') end def login_banner=(val) prop_set('login-banner', val) end def hostname prop_get('hostname') end def hostname=(val) prop_set('hostname', val) end def domain prop_get('domain') end def domain=(val) prop_set('domain', val) end # Speed and duplex for the management interface def speed_duplex prop_get('speed-duplex') end # Speed and duplex for the management interface def speed_duplex=(val) prop_set('speed-duplex', val) end # client certificate for syslog def syslog_certificate prop_get('syslog-certificate') end # client certificate for syslog def syslog_certificate=(val) prop_set('syslog-certificate', val) end # server certificate for syslog def inbound_syslog_certificate prop_get('inbound-syslog-certificate') end # server certificate for syslog def inbound_syslog_certificate=(val) prop_set('inbound-syslog-certificate', val) end # IP address for the management interface def ip_address prop_get('ip-address') end # IP address for the management interface def ip_address=(val) prop_set('ip-address', val) end # Public IP address for the management interface def public_ip_address prop_get('public-ip-address') end # Public IP address for the management interface def public_ip_address=(val) prop_set('public-ip-address', val) end # IP netmask for the management interface def netmask prop_get('netmask') end # IP netmask for the management interface def netmask=(val) prop_set('netmask', val) end # Default gateway def default_gateway prop_get('default-gateway') end # Default gateway def default_gateway=(val) prop_set('default-gateway', val) end # IPv6 address for the management interface def ipv6_address prop_get('ipv6-address') end # IPv6 address for the management interface def ipv6_address=(val) prop_set('ipv6-address', val) end # IPv6 Default gateway def ipv6_default_gateway prop_get('ipv6-default-gateway') end # IPv6 Default gateway def ipv6_default_gateway=(val) prop_set('ipv6-default-gateway', val) end # Maximum Transmission Unit for the management interface def mtu prop_get('mtu') end # Maximum Transmission Unit for the management interface def mtu=(val) prop_set('mtu', val) end # Panorama server (IP address or FQDN) def panorama_server prop_get('panorama-server') end # Panorama server (IP address or FQDN) def panorama_server=(val) prop_set('panorama-server', val) end # Panorama server 2 (IP address or FQDN) def panorama_server_2 prop_get('panorama-server-2') end # Panorama server 2 (IP address or FQDN) def panorama_server_2=(val) prop_set('panorama-server-2', val) end def timezone prop_get('timezone') end def timezone=(val) prop_set('timezone', val) end end def system @subclasses['system'] ||= System.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def deviceconfig @subclasses['deviceconfig'] ||= Deviceconfig.new(parent_instance: self, client: @client, create_children: @create_children) end class DiskSettings < ConfigClass def has_multiple_values?; false; end def _section :'disk-settings' end class DiskPair < XML::ConfigClass def has_multiple_values?; true; end def _section :'disk-pair' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'^[A-L]', 'help-string'=>'set/delete raid disk pair'}} # set/delete raid disk pair def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def disk_pair maybe_register_subclass('disk-pair', DiskPair.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def disk_settings @subclasses['disk-settings'] ||= DiskSettings.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'regex'=>'^([0-9a-zA-Z:./_-])+$', 'help-string'=>'Log collector name'}} # Log collector name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def log_collector maybe_register_subclass('log-collector', LogCollector.new(parent_instance: self, client: @client, create_children: @create_children)) end class LogCollectorGroup < XML::ConfigClass def has_multiple_values?; true; end def _section :'log-collector-group' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class GeneralSetting < ConfigClass def has_multiple_values?; false; end def _section :'general-setting' end class Management < ConfigClass def has_multiple_values?; false; end def _section :management end class QuotaSettings < ConfigClass def has_multiple_values?; false; end def _section :'quota-settings' end class DiskQuota < ConfigClass def has_multiple_values?; false; end def _section :'disk-quota' end @props = {'detailed'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'traffic/threat and other detailed logs quota percentage'}, 'summary'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'summary logs quota percentage'}, 'infra-audit'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'system and config logs quota percentage'}, 'platform'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'pan platform logs quota percentage'}, 'external'=>{'node-type'=>'element', 'type'=>'float', 'min'=>'0', 'max'=>'90.0', 'help-string'=>'external logs quota percentage'}} # traffic/threat and other detailed logs quota percentage def detailed prop_get('detailed') end # traffic/threat and other detailed logs quota percentage def detailed=(val) prop_set('detailed', val) end # summary logs quota percentage def summary prop_get('summary') end # summary logs quota percentage def summary=(val) prop_set('summary', val) end # system and config logs quota percentage def infra_audit prop_get('infra-audit') end # system and config logs quota percentage def infra_audit=(val) prop_set('infra-audit', val) end # pan platform logs quota percentage def platform prop_get('platform') end # pan platform logs quota percentage def platform=(val) prop_set('platform', val) end # external logs quota percentage def external prop_get('external') end # external logs quota percentage def external=(val) prop_set('external', val) end end def disk_quota @subclasses['disk-quota'] ||= DiskQuota.new(parent_instance: self, client: @client, create_children: @create_children) end class LogExpirationPeriod < ConfigClass def has_multiple_values?; false; end def _section :'log-expiration-period' end @props = {'detailed'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for detailed logs'}, 'summary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for summary logs'}, 'infra-audit'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for system and config logs'}, 'platform'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for pan platform logs'}, 'external'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'expiration period for external logs'}} # expiration period for detailed logs def detailed prop_get('detailed') end # expiration period for detailed logs def detailed=(val) prop_set('detailed', val) end # expiration period for summary logs def summary prop_get('summary') end # expiration period for summary logs def summary=(val) prop_set('summary', val) end # expiration period for system and config logs def infra_audit prop_get('infra-audit') end # expiration period for system and config logs def infra_audit=(val) prop_set('infra-audit', val) end # expiration period for pan platform logs def platform prop_get('platform') end # expiration period for pan platform logs def platform=(val) prop_set('platform', val) end # expiration period for external logs def external prop_get('external') end # expiration period for external logs def external=(val) prop_set('external', val) end end def log_expiration_period @subclasses['log-expiration-period'] ||= LogExpirationPeriod.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def quota_settings @subclasses['quota-settings'] ||= QuotaSettings.new(parent_instance: self, client: @client, create_children: @create_children) end class Redundancy < ConfigClass def has_multiple_values?; false; end def _section :redundancy end @props = {'enabled'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Enable log redundancy across collectors'}} # Enable log redundancy across collectors def enabled prop_get('enabled') end # Enable log redundancy across collectors def enabled=(val) prop_set('enabled', val) end end def redundancy @subclasses['redundancy'] ||= Redundancy.new(parent_instance: self, client: @client, create_children: @create_children) end class Ssh < ConfigClass def has_multiple_values?; false; end def _section :ssh end class Profiles < ConfigClass def has_multiple_values?; false; end def _section :profiles end class HaProfiles < XML::ConfigClass def has_multiple_values?; true; end def _section :'ha-profiles' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Ciphers < XML::ConfigClass def has_multiple_values?; true; end def _section :ciphers end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'aes128-cbc', 'enum'=>[{'value'=>'aes128-cbc', 'optional'=>'yes', 'help-string'=>'AES 128 bit cipher with Cipher Block Chaining'}, {'value'=>'aes192-cbc', 'optional'=>'yes', 'help-string'=>'AES 192 bit cipher with Cipher Block Chaining'}, {'value'=>'aes256-cbc', 'optional'=>'yes', 'help-string'=>'AES 256 bit cipher with Cipher Block Chaining'}, {'value'=>'aes128-ctr', 'optional'=>'yes', 'help-string'=>'AES 128 bit cipher with Counter Mode'}, {'value'=>'aes192-ctr', 'optional'=>'yes', 'help-string'=>'AES 192 bit cipher with Counter Mode'}, {'value'=>'aes256-ctr', 'optional'=>'yes', 'help-string'=>'AES 256 bit cipher with Counter Mode'}, {'value'=>'aes128-gcm', 'optional'=>'yes', 'help-string'=>'AES 128 bit cipher with GCM'}, {'value'=>'aes256-gcm', 'optional'=>'yes', 'help-string'=>'AES 256 bit cipher with GCM'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def ciphers maybe_register_subclass('ciphers', Ciphers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Mac < XML::ConfigClass def has_multiple_values?; true; end def _section :mac end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'hmac-sha2-256', 'enum'=>[{'value'=>'hmac-sha1', 'optional'=>'yes', 'help-string'=>'MAC with SHA1 cryptographic hash'}, {'value'=>'hmac-sha2-256', 'optional'=>'yes', 'help-string'=>'MAC with SHA2-256 cryptographic hash'}, {'value'=>'hmac-sha2-512', 'optional'=>'yes', 'help-string'=>'MAC with SHA2-512 cryptographic hash'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def mac maybe_register_subclass('mac', Mac.new(parent_instance: self, client: @client, create_children: @create_children)) end class Kex < XML::ConfigClass def has_multiple_values?; true; end def _section :kex end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'diffie-hellman-group14-sha1', 'enum'=>[{'value'=>'diffie-hellman-group14-sha1', 'help-string'=>'Diffie Hellman group 14 with SHA1 hash'}, {'value'=>'ecdh-sha2-nistp256', 'help-string'=>'Elliptic Curve Diffie Hellman over NIST P-256 with SHA2-256 hash'}, {'value'=>'ecdh-sha2-nistp384', 'help-string'=>'Elliptic Curve Diffie Hellman over NIST P-384 with SHA2-384 hash'}, {'value'=>'ecdh-sha2-nistp521', 'help-string'=>'Elliptic Curve Diffie Hellman over NIST P-521 with SHA2-521 hash'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def kex maybe_register_subclass('kex', Kex.new(parent_instance: self, client: @client, create_children: @create_children)) end class DefaultHostkey < ConfigClass def has_multiple_values?; false; end def _section :'default-hostkey' end class KeyType < XML::ConfigClass def has_multiple_values?; true; end def _section :'key-type' end @props = {'ECDSA'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'256', 'help-string'=>'ECDSA key', 'enum'=>[{'value'=>'256', 'help-string'=>'ECDSA key of length 256'}, {'value'=>'384', 'help-string'=>'ECDSA key of length 384'}, {'value'=>'521', 'help-string'=>'ECDSA key of length 521'}]}, 'RSA'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'2048', 'help-string'=>'RSA key', 'enum'=>[{'value'=>'2048', 'help-string'=>'RSA key of length 2048'}, {'value'=>'3072', 'help-string'=>'RSA key of length 3072'}, {'value'=>'4096', 'help-string'=>'RSA key of length 4096'}]}} # ECDSA key def ECDSA prop_get('ECDSA') end # ECDSA key def ECDSA=(val) prop_set('ECDSA', val) end # RSA key def RSA prop_get('RSA') end # RSA key def RSA=(val) prop_set('RSA', val) end end def key_type maybe_register_subclass('key-type', KeyType.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def default_hostkey @subclasses['default-hostkey'] ||= DefaultHostkey.new(parent_instance: self, client: @client, create_children: @create_children) end class SessionRekey < ConfigClass def has_multiple_values?; false; end def _section :'session-rekey' end @props = {'data'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'default', 'help-string'=>'Set the data to be transmitted between each ssh rekeying', 'multi-types'=>{'rangedint'=>{'min'=>'10', 'max'=>'4000', 'help-string'=>'Maximum data in Megabytes to be transmitted between each rekeying'}, 'enum'=>[{'value'=>'default', 'help-string'=>'Set the default to cipher based rekeying, which is between 1GB to 4GB'}]}}, 'interval'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'default', 'help-string'=>'Set the time interval between each ssh rekeying', 'multi-types'=>{'rangedint'=>{'min'=>'10', 'max'=>'3600', 'help-string'=>'Maximum time interval in seconds between each rekeying'}, 'enum'=>[{'value'=>'default', 'help-string'=>'Set the default to no time based rekeying'}]}}, 'packets'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'default', 'help-string'=>'Set the number of packets to be transmitted between each ssh rekeying', 'multi-types'=>{'rangedint'=>{'min'=>'12', 'max'=>'27', 'help-string'=>'Maximum number of packets (2^n) to be transmitted between rekeying'}, 'enum'=>[{'value'=>'default', 'help-string'=>'Set the default number of packets (2^28)'}]}}} # Set the data to be transmitted between each ssh rekeying def data prop_get('data') end # Set the data to be transmitted between each ssh rekeying def data=(val) prop_set('data', val) end # Set the time interval between each ssh rekeying def interval prop_get('interval') end # Set the time interval between each ssh rekeying def interval=(val) prop_set('interval', val) end # Set the number of packets to be transmitted between each ssh rekeying def packets prop_get('packets') end # Set the number of packets to be transmitted between each ssh rekeying def packets=(val) prop_set('packets', val) end end def session_rekey @subclasses['session-rekey'] ||= SessionRekey.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string begin with letter: [0-9a-zA-Z._-]', 'regex'=>'^[a-zA-Z]{1}[0-9a-zA-Z._-]*$'}} # alphanumeric string begin with letter: [0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ha_profiles maybe_register_subclass('ha-profiles', HaProfiles.new(parent_instance: self, client: @client, create_children: @create_children)) end class MgmtProfiles < ConfigClass def has_multiple_values?; false; end def _section :'mgmt-profiles' end class ServerProfiles < XML::ConfigClass def has_multiple_values?; true; end def _section :'server-profiles' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Ciphers < XML::ConfigClass def has_multiple_values?; true; end def _section :ciphers end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'aes-128-cbc', 'enum'=>[{'value'=>'aes128-cbc', 'optional'=>'yes', 'help-string'=>'AES 128 bit cipher with Cipher Block Chaining'}, {'value'=>'aes192-cbc', 'optional'=>'yes', 'help-string'=>'AES 192 bit cipher with Cipher Block Chaining'}, {'value'=>'aes256-cbc', 'optional'=>'yes', 'help-string'=>'AES 256 bit cipher with Cipher Block Chaining'}, {'value'=>'aes128-ctr', 'optional'=>'yes', 'help-string'=>'AES 128 bit cipher with Counter Mode'}, {'value'=>'aes192-ctr', 'optional'=>'yes', 'help-string'=>'AES 192 bit cipher with Counter Mode'}, {'value'=>'aes256-ctr', 'optional'=>'yes', 'help-string'=>'AES 256 bit cipher with Counter Mode'}, {'value'=>'aes128-gcm', 'optional'=>'yes', 'help-string'=>'AES 128 bit cipher with GCM'}, {'value'=>'aes256-gcm', 'optional'=>'yes', 'help-string'=>'AES 256 bit cipher with GCM'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def ciphers maybe_register_subclass('ciphers', Ciphers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Mac < XML::ConfigClass def has_multiple_values?; true; end def _section :mac end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'hmac-sha2-256', 'enum'=>[{'value'=>'hmac-sha1', 'optional'=>'yes', 'help-string'=>'MAC with SHA1 cryptographic hash'}, {'value'=>'hmac-sha2-256', 'optional'=>'yes', 'help-string'=>'MAC with SHA2-256 cryptographic hash'}, {'value'=>'hmac-sha2-512', 'optional'=>'yes', 'help-string'=>'MAC with SHA2-512 cryptographic hash'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def mac maybe_register_subclass('mac', Mac.new(parent_instance: self, client: @client, create_children: @create_children)) end class Kex < XML::ConfigClass def has_multiple_values?; true; end def _section :kex end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'diffie-hellman-group14-sha1', 'enum'=>[{'value'=>'diffie-hellman-group14-sha1', 'help-string'=>'Diffie Hellman group 14 with SHA1 hash'}, {'value'=>'ecdh-sha2-nistp256', 'help-string'=>'Elliptic Curve Diffie Hellman over NIST P-256 with SHA2-256 hash'}, {'value'=>'ecdh-sha2-nistp384', 'help-string'=>'Elliptic Curve Diffie Hellman over NIST P-384 with SHA2-384 hash'}, {'value'=>'ecdh-sha2-nistp521', 'help-string'=>'Elliptic Curve Diffie Hellman over NIST P-521 with SHA2-521 hash'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def kex maybe_register_subclass('kex', Kex.new(parent_instance: self, client: @client, create_children: @create_children)) end class DefaultHostkey < ConfigClass def has_multiple_values?; false; end def _section :'default-hostkey' end class KeyType < XML::ConfigClass def has_multiple_values?; true; end def _section :'key-type' end class All < ConfigClass def has_multiple_values?; false; end def _section :all end @props = {} end def all @subclasses['all'] ||= All.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'ECDSA'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'256', 'help-string'=>'ECDSA key', 'enum'=>[{'value'=>'256', 'help-string'=>'ECDSA key of length 256'}, {'value'=>'384', 'help-string'=>'ECDSA key of length 384'}, {'value'=>'521', 'help-string'=>'ECDSA key of length 521'}]}, 'RSA'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'2048', 'help-string'=>'RSA key', 'enum'=>[{'value'=>'2048', 'help-string'=>'RSA key of length 2048'}, {'value'=>'3072', 'help-string'=>'RSA key of length 3072'}, {'value'=>'4096', 'help-string'=>'RSA key of length 4096'}]}} # ECDSA key def ECDSA prop_get('ECDSA') end # ECDSA key def ECDSA=(val) prop_set('ECDSA', val) end # RSA key def RSA prop_get('RSA') end # RSA key def RSA=(val) prop_set('RSA', val) end end def key_type maybe_register_subclass('key-type', KeyType.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def default_hostkey @subclasses['default-hostkey'] ||= DefaultHostkey.new(parent_instance: self, client: @client, create_children: @create_children) end class SessionRekey < ConfigClass def has_multiple_values?; false; end def _section :'session-rekey' end @props = {'data'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'default', 'help-string'=>'Set the data to be transmitted between each ssh rekeying', 'multi-types'=>{'rangedint'=>{'min'=>'10', 'max'=>'4000', 'help-string'=>'Maximum data in Megabytes to be transmitted between each rekeying'}, 'enum'=>[{'value'=>'default', 'help-string'=>'Set the default to cipher based rekeying, which is between 1GB to 4GB'}]}}, 'interval'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'default', 'help-string'=>'Set the time interval between each ssh rekeying', 'multi-types'=>{'rangedint'=>{'min'=>'10', 'max'=>'3600', 'help-string'=>'Maximum time interval in seconds between each rekeying'}, 'enum'=>[{'value'=>'default', 'help-string'=>'Set the default to no time based rekeying'}]}}, 'packets'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'default', 'help-string'=>'Set the number of packets to be transmitted between each ssh rekeying', 'multi-types'=>{'rangedint'=>{'min'=>'12', 'max'=>'27', 'help-string'=>'Maximum number of packets (2^n) to be transmitted between rekeying'}, 'enum'=>[{'value'=>'default', 'help-string'=>'Set the default number of packets (2^28)'}]}}} # Set the data to be transmitted between each ssh rekeying def data prop_get('data') end # Set the data to be transmitted between each ssh rekeying def data=(val) prop_set('data', val) end # Set the time interval between each ssh rekeying def interval prop_get('interval') end # Set the time interval between each ssh rekeying def interval=(val) prop_set('interval', val) end # Set the number of packets to be transmitted between each ssh rekeying def packets prop_get('packets') end # Set the number of packets to be transmitted between each ssh rekeying def packets=(val) prop_set('packets', val) end end def session_rekey @subclasses['session-rekey'] ||= SessionRekey.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string begin with letter: [0-9a-zA-Z._-]', 'regex'=>'^[a-zA-Z]{1}[0-9a-zA-Z._-]*$'}} # alphanumeric string begin with letter: [0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server_profiles maybe_register_subclass('server-profiles', ServerProfiles.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def mgmt_profiles @subclasses['mgmt-profiles'] ||= MgmtProfiles.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def profiles @subclasses['profiles'] ||= Profiles.new(parent_instance: self, client: @client, create_children: @create_children) end class Ha < ConfigClass def has_multiple_values?; false; end def _section :ha end @props = {'ha-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'HA profile to be used by HA SSH'}} # HA profile to be used by HA SSH def ha_profile prop_get('ha-profile') end # HA profile to be used by HA SSH def ha_profile=(val) prop_set('ha-profile', val) end end def ha @subclasses['ha'] ||= Ha.new(parent_instance: self, client: @client, create_children: @create_children) end class Mgmt < ConfigClass def has_multiple_values?; false; end def _section :mgmt end @props = {'server-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'Mgmt profile to be used by Mgmt SSH Server'}} # Mgmt profile to be used by Mgmt SSH Server def server_profile prop_get('server-profile') end # Mgmt profile to be used by Mgmt SSH Server def server_profile=(val) prop_set('server-profile', val) end end def mgmt @subclasses['mgmt'] ||= Mgmt.new(parent_instance: self, client: @client, create_children: @create_children) end class RegenerateHostkeys < ConfigClass def has_multiple_values?; false; end def _section :'regenerate-hostkeys' end class Ha < ConfigClass def has_multiple_values?; false; end def _section :ha end class KeyType < XML::ConfigClass def has_multiple_values?; true; end def _section :'key-type' end class ECDSA < ConfigClass def has_multiple_values?; false; end def _section :ECDSA end @props = {'key-length'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'256', 'help-string'=>'Length of SSH key', 'enum'=>[{'value'=>'256', 'help-string'=>'ECDSA key of length 256'}, {'value'=>'384', 'help-string'=>'ECDSA key of length 384'}, {'value'=>'521', 'help-string'=>'ECDSA key of length 521'}]}} # Length of SSH key def key_length prop_get('key-length') end # Length of SSH key def key_length=(val) prop_set('key-length', val) end end def ECDSA @subclasses['ECDSA'] ||= ECDSA.new(parent_instance: self, client: @client, create_children: @create_children) end class RSA < ConfigClass def has_multiple_values?; false; end def _section :RSA end @props = {'key-length'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'2048', 'help-string'=>'Length of SSH key', 'enum'=>[{'value'=>'2048', 'help-string'=>'RSA key of length 2048'}, {'value'=>'3072', 'help-string'=>'RSA key of length 3072'}, {'value'=>'4096', 'help-string'=>'RSA key of length 4096'}]}} # Length of SSH key def key_length prop_get('key-length') end # Length of SSH key def key_length=(val) prop_set('key-length', val) end end def RSA @subclasses['RSA'] ||= RSA.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def key_type maybe_register_subclass('key-type', KeyType.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def ha @subclasses['ha'] ||= Ha.new(parent_instance: self, client: @client, create_children: @create_children) end class Mgmt < ConfigClass def has_multiple_values?; false; end def _section :mgmt end class KeyType < XML::ConfigClass def has_multiple_values?; true; end def _section :'key-type' end class ECDSA < ConfigClass def has_multiple_values?; false; end def _section :ECDSA end @props = {'key-length'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'256', 'help-string'=>'Length of SSH key', 'enum'=>[{'value'=>'256', 'help-string'=>'ECDSA key of length 256'}, {'value'=>'384', 'help-string'=>'ECDSA key of length 384'}, {'value'=>'521', 'help-string'=>'ECDSA key of length 521'}]}} # Length of SSH key def key_length prop_get('key-length') end # Length of SSH key def key_length=(val) prop_set('key-length', val) end end def ECDSA @subclasses['ECDSA'] ||= ECDSA.new(parent_instance: self, client: @client, create_children: @create_children) end class RSA < ConfigClass def has_multiple_values?; false; end def _section :RSA end @props = {'key-length'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'2048', 'help-string'=>'Length of SSH key', 'enum'=>[{'value'=>'2048', 'help-string'=>'RSA key of length 2048'}, {'value'=>'3072', 'help-string'=>'RSA key of length 3072'}, {'value'=>'4096', 'help-string'=>'RSA key of length 4096'}]}} # Length of SSH key def key_length prop_get('key-length') end # Length of SSH key def key_length=(val) prop_set('key-length', val) end end def RSA @subclasses['RSA'] ||= RSA.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def key_type maybe_register_subclass('key-type', KeyType.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def mgmt @subclasses['mgmt'] ||= Mgmt.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def regenerate_hostkeys @subclasses['regenerate-hostkeys'] ||= RegenerateHostkeys.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ssh @subclasses['ssh'] ||= Ssh.new(parent_instance: self, client: @client, create_children: @create_children) end class AuditTracking < ConfigClass def has_multiple_values?; false; end def _section :'audit-tracking' end @props = {'op-commands'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'send-syslog'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string'}} def op_commands prop_get('op-commands') end def op_commands=(val) prop_set('op-commands', val) end def send_syslog prop_get('send-syslog') end def send_syslog=(val) prop_set('send-syslog', val) end end def audit_tracking @subclasses['audit-tracking'] ||= AuditTracking.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enable-secure-inter-lc-communication'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Enable SSL connection using custom certificates for Inter LC communication.'}, 'min-retention-period'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'2000', 'help-string'=>'Minimum retention period in days before purging oldest logs'}, 'forward-to-all'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Forward to all collectors in the preference list'}} # Enable SSL connection using custom certificates for Inter LC communication. def enable_secure_inter_lc_communication prop_get('enable-secure-inter-lc-communication') end # Enable SSL connection using custom certificates for Inter LC communication. def enable_secure_inter_lc_communication=(val) prop_set('enable-secure-inter-lc-communication', val) end # Minimum retention period in days before purging oldest logs def min_retention_period prop_get('min-retention-period') end # Minimum retention period in days before purging oldest logs def min_retention_period=(val) prop_set('min-retention-period', val) end # Forward to all collectors in the preference list def forward_to_all prop_get('forward-to-all') end # Forward to all collectors in the preference list def forward_to_all=(val) prop_set('forward-to-all', val) end end def management @subclasses['management'] ||= Management.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def general_setting @subclasses['general-setting'] ||= GeneralSetting.new(parent_instance: self, client: @client, create_children: @create_children) end class MonitoringSetting < ConfigClass def has_multiple_values?; false; end def _section :'monitoring-setting' end class SnmpSetting < ConfigClass def has_multiple_values?; false; end def _section :'snmp-setting' end class SnmpSystem < ConfigClass def has_multiple_values?; false; end def _section :'snmp-system' end @props = {'location'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'256', 'help-string'=>'System location'}, 'contact'=>{'node-type'=>'element', 'optional'=>'yes', 'maxlen'=>'256', 'type'=>'string', 'help-string'=>'Contact information'}} # System location def location prop_get('location') end # System location def location=(val) prop_set('location', val) end # Contact information def contact prop_get('contact') end # Contact information def contact=(val) prop_set('contact', val) end end def snmp_system @subclasses['snmp-system'] ||= SnmpSystem.new(parent_instance: self, client: @client, create_children: @create_children) end class AccessSetting < ConfigClass def has_multiple_values?; false; end def _section :'access-setting' end class Version < XML::ConfigClass def has_multiple_values?; true; end def _section :version end class V2c < ConfigClass def has_multiple_values?; false; end def _section :v2c end @props = {'snmp-community-string'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'default'=>'public', 'maxlen'=>'255', 'help-string'=>'SNMP Community String'}} # SNMP Community String def snmp_community_string prop_get('snmp-community-string') end # SNMP Community String def snmp_community_string=(val) prop_set('snmp-community-string', val) end end def v2c @subclasses['v2c'] ||= V2c.new(parent_instance: self, client: @client, create_children: @create_children) end class V3 < ConfigClass def has_multiple_values?; false; end def _section :v3 end class Views < XML::ConfigClass def has_multiple_values?; true; end def _section :views end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class View < XML::ConfigClass def has_multiple_values?; true; end def _section :view end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'regex'=>'^[a-zA-Z0-9_-]+$', 'help-string'=>'Oid subtree name'}, 'oid'=>{'node-type'=>'element', 'maxlen'=>'255', 'type'=>'string', 'regex'=>'^[0-9\.]+$', 'help-string'=>'Oid of a mib node'}, 'option'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'include'}, {'value'=>'exclude'}]}, 'mask'=>{'node-type'=>'element', 'optional'=>'yes', 'maxlen'=>'255', 'type'=>'string', 'regex'=>'^0+[xX][0-9a-fA-F:.]+$', 'help-string'=>'Subtree mask in hex'}} # Oid subtree name def name prop_get('@name') end # Oid of a mib node def oid prop_get('oid') end # Oid of a mib node def oid=(val) prop_set('oid', val) end def option prop_get('option') end def option=(val) prop_set('option', val) end # Subtree mask in hex def mask prop_get('mask') end # Subtree mask in hex def mask=(val) prop_set('mask', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def view maybe_register_subclass('view', View.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'help-string'=>'View name'}} # View name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def views maybe_register_subclass('views', Views.new(parent_instance: self, client: @client, create_children: @create_children)) end class Users < XML::ConfigClass def has_multiple_values?; true; end def _section :users end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'31', 'help-string'=>'User name'}, 'view'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Snmp View Name'}, 'authpwd'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'8', 'maxlen'=>'256', 'encrypt'=>'yes', 'help-string'=>'Authentication Protocol Password'}, 'privpwd'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'8', 'maxlen'=>'256', 'encrypt'=>'yes', 'help-string'=>'Privacy Protocol Password'}, 'authproto'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'SHA', 'help-string'=>'Authentication Protocol', 'enum'=>[{'value'=>'SHA'}, {'value'=>'SHA-224'}, {'value'=>'SHA-256'}, {'value'=>'SHA-384'}, {'value'=>'SHA-512'}]}, 'privproto'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'AES', 'help-string'=>'Privacy Protocol', 'enum'=>[{'value'=>'AES'}, {'value'=>'AES-192'}, {'value'=>'AES-256'}]}} # User name def name prop_get('@name') end # Snmp View Name def view prop_get('view') end # Snmp View Name def view=(val) prop_set('view', val) end # Authentication Protocol Password def authpwd prop_get('authpwd') end # Authentication Protocol Password def authpwd=(val) prop_set('authpwd', val) end # Privacy Protocol Password def privpwd prop_get('privpwd') end # Privacy Protocol Password def privpwd=(val) prop_set('privpwd', val) end # Authentication Protocol def authproto prop_get('authproto') end # Authentication Protocol def authproto=(val) prop_set('authproto', val) end # Privacy Protocol def privproto prop_get('privproto') end # Privacy Protocol def privproto=(val) prop_set('privproto', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def users maybe_register_subclass('users', Users.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def v3 @subclasses['v3'] ||= V3.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def version maybe_register_subclass('version', Version.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def access_setting @subclasses['access-setting'] ||= AccessSetting.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def snmp_setting @subclasses['snmp-setting'] ||= SnmpSetting.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def monitoring_setting @subclasses['monitoring-setting'] ||= MonitoringSetting.new(parent_instance: self, client: @client, create_children: @create_children) end class LogfwdSetting < ConfigClass def has_multiple_values?; false; end def _section :'logfwd-setting' end class Collectors < XML::ConfigClass def has_multiple_values?; true; end def _section :collectors end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'complete-handler'=>'log-collector-group-completer', 'maxlen'=>'64', 'regex'=>'^([0-9a-zA-Z:./_-])+$', 'help-string'=>'log collector name'}} # log collector name def member prop_get('member') end # log collector name def member=(val) prop_set('member', val) end end def collectors maybe_register_subclass('collectors', Collectors.new(parent_instance: self, client: @client, create_children: @create_children)) end class Devices < XML::ConfigClass def has_multiple_values?; true; end def _section :devices end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Collectors < XML::ConfigClass def has_multiple_values?; true; end def _section :collectors end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'64', 'regex'=>'^([0-9a-zA-Z:./_-])+$', 'help-string'=>'log collector name'}} # log collector name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def collectors maybe_register_subclass('collectors', Collectors.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'64', 'regex'=>'^[0-9A-Z]+$', 'help-string'=>'device name'}} # device name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def logfwd_setting @subclasses['logfwd-setting'] ||= LogfwdSetting.new(parent_instance: self, client: @client, create_children: @create_children) end class LogSettings < ConfigClass def has_multiple_values?; false; end def _section :'log-settings' end class System < ConfigClass def has_multiple_values?; false; end def _section :system end class MatchList < XML::ConfigClass def has_multiple_values?; true; end def _section :'match-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SendSnmptrap < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-snmptrap' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_snmptrap maybe_register_subclass('send-snmptrap', SendSnmptrap.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendEmail < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-email' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_email maybe_register_subclass('send-email', SendEmail.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendSyslog < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-syslog' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_syslog maybe_register_subclass('send-syslog', SendSyslog.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendHttp < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-http' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_http maybe_register_subclass('send-http', SendHttp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Actions < XML::ConfigClass def has_multiple_values?; true; end def _section :actions end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def actions maybe_register_subclass('actions', Actions.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'filter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1023'}} def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def filter prop_get('filter') end def filter=(val) prop_set('filter', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def match_list maybe_register_subclass('match-list', MatchList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def system @subclasses['system'] ||= System.new(parent_instance: self, client: @client, create_children: @create_children) end class Config < ConfigClass def has_multiple_values?; false; end def _section :config end class MatchList < XML::ConfigClass def has_multiple_values?; true; end def _section :'match-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SendSnmptrap < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-snmptrap' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_snmptrap maybe_register_subclass('send-snmptrap', SendSnmptrap.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendEmail < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-email' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_email maybe_register_subclass('send-email', SendEmail.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendSyslog < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-syslog' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_syslog maybe_register_subclass('send-syslog', SendSyslog.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendHttp < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-http' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_http maybe_register_subclass('send-http', SendHttp.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'filter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1023'}} def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def filter prop_get('filter') end def filter=(val) prop_set('filter', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def match_list maybe_register_subclass('match-list', MatchList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def config @subclasses['config'] ||= Config.new(parent_instance: self, client: @client, create_children: @create_children) end class Userid < ConfigClass def has_multiple_values?; false; end def _section :userid end class MatchList < XML::ConfigClass def has_multiple_values?; true; end def _section :'match-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SendSnmptrap < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-snmptrap' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_snmptrap maybe_register_subclass('send-snmptrap', SendSnmptrap.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendEmail < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-email' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_email maybe_register_subclass('send-email', SendEmail.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendSyslog < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-syslog' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_syslog maybe_register_subclass('send-syslog', SendSyslog.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendHttp < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-http' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_http maybe_register_subclass('send-http', SendHttp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Actions < XML::ConfigClass def has_multiple_values?; true; end def _section :actions end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Tagging < ConfigClass def has_multiple_values?; false; end def _section :tagging end class Registration < XML::ConfigClass def has_multiple_values?; true; end def _section :registration end class Localhost < ConfigClass def has_multiple_values?; false; end def _section :localhost end @props = {} end def localhost @subclasses['localhost'] ||= Localhost.new(parent_instance: self, client: @client, create_children: @create_children) end class Remote < ConfigClass def has_multiple_values?; false; end def _section :remote end @props = {'http-profile'=>{'node-type'=>'element', 'type'=>'string'}} def http_profile prop_get('http-profile') end def http_profile=(val) prop_set('http-profile', val) end end def remote @subclasses['remote'] ||= Remote.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def registration maybe_register_subclass('registration', Registration.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'127', 'regex'=>'^[^\]\'\[]*$'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'target'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'source-address', 'enum'=>[{'value'=>'source-address', 'help-string'=>'Source Address'}, {'value'=>'destination-address', 'help-string'=>'Destination Address'}, {'value'=>'xff-address', 'help-string'=>'X-Forwarded-For Address'}, {'value'=>'user', 'help-string'=>'User'}]}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'add-tag', 'enum'=>[{'value'=>'add-tag', 'help-string'=>'Add Tag'}, {'value'=>'remove-tag', 'help-string'=>'Remove Tag'}]}, 'timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'43200', 'optional'=>'yes', 'default'=>'0', 'help-string'=>'timeout in minutes'}} def target prop_get('target') end def target=(val) prop_set('target', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # timeout in minutes def timeout prop_get('timeout') end # timeout in minutes def timeout=(val) prop_set('timeout', val) end end def tagging @subclasses['tagging'] ||= Tagging.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def actions maybe_register_subclass('actions', Actions.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'filter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1024'}, 'quarantine'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}} def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def filter prop_get('filter') end def filter=(val) prop_set('filter', val) end def quarantine prop_get('quarantine') end def quarantine=(val) prop_set('quarantine', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def match_list maybe_register_subclass('match-list', MatchList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def userid @subclasses['userid'] ||= Userid.new(parent_instance: self, client: @client, create_children: @create_children) end class Iptag < ConfigClass def has_multiple_values?; false; end def _section :iptag end class MatchList < XML::ConfigClass def has_multiple_values?; true; end def _section :'match-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SendSnmptrap < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-snmptrap' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_snmptrap maybe_register_subclass('send-snmptrap', SendSnmptrap.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendEmail < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-email' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_email maybe_register_subclass('send-email', SendEmail.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendSyslog < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-syslog' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_syslog maybe_register_subclass('send-syslog', SendSyslog.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendHttp < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-http' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_http maybe_register_subclass('send-http', SendHttp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Actions < XML::ConfigClass def has_multiple_values?; true; end def _section :actions end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Tagging < ConfigClass def has_multiple_values?; false; end def _section :tagging end class Registration < XML::ConfigClass def has_multiple_values?; true; end def _section :registration end class Localhost < ConfigClass def has_multiple_values?; false; end def _section :localhost end @props = {} end def localhost @subclasses['localhost'] ||= Localhost.new(parent_instance: self, client: @client, create_children: @create_children) end class Remote < ConfigClass def has_multiple_values?; false; end def _section :remote end @props = {'http-profile'=>{'node-type'=>'element', 'type'=>'string'}} def http_profile prop_get('http-profile') end def http_profile=(val) prop_set('http-profile', val) end end def remote @subclasses['remote'] ||= Remote.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def registration maybe_register_subclass('registration', Registration.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'127', 'regex'=>'^[^\]\'\[]*$'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'target'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'source-address', 'enum'=>[{'value'=>'source-address', 'help-string'=>'Source Address'}, {'value'=>'destination-address', 'help-string'=>'Destination Address'}, {'value'=>'xff-address', 'help-string'=>'X-Forwarded-For Address'}, {'value'=>'user', 'help-string'=>'User'}]}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'add-tag', 'enum'=>[{'value'=>'add-tag', 'help-string'=>'Add Tag'}, {'value'=>'remove-tag', 'help-string'=>'Remove Tag'}]}, 'timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'43200', 'optional'=>'yes', 'default'=>'0', 'help-string'=>'timeout in minutes'}} def target prop_get('target') end def target=(val) prop_set('target', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # timeout in minutes def timeout prop_get('timeout') end # timeout in minutes def timeout=(val) prop_set('timeout', val) end end def tagging @subclasses['tagging'] ||= Tagging.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def actions maybe_register_subclass('actions', Actions.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'filter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1024'}, 'quarantine'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}} def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def filter prop_get('filter') end def filter=(val) prop_set('filter', val) end def quarantine prop_get('quarantine') end def quarantine=(val) prop_set('quarantine', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def match_list maybe_register_subclass('match-list', MatchList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def iptag @subclasses['iptag'] ||= Iptag.new(parent_instance: self, client: @client, create_children: @create_children) end class Globalprotect < ConfigClass def has_multiple_values?; false; end def _section :globalprotect end class MatchList < XML::ConfigClass def has_multiple_values?; true; end def _section :'match-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SendSnmptrap < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-snmptrap' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_snmptrap maybe_register_subclass('send-snmptrap', SendSnmptrap.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendEmail < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-email' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_email maybe_register_subclass('send-email', SendEmail.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendSyslog < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-syslog' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_syslog maybe_register_subclass('send-syslog', SendSyslog.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendHttp < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-http' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_http maybe_register_subclass('send-http', SendHttp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Actions < XML::ConfigClass def has_multiple_values?; true; end def _section :actions end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Tagging < ConfigClass def has_multiple_values?; false; end def _section :tagging end class Registration < XML::ConfigClass def has_multiple_values?; true; end def _section :registration end class Localhost < ConfigClass def has_multiple_values?; false; end def _section :localhost end @props = {} end def localhost @subclasses['localhost'] ||= Localhost.new(parent_instance: self, client: @client, create_children: @create_children) end class Remote < ConfigClass def has_multiple_values?; false; end def _section :remote end @props = {'http-profile'=>{'node-type'=>'element', 'type'=>'string'}} def http_profile prop_get('http-profile') end def http_profile=(val) prop_set('http-profile', val) end end def remote @subclasses['remote'] ||= Remote.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def registration maybe_register_subclass('registration', Registration.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'127', 'regex'=>'^[^\]\'\[]*$'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'target'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'source-address', 'enum'=>[{'value'=>'source-address', 'help-string'=>'Source Address'}, {'value'=>'destination-address', 'help-string'=>'Destination Address'}, {'value'=>'xff-address', 'help-string'=>'X-Forwarded-For Address'}, {'value'=>'user', 'help-string'=>'User'}]}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'add-tag', 'enum'=>[{'value'=>'add-tag', 'help-string'=>'Add Tag'}, {'value'=>'remove-tag', 'help-string'=>'Remove Tag'}]}, 'timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'43200', 'optional'=>'yes', 'default'=>'0', 'help-string'=>'timeout in minutes'}} def target prop_get('target') end def target=(val) prop_set('target', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # timeout in minutes def timeout prop_get('timeout') end # timeout in minutes def timeout=(val) prop_set('timeout', val) end end def tagging @subclasses['tagging'] ||= Tagging.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def actions maybe_register_subclass('actions', Actions.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'filter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1024'}, 'quarantine'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}} def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def filter prop_get('filter') end def filter=(val) prop_set('filter', val) end def quarantine prop_get('quarantine') end def quarantine=(val) prop_set('quarantine', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def match_list maybe_register_subclass('match-list', MatchList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def globalprotect @subclasses['globalprotect'] ||= Globalprotect.new(parent_instance: self, client: @client, create_children: @create_children) end class Hipmatch < ConfigClass def has_multiple_values?; false; end def _section :hipmatch end class MatchList < XML::ConfigClass def has_multiple_values?; true; end def _section :'match-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SendSnmptrap < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-snmptrap' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_snmptrap maybe_register_subclass('send-snmptrap', SendSnmptrap.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendEmail < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-email' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_email maybe_register_subclass('send-email', SendEmail.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendSyslog < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-syslog' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_syslog maybe_register_subclass('send-syslog', SendSyslog.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendHttp < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-http' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_http maybe_register_subclass('send-http', SendHttp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Actions < XML::ConfigClass def has_multiple_values?; true; end def _section :actions end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Tagging < ConfigClass def has_multiple_values?; false; end def _section :tagging end class Registration < XML::ConfigClass def has_multiple_values?; true; end def _section :registration end class Localhost < ConfigClass def has_multiple_values?; false; end def _section :localhost end @props = {} end def localhost @subclasses['localhost'] ||= Localhost.new(parent_instance: self, client: @client, create_children: @create_children) end class Remote < ConfigClass def has_multiple_values?; false; end def _section :remote end @props = {'http-profile'=>{'node-type'=>'element', 'type'=>'string'}} def http_profile prop_get('http-profile') end def http_profile=(val) prop_set('http-profile', val) end end def remote @subclasses['remote'] ||= Remote.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def registration maybe_register_subclass('registration', Registration.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'127', 'regex'=>'^[^\]\'\[]*$'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'target'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'source-address', 'enum'=>[{'value'=>'source-address', 'help-string'=>'Source Address'}, {'value'=>'destination-address', 'help-string'=>'Destination Address'}, {'value'=>'xff-address', 'help-string'=>'X-Forwarded-For Address'}, {'value'=>'user', 'help-string'=>'User'}]}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'add-tag', 'enum'=>[{'value'=>'add-tag', 'help-string'=>'Add Tag'}, {'value'=>'remove-tag', 'help-string'=>'Remove Tag'}]}, 'timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'43200', 'optional'=>'yes', 'default'=>'0', 'help-string'=>'timeout in minutes'}} def target prop_get('target') end def target=(val) prop_set('target', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # timeout in minutes def timeout prop_get('timeout') end # timeout in minutes def timeout=(val) prop_set('timeout', val) end end def tagging @subclasses['tagging'] ||= Tagging.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def actions maybe_register_subclass('actions', Actions.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'filter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1023'}, 'quarantine'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}} def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def filter prop_get('filter') end def filter=(val) prop_set('filter', val) end def quarantine prop_get('quarantine') end def quarantine=(val) prop_set('quarantine', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def match_list maybe_register_subclass('match-list', MatchList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def hipmatch @subclasses['hipmatch'] ||= Hipmatch.new(parent_instance: self, client: @client, create_children: @create_children) end class Correlation < ConfigClass def has_multiple_values?; false; end def _section :correlation end class MatchList < XML::ConfigClass def has_multiple_values?; true; end def _section :'match-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SendSnmptrap < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-snmptrap' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_snmptrap maybe_register_subclass('send-snmptrap', SendSnmptrap.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendEmail < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-email' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_email maybe_register_subclass('send-email', SendEmail.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendSyslog < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-syslog' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_syslog maybe_register_subclass('send-syslog', SendSyslog.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendHttp < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-http' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_http maybe_register_subclass('send-http', SendHttp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Actions < XML::ConfigClass def has_multiple_values?; true; end def _section :actions end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Tagging < ConfigClass def has_multiple_values?; false; end def _section :tagging end class Registration < XML::ConfigClass def has_multiple_values?; true; end def _section :registration end class Localhost < ConfigClass def has_multiple_values?; false; end def _section :localhost end @props = {} end def localhost @subclasses['localhost'] ||= Localhost.new(parent_instance: self, client: @client, create_children: @create_children) end class Remote < ConfigClass def has_multiple_values?; false; end def _section :remote end @props = {'http-profile'=>{'node-type'=>'element', 'type'=>'string'}} def http_profile prop_get('http-profile') end def http_profile=(val) prop_set('http-profile', val) end end def remote @subclasses['remote'] ||= Remote.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def registration maybe_register_subclass('registration', Registration.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'127', 'regex'=>'^[^\]\'\[]*$'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'target'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'source-address', 'enum'=>[{'value'=>'source-address', 'help-string'=>'Source Address'}, {'value'=>'destination-address', 'help-string'=>'Destination Address'}, {'value'=>'xff-address', 'help-string'=>'X-Forwarded-For Address'}, {'value'=>'user', 'help-string'=>'User'}]}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'add-tag', 'enum'=>[{'value'=>'add-tag', 'help-string'=>'Add Tag'}, {'value'=>'remove-tag', 'help-string'=>'Remove Tag'}]}, 'timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'43200', 'optional'=>'yes', 'default'=>'0', 'help-string'=>'timeout in minutes'}} def target prop_get('target') end def target=(val) prop_set('target', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # timeout in minutes def timeout prop_get('timeout') end # timeout in minutes def timeout=(val) prop_set('timeout', val) end end def tagging @subclasses['tagging'] ||= Tagging.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def actions maybe_register_subclass('actions', Actions.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'filter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1023'}, 'quarantine'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}} def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def filter prop_get('filter') end def filter=(val) prop_set('filter', val) end def quarantine prop_get('quarantine') end def quarantine=(val) prop_set('quarantine', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def match_list maybe_register_subclass('match-list', MatchList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def correlation @subclasses['correlation'] ||= Correlation.new(parent_instance: self, client: @client, create_children: @create_children) end class Wildfire < ConfigClass def has_multiple_values?; false; end def _section :wildfire end class MatchList < XML::ConfigClass def has_multiple_values?; true; end def _section :'match-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SendSnmptrap < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-snmptrap' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_snmptrap maybe_register_subclass('send-snmptrap', SendSnmptrap.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendEmail < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-email' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_email maybe_register_subclass('send-email', SendEmail.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendSyslog < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-syslog' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_syslog maybe_register_subclass('send-syslog', SendSyslog.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendHttp < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-http' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_http maybe_register_subclass('send-http', SendHttp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Actions < XML::ConfigClass def has_multiple_values?; true; end def _section :actions end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Tagging < ConfigClass def has_multiple_values?; false; end def _section :tagging end class Registration < XML::ConfigClass def has_multiple_values?; true; end def _section :registration end class Localhost < ConfigClass def has_multiple_values?; false; end def _section :localhost end @props = {} end def localhost @subclasses['localhost'] ||= Localhost.new(parent_instance: self, client: @client, create_children: @create_children) end class Remote < ConfigClass def has_multiple_values?; false; end def _section :remote end @props = {'http-profile'=>{'node-type'=>'element', 'type'=>'string'}} def http_profile prop_get('http-profile') end def http_profile=(val) prop_set('http-profile', val) end end def remote @subclasses['remote'] ||= Remote.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def registration maybe_register_subclass('registration', Registration.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'127', 'regex'=>'^[^\]\'\[]*$'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'target'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'source-address', 'enum'=>[{'value'=>'source-address', 'help-string'=>'Source Address'}, {'value'=>'destination-address', 'help-string'=>'Destination Address'}, {'value'=>'xff-address', 'help-string'=>'X-Forwarded-For Address'}, {'value'=>'user', 'help-string'=>'User'}]}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'add-tag', 'enum'=>[{'value'=>'add-tag', 'help-string'=>'Add Tag'}, {'value'=>'remove-tag', 'help-string'=>'Remove Tag'}]}, 'timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'43200', 'optional'=>'yes', 'default'=>'0', 'help-string'=>'timeout in minutes'}} def target prop_get('target') end def target=(val) prop_set('target', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # timeout in minutes def timeout prop_get('timeout') end # timeout in minutes def timeout=(val) prop_set('timeout', val) end end def tagging @subclasses['tagging'] ||= Tagging.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def actions maybe_register_subclass('actions', Actions.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'filter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1023'}, 'quarantine'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}} def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def filter prop_get('filter') end def filter=(val) prop_set('filter', val) end def quarantine prop_get('quarantine') end def quarantine=(val) prop_set('quarantine', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def match_list maybe_register_subclass('match-list', MatchList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def wildfire @subclasses['wildfire'] ||= Wildfire.new(parent_instance: self, client: @client, create_children: @create_children) end class Threat < ConfigClass def has_multiple_values?; false; end def _section :threat end class MatchList < XML::ConfigClass def has_multiple_values?; true; end def _section :'match-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SendSnmptrap < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-snmptrap' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_snmptrap maybe_register_subclass('send-snmptrap', SendSnmptrap.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendEmail < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-email' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_email maybe_register_subclass('send-email', SendEmail.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendSyslog < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-syslog' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_syslog maybe_register_subclass('send-syslog', SendSyslog.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendHttp < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-http' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_http maybe_register_subclass('send-http', SendHttp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Actions < XML::ConfigClass def has_multiple_values?; true; end def _section :actions end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Tagging < ConfigClass def has_multiple_values?; false; end def _section :tagging end class Registration < XML::ConfigClass def has_multiple_values?; true; end def _section :registration end class Localhost < ConfigClass def has_multiple_values?; false; end def _section :localhost end @props = {} end def localhost @subclasses['localhost'] ||= Localhost.new(parent_instance: self, client: @client, create_children: @create_children) end class Remote < ConfigClass def has_multiple_values?; false; end def _section :remote end @props = {'http-profile'=>{'node-type'=>'element', 'type'=>'string'}} def http_profile prop_get('http-profile') end def http_profile=(val) prop_set('http-profile', val) end end def remote @subclasses['remote'] ||= Remote.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def registration maybe_register_subclass('registration', Registration.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'127', 'regex'=>'^[^\]\'\[]*$'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'target'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'source-address', 'enum'=>[{'value'=>'source-address', 'help-string'=>'Source Address'}, {'value'=>'destination-address', 'help-string'=>'Destination Address'}, {'value'=>'xff-address', 'help-string'=>'X-Forwarded-For Address'}, {'value'=>'user', 'help-string'=>'User'}]}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'add-tag', 'enum'=>[{'value'=>'add-tag', 'help-string'=>'Add Tag'}, {'value'=>'remove-tag', 'help-string'=>'Remove Tag'}]}, 'timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'43200', 'optional'=>'yes', 'default'=>'0', 'help-string'=>'timeout in minutes'}} def target prop_get('target') end def target=(val) prop_set('target', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # timeout in minutes def timeout prop_get('timeout') end # timeout in minutes def timeout=(val) prop_set('timeout', val) end end def tagging @subclasses['tagging'] ||= Tagging.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def actions maybe_register_subclass('actions', Actions.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'filter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1023'}, 'quarantine'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}} def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def filter prop_get('filter') end def filter=(val) prop_set('filter', val) end def quarantine prop_get('quarantine') end def quarantine=(val) prop_set('quarantine', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def match_list maybe_register_subclass('match-list', MatchList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def threat @subclasses['threat'] ||= Threat.new(parent_instance: self, client: @client, create_children: @create_children) end class Decryption < ConfigClass def has_multiple_values?; false; end def _section :decryption end class MatchList < XML::ConfigClass def has_multiple_values?; true; end def _section :'match-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SendSnmptrap < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-snmptrap' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_snmptrap maybe_register_subclass('send-snmptrap', SendSnmptrap.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendEmail < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-email' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_email maybe_register_subclass('send-email', SendEmail.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendSyslog < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-syslog' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_syslog maybe_register_subclass('send-syslog', SendSyslog.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendHttp < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-http' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_http maybe_register_subclass('send-http', SendHttp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Actions < XML::ConfigClass def has_multiple_values?; true; end def _section :actions end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Tagging < ConfigClass def has_multiple_values?; false; end def _section :tagging end class Registration < XML::ConfigClass def has_multiple_values?; true; end def _section :registration end class Localhost < ConfigClass def has_multiple_values?; false; end def _section :localhost end @props = {} end def localhost @subclasses['localhost'] ||= Localhost.new(parent_instance: self, client: @client, create_children: @create_children) end class Remote < ConfigClass def has_multiple_values?; false; end def _section :remote end @props = {'http-profile'=>{'node-type'=>'element', 'type'=>'string'}} def http_profile prop_get('http-profile') end def http_profile=(val) prop_set('http-profile', val) end end def remote @subclasses['remote'] ||= Remote.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def registration maybe_register_subclass('registration', Registration.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'127', 'regex'=>'^[^\]\'\[]*$'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'target'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'source-address', 'enum'=>[{'value'=>'source-address', 'help-string'=>'Source Address'}, {'value'=>'destination-address', 'help-string'=>'Destination Address'}, {'value'=>'xff-address', 'help-string'=>'X-Forwarded-For Address'}, {'value'=>'user', 'help-string'=>'User'}]}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'add-tag', 'enum'=>[{'value'=>'add-tag', 'help-string'=>'Add Tag'}, {'value'=>'remove-tag', 'help-string'=>'Remove Tag'}]}, 'timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'43200', 'optional'=>'yes', 'default'=>'0', 'help-string'=>'timeout in minutes'}} def target prop_get('target') end def target=(val) prop_set('target', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # timeout in minutes def timeout prop_get('timeout') end # timeout in minutes def timeout=(val) prop_set('timeout', val) end end def tagging @subclasses['tagging'] ||= Tagging.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def actions maybe_register_subclass('actions', Actions.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'filter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1023'}, 'quarantine'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}} def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def filter prop_get('filter') end def filter=(val) prop_set('filter', val) end def quarantine prop_get('quarantine') end def quarantine=(val) prop_set('quarantine', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def match_list maybe_register_subclass('match-list', MatchList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def decryption @subclasses['decryption'] ||= Decryption.new(parent_instance: self, client: @client, create_children: @create_children) end class Url < ConfigClass def has_multiple_values?; false; end def _section :url end class MatchList < XML::ConfigClass def has_multiple_values?; true; end def _section :'match-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SendSnmptrap < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-snmptrap' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_snmptrap maybe_register_subclass('send-snmptrap', SendSnmptrap.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendEmail < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-email' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_email maybe_register_subclass('send-email', SendEmail.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendSyslog < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-syslog' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_syslog maybe_register_subclass('send-syslog', SendSyslog.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendHttp < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-http' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_http maybe_register_subclass('send-http', SendHttp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Actions < XML::ConfigClass def has_multiple_values?; true; end def _section :actions end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Tagging < ConfigClass def has_multiple_values?; false; end def _section :tagging end class Registration < XML::ConfigClass def has_multiple_values?; true; end def _section :registration end class Localhost < ConfigClass def has_multiple_values?; false; end def _section :localhost end @props = {} end def localhost @subclasses['localhost'] ||= Localhost.new(parent_instance: self, client: @client, create_children: @create_children) end class Remote < ConfigClass def has_multiple_values?; false; end def _section :remote end @props = {'http-profile'=>{'node-type'=>'element', 'type'=>'string'}} def http_profile prop_get('http-profile') end def http_profile=(val) prop_set('http-profile', val) end end def remote @subclasses['remote'] ||= Remote.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def registration maybe_register_subclass('registration', Registration.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'127', 'regex'=>'^[^\]\'\[]*$'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'target'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'source-address', 'enum'=>[{'value'=>'source-address', 'help-string'=>'Source Address'}, {'value'=>'destination-address', 'help-string'=>'Destination Address'}, {'value'=>'xff-address', 'help-string'=>'X-Forwarded-For Address'}, {'value'=>'user', 'help-string'=>'User'}]}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'add-tag', 'enum'=>[{'value'=>'add-tag', 'help-string'=>'Add Tag'}, {'value'=>'remove-tag', 'help-string'=>'Remove Tag'}]}, 'timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'43200', 'optional'=>'yes', 'default'=>'0', 'help-string'=>'timeout in minutes'}} def target prop_get('target') end def target=(val) prop_set('target', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # timeout in minutes def timeout prop_get('timeout') end # timeout in minutes def timeout=(val) prop_set('timeout', val) end end def tagging @subclasses['tagging'] ||= Tagging.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def actions maybe_register_subclass('actions', Actions.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'filter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1023'}, 'quarantine'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}} def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def filter prop_get('filter') end def filter=(val) prop_set('filter', val) end def quarantine prop_get('quarantine') end def quarantine=(val) prop_set('quarantine', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def match_list maybe_register_subclass('match-list', MatchList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def url @subclasses['url'] ||= Url.new(parent_instance: self, client: @client, create_children: @create_children) end class Data < ConfigClass def has_multiple_values?; false; end def _section :data end class MatchList < XML::ConfigClass def has_multiple_values?; true; end def _section :'match-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SendSnmptrap < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-snmptrap' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_snmptrap maybe_register_subclass('send-snmptrap', SendSnmptrap.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendEmail < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-email' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_email maybe_register_subclass('send-email', SendEmail.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendSyslog < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-syslog' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_syslog maybe_register_subclass('send-syslog', SendSyslog.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendHttp < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-http' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_http maybe_register_subclass('send-http', SendHttp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Actions < XML::ConfigClass def has_multiple_values?; true; end def _section :actions end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Tagging < ConfigClass def has_multiple_values?; false; end def _section :tagging end class Registration < XML::ConfigClass def has_multiple_values?; true; end def _section :registration end class Localhost < ConfigClass def has_multiple_values?; false; end def _section :localhost end @props = {} end def localhost @subclasses['localhost'] ||= Localhost.new(parent_instance: self, client: @client, create_children: @create_children) end class Remote < ConfigClass def has_multiple_values?; false; end def _section :remote end @props = {'http-profile'=>{'node-type'=>'element', 'type'=>'string'}} def http_profile prop_get('http-profile') end def http_profile=(val) prop_set('http-profile', val) end end def remote @subclasses['remote'] ||= Remote.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def registration maybe_register_subclass('registration', Registration.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'127', 'regex'=>'^[^\]\'\[]*$'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'target'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'source-address', 'enum'=>[{'value'=>'source-address', 'help-string'=>'Source Address'}, {'value'=>'destination-address', 'help-string'=>'Destination Address'}, {'value'=>'xff-address', 'help-string'=>'X-Forwarded-For Address'}, {'value'=>'user', 'help-string'=>'User'}]}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'add-tag', 'enum'=>[{'value'=>'add-tag', 'help-string'=>'Add Tag'}, {'value'=>'remove-tag', 'help-string'=>'Remove Tag'}]}, 'timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'43200', 'optional'=>'yes', 'default'=>'0', 'help-string'=>'timeout in minutes'}} def target prop_get('target') end def target=(val) prop_set('target', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # timeout in minutes def timeout prop_get('timeout') end # timeout in minutes def timeout=(val) prop_set('timeout', val) end end def tagging @subclasses['tagging'] ||= Tagging.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def actions maybe_register_subclass('actions', Actions.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'filter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1023'}, 'quarantine'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}} def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def filter prop_get('filter') end def filter=(val) prop_set('filter', val) end def quarantine prop_get('quarantine') end def quarantine=(val) prop_set('quarantine', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def match_list maybe_register_subclass('match-list', MatchList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def data @subclasses['data'] ||= Data.new(parent_instance: self, client: @client, create_children: @create_children) end class Traffic < ConfigClass def has_multiple_values?; false; end def _section :traffic end class MatchList < XML::ConfigClass def has_multiple_values?; true; end def _section :'match-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SendSnmptrap < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-snmptrap' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_snmptrap maybe_register_subclass('send-snmptrap', SendSnmptrap.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendEmail < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-email' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_email maybe_register_subclass('send-email', SendEmail.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendSyslog < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-syslog' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_syslog maybe_register_subclass('send-syslog', SendSyslog.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendHttp < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-http' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_http maybe_register_subclass('send-http', SendHttp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Actions < XML::ConfigClass def has_multiple_values?; true; end def _section :actions end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Tagging < ConfigClass def has_multiple_values?; false; end def _section :tagging end class Registration < XML::ConfigClass def has_multiple_values?; true; end def _section :registration end class Localhost < ConfigClass def has_multiple_values?; false; end def _section :localhost end @props = {} end def localhost @subclasses['localhost'] ||= Localhost.new(parent_instance: self, client: @client, create_children: @create_children) end class Remote < ConfigClass def has_multiple_values?; false; end def _section :remote end @props = {'http-profile'=>{'node-type'=>'element', 'type'=>'string'}} def http_profile prop_get('http-profile') end def http_profile=(val) prop_set('http-profile', val) end end def remote @subclasses['remote'] ||= Remote.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def registration maybe_register_subclass('registration', Registration.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'127', 'regex'=>'^[^\]\'\[]*$'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'target'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'source-address', 'enum'=>[{'value'=>'source-address', 'help-string'=>'Source Address'}, {'value'=>'destination-address', 'help-string'=>'Destination Address'}, {'value'=>'xff-address', 'help-string'=>'X-Forwarded-For Address'}, {'value'=>'user', 'help-string'=>'User'}]}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'add-tag', 'enum'=>[{'value'=>'add-tag', 'help-string'=>'Add Tag'}, {'value'=>'remove-tag', 'help-string'=>'Remove Tag'}]}, 'timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'43200', 'optional'=>'yes', 'default'=>'0', 'help-string'=>'timeout in minutes'}} def target prop_get('target') end def target=(val) prop_set('target', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # timeout in minutes def timeout prop_get('timeout') end # timeout in minutes def timeout=(val) prop_set('timeout', val) end end def tagging @subclasses['tagging'] ||= Tagging.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def actions maybe_register_subclass('actions', Actions.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'filter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1023'}, 'quarantine'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}} def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def filter prop_get('filter') end def filter=(val) prop_set('filter', val) end def quarantine prop_get('quarantine') end def quarantine=(val) prop_set('quarantine', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def match_list maybe_register_subclass('match-list', MatchList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def traffic @subclasses['traffic'] ||= Traffic.new(parent_instance: self, client: @client, create_children: @create_children) end class Gtp < ConfigClass def has_multiple_values?; false; end def _section :gtp end class MatchList < XML::ConfigClass def has_multiple_values?; true; end def _section :'match-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SendSnmptrap < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-snmptrap' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_snmptrap maybe_register_subclass('send-snmptrap', SendSnmptrap.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendEmail < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-email' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_email maybe_register_subclass('send-email', SendEmail.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendSyslog < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-syslog' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_syslog maybe_register_subclass('send-syslog', SendSyslog.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendHttp < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-http' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_http maybe_register_subclass('send-http', SendHttp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Actions < XML::ConfigClass def has_multiple_values?; true; end def _section :actions end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Tagging < ConfigClass def has_multiple_values?; false; end def _section :tagging end class Registration < XML::ConfigClass def has_multiple_values?; true; end def _section :registration end class Localhost < ConfigClass def has_multiple_values?; false; end def _section :localhost end @props = {} end def localhost @subclasses['localhost'] ||= Localhost.new(parent_instance: self, client: @client, create_children: @create_children) end class Remote < ConfigClass def has_multiple_values?; false; end def _section :remote end @props = {'http-profile'=>{'node-type'=>'element', 'type'=>'string'}} def http_profile prop_get('http-profile') end def http_profile=(val) prop_set('http-profile', val) end end def remote @subclasses['remote'] ||= Remote.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def registration maybe_register_subclass('registration', Registration.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'127', 'regex'=>'^[^\]\'\[]*$'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'target'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'source-address', 'enum'=>[{'value'=>'source-address', 'help-string'=>'Source Address'}, {'value'=>'destination-address', 'help-string'=>'Destination Address'}, {'value'=>'xff-address', 'help-string'=>'X-Forwarded-For Address'}, {'value'=>'user', 'help-string'=>'User'}]}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'add-tag', 'enum'=>[{'value'=>'add-tag', 'help-string'=>'Add Tag'}, {'value'=>'remove-tag', 'help-string'=>'Remove Tag'}]}, 'timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'43200', 'optional'=>'yes', 'default'=>'0', 'help-string'=>'timeout in minutes'}} def target prop_get('target') end def target=(val) prop_set('target', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # timeout in minutes def timeout prop_get('timeout') end # timeout in minutes def timeout=(val) prop_set('timeout', val) end end def tagging @subclasses['tagging'] ||= Tagging.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def actions maybe_register_subclass('actions', Actions.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'filter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1023'}, 'quarantine'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}} def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def filter prop_get('filter') end def filter=(val) prop_set('filter', val) end def quarantine prop_get('quarantine') end def quarantine=(val) prop_set('quarantine', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def match_list maybe_register_subclass('match-list', MatchList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def gtp @subclasses['gtp'] ||= Gtp.new(parent_instance: self, client: @client, create_children: @create_children) end class Sctp < ConfigClass def has_multiple_values?; false; end def _section :sctp end class MatchList < XML::ConfigClass def has_multiple_values?; true; end def _section :'match-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SendSnmptrap < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-snmptrap' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_snmptrap maybe_register_subclass('send-snmptrap', SendSnmptrap.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendEmail < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-email' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_email maybe_register_subclass('send-email', SendEmail.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendSyslog < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-syslog' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_syslog maybe_register_subclass('send-syslog', SendSyslog.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendHttp < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-http' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_http maybe_register_subclass('send-http', SendHttp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Actions < XML::ConfigClass def has_multiple_values?; true; end def _section :actions end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Tagging < ConfigClass def has_multiple_values?; false; end def _section :tagging end class Registration < XML::ConfigClass def has_multiple_values?; true; end def _section :registration end class Localhost < ConfigClass def has_multiple_values?; false; end def _section :localhost end @props = {} end def localhost @subclasses['localhost'] ||= Localhost.new(parent_instance: self, client: @client, create_children: @create_children) end class Remote < ConfigClass def has_multiple_values?; false; end def _section :remote end @props = {'http-profile'=>{'node-type'=>'element', 'type'=>'string'}} def http_profile prop_get('http-profile') end def http_profile=(val) prop_set('http-profile', val) end end def remote @subclasses['remote'] ||= Remote.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def registration maybe_register_subclass('registration', Registration.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'127', 'regex'=>'^[^\]\'\[]*$'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'target'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'source-address', 'enum'=>[{'value'=>'source-address', 'help-string'=>'Source Address'}, {'value'=>'destination-address', 'help-string'=>'Destination Address'}, {'value'=>'xff-address', 'help-string'=>'X-Forwarded-For Address'}, {'value'=>'user', 'help-string'=>'User'}]}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'add-tag', 'enum'=>[{'value'=>'add-tag', 'help-string'=>'Add Tag'}, {'value'=>'remove-tag', 'help-string'=>'Remove Tag'}]}, 'timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'43200', 'optional'=>'yes', 'default'=>'0', 'help-string'=>'timeout in minutes'}} def target prop_get('target') end def target=(val) prop_set('target', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # timeout in minutes def timeout prop_get('timeout') end # timeout in minutes def timeout=(val) prop_set('timeout', val) end end def tagging @subclasses['tagging'] ||= Tagging.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def actions maybe_register_subclass('actions', Actions.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'filter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1023'}, 'quarantine'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}} def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def filter prop_get('filter') end def filter=(val) prop_set('filter', val) end def quarantine prop_get('quarantine') end def quarantine=(val) prop_set('quarantine', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def match_list maybe_register_subclass('match-list', MatchList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def sctp @subclasses['sctp'] ||= Sctp.new(parent_instance: self, client: @client, create_children: @create_children) end class Tunnel < ConfigClass def has_multiple_values?; false; end def _section :tunnel end class MatchList < XML::ConfigClass def has_multiple_values?; true; end def _section :'match-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SendSnmptrap < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-snmptrap' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_snmptrap maybe_register_subclass('send-snmptrap', SendSnmptrap.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendEmail < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-email' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_email maybe_register_subclass('send-email', SendEmail.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendSyslog < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-syslog' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_syslog maybe_register_subclass('send-syslog', SendSyslog.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendHttp < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-http' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_http maybe_register_subclass('send-http', SendHttp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Actions < XML::ConfigClass def has_multiple_values?; true; end def _section :actions end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Tagging < ConfigClass def has_multiple_values?; false; end def _section :tagging end class Registration < XML::ConfigClass def has_multiple_values?; true; end def _section :registration end class Localhost < ConfigClass def has_multiple_values?; false; end def _section :localhost end @props = {} end def localhost @subclasses['localhost'] ||= Localhost.new(parent_instance: self, client: @client, create_children: @create_children) end class Remote < ConfigClass def has_multiple_values?; false; end def _section :remote end @props = {'http-profile'=>{'node-type'=>'element', 'type'=>'string'}} def http_profile prop_get('http-profile') end def http_profile=(val) prop_set('http-profile', val) end end def remote @subclasses['remote'] ||= Remote.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def registration maybe_register_subclass('registration', Registration.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'127', 'regex'=>'^[^\]\'\[]*$'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'target'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'source-address', 'enum'=>[{'value'=>'source-address', 'help-string'=>'Source Address'}, {'value'=>'destination-address', 'help-string'=>'Destination Address'}, {'value'=>'xff-address', 'help-string'=>'X-Forwarded-For Address'}, {'value'=>'user', 'help-string'=>'User'}]}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'add-tag', 'enum'=>[{'value'=>'add-tag', 'help-string'=>'Add Tag'}, {'value'=>'remove-tag', 'help-string'=>'Remove Tag'}]}, 'timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'43200', 'optional'=>'yes', 'default'=>'0', 'help-string'=>'timeout in minutes'}} def target prop_get('target') end def target=(val) prop_set('target', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # timeout in minutes def timeout prop_get('timeout') end # timeout in minutes def timeout=(val) prop_set('timeout', val) end end def tagging @subclasses['tagging'] ||= Tagging.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def actions maybe_register_subclass('actions', Actions.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'filter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1023'}, 'quarantine'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}} def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def filter prop_get('filter') end def filter=(val) prop_set('filter', val) end def quarantine prop_get('quarantine') end def quarantine=(val) prop_set('quarantine', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def match_list maybe_register_subclass('match-list', MatchList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def tunnel @subclasses['tunnel'] ||= Tunnel.new(parent_instance: self, client: @client, create_children: @create_children) end class Auth < ConfigClass def has_multiple_values?; false; end def _section :auth end class MatchList < XML::ConfigClass def has_multiple_values?; true; end def _section :'match-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SendSnmptrap < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-snmptrap' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_snmptrap maybe_register_subclass('send-snmptrap', SendSnmptrap.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendEmail < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-email' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_email maybe_register_subclass('send-email', SendEmail.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendSyslog < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-syslog' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_syslog maybe_register_subclass('send-syslog', SendSyslog.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendHttp < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-http' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_http maybe_register_subclass('send-http', SendHttp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Actions < XML::ConfigClass def has_multiple_values?; true; end def _section :actions end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end class Tagging < ConfigClass def has_multiple_values?; false; end def _section :tagging end class Registration < XML::ConfigClass def has_multiple_values?; true; end def _section :registration end class Localhost < ConfigClass def has_multiple_values?; false; end def _section :localhost end @props = {} end def localhost @subclasses['localhost'] ||= Localhost.new(parent_instance: self, client: @client, create_children: @create_children) end class Remote < ConfigClass def has_multiple_values?; false; end def _section :remote end @props = {'http-profile'=>{'node-type'=>'element', 'type'=>'string'}} def http_profile prop_get('http-profile') end def http_profile=(val) prop_set('http-profile', val) end end def remote @subclasses['remote'] ||= Remote.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def registration maybe_register_subclass('registration', Registration.new(parent_instance: self, client: @client, create_children: @create_children)) end class Tags < XML::ConfigClass def has_multiple_values?; true; end def _section :tags end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'127', 'regex'=>'^[^\]\'\[]*$'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def tags maybe_register_subclass('tags', Tags.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'target'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'source-address', 'enum'=>[{'value'=>'source-address', 'help-string'=>'Source Address'}, {'value'=>'destination-address', 'help-string'=>'Destination Address'}, {'value'=>'xff-address', 'help-string'=>'X-Forwarded-For Address'}, {'value'=>'user', 'help-string'=>'User'}]}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'add-tag', 'enum'=>[{'value'=>'add-tag', 'help-string'=>'Add Tag'}, {'value'=>'remove-tag', 'help-string'=>'Remove Tag'}]}, 'timeout'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'0', 'max'=>'43200', 'optional'=>'yes', 'default'=>'0', 'help-string'=>'timeout in minutes'}} def target prop_get('target') end def target=(val) prop_set('target', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end # timeout in minutes def timeout prop_get('timeout') end # timeout in minutes def timeout=(val) prop_set('timeout', val) end end def tagging @subclasses['tagging'] ||= Tagging.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def actions maybe_register_subclass('actions', Actions.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'filter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1023'}, 'quarantine'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes'}} def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def filter prop_get('filter') end def filter=(val) prop_set('filter', val) end def quarantine prop_get('quarantine') end def quarantine=(val) prop_set('quarantine', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def match_list maybe_register_subclass('match-list', MatchList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def auth @subclasses['auth'] ||= Auth.new(parent_instance: self, client: @client, create_children: @create_children) end class Snmptrap < XML::ConfigClass def has_multiple_values?; true; end def _section :snmptrap end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Version < XML::ConfigClass def has_multiple_values?; true; end def _section :version end class V2c < ConfigClass def has_multiple_values?; false; end def _section :v2c end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'manager'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'IP address or FQDN of SNMP manager to use', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63', 'regex'=>'^([a-zA-Z0-9\.\_-])+([a-zA-Z]{2,63})$'}}}, 'community'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'127'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # IP address or FQDN of SNMP manager to use def manager prop_get('manager') end # IP address or FQDN of SNMP manager to use def manager=(val) prop_set('manager', val) end def community prop_get('community') end def community=(val) prop_set('community', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def v2c @subclasses['v2c'] ||= V2c.new(parent_instance: self, client: @client, create_children: @create_children) end class V3 < ConfigClass def has_multiple_values?; false; end def _section :v3 end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'manager'=>{'node-type'=>'element', 'type'=>'multiple', 'help-string'=>'IP address or FQDN of SNMP manager to use', 'multi-types'=>{'ipspec'=>{}, 'string'=>{'maxlen'=>'63', 'regex'=>'^([a-zA-Z0-9\.\_-])+([a-zA-Z]{2,63})$'}}}, 'user'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'31'}, 'engineid'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'255', 'regex'=>'^[0][xX][0-9A-Fa-f]{10,128}$', 'help-string'=>'A hex number (min 5 - max 64 bytes) '}, 'authpwd'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Authentication Protocol Password', 'minlen'=>'8', 'maxlen'=>'256', 'encrypt'=>'yes'}, 'privpwd'=>{'node-type'=>'element', 'type'=>'string', 'help-string'=>'Privacy Protocol Password', 'minlen'=>'8', 'maxlen'=>'256', 'encrypt'=>'yes'}, 'authproto'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'SHA', 'help-string'=>'Authentication Protocol', 'enum'=>[{'value'=>'SHA'}, {'value'=>'SHA-224'}, {'value'=>'SHA-256'}, {'value'=>'SHA-384'}, {'value'=>'SHA-512'}]}, 'privproto'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'AES', 'help-string'=>'Privacy Protocol', 'enum'=>[{'value'=>'AES'}, {'value'=>'AES-192'}, {'value'=>'AES-256'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # IP address or FQDN of SNMP manager to use def manager prop_get('manager') end # IP address or FQDN of SNMP manager to use def manager=(val) prop_set('manager', val) end def user prop_get('user') end def user=(val) prop_set('user', val) end # A hex number (min 5 - max 64 bytes) def engineid prop_get('engineid') end # A hex number (min 5 - max 64 bytes) def engineid=(val) prop_set('engineid', val) end # Authentication Protocol Password def authpwd prop_get('authpwd') end # Authentication Protocol Password def authpwd=(val) prop_set('authpwd', val) end # Privacy Protocol Password def privpwd prop_get('privpwd') end # Privacy Protocol Password def privpwd=(val) prop_set('privpwd', val) end # Authentication Protocol def authproto prop_get('authproto') end # Authentication Protocol def authproto=(val) prop_set('authproto', val) end # Privacy Protocol def privproto prop_get('privproto') end # Privacy Protocol def privproto=(val) prop_set('privproto', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def v3 @subclasses['v3'] ||= V3.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def version maybe_register_subclass('version', Version.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def snmptrap maybe_register_subclass('snmptrap', Snmptrap.new(parent_instance: self, client: @client, create_children: @create_children)) end class Email < XML::ConfigClass def has_multiple_values?; true; end def _section :email end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'display-name'=>{'node-type'=>'element', 'type'=>'string', 'subtype'=>'object-name', 'optional'=>'yes'}, 'from'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([a-zA-Z0-9_?~^\'`.\+/=|#$!*%{}\&-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$', 'maxlen'=>'128', 'help-string'=>'email address (e.g. admin@mycompany.com)'}, 'to'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([a-zA-Z0-9_?~^\'`.\+/=|#$!*%{}\&-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$', 'maxlen'=>'128', 'help-string'=>'email address (e.g. admin@mycompany.com)'}, 'and-also-to'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^([a-zA-Z0-9_?~^\'`.\+/=|#$!*%{}\&-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$', 'maxlen'=>'128', 'help-string'=>'email address (e.g. admin@mycompany.com)'}, 'gateway'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'regex'=>'^([a-zA-Z0-9:\.\_-])+([a-zA-Z0-9:\_-])$', 'help-string'=>'IP address or FQDN of SMTP gateway to use'}, 'protocol'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'SMTP', 'enum'=>[{'value'=>'SMTP'}, {'value'=>'TLS'}]}, 'port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'optional'=>'yes', 'default'=>'25', 'help-string'=>'Port number (Standard EMAIL ports SMTP:25, TLS:587)'}, 'tls-version'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'1.2', 'help-string'=>'TLS handshake protocol version', 'enum'=>[{'value'=>'1.2'}, {'value'=>'1.1'}]}, 'auth'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'Auto'}, {'value'=>'Login'}, {'value'=>'Plain'}]}, 'certificate-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'default'=>'None', 'help-string'=>'Certificate Profile for validating server certificate'}, 'username'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'username for authentication', 'minlen'=>'0', 'maxlen'=>'255', 'regex'=>'[^\']*'}, 'password'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'regex'=>'[^\']*', 'encrypt'=>'yes'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end def display_name prop_get('display-name') end def display_name=(val) prop_set('display-name', val) end # email address (e.g. admin@mycompany.com) def from prop_get('from') end # email address (e.g. admin@mycompany.com) def from=(val) prop_set('from', val) end # email address (e.g. admin@mycompany.com) def to prop_get('to') end # email address (e.g. admin@mycompany.com) def to=(val) prop_set('to', val) end # email address (e.g. admin@mycompany.com) def and_also_to prop_get('and-also-to') end # email address (e.g. admin@mycompany.com) def and_also_to=(val) prop_set('and-also-to', val) end # IP address or FQDN of SMTP gateway to use def gateway prop_get('gateway') end # IP address or FQDN of SMTP gateway to use def gateway=(val) prop_set('gateway', val) end def protocol prop_get('protocol') end def protocol=(val) prop_set('protocol', val) end # Port number (Standard EMAIL ports SMTP:25, TLS:587) def port prop_get('port') end # Port number (Standard EMAIL ports SMTP:25, TLS:587) def port=(val) prop_set('port', val) end # TLS handshake protocol version def tls_version prop_get('tls-version') end # TLS handshake protocol version def tls_version=(val) prop_set('tls-version', val) end def auth prop_get('auth') end def auth=(val) prop_set('auth', val) end # Certificate Profile for validating server certificate def certificate_profile prop_get('certificate-profile') end # Certificate Profile for validating server certificate def certificate_profile=(val) prop_set('certificate-profile', val) end # username for authentication def username prop_get('username') end # username for authentication def username=(val) prop_set('username', val) end def password prop_get('password') end def password=(val) prop_set('password', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end class Format < ConfigClass def has_multiple_values?; false; end def _section :format end class Escaping < ConfigClass def has_multiple_values?; false; end def _section :escaping end @props = {'escaped-characters'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'help-string'=>'List of characters to be escaped'}, 'escape-character'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'1', 'help-string'=>'Escape character'}} # List of characters to be escaped def escaped_characters prop_get('escaped-characters') end # List of characters to be escaped def escaped_characters=(val) prop_set('escaped-characters', val) end # Escape character def escape_character prop_get('escape-character') end # Escape character def escape_character=(val) prop_set('escape-character', val) end end def escaping @subclasses['escaping'] ||= Escaping.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'traffic'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'threat'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'wildfire'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'url'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'data'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'gtp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420,cfg.platform.model=PA-1410,cfg.platform.model=PA-1420'}, 'sctp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420,cfg.platform.model=PA-1410,cfg.platform.model=PA-1420'}, 'tunnel'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'auth'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'userid'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'iptag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'decryption'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'config'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'system'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'globalprotect'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'hip-match'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'correlation'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}} def traffic prop_get('traffic') end def traffic=(val) prop_set('traffic', val) end def threat prop_get('threat') end def threat=(val) prop_set('threat', val) end def wildfire prop_get('wildfire') end def wildfire=(val) prop_set('wildfire', val) end def url prop_get('url') end def url=(val) prop_set('url', val) end def data prop_get('data') end def data=(val) prop_set('data', val) end def gtp prop_get('gtp') end def gtp=(val) prop_set('gtp', val) end def sctp prop_get('sctp') end def sctp=(val) prop_set('sctp', val) end def tunnel prop_get('tunnel') end def tunnel=(val) prop_set('tunnel', val) end def auth prop_get('auth') end def auth=(val) prop_set('auth', val) end def userid prop_get('userid') end def userid=(val) prop_set('userid', val) end def iptag prop_get('iptag') end def iptag=(val) prop_set('iptag', val) end def decryption prop_get('decryption') end def decryption=(val) prop_set('decryption', val) end def config prop_get('config') end def config=(val) prop_set('config', val) end def system prop_get('system') end def system=(val) prop_set('system', val) end def globalprotect prop_get('globalprotect') end def globalprotect=(val) prop_set('globalprotect', val) end def hip_match prop_get('hip-match') end def hip_match=(val) prop_set('hip-match', val) end def correlation prop_get('correlation') end def correlation=(val) prop_set('correlation', val) end end def format @subclasses['format'] ||= Format.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def email maybe_register_subclass('email', Email.new(parent_instance: self, client: @client, create_children: @create_children)) end class Syslog < XML::ConfigClass def has_multiple_values?; true; end def _section :syslog end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'server'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'regex'=>'^([a-zA-Z0-9:\.\_-])+([a-zA-Z0-9:\_-])$', 'help-string'=>'IP address or FQDN of SYSLOG server to use'}, 'transport'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'UDP', 'enum'=>[{'value'=>'UDP'}, {'value'=>'TCP'}, {'value'=>'SSL'}]}, 'port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'optional'=>'yes', 'help-string'=>'Port number (Standard Syslog ports UDP:514, SSL:6514)'}, 'format'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'BSD', 'help-string'=>'Format of the Syslog message', 'enum'=>[{'value'=>'BSD'}, {'value'=>'IETF'}]}, 'facility'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'LOG_USER', 'enum'=>[{'value'=>'LOG_USER'}, {'value'=>'LOG_LOCAL0'}, {'value'=>'LOG_LOCAL1'}, {'value'=>'LOG_LOCAL2'}, {'value'=>'LOG_LOCAL3'}, {'value'=>'LOG_LOCAL4'}, {'value'=>'LOG_LOCAL5'}, {'value'=>'LOG_LOCAL6'}, {'value'=>'LOG_LOCAL7'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # IP address or FQDN of SYSLOG server to use def server prop_get('server') end # IP address or FQDN of SYSLOG server to use def server=(val) prop_set('server', val) end def transport prop_get('transport') end def transport=(val) prop_set('transport', val) end # Port number (Standard Syslog ports UDP:514, SSL:6514) def port prop_get('port') end # Port number (Standard Syslog ports UDP:514, SSL:6514) def port=(val) prop_set('port', val) end # Format of the Syslog message def format prop_get('format') end # Format of the Syslog message def format=(val) prop_set('format', val) end def facility prop_get('facility') end def facility=(val) prop_set('facility', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end class Format < ConfigClass def has_multiple_values?; false; end def _section :format end class Escaping < ConfigClass def has_multiple_values?; false; end def _section :escaping end @props = {'escaped-characters'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'help-string'=>'List of characters to be escaped'}, 'escape-character'=>{'node-type'=>'element', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'1', 'help-string'=>'Escape character'}} # List of characters to be escaped def escaped_characters prop_get('escaped-characters') end # List of characters to be escaped def escaped_characters=(val) prop_set('escaped-characters', val) end # Escape character def escape_character prop_get('escape-character') end # Escape character def escape_character=(val) prop_set('escape-character', val) end end def escaping @subclasses['escaping'] ||= Escaping.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'traffic'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'threat'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'wildfire'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'url'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'data'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'gtp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420,cfg.platform.model=PA-1410,cfg.platform.model=PA-1420'}, 'sctp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096', 'prune-on-sdb'=>'cfg.platform.model=PA-3410,cfg.platform.model=PA-3420,cfg.platform.model=PA-1410,cfg.platform.model=PA-1420'}, 'tunnel'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'auth'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'userid'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'iptag'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'decryption'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'config'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'system'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'globalprotect'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'hip-match'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}, 'correlation'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4096'}} def traffic prop_get('traffic') end def traffic=(val) prop_set('traffic', val) end def threat prop_get('threat') end def threat=(val) prop_set('threat', val) end def wildfire prop_get('wildfire') end def wildfire=(val) prop_set('wildfire', val) end def url prop_get('url') end def url=(val) prop_set('url', val) end def data prop_get('data') end def data=(val) prop_set('data', val) end def gtp prop_get('gtp') end def gtp=(val) prop_set('gtp', val) end def sctp prop_get('sctp') end def sctp=(val) prop_set('sctp', val) end def tunnel prop_get('tunnel') end def tunnel=(val) prop_set('tunnel', val) end def auth prop_get('auth') end def auth=(val) prop_set('auth', val) end def userid prop_get('userid') end def userid=(val) prop_set('userid', val) end def iptag prop_get('iptag') end def iptag=(val) prop_set('iptag', val) end def decryption prop_get('decryption') end def decryption=(val) prop_set('decryption', val) end def config prop_get('config') end def config=(val) prop_set('config', val) end def system prop_get('system') end def system=(val) prop_set('system', val) end def globalprotect prop_get('globalprotect') end def globalprotect=(val) prop_set('globalprotect', val) end def hip_match prop_get('hip-match') end def hip_match=(val) prop_set('hip-match', val) end def correlation prop_get('correlation') end def correlation=(val) prop_set('correlation', val) end end def format @subclasses['format'] ||= Format.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def syslog maybe_register_subclass('syslog', Syslog.new(parent_instance: self, client: @client, create_children: @create_children)) end class Http < XML::ConfigClass def has_multiple_values?; true; end def _section :http end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Server < XML::ConfigClass def has_multiple_values?; true; end def _section :server end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'address'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'regex'=>'^([a-zA-Z0-9:\.\_-])+([a-zA-Z0-9:\_-])$', 'help-string'=>'IP address or FQDN of HTTP server to use', 'error-string'=>'Must be IP address or FQDN'}, 'protocol'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'HTTPS', 'enum'=>[{'value'=>'HTTP'}, {'value'=>'HTTPS'}]}, 'port'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'optional'=>'yes', 'default'=>'443', 'help-string'=>'Port number (Standard HTTP ports HTTP:80, HTTPS:443)'}, 'tls-version'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'default'=>'1.2', 'help-string'=>'TLS handshake protocol version', 'enum'=>[{'value'=>'1.2'}, {'value'=>'1.1'}, {'value'=>'1.0'}]}, 'auth'=>{'node-type'=>'element', 'type'=>'enum', 'internal'=>'yes', 'optional'=>'yes', 'enum'=>[{'value'=>'OAUTH2'}]}, 'certificate-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'default'=>'None', 'help-string'=>'Certificate Profile for validating server certificate'}, 'http-method'=>{'node-type'=>'element', 'type'=>'string', 'default'=>'POST', 'complete-handler'=>'http-method-completer'}, 'username'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'username for HTTP basic authentication', 'minlen'=>'1', 'maxlen'=>'255', 'regex'=>'[^\']*'}, 'password'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'255', 'regex'=>'[^\']*', 'encrypt'=>'yes'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # IP address or FQDN of HTTP server to use def address prop_get('address') end # IP address or FQDN of HTTP server to use def address=(val) prop_set('address', val) end def protocol prop_get('protocol') end def protocol=(val) prop_set('protocol', val) end # Port number (Standard HTTP ports HTTP:80, HTTPS:443) def port prop_get('port') end # Port number (Standard HTTP ports HTTP:80, HTTPS:443) def port=(val) prop_set('port', val) end # TLS handshake protocol version def tls_version prop_get('tls-version') end # TLS handshake protocol version def tls_version=(val) prop_set('tls-version', val) end def auth prop_get('auth') end def auth=(val) prop_set('auth', val) end # Certificate Profile for validating server certificate def certificate_profile prop_get('certificate-profile') end # Certificate Profile for validating server certificate def certificate_profile=(val) prop_set('certificate-profile', val) end def http_method prop_get('http-method') end def http_method=(val) prop_set('http-method', val) end # username for HTTP basic authentication def username prop_get('username') end # username for HTTP basic authentication def username=(val) prop_set('username', val) end def password prop_get('password') end def password=(val) prop_set('password', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server maybe_register_subclass('server', Server.new(parent_instance: self, client: @client, create_children: @create_children)) end class Format < ConfigClass def has_multiple_values?; false; end def _section :format end class Config < ConfigClass def has_multiple_values?; false; end def _section :config end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def config @subclasses['config'] ||= Config.new(parent_instance: self, client: @client, create_children: @create_children) end class System < ConfigClass def has_multiple_values?; false; end def _section :system end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def system @subclasses['system'] ||= System.new(parent_instance: self, client: @client, create_children: @create_children) end class Traffic < ConfigClass def has_multiple_values?; false; end def _section :traffic end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def traffic @subclasses['traffic'] ||= Traffic.new(parent_instance: self, client: @client, create_children: @create_children) end class Threat < ConfigClass def has_multiple_values?; false; end def _section :threat end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def threat @subclasses['threat'] ||= Threat.new(parent_instance: self, client: @client, create_children: @create_children) end class Wildfire < ConfigClass def has_multiple_values?; false; end def _section :wildfire end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def wildfire @subclasses['wildfire'] ||= Wildfire.new(parent_instance: self, client: @client, create_children: @create_children) end class Url < ConfigClass def has_multiple_values?; false; end def _section :url end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def url @subclasses['url'] ||= Url.new(parent_instance: self, client: @client, create_children: @create_children) end class Data < ConfigClass def has_multiple_values?; false; end def _section :data end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def data @subclasses['data'] ||= Data.new(parent_instance: self, client: @client, create_children: @create_children) end class Gtp < ConfigClass def has_multiple_values?; false; end def _section :gtp end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def gtp @subclasses['gtp'] ||= Gtp.new(parent_instance: self, client: @client, create_children: @create_children) end class Sctp < ConfigClass def has_multiple_values?; false; end def _section :sctp end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def sctp @subclasses['sctp'] ||= Sctp.new(parent_instance: self, client: @client, create_children: @create_children) end class Tunnel < ConfigClass def has_multiple_values?; false; end def _section :tunnel end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def tunnel @subclasses['tunnel'] ||= Tunnel.new(parent_instance: self, client: @client, create_children: @create_children) end class Auth < ConfigClass def has_multiple_values?; false; end def _section :auth end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def auth @subclasses['auth'] ||= Auth.new(parent_instance: self, client: @client, create_children: @create_children) end class Userid < ConfigClass def has_multiple_values?; false; end def _section :userid end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def userid @subclasses['userid'] ||= Userid.new(parent_instance: self, client: @client, create_children: @create_children) end class Iptag < ConfigClass def has_multiple_values?; false; end def _section :iptag end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def iptag @subclasses['iptag'] ||= Iptag.new(parent_instance: self, client: @client, create_children: @create_children) end class Decryption < ConfigClass def has_multiple_values?; false; end def _section :decryption end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def decryption @subclasses['decryption'] ||= Decryption.new(parent_instance: self, client: @client, create_children: @create_children) end class Globalprotect < ConfigClass def has_multiple_values?; false; end def _section :globalprotect end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def globalprotect @subclasses['globalprotect'] ||= Globalprotect.new(parent_instance: self, client: @client, create_children: @create_children) end class HipMatch < ConfigClass def has_multiple_values?; false; end def _section :'hip-match' end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def hip_match @subclasses['hip-match'] ||= HipMatch.new(parent_instance: self, client: @client, create_children: @create_children) end class Correlation < ConfigClass def has_multiple_values?; false; end def _section :correlation end class Headers < XML::ConfigClass def has_multiple_values?; true; end def _section :headers end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'256'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def headers maybe_register_subclass('headers', Headers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Params < XML::ConfigClass def has_multiple_values?; true; end def _section :params end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'32'}, 'value'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'134'}} def name prop_get('@name') end def value prop_get('value') end def value=(val) prop_set('value', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def params maybe_register_subclass('params', Params.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'31'}, 'url-format'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'511', 'optional'=>'yes', 'help-string'=>'URI Format'}, 'payload'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'2048', 'help-string'=>'Enter the log format', 'optional'=>'yes'}} def name prop_get('name') end def name=(val) prop_set('name', val) end # URI Format def url_format prop_get('url-format') end # URI Format def url_format=(val) prop_set('url-format', val) end # Enter the log format def payload prop_get('payload') end # Enter the log format def payload=(val) prop_set('payload', val) end end def correlation @subclasses['correlation'] ||= Correlation.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def format @subclasses['format'] ||= Format.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'tag-registration'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'optional'=>'yes', 'help-string'=>'The server(s) should have User-ID agent running in order for tag registration to work'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # The server(s) should have User-ID agent running in order for tag registration to work def tag_registration prop_get('tag-registration') end # The server(s) should have User-ID agent running in order for tag registration to work def tag_registration=(val) prop_set('tag-registration', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def http maybe_register_subclass('http', Http.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def log_settings @subclasses['log-settings'] ||= LogSettings.new(parent_instance: self, client: @client, create_children: @create_children) end class LogIngestionProfile < ConfigClass def has_multiple_values?; false; end def _section :'log-ingestion-profile' end class Source < XML::ConfigClass def has_multiple_values?; true; end def _section :source end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'subtype'=>'object-name'}} def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def source maybe_register_subclass('source', Source.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def log_ingestion_profile @subclasses['log-ingestion-profile'] ||= LogIngestionProfile.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'regex'=>'^[a-zA-Z0-9\ _-]+$', 'help-string'=>'Log collector group name'}} # Log collector group name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def log_collector_group maybe_register_subclass('log-collector-group', LogCollectorGroup.new(parent_instance: self, client: @client, create_children: @create_children)) end class WildfireApplianceCluster < XML::ConfigClass def has_multiple_values?; true; end def _section :'wildfire-appliance-cluster' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Platform < ConfigClass def has_multiple_values?; false; end def _section :platform end class Limits < ConfigClass def has_multiple_values?; false; end def _section :limits end @props = {} end def limits @subclasses['limits'] ||= Limits.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def platform @subclasses['platform'] ||= Platform.new(parent_instance: self, client: @client, create_children: @create_children) end class MgtConfig < ConfigClass def has_multiple_values?; false; end def _section :'mgt-config' end class Users < XML::ConfigClass def has_multiple_values?; true; end def _section :users end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Permissions < XML::ConfigClass def has_multiple_values?; true; end def _section :permissions end class RoleBased < XML::ConfigClass def has_multiple_values?; true; end def _section :'role-based' end @props = {'superuser'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'yes'}]}} def superuser prop_get('superuser') end def superuser=(val) prop_set('superuser', val) end end def role_based maybe_register_subclass('role-based', RoleBased.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def permissions maybe_register_subclass('permissions', Permissions.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'^[a-zA-Z0-9_.-]+$', 'maxlen'=>'31', 'help-string'=>'alphanumeric value'}, 'phash'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes'}, 'authentication-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes'}, 'password-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes'}, 'public-key'=>{'node-type'=>'element', 'type'=>'string', 'prune-on'=>'fips-mode', 'optional'=>'yes', 'minlen'=>'1', 'maxlen'=>'4096', 'help-string'=>'Public RSA/DSA'}} # alphanumeric value def name prop_get('@name') end def phash prop_get('phash') end def phash=(val) prop_set('phash', val) end def authentication_profile prop_get('authentication-profile') end def authentication_profile=(val) prop_set('authentication-profile', val) end def password_profile prop_get('password-profile') end def password_profile=(val) prop_set('password-profile', val) end # Public RSA/DSA def public_key prop_get('public-key') end # Public RSA/DSA def public_key=(val) prop_set('public-key', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def users maybe_register_subclass('users', Users.new(parent_instance: self, client: @client, create_children: @create_children)) end class ImportedPanoramaAdminUsers < XML::ConfigClass def has_multiple_values?; true; end def _section :'imported-panorama-admin-users' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'complete-handler'=>'imported-panorama-admin-users-completer', 'help-string'=>'Imported Panorama admin user name'}} # Imported Panorama admin user name def member prop_get('member') end # Imported Panorama admin user name def member=(val) prop_set('member', val) end end def imported_panorama_admin_users maybe_register_subclass('imported-panorama-admin-users', ImportedPanoramaAdminUsers.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def mgt_config @subclasses['mgt-config'] ||= MgtConfig.new(parent_instance: self, client: @client, create_children: @create_children) end class Shared < ConfigClass def has_multiple_values?; false; end def _section :shared end class LogSettings < ConfigClass def has_multiple_values?; false; end def _section :'log-settings' end class System < ConfigClass def has_multiple_values?; false; end def _section :system end class MatchList < XML::ConfigClass def has_multiple_values?; true; end def _section :'match-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SendSnmptrap < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-snmptrap' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_snmptrap maybe_register_subclass('send-snmptrap', SendSnmptrap.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendEmail < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-email' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_email maybe_register_subclass('send-email', SendEmail.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendSyslog < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-syslog' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_syslog maybe_register_subclass('send-syslog', SendSyslog.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendHttp < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-http' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_http maybe_register_subclass('send-http', SendHttp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Actions < XML::ConfigClass def has_multiple_values?; true; end def _section :actions end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def actions maybe_register_subclass('actions', Actions.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'filter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1023'}} def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def filter prop_get('filter') end def filter=(val) prop_set('filter', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def match_list maybe_register_subclass('match-list', MatchList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def system @subclasses['system'] ||= System.new(parent_instance: self, client: @client, create_children: @create_children) end class Config < ConfigClass def has_multiple_values?; false; end def _section :config end class MatchList < XML::ConfigClass def has_multiple_values?; true; end def _section :'match-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SendSnmptrap < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-snmptrap' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_snmptrap maybe_register_subclass('send-snmptrap', SendSnmptrap.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendEmail < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-email' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_email maybe_register_subclass('send-email', SendEmail.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendSyslog < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-syslog' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_syslog maybe_register_subclass('send-syslog', SendSyslog.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendHttp < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-http' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_http maybe_register_subclass('send-http', SendHttp.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'filter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1023'}} def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def filter prop_get('filter') end def filter=(val) prop_set('filter', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def match_list maybe_register_subclass('match-list', MatchList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def config @subclasses['config'] ||= Config.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def log_settings @subclasses['log-settings'] ||= LogSettings.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def shared @subclasses['shared'] ||= Shared.new(parent_instance: self, client: @client, create_children: @create_children) end class Deviceconfig < ConfigClass def has_multiple_values?; false; end def _section :deviceconfig end class System < ConfigClass def has_multiple_values?; false; end def _section :system end class NtpServers < ConfigClass def has_multiple_values?; false; end def _section :'ntp-servers' end class PrimaryNtpServer < ConfigClass def has_multiple_values?; false; end def _section :'primary-ntp-server' end class AuthenticationType < XML::ConfigClass def has_multiple_values?; true; end def _section :'authentication-type' end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end class SymmetricKey < ConfigClass def has_multiple_values?; false; end def _section :'symmetric-key' end class Algorithm < XML::ConfigClass def has_multiple_values?; true; end def _section :algorithm end class Md5 < ConfigClass def has_multiple_values?; false; end def _section :md5 end @props = {'authentication-key'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([!-~])+$', 'minlen'=>'6', 'maxlen'=>'32', 'help-string'=>'Symmetric Key MD5 String', 'encrypt'=>'yes'}} # Symmetric Key MD5 String def authentication_key prop_get('authentication-key') end # Symmetric Key MD5 String def authentication_key=(val) prop_set('authentication-key', val) end end def md5 @subclasses['md5'] ||= Md5.new(parent_instance: self, client: @client, create_children: @create_children) end class Sha1 < ConfigClass def has_multiple_values?; false; end def _section :sha1 end @props = {'authentication-key'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([0-9A-Fa-f])+$', 'minlen'=>'40', 'maxlen'=>'40', 'help-string'=>'Symmetric Key SHA1 Hexadecimal', 'encrypt'=>'yes', 'error-string'=>'Error: SHA1 authentication-key should be 40 hexadecimal characters'}} # Symmetric Key SHA1 Hexadecimal def authentication_key prop_get('authentication-key') end # Symmetric Key SHA1 Hexadecimal def authentication_key=(val) prop_set('authentication-key', val) end end def sha1 @subclasses['sha1'] ||= Sha1.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def algorithm maybe_register_subclass('algorithm', Algorithm.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'key-id'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65534', 'help-string'=>'Symmetric Key Number'}} # Symmetric Key Number def key_id prop_get('key-id') end # Symmetric Key Number def key_id=(val) prop_set('key-id', val) end end def symmetric_key @subclasses['symmetric-key'] ||= SymmetricKey.new(parent_instance: self, client: @client, create_children: @create_children) end class Autokey < ConfigClass def has_multiple_values?; false; end def _section :autokey end @props = {} end def autokey @subclasses['autokey'] ||= Autokey.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def authentication_type maybe_register_subclass('authentication-type', AuthenticationType.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'ntp-server-address'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([0-9a-zA-Z:./_-])+$', 'maxlen'=>'63', 'help-string'=>'NTP Server IP Address or Domain Name'}} # NTP Server IP Address or Domain Name def ntp_server_address prop_get('ntp-server-address') end # NTP Server IP Address or Domain Name def ntp_server_address=(val) prop_set('ntp-server-address', val) end end def primary_ntp_server @subclasses['primary-ntp-server'] ||= PrimaryNtpServer.new(parent_instance: self, client: @client, create_children: @create_children) end class SecondaryNtpServer < ConfigClass def has_multiple_values?; false; end def _section :'secondary-ntp-server' end class AuthenticationType < XML::ConfigClass def has_multiple_values?; true; end def _section :'authentication-type' end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end class SymmetricKey < ConfigClass def has_multiple_values?; false; end def _section :'symmetric-key' end class Algorithm < XML::ConfigClass def has_multiple_values?; true; end def _section :algorithm end class Md5 < ConfigClass def has_multiple_values?; false; end def _section :md5 end @props = {'authentication-key'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([!-~])+$', 'minlen'=>'6', 'maxlen'=>'32', 'help-string'=>'Symmetric Key MD5 String', 'encrypt'=>'yes'}} # Symmetric Key MD5 String def authentication_key prop_get('authentication-key') end # Symmetric Key MD5 String def authentication_key=(val) prop_set('authentication-key', val) end end def md5 @subclasses['md5'] ||= Md5.new(parent_instance: self, client: @client, create_children: @create_children) end class Sha1 < ConfigClass def has_multiple_values?; false; end def _section :sha1 end @props = {'authentication-key'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([0-9A-Fa-f])+$', 'minlen'=>'40', 'maxlen'=>'40', 'help-string'=>'Symmetric Key SHA1 Hexadecimal', 'encrypt'=>'yes', 'error-string'=>'Error: SHA1 authentication-key should be 40 hexadecimal characters'}} # Symmetric Key SHA1 Hexadecimal def authentication_key prop_get('authentication-key') end # Symmetric Key SHA1 Hexadecimal def authentication_key=(val) prop_set('authentication-key', val) end end def sha1 @subclasses['sha1'] ||= Sha1.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def algorithm maybe_register_subclass('algorithm', Algorithm.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'key-id'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65534', 'help-string'=>'Symmetric Key Number'}} # Symmetric Key Number def key_id prop_get('key-id') end # Symmetric Key Number def key_id=(val) prop_set('key-id', val) end end def symmetric_key @subclasses['symmetric-key'] ||= SymmetricKey.new(parent_instance: self, client: @client, create_children: @create_children) end class Autokey < ConfigClass def has_multiple_values?; false; end def _section :autokey end @props = {} end def autokey @subclasses['autokey'] ||= Autokey.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def authentication_type maybe_register_subclass('authentication-type', AuthenticationType.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'ntp-server-address'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([0-9a-zA-Z:./_-])+$', 'maxlen'=>'63', 'help-string'=>'NTP Server IP Address or Domain Name'}} # NTP Server IP Address or Domain Name def ntp_server_address prop_get('ntp-server-address') end # NTP Server IP Address or Domain Name def ntp_server_address=(val) prop_set('ntp-server-address', val) end end def secondary_ntp_server @subclasses['secondary-ntp-server'] ||= SecondaryNtpServer.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ntp_servers @subclasses['ntp-servers'] ||= NtpServers.new(parent_instance: self, client: @client, create_children: @create_children) end class DnsSetting < ConfigClass def has_multiple_values?; false; end def _section :'dns-setting' end class Servers < ConfigClass def has_multiple_values?; false; end def _section :servers end @props = {'primary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-only'=>'yes', 'help-string'=>'Primary DNS server IP address'}, 'secondary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-only'=>'yes', 'help-string'=>'Secondary DNS server IP address'}} # Primary DNS server IP address def primary prop_get('primary') end # Primary DNS server IP address def primary=(val) prop_set('primary', val) end # Secondary DNS server IP address def secondary prop_get('secondary') end # Secondary DNS server IP address def secondary=(val) prop_set('secondary', val) end end def servers @subclasses['servers'] ||= Servers.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def dns_setting @subclasses['dns-setting'] ||= DnsSetting.new(parent_instance: self, client: @client, create_children: @create_children) end class PermittedIp < XML::ConfigClass def has_multiple_values?; true; end def _section :'permitted-ip' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'optional'=>'yes', 'type'=>'ipspec', 'help-string'=>'ip address/prefix'}} # ip address/prefix def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def permitted_ip maybe_register_subclass('permitted-ip', PermittedIp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Service < ConfigClass def has_multiple_values?; false; end def _section :service end @props = {'disable-ssh'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'disable-icmp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'disable-snmp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'ha1'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable high-availability'}, 'ha1-backup'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable high-availability'}} def disable_ssh prop_get('disable-ssh') end def disable_ssh=(val) prop_set('disable-ssh', val) end def disable_icmp prop_get('disable-icmp') end def disable_icmp=(val) prop_set('disable-icmp', val) end def disable_snmp prop_get('disable-snmp') end def disable_snmp=(val) prop_set('disable-snmp', val) end # Enable high-availability def ha1 prop_get('ha1') end # Enable high-availability def ha1=(val) prop_set('ha1', val) end # Enable high-availability def ha1_backup prop_get('ha1-backup') end # Enable high-availability def ha1_backup=(val) prop_set('ha1-backup', val) end end def service @subclasses['service'] ||= Service.new(parent_instance: self, client: @client, create_children: @create_children) end class Ssh < ConfigClass def has_multiple_values?; false; end def _section :ssh end class Profiles < ConfigClass def has_multiple_values?; false; end def _section :profiles end class HaProfiles < XML::ConfigClass def has_multiple_values?; true; end def _section :'ha-profiles' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Ciphers < XML::ConfigClass def has_multiple_values?; true; end def _section :ciphers end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'aes128-cbc', 'enum'=>[{'value'=>'aes128-cbc', 'optional'=>'yes', 'help-string'=>'AES 128 bit cipher with Cipher Block Chaining'}, {'value'=>'aes192-cbc', 'optional'=>'yes', 'help-string'=>'AES 192 bit cipher with Cipher Block Chaining'}, {'value'=>'aes256-cbc', 'optional'=>'yes', 'help-string'=>'AES 256 bit cipher with Cipher Block Chaining'}, {'value'=>'aes128-ctr', 'optional'=>'yes', 'help-string'=>'AES 128 bit cipher with Counter Mode'}, {'value'=>'aes192-ctr', 'optional'=>'yes', 'help-string'=>'AES 192 bit cipher with Counter Mode'}, {'value'=>'aes256-ctr', 'optional'=>'yes', 'help-string'=>'AES 256 bit cipher with Counter Mode'}, {'value'=>'aes128-gcm', 'optional'=>'yes', 'help-string'=>'AES 128 bit cipher with GCM'}, {'value'=>'aes256-gcm', 'optional'=>'yes', 'help-string'=>'AES 256 bit cipher with GCM'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def ciphers maybe_register_subclass('ciphers', Ciphers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Mac < XML::ConfigClass def has_multiple_values?; true; end def _section :mac end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'hmac-sha2-256', 'enum'=>[{'value'=>'hmac-sha1', 'optional'=>'yes', 'help-string'=>'MAC with SHA1 cryptographic hash'}, {'value'=>'hmac-sha2-256', 'optional'=>'yes', 'help-string'=>'MAC with SHA2-256 cryptographic hash'}, {'value'=>'hmac-sha2-512', 'optional'=>'yes', 'help-string'=>'MAC with SHA2-512 cryptographic hash'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def mac maybe_register_subclass('mac', Mac.new(parent_instance: self, client: @client, create_children: @create_children)) end class Kex < XML::ConfigClass def has_multiple_values?; true; end def _section :kex end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'diffie-hellman-group14-sha1', 'enum'=>[{'value'=>'diffie-hellman-group14-sha1', 'help-string'=>'Diffie Hellman group 14 with SHA1 hash'}, {'value'=>'ecdh-sha2-nistp256', 'help-string'=>'Elliptic Curve Diffie Hellman over NIST P-256 with SHA2-256 hash'}, {'value'=>'ecdh-sha2-nistp384', 'help-string'=>'Elliptic Curve Diffie Hellman over NIST P-384 with SHA2-384 hash'}, {'value'=>'ecdh-sha2-nistp521', 'help-string'=>'Elliptic Curve Diffie Hellman over NIST P-521 with SHA2-521 hash'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def kex maybe_register_subclass('kex', Kex.new(parent_instance: self, client: @client, create_children: @create_children)) end class DefaultHostkey < ConfigClass def has_multiple_values?; false; end def _section :'default-hostkey' end class KeyType < XML::ConfigClass def has_multiple_values?; true; end def _section :'key-type' end @props = {'ECDSA'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'256', 'help-string'=>'ECDSA key', 'enum'=>[{'value'=>'256', 'help-string'=>'ECDSA key of length 256'}, {'value'=>'384', 'help-string'=>'ECDSA key of length 384'}, {'value'=>'521', 'help-string'=>'ECDSA key of length 521'}]}, 'RSA'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'2048', 'help-string'=>'RSA key', 'enum'=>[{'value'=>'2048', 'help-string'=>'RSA key of length 2048'}, {'value'=>'3072', 'help-string'=>'RSA key of length 3072'}, {'value'=>'4096', 'help-string'=>'RSA key of length 4096'}]}} # ECDSA key def ECDSA prop_get('ECDSA') end # ECDSA key def ECDSA=(val) prop_set('ECDSA', val) end # RSA key def RSA prop_get('RSA') end # RSA key def RSA=(val) prop_set('RSA', val) end end def key_type maybe_register_subclass('key-type', KeyType.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def default_hostkey @subclasses['default-hostkey'] ||= DefaultHostkey.new(parent_instance: self, client: @client, create_children: @create_children) end class SessionRekey < ConfigClass def has_multiple_values?; false; end def _section :'session-rekey' end @props = {'data'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'default', 'help-string'=>'Set the data to be transmitted between each ssh rekeying', 'multi-types'=>{'rangedint'=>{'min'=>'10', 'max'=>'4000', 'help-string'=>'Maximum data in Megabytes to be transmitted between each rekeying'}, 'enum'=>[{'value'=>'default', 'help-string'=>'Set the default to cipher based rekeying, which is between 1GB to 4GB'}]}}, 'interval'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'default', 'help-string'=>'Set the time interval between each ssh rekeying', 'multi-types'=>{'rangedint'=>{'min'=>'10', 'max'=>'3600', 'help-string'=>'Maximum time interval in seconds between each rekeying'}, 'enum'=>[{'value'=>'default', 'help-string'=>'Set the default to no time based rekeying'}]}}, 'packets'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'default', 'help-string'=>'Set the number of packets to be transmitted between each ssh rekeying', 'multi-types'=>{'rangedint'=>{'min'=>'12', 'max'=>'27', 'help-string'=>'Maximum number of packets (2^n) to be transmitted between rekeying'}, 'enum'=>[{'value'=>'default', 'help-string'=>'Set the default number of packets (2^28)'}]}}} # Set the data to be transmitted between each ssh rekeying def data prop_get('data') end # Set the data to be transmitted between each ssh rekeying def data=(val) prop_set('data', val) end # Set the time interval between each ssh rekeying def interval prop_get('interval') end # Set the time interval between each ssh rekeying def interval=(val) prop_set('interval', val) end # Set the number of packets to be transmitted between each ssh rekeying def packets prop_get('packets') end # Set the number of packets to be transmitted between each ssh rekeying def packets=(val) prop_set('packets', val) end end def session_rekey @subclasses['session-rekey'] ||= SessionRekey.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string begin with letter: [0-9a-zA-Z._-]', 'regex'=>'^[a-zA-Z]{1}[0-9a-zA-Z._-]*$'}} # alphanumeric string begin with letter: [0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ha_profiles maybe_register_subclass('ha-profiles', HaProfiles.new(parent_instance: self, client: @client, create_children: @create_children)) end class MgmtProfiles < ConfigClass def has_multiple_values?; false; end def _section :'mgmt-profiles' end class ServerProfiles < XML::ConfigClass def has_multiple_values?; true; end def _section :'server-profiles' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Ciphers < XML::ConfigClass def has_multiple_values?; true; end def _section :ciphers end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'aes-128-cbc', 'enum'=>[{'value'=>'aes128-cbc', 'optional'=>'yes', 'help-string'=>'AES 128 bit cipher with Cipher Block Chaining'}, {'value'=>'aes192-cbc', 'optional'=>'yes', 'help-string'=>'AES 192 bit cipher with Cipher Block Chaining'}, {'value'=>'aes256-cbc', 'optional'=>'yes', 'help-string'=>'AES 256 bit cipher with Cipher Block Chaining'}, {'value'=>'aes128-ctr', 'optional'=>'yes', 'help-string'=>'AES 128 bit cipher with Counter Mode'}, {'value'=>'aes192-ctr', 'optional'=>'yes', 'help-string'=>'AES 192 bit cipher with Counter Mode'}, {'value'=>'aes256-ctr', 'optional'=>'yes', 'help-string'=>'AES 256 bit cipher with Counter Mode'}, {'value'=>'aes128-gcm', 'optional'=>'yes', 'help-string'=>'AES 128 bit cipher with GCM'}, {'value'=>'aes256-gcm', 'optional'=>'yes', 'help-string'=>'AES 256 bit cipher with GCM'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def ciphers maybe_register_subclass('ciphers', Ciphers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Mac < XML::ConfigClass def has_multiple_values?; true; end def _section :mac end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'hmac-sha2-256', 'enum'=>[{'value'=>'hmac-sha1', 'optional'=>'yes', 'help-string'=>'MAC with SHA1 cryptographic hash'}, {'value'=>'hmac-sha2-256', 'optional'=>'yes', 'help-string'=>'MAC with SHA2-256 cryptographic hash'}, {'value'=>'hmac-sha2-512', 'optional'=>'yes', 'help-string'=>'MAC with SHA2-512 cryptographic hash'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def mac maybe_register_subclass('mac', Mac.new(parent_instance: self, client: @client, create_children: @create_children)) end class Kex < XML::ConfigClass def has_multiple_values?; true; end def _section :kex end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'diffie-hellman-group14-sha1', 'enum'=>[{'value'=>'diffie-hellman-group14-sha1', 'help-string'=>'Diffie Hellman group 14 with SHA1 hash'}, {'value'=>'ecdh-sha2-nistp256', 'help-string'=>'Elliptic Curve Diffie Hellman over NIST P-256 with SHA2-256 hash'}, {'value'=>'ecdh-sha2-nistp384', 'help-string'=>'Elliptic Curve Diffie Hellman over NIST P-384 with SHA2-384 hash'}, {'value'=>'ecdh-sha2-nistp521', 'help-string'=>'Elliptic Curve Diffie Hellman over NIST P-521 with SHA2-521 hash'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def kex maybe_register_subclass('kex', Kex.new(parent_instance: self, client: @client, create_children: @create_children)) end class DefaultHostkey < ConfigClass def has_multiple_values?; false; end def _section :'default-hostkey' end class KeyType < XML::ConfigClass def has_multiple_values?; true; end def _section :'key-type' end class All < ConfigClass def has_multiple_values?; false; end def _section :all end @props = {} end def all @subclasses['all'] ||= All.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'ECDSA'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'256', 'help-string'=>'ECDSA key', 'enum'=>[{'value'=>'256', 'help-string'=>'ECDSA key of length 256'}, {'value'=>'384', 'help-string'=>'ECDSA key of length 384'}, {'value'=>'521', 'help-string'=>'ECDSA key of length 521'}]}, 'RSA'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'2048', 'help-string'=>'RSA key', 'enum'=>[{'value'=>'2048', 'help-string'=>'RSA key of length 2048'}, {'value'=>'3072', 'help-string'=>'RSA key of length 3072'}, {'value'=>'4096', 'help-string'=>'RSA key of length 4096'}]}} # ECDSA key def ECDSA prop_get('ECDSA') end # ECDSA key def ECDSA=(val) prop_set('ECDSA', val) end # RSA key def RSA prop_get('RSA') end # RSA key def RSA=(val) prop_set('RSA', val) end end def key_type maybe_register_subclass('key-type', KeyType.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def default_hostkey @subclasses['default-hostkey'] ||= DefaultHostkey.new(parent_instance: self, client: @client, create_children: @create_children) end class SessionRekey < ConfigClass def has_multiple_values?; false; end def _section :'session-rekey' end @props = {'data'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'default', 'help-string'=>'Set the data to be transmitted between each ssh rekeying', 'multi-types'=>{'rangedint'=>{'min'=>'10', 'max'=>'4000', 'help-string'=>'Maximum data in Megabytes to be transmitted between each rekeying'}, 'enum'=>[{'value'=>'default', 'help-string'=>'Set the default to cipher based rekeying, which is between 1GB to 4GB'}]}}, 'interval'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'default', 'help-string'=>'Set the time interval between each ssh rekeying', 'multi-types'=>{'rangedint'=>{'min'=>'10', 'max'=>'3600', 'help-string'=>'Maximum time interval in seconds between each rekeying'}, 'enum'=>[{'value'=>'default', 'help-string'=>'Set the default to no time based rekeying'}]}}, 'packets'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'default', 'help-string'=>'Set the number of packets to be transmitted between each ssh rekeying', 'multi-types'=>{'rangedint'=>{'min'=>'12', 'max'=>'27', 'help-string'=>'Maximum number of packets (2^n) to be transmitted between rekeying'}, 'enum'=>[{'value'=>'default', 'help-string'=>'Set the default number of packets (2^28)'}]}}} # Set the data to be transmitted between each ssh rekeying def data prop_get('data') end # Set the data to be transmitted between each ssh rekeying def data=(val) prop_set('data', val) end # Set the time interval between each ssh rekeying def interval prop_get('interval') end # Set the time interval between each ssh rekeying def interval=(val) prop_set('interval', val) end # Set the number of packets to be transmitted between each ssh rekeying def packets prop_get('packets') end # Set the number of packets to be transmitted between each ssh rekeying def packets=(val) prop_set('packets', val) end end def session_rekey @subclasses['session-rekey'] ||= SessionRekey.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string begin with letter: [0-9a-zA-Z._-]', 'regex'=>'^[a-zA-Z]{1}[0-9a-zA-Z._-]*$'}} # alphanumeric string begin with letter: [0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server_profiles maybe_register_subclass('server-profiles', ServerProfiles.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def mgmt_profiles @subclasses['mgmt-profiles'] ||= MgmtProfiles.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def profiles @subclasses['profiles'] ||= Profiles.new(parent_instance: self, client: @client, create_children: @create_children) end class Ha < ConfigClass def has_multiple_values?; false; end def _section :ha end @props = {'ha-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'HA profile to be used by HA SSH'}} # HA profile to be used by HA SSH def ha_profile prop_get('ha-profile') end # HA profile to be used by HA SSH def ha_profile=(val) prop_set('ha-profile', val) end end def ha @subclasses['ha'] ||= Ha.new(parent_instance: self, client: @client, create_children: @create_children) end class Mgmt < ConfigClass def has_multiple_values?; false; end def _section :mgmt end @props = {'server-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'Mgmt profile to be used by Mgmt SSH Server'}} # Mgmt profile to be used by Mgmt SSH Server def server_profile prop_get('server-profile') end # Mgmt profile to be used by Mgmt SSH Server def server_profile=(val) prop_set('server-profile', val) end end def mgmt @subclasses['mgmt'] ||= Mgmt.new(parent_instance: self, client: @client, create_children: @create_children) end class RegenerateHostkeys < ConfigClass def has_multiple_values?; false; end def _section :'regenerate-hostkeys' end class Ha < ConfigClass def has_multiple_values?; false; end def _section :ha end class KeyType < XML::ConfigClass def has_multiple_values?; true; end def _section :'key-type' end class ECDSA < ConfigClass def has_multiple_values?; false; end def _section :ECDSA end @props = {'key-length'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'256', 'help-string'=>'Length of SSH key', 'enum'=>[{'value'=>'256', 'help-string'=>'ECDSA key of length 256'}, {'value'=>'384', 'help-string'=>'ECDSA key of length 384'}, {'value'=>'521', 'help-string'=>'ECDSA key of length 521'}]}} # Length of SSH key def key_length prop_get('key-length') end # Length of SSH key def key_length=(val) prop_set('key-length', val) end end def ECDSA @subclasses['ECDSA'] ||= ECDSA.new(parent_instance: self, client: @client, create_children: @create_children) end class RSA < ConfigClass def has_multiple_values?; false; end def _section :RSA end @props = {'key-length'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'2048', 'help-string'=>'Length of SSH key', 'enum'=>[{'value'=>'2048', 'help-string'=>'RSA key of length 2048'}, {'value'=>'3072', 'help-string'=>'RSA key of length 3072'}, {'value'=>'4096', 'help-string'=>'RSA key of length 4096'}]}} # Length of SSH key def key_length prop_get('key-length') end # Length of SSH key def key_length=(val) prop_set('key-length', val) end end def RSA @subclasses['RSA'] ||= RSA.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def key_type maybe_register_subclass('key-type', KeyType.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def ha @subclasses['ha'] ||= Ha.new(parent_instance: self, client: @client, create_children: @create_children) end class Mgmt < ConfigClass def has_multiple_values?; false; end def _section :mgmt end class KeyType < XML::ConfigClass def has_multiple_values?; true; end def _section :'key-type' end class ECDSA < ConfigClass def has_multiple_values?; false; end def _section :ECDSA end @props = {'key-length'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'256', 'help-string'=>'Length of SSH key', 'enum'=>[{'value'=>'256', 'help-string'=>'ECDSA key of length 256'}, {'value'=>'384', 'help-string'=>'ECDSA key of length 384'}, {'value'=>'521', 'help-string'=>'ECDSA key of length 521'}]}} # Length of SSH key def key_length prop_get('key-length') end # Length of SSH key def key_length=(val) prop_set('key-length', val) end end def ECDSA @subclasses['ECDSA'] ||= ECDSA.new(parent_instance: self, client: @client, create_children: @create_children) end class RSA < ConfigClass def has_multiple_values?; false; end def _section :RSA end @props = {'key-length'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'2048', 'help-string'=>'Length of SSH key', 'enum'=>[{'value'=>'2048', 'help-string'=>'RSA key of length 2048'}, {'value'=>'3072', 'help-string'=>'RSA key of length 3072'}, {'value'=>'4096', 'help-string'=>'RSA key of length 4096'}]}} # Length of SSH key def key_length prop_get('key-length') end # Length of SSH key def key_length=(val) prop_set('key-length', val) end end def RSA @subclasses['RSA'] ||= RSA.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def key_type maybe_register_subclass('key-type', KeyType.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def mgmt @subclasses['mgmt'] ||= Mgmt.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def regenerate_hostkeys @subclasses['regenerate-hostkeys'] ||= RegenerateHostkeys.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ssh @subclasses['ssh'] ||= Ssh.new(parent_instance: self, client: @client, create_children: @create_children) end class UpdateSchedule < ConfigClass def has_multiple_values?; false; end def _section :'update-schedule' end class WfContent < ConfigClass def has_multiple_values?; false; end def _section :'wf-content' end class Recurring < ConfigClass def has_multiple_values?; false; end def _section :recurring end class Daily < ConfigClass def has_multiple_values?; false; end def _section :daily end @props = {'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3]):([0-5][0-9])', 'minlen'=>'5', 'maxlen'=>'5', 'help-string'=>'Time specification hh:mm (e.g. 20:10)'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'download-only', 'help-string'=>'Download but do not install'}, {'value'=>'download-and-install', 'help-string'=>'Download and install'}]}} # Time specification hh:mm (e.g. 20:10) def at prop_get('at') end # Time specification hh:mm (e.g. 20:10) def at=(val) prop_set('at', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end end def daily @subclasses['daily'] ||= Daily.new(parent_instance: self, client: @client, create_children: @create_children) end class Weekly < ConfigClass def has_multiple_values?; false; end def _section :weekly end @props = {'day-of-week'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'sunday', 'help-string'=>'Sunday'}, {'value'=>'monday', 'help-string'=>'Monday'}, {'value'=>'tuesday', 'help-string'=>'Tuesday'}, {'value'=>'wednesday', 'help-string'=>'Wednesday'}, {'value'=>'thursday', 'help-string'=>'Thursday'}, {'value'=>'friday', 'help-string'=>'Friday'}, {'value'=>'saturday', 'help-string'=>'Saturday'}]}, 'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3]):([0-5][0-9])', 'minlen'=>'5', 'maxlen'=>'5', 'help-string'=>'Time specification hh:mm (e.g. 20:10)'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'download-only', 'help-string'=>'Download but do not install'}, {'value'=>'download-and-install', 'help-string'=>'Download and install'}]}} def day_of_week prop_get('day-of-week') end def day_of_week=(val) prop_set('day-of-week', val) end # Time specification hh:mm (e.g. 20:10) def at prop_get('at') end # Time specification hh:mm (e.g. 20:10) def at=(val) prop_set('at', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end end def weekly @subclasses['weekly'] ||= Weekly.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def recurring @subclasses['recurring'] ||= Recurring.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def wf_content @subclasses['wf-content'] ||= WfContent.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def update_schedule @subclasses['update-schedule'] ||= UpdateSchedule.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'authentication-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Authentication profile to use for non-local admins. Only RADIUS, TACACS+ and authentication sequence are supported.'}, 'syslog-certificate'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'client certificate for syslog'}, 'timezone'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'Africa/Abidjan'}, {'value'=>'Africa/Accra'}, {'value'=>'Africa/Addis_Ababa'}, {'value'=>'Africa/Algiers'}, {'value'=>'Africa/Asmara'}, {'value'=>'Africa/Asmera'}, {'value'=>'Africa/Bamako'}, {'value'=>'Africa/Bangui'}, {'value'=>'Africa/Banjul'}, {'value'=>'Africa/Bissau'}, {'value'=>'Africa/Blantyre'}, {'value'=>'Africa/Brazzaville'}, {'value'=>'Africa/Bujumbura'}, {'value'=>'Africa/Cairo'}, {'value'=>'Africa/Casablanca'}, {'value'=>'Africa/Ceuta'}, {'value'=>'Africa/Conakry'}, {'value'=>'Africa/Dakar'}, {'value'=>'Africa/Dar_es_Salaam'}, {'value'=>'Africa/Djibouti'}, {'value'=>'Africa/Douala'}, {'value'=>'Africa/El_Aaiun'}, {'value'=>'Africa/Freetown'}, {'value'=>'Africa/Gaborone'}, {'value'=>'Africa/Harare'}, {'value'=>'Africa/Johannesburg'}, {'value'=>'Africa/Kampala'}, {'value'=>'Africa/Khartoum'}, {'value'=>'Africa/Kigali'}, {'value'=>'Africa/Kinshasa'}, {'value'=>'Africa/Lagos'}, {'value'=>'Africa/Libreville'}, {'value'=>'Africa/Lome'}, {'value'=>'Africa/Luanda'}, {'value'=>'Africa/Lubumbashi'}, {'value'=>'Africa/Lusaka'}, {'value'=>'Africa/Malabo'}, {'value'=>'Africa/Maputo'}, {'value'=>'Africa/Maseru'}, {'value'=>'Africa/Mbabane'}, {'value'=>'Africa/Mogadishu'}, {'value'=>'Africa/Monrovia'}, {'value'=>'Africa/Nairobi'}, {'value'=>'Africa/Ndjamena'}, {'value'=>'Africa/Niamey'}, {'value'=>'Africa/Nouakchott'}, {'value'=>'Africa/Ouagadougou'}, {'value'=>'Africa/Porto-Novo'}, {'value'=>'Africa/Sao_Tome'}, {'value'=>'Africa/Timbuktu'}, {'value'=>'Africa/Tripoli'}, {'value'=>'Africa/Tunis'}, {'value'=>'Africa/Windhoek'}, {'value'=>'America/Adak'}, {'value'=>'America/Anchorage'}, {'value'=>'America/Anguilla'}, {'value'=>'America/Antigua'}, {'value'=>'America/Araguaina'}, {'value'=>'America/Argentina/Buenos_Aires'}, {'value'=>'America/Argentina/Catamarca'}, {'value'=>'America/Argentina/ComodRivadavia'}, {'value'=>'America/Argentina/Cordoba'}, {'value'=>'America/Argentina/Jujuy'}, {'value'=>'America/Argentina/La_Rioja'}, {'value'=>'America/Argentina/Mendoza'}, {'value'=>'America/Argentina/Rio_Gallegos'}, {'value'=>'America/Argentina/Salta'}, {'value'=>'America/Argentina/San_Juan'}, {'value'=>'America/Argentina/San_Luis'}, {'value'=>'America/Argentina/Tucuman'}, {'value'=>'America/Argentina/Ushuaia'}, {'value'=>'America/Aruba'}, {'value'=>'America/Asuncion'}, {'value'=>'America/Atikokan'}, {'value'=>'America/Atka'}, {'value'=>'America/Bahia'}, {'value'=>'America/Barbados'}, {'value'=>'America/Belem'}, {'value'=>'America/Belize'}, {'value'=>'America/Blanc-Sablon'}, {'value'=>'America/Boa_Vista'}, {'value'=>'America/Bogota'}, {'value'=>'America/Boise'}, {'value'=>'America/Buenos_Aires'}, {'value'=>'America/Cambridge_Bay'}, {'value'=>'America/Campo_Grande'}, {'value'=>'America/Cancun'}, {'value'=>'America/Caracas'}, {'value'=>'America/Catamarca'}, {'value'=>'America/Cayenne'}, {'value'=>'America/Cayman'}, {'value'=>'America/Chicago'}, {'value'=>'America/Chihuahua'}, {'value'=>'America/Coral_Harbour'}, {'value'=>'America/Cordoba'}, {'value'=>'America/Costa_Rica'}, {'value'=>'America/Cuiaba'}, {'value'=>'America/Curacao'}, {'value'=>'America/Danmarkshavn'}, {'value'=>'America/Dawson'}, {'value'=>'America/Dawson_Creek'}, {'value'=>'America/Denver'}, {'value'=>'America/Detroit'}, {'value'=>'America/Dominica'}, {'value'=>'America/Edmonton'}, {'value'=>'America/Eirunepe'}, {'value'=>'America/El_Salvador'}, {'value'=>'America/Ensenada'}, {'value'=>'America/Fortaleza'}, {'value'=>'America/Fort_Wayne'}, {'value'=>'America/Glace_Bay'}, {'value'=>'America/Godthab'}, {'value'=>'America/Goose_Bay'}, {'value'=>'America/Grand_Turk'}, {'value'=>'America/Grenada'}, {'value'=>'America/Guadeloupe'}, {'value'=>'America/Guatemala'}, {'value'=>'America/Guayaquil'}, {'value'=>'America/Guyana'}, {'value'=>'America/Halifax'}, {'value'=>'America/Havana'}, {'value'=>'America/Hermosillo'}, {'value'=>'America/Indiana/Indianapolis'}, {'value'=>'America/Indiana/Knox'}, {'value'=>'America/Indiana/Marengo'}, {'value'=>'America/Indiana/Petersburg'}, {'value'=>'America/Indianapolis'}, {'value'=>'America/Indiana/Tell_City'}, {'value'=>'America/Indiana/Vevay'}, {'value'=>'America/Indiana/Vincennes'}, {'value'=>'America/Indiana/Winamac'}, {'value'=>'America/Inuvik'}, {'value'=>'America/Iqaluit'}, {'value'=>'America/Jamaica'}, {'value'=>'America/Jujuy'}, {'value'=>'America/Juneau'}, {'value'=>'America/Kentucky/Louisville'}, {'value'=>'America/Kentucky/Monticello'}, {'value'=>'America/Knox_IN'}, {'value'=>'America/La_Paz'}, {'value'=>'America/Lima'}, {'value'=>'America/Los_Angeles'}, {'value'=>'America/Louisville'}, {'value'=>'America/Maceio'}, {'value'=>'America/Managua'}, {'value'=>'America/Manaus'}, {'value'=>'America/Marigot'}, {'value'=>'America/Martinique'}, {'value'=>'America/Mazatlan'}, {'value'=>'America/Mendoza'}, {'value'=>'America/Menominee'}, {'value'=>'America/Merida'}, {'value'=>'America/Mexico_City'}, {'value'=>'America/Miquelon'}, {'value'=>'America/Moncton'}, {'value'=>'America/Monterrey'}, {'value'=>'America/Montevideo'}, {'value'=>'America/Montreal'}, {'value'=>'America/Montserrat'}, {'value'=>'America/Nassau'}, {'value'=>'America/New_York'}, {'value'=>'America/Nipigon'}, {'value'=>'America/Nome'}, {'value'=>'America/Noronha'}, {'value'=>'America/North_Dakota/Center'}, {'value'=>'America/North_Dakota/New_Salem'}, {'value'=>'America/Panama'}, {'value'=>'America/Pangnirtung'}, {'value'=>'America/Paramaribo'}, {'value'=>'America/Phoenix'}, {'value'=>'America/Port-au-Prince'}, {'value'=>'America/Porto_Acre'}, {'value'=>'America/Port_of_Spain'}, {'value'=>'America/Porto_Velho'}, {'value'=>'America/Puerto_Rico'}, {'value'=>'America/Rainy_River'}, {'value'=>'America/Rankin_Inlet'}, {'value'=>'America/Recife'}, {'value'=>'America/Regina'}, {'value'=>'America/Resolute'}, {'value'=>'America/Rio_Branco'}, {'value'=>'America/Rosario'}, {'value'=>'America/Santarem'}, {'value'=>'America/Santiago'}, {'value'=>'America/Santo_Domingo'}, {'value'=>'America/Sao_Paulo'}, {'value'=>'America/Scoresbysund'}, {'value'=>'America/Shiprock'}, {'value'=>'America/St_Barthelemy'}, {'value'=>'America/St_Johns'}, {'value'=>'America/St_Kitts'}, {'value'=>'America/St_Lucia'}, {'value'=>'America/St_Thomas'}, {'value'=>'America/St_Vincent'}, {'value'=>'America/Swift_Current'}, {'value'=>'America/Tegucigalpa'}, {'value'=>'America/Thule'}, {'value'=>'America/Thunder_Bay'}, {'value'=>'America/Tijuana'}, {'value'=>'America/Toronto'}, {'value'=>'America/Tortola'}, {'value'=>'America/Vancouver'}, {'value'=>'America/Virgin'}, {'value'=>'America/Whitehorse'}, {'value'=>'America/Winnipeg'}, {'value'=>'America/Yakutat'}, {'value'=>'America/Yellowknife'}, {'value'=>'Antarctica/Casey'}, {'value'=>'Antarctica/Davis'}, {'value'=>'Antarctica/DumontDUrville'}, {'value'=>'Antarctica/Mawson'}, {'value'=>'Antarctica/McMurdo'}, {'value'=>'Antarctica/Palmer'}, {'value'=>'Antarctica/Rothera'}, {'value'=>'Antarctica/South_Pole'}, {'value'=>'Antarctica/Syowa'}, {'value'=>'Antarctica/Vostok'}, {'value'=>'Arctic/Longyearbyen'}, {'value'=>'Asia/Aden'}, {'value'=>'Asia/Almaty'}, {'value'=>'Asia/Amman'}, {'value'=>'Asia/Anadyr'}, {'value'=>'Asia/Aqtau'}, {'value'=>'Asia/Aqtobe'}, {'value'=>'Asia/Ashgabat'}, {'value'=>'Asia/Ashkhabad'}, {'value'=>'Asia/Baghdad'}, {'value'=>'Asia/Bahrain'}, {'value'=>'Asia/Baku'}, {'value'=>'Asia/Bangkok'}, {'value'=>'Asia/Beirut'}, {'value'=>'Asia/Bishkek'}, {'value'=>'Asia/Brunei'}, {'value'=>'Asia/Calcutta'}, {'value'=>'Asia/Choibalsan'}, {'value'=>'Asia/Chongqing'}, {'value'=>'Asia/Chungking'}, {'value'=>'Asia/Colombo'}, {'value'=>'Asia/Dacca'}, {'value'=>'Asia/Damascus'}, {'value'=>'Asia/Dhaka'}, {'value'=>'Asia/Dili'}, {'value'=>'Asia/Dubai'}, {'value'=>'Asia/Dushanbe'}, {'value'=>'Asia/Gaza'}, {'value'=>'Asia/Harbin'}, {'value'=>'Asia/Ho_Chi_Minh'}, {'value'=>'Asia/Hong_Kong'}, {'value'=>'Asia/Hovd'}, {'value'=>'Asia/Irkutsk'}, {'value'=>'Asia/Istanbul'}, {'value'=>'Asia/Jakarta'}, {'value'=>'Asia/Jayapura'}, {'value'=>'Asia/Jerusalem'}, {'value'=>'Asia/Kabul'}, {'value'=>'Asia/Kamchatka'}, {'value'=>'Asia/Karachi'}, {'value'=>'Asia/Kashgar'}, {'value'=>'Asia/Kathmandu'}, {'value'=>'Asia/Katmandu'}, {'value'=>'Asia/Kolkata'}, {'value'=>'Asia/Krasnoyarsk'}, {'value'=>'Asia/Kuala_Lumpur'}, {'value'=>'Asia/Kuching'}, {'value'=>'Asia/Kuwait'}, {'value'=>'Asia/Macao'}, {'value'=>'Asia/Macau'}, {'value'=>'Asia/Magadan'}, {'value'=>'Asia/Makassar'}, {'value'=>'Asia/Manila'}, {'value'=>'Asia/Muscat'}, {'value'=>'Asia/Nicosia'}, {'value'=>'Asia/Novokuznetsk'}, {'value'=>'Asia/Novosibirsk'}, {'value'=>'Asia/Omsk'}, {'value'=>'Asia/Oral'}, {'value'=>'Asia/Phnom_Penh'}, {'value'=>'Asia/Pontianak'}, {'value'=>'Asia/Pyongyang'}, {'value'=>'Asia/Qatar'}, {'value'=>'Asia/Qyzylorda'}, {'value'=>'Asia/Rangoon'}, {'value'=>'Asia/Riyadh'}, {'value'=>'Asia/Riyadh87'}, {'value'=>'Asia/Riyadh88'}, {'value'=>'Asia/Riyadh89'}, {'value'=>'Asia/Saigon'}, {'value'=>'Asia/Sakhalin'}, {'value'=>'Asia/Samarkand'}, {'value'=>'Asia/Seoul'}, {'value'=>'Asia/Shanghai'}, {'value'=>'Asia/Singapore'}, {'value'=>'Asia/Taipei'}, {'value'=>'Asia/Tashkent'}, {'value'=>'Asia/Tbilisi'}, {'value'=>'Asia/Tehran'}, {'value'=>'Asia/Tel_Aviv'}, {'value'=>'Asia/Thimbu'}, {'value'=>'Asia/Thimphu'}, {'value'=>'Asia/Tokyo'}, {'value'=>'Asia/Ujung_Pandang'}, {'value'=>'Asia/Ulaanbaatar'}, {'value'=>'Asia/Ulan_Bator'}, {'value'=>'Asia/Urumqi'}, {'value'=>'Asia/Vientiane'}, {'value'=>'Asia/Vladivostok'}, {'value'=>'Asia/Yakutsk'}, {'value'=>'Asia/Yekaterinburg'}, {'value'=>'Asia/Yerevan'}, {'value'=>'Atlantic/Azores'}, {'value'=>'Atlantic/Bermuda'}, {'value'=>'Atlantic/Canary'}, {'value'=>'Atlantic/Cape_Verde'}, {'value'=>'Atlantic/Faeroe'}, {'value'=>'Atlantic/Faroe'}, {'value'=>'Atlantic/Jan_Mayen'}, {'value'=>'Atlantic/Madeira'}, {'value'=>'Atlantic/Reykjavik'}, {'value'=>'Atlantic/South_Georgia'}, {'value'=>'Atlantic/Stanley'}, {'value'=>'Atlantic/St_Helena'}, {'value'=>'Australia/ACT'}, {'value'=>'Australia/Adelaide'}, {'value'=>'Australia/Brisbane'}, {'value'=>'Australia/Broken_Hill'}, {'value'=>'Australia/Canberra'}, {'value'=>'Australia/Currie'}, {'value'=>'Australia/Darwin'}, {'value'=>'Australia/Eucla'}, {'value'=>'Australia/Hobart'}, {'value'=>'Australia/LHI'}, {'value'=>'Australia/Lindeman'}, {'value'=>'Australia/Lord_Howe'}, {'value'=>'Australia/Melbourne'}, {'value'=>'Australia/North'}, {'value'=>'Australia/NSW'}, {'value'=>'Australia/Perth'}, {'value'=>'Australia/Queensland'}, {'value'=>'Australia/South'}, {'value'=>'Australia/Sydney'}, {'value'=>'Australia/Tasmania'}, {'value'=>'Australia/Victoria'}, {'value'=>'Australia/West'}, {'value'=>'Australia/Yancowinna'}, {'value'=>'Brazil/Acre'}, {'value'=>'Brazil/DeNoronha'}, {'value'=>'Brazil/East'}, {'value'=>'Brazil/West'}, {'value'=>'Canada/Atlantic'}, {'value'=>'Canada/Central'}, {'value'=>'Canada/Eastern'}, {'value'=>'Canada/East-Saskatchewan'}, {'value'=>'Canada/Mountain'}, {'value'=>'Canada/Newfoundland'}, {'value'=>'Canada/Pacific'}, {'value'=>'Canada/Saskatchewan'}, {'value'=>'Canada/Yukon'}, {'value'=>'CET'}, {'value'=>'Chile/Continental'}, {'value'=>'Chile/EasterIsland'}, {'value'=>'CST6CDT'}, {'value'=>'Cuba'}, {'value'=>'EET'}, {'value'=>'Egypt'}, {'value'=>'Eire'}, {'value'=>'EST'}, {'value'=>'EST5EDT'}, {'value'=>'Etc/GMT'}, {'value'=>'Etc/GMT0'}, {'value'=>'Etc/GMT-0'}, {'value'=>'Etc/GMT+0'}, {'value'=>'Etc/GMT-1'}, {'value'=>'Etc/GMT+1'}, {'value'=>'Etc/GMT-10'}, {'value'=>'Etc/GMT+10'}, {'value'=>'Etc/GMT-11'}, {'value'=>'Etc/GMT+11'}, {'value'=>'Etc/GMT-12'}, {'value'=>'Etc/GMT+12'}, {'value'=>'Etc/GMT-13'}, {'value'=>'Etc/GMT-14'}, {'value'=>'Etc/GMT-2'}, {'value'=>'Etc/GMT+2'}, {'value'=>'Etc/GMT-3'}, {'value'=>'Etc/GMT+3'}, {'value'=>'Etc/GMT-4'}, {'value'=>'Etc/GMT+4'}, {'value'=>'Etc/GMT-5'}, {'value'=>'Etc/GMT+5'}, {'value'=>'Etc/GMT-6'}, {'value'=>'Etc/GMT+6'}, {'value'=>'Etc/GMT-7'}, {'value'=>'Etc/GMT+7'}, {'value'=>'Etc/GMT-8'}, {'value'=>'Etc/GMT+8'}, {'value'=>'Etc/GMT-9'}, {'value'=>'Etc/GMT+9'}, {'value'=>'Etc/Greenwich'}, {'value'=>'Etc/UCT'}, {'value'=>'Etc/Universal'}, {'value'=>'Etc/UTC'}, {'value'=>'Etc/Zulu'}, {'value'=>'Europe/Amsterdam'}, {'value'=>'Europe/Andorra'}, {'value'=>'Europe/Athens'}, {'value'=>'Europe/Belfast'}, {'value'=>'Europe/Belgrade'}, {'value'=>'Europe/Berlin'}, {'value'=>'Europe/Bratislava'}, {'value'=>'Europe/Brussels'}, {'value'=>'Europe/Bucharest'}, {'value'=>'Europe/Budapest'}, {'value'=>'Europe/Chisinau'}, {'value'=>'Europe/Copenhagen'}, {'value'=>'Europe/Dublin'}, {'value'=>'Europe/Gibraltar'}, {'value'=>'Europe/Guernsey'}, {'value'=>'Europe/Helsinki'}, {'value'=>'Europe/Isle_of_Man'}, {'value'=>'Europe/Istanbul'}, {'value'=>'Europe/Jersey'}, {'value'=>'Europe/Kaliningrad'}, {'value'=>'Europe/Kiev'}, {'value'=>'Europe/Lisbon'}, {'value'=>'Europe/Ljubljana'}, {'value'=>'Europe/London'}, {'value'=>'Europe/Luxembourg'}, {'value'=>'Europe/Madrid'}, {'value'=>'Europe/Malta'}, {'value'=>'Europe/Mariehamn'}, {'value'=>'Europe/Minsk'}, {'value'=>'Europe/Monaco'}, {'value'=>'Europe/Moscow'}, {'value'=>'Europe/Nicosia'}, {'value'=>'Europe/Oslo'}, {'value'=>'Europe/Paris'}, {'value'=>'Europe/Podgorica'}, {'value'=>'Europe/Prague'}, {'value'=>'Europe/Riga'}, {'value'=>'Europe/Rome'}, {'value'=>'Europe/Samara'}, {'value'=>'Europe/San_Marino'}, {'value'=>'Europe/Sarajevo'}, {'value'=>'Europe/Simferopol'}, {'value'=>'Europe/Skopje'}, {'value'=>'Europe/Sofia'}, {'value'=>'Europe/Stockholm'}, {'value'=>'Europe/Tallinn'}, {'value'=>'Europe/Tirane'}, {'value'=>'Europe/Tiraspol'}, {'value'=>'Europe/Uzhgorod'}, {'value'=>'Europe/Vaduz'}, {'value'=>'Europe/Vatican'}, {'value'=>'Europe/Vienna'}, {'value'=>'Europe/Vilnius'}, {'value'=>'Europe/Volgograd'}, {'value'=>'Europe/Warsaw'}, {'value'=>'Europe/Zagreb'}, {'value'=>'Europe/Zaporozhye'}, {'value'=>'Europe/Zurich'}, {'value'=>'Factory'}, {'value'=>'GB'}, {'value'=>'GB-Eire'}, {'value'=>'GMT'}, {'value'=>'GMT0'}, {'value'=>'GMT-0'}, {'value'=>'GMT+0'}, {'value'=>'Greenwich'}, {'value'=>'Hongkong'}, {'value'=>'HST'}, {'value'=>'Iceland'}, {'value'=>'Indian/Antananarivo'}, {'value'=>'Indian/Chagos'}, {'value'=>'Indian/Christmas'}, {'value'=>'Indian/Cocos'}, {'value'=>'Indian/Comoro'}, {'value'=>'Indian/Kerguelen'}, {'value'=>'Indian/Mahe'}, {'value'=>'Indian/Maldives'}, {'value'=>'Indian/Mauritius'}, {'value'=>'Indian/Mayotte'}, {'value'=>'Indian/Reunion'}, {'value'=>'Iran'}, {'value'=>'Israel'}, {'value'=>'Jamaica'}, {'value'=>'Japan'}, {'value'=>'Kwajalein'}, {'value'=>'Libya'}, {'value'=>'MET'}, {'value'=>'Mexico/BajaNorte'}, {'value'=>'Mexico/BajaSur'}, {'value'=>'Mexico/General'}, {'value'=>'Mideast/Riyadh87'}, {'value'=>'Mideast/Riyadh88'}, {'value'=>'Mideast/Riyadh89'}, {'value'=>'MST'}, {'value'=>'MST7MDT'}, {'value'=>'Navajo'}, {'value'=>'NZ'}, {'value'=>'NZ-CHAT'}, {'value'=>'Pacific/Apia'}, {'value'=>'Pacific/Auckland'}, {'value'=>'Pacific/Chatham'}, {'value'=>'Pacific/Easter'}, {'value'=>'Pacific/Efate'}, {'value'=>'Pacific/Enderbury'}, {'value'=>'Pacific/Fakaofo'}, {'value'=>'Pacific/Fiji'}, {'value'=>'Pacific/Funafuti'}, {'value'=>'Pacific/Galapagos'}, {'value'=>'Pacific/Gambier'}, {'value'=>'Pacific/Guadalcanal'}, {'value'=>'Pacific/Guam'}, {'value'=>'Pacific/Honolulu'}, {'value'=>'Pacific/Johnston'}, {'value'=>'Pacific/Kiritimati'}, {'value'=>'Pacific/Kosrae'}, {'value'=>'Pacific/Kwajalein'}, {'value'=>'Pacific/Majuro'}, {'value'=>'Pacific/Marquesas'}, {'value'=>'Pacific/Midway'}, {'value'=>'Pacific/Nauru'}, {'value'=>'Pacific/Niue'}, {'value'=>'Pacific/Norfolk'}, {'value'=>'Pacific/Noumea'}, {'value'=>'Pacific/Pago_Pago'}, {'value'=>'Pacific/Palau'}, {'value'=>'Pacific/Pitcairn'}, {'value'=>'Pacific/Ponape'}, {'value'=>'Pacific/Port_Moresby'}, {'value'=>'Pacific/Rarotonga'}, {'value'=>'Pacific/Saipan'}, {'value'=>'Pacific/Samoa'}, {'value'=>'Pacific/Tahiti'}, {'value'=>'Pacific/Tarawa'}, {'value'=>'Pacific/Tongatapu'}, {'value'=>'Pacific/Truk'}, {'value'=>'Pacific/Wake'}, {'value'=>'Pacific/Wallis'}, {'value'=>'Pacific/Yap'}, {'value'=>'Poland'}, {'value'=>'Portugal'}, {'value'=>'PRC'}, {'value'=>'PST8PDT'}, {'value'=>'ROC'}, {'value'=>'ROK'}, {'value'=>'Singapore'}, {'value'=>'Turkey'}, {'value'=>'UCT'}, {'value'=>'Universal'}, {'value'=>'US/Alaska'}, {'value'=>'US/Aleutian'}, {'value'=>'US/Arizona'}, {'value'=>'US/Central'}, {'value'=>'US/Eastern'}, {'value'=>'US/East-Indiana'}, {'value'=>'US/Hawaii'}, {'value'=>'US/Indiana-Starke'}, {'value'=>'US/Michigan'}, {'value'=>'US/Mountain'}, {'value'=>'US/Pacific'}, {'value'=>'US/Samoa'}, {'value'=>'UTC'}, {'value'=>'WET'}, {'value'=>'W-SU'}, {'value'=>'Zulu'}]}, 'domain'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'32', 'subtype'=>'strict-dns-name'}, 'panorama-server'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^([0-9a-zA-Z:./_-])+$', 'maxlen'=>'63', 'help-string'=>'Panorama server (IP address or FQDN)'}, 'panorama-server-2'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^([0-9a-zA-Z:./_-])+$', 'maxlen'=>'63', 'help-string'=>'Panorama server 2 (IP address or FQDN)'}, 'login-banner'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'3200'}, 'update-server'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^([0-9a-zA-Z./_-])+$', 'maxlen'=>'63', 'help-string'=>'PaloAlto Networks update server', 'default'=>'wildfire.paloaltonetworks.com'}, 'server-verification'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Verify update server identity'}, 'secure-proxy-server'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[^-]([0-9a-zA-Z.:/_-])+$', 'maxlen'=>'63', 'help-string'=>'Secure Proxy server to use'}, 'secure-proxy-port'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Port for secure proxy server'}, 'secure-proxy-user'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Secure Proxy user name to use'}, 'secure-proxy-password'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'encrypt'=>'yes', 'help-string'=>'Secure Proxy password to use'}} # Authentication profile to use for non-local admins. Only RADIUS, TACACS+ and authentication sequence are supported. def authentication_profile prop_get('authentication-profile') end # Authentication profile to use for non-local admins. Only RADIUS, TACACS+ and authentication sequence are supported. def authentication_profile=(val) prop_set('authentication-profile', val) end # client certificate for syslog def syslog_certificate prop_get('syslog-certificate') end # client certificate for syslog def syslog_certificate=(val) prop_set('syslog-certificate', val) end def timezone prop_get('timezone') end def timezone=(val) prop_set('timezone', val) end def domain prop_get('domain') end def domain=(val) prop_set('domain', val) end # Panorama server (IP address or FQDN) def panorama_server prop_get('panorama-server') end # Panorama server (IP address or FQDN) def panorama_server=(val) prop_set('panorama-server', val) end # Panorama server 2 (IP address or FQDN) def panorama_server_2 prop_get('panorama-server-2') end # Panorama server 2 (IP address or FQDN) def panorama_server_2=(val) prop_set('panorama-server-2', val) end def login_banner prop_get('login-banner') end def login_banner=(val) prop_set('login-banner', val) end # PaloAlto Networks update server def update_server prop_get('update-server') end # PaloAlto Networks update server def update_server=(val) prop_set('update-server', val) end # Verify update server identity def server_verification prop_get('server-verification') end # Verify update server identity def server_verification=(val) prop_set('server-verification', val) end # Secure Proxy server to use def secure_proxy_server prop_get('secure-proxy-server') end # Secure Proxy server to use def secure_proxy_server=(val) prop_set('secure-proxy-server', val) end # Port for secure proxy server def secure_proxy_port prop_get('secure-proxy-port') end # Port for secure proxy server def secure_proxy_port=(val) prop_set('secure-proxy-port', val) end # Secure Proxy user name to use def secure_proxy_user prop_get('secure-proxy-user') end # Secure Proxy user name to use def secure_proxy_user=(val) prop_set('secure-proxy-user', val) end # Secure Proxy password to use def secure_proxy_password prop_get('secure-proxy-password') end # Secure Proxy password to use def secure_proxy_password=(val) prop_set('secure-proxy-password', val) end end def system @subclasses['system'] ||= System.new(parent_instance: self, client: @client, create_children: @create_children) end class Setting < ConfigClass def has_multiple_values?; false; end def _section :setting end class Wildfire < ConfigClass def has_multiple_values?; false; end def _section :wildfire end class CloudIntelligence < ConfigClass def has_multiple_values?; false; end def _section :'cloud-intelligence' end @props = {'submit-report'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Automatically submit xml report of malwares to public cloud, turned off when submit-sample is on', 'ui-hint'=>'"fieldLabel": "Send Analysis Data"'}, 'submit-sample'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Automatically submit malwares to public cloud', 'ui-hint'=>'"fieldLabel": "Send Malicious Samples"'}, 'submit-diagnostics'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Automatically diagnostic and statistic information to public cloud.', 'ui-hint'=>'"fieldLabel": "Send Diagnostics"'}, 'cloud-query'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Automatically query public cloud before local analysis', 'ui-hint'=>'"fieldLabel": "Verdict Lookup"'}} # Automatically submit xml report of malwares to public cloud, turned off when submit-sample is on def submit_report prop_get('submit-report') end # Automatically submit xml report of malwares to public cloud, turned off when submit-sample is on def submit_report=(val) prop_set('submit-report', val) end # Automatically submit malwares to public cloud def submit_sample prop_get('submit-sample') end # Automatically submit malwares to public cloud def submit_sample=(val) prop_set('submit-sample', val) end # Automatically diagnostic and statistic information to public cloud. def submit_diagnostics prop_get('submit-diagnostics') end # Automatically diagnostic and statistic information to public cloud. def submit_diagnostics=(val) prop_set('submit-diagnostics', val) end # Automatically query public cloud before local analysis def cloud_query prop_get('cloud-query') end # Automatically query public cloud before local analysis def cloud_query=(val) prop_set('cloud-query', val) end end def cloud_intelligence @subclasses['cloud-intelligence'] ||= CloudIntelligence.new(parent_instance: self, client: @client, create_children: @create_children) end class SignatureGeneration < ConfigClass def has_multiple_values?; false; end def _section :'signature-generation' end @props = {'av'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Generate AV signatures'}, 'dns'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Generate DNS signatures'}, 'url'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Generate URL signatures'}} # Generate AV signatures def av prop_get('av') end # Generate AV signatures def av=(val) prop_set('av', val) end # Generate DNS signatures def dns prop_get('dns') end # Generate DNS signatures def dns=(val) prop_set('dns', val) end # Generate URL signatures def url prop_get('url') end # Generate URL signatures def url=(val) prop_set('url', val) end end def signature_generation @subclasses['signature-generation'] ||= SignatureGeneration.new(parent_instance: self, client: @client, create_children: @create_children) end class FileRetention < ConfigClass def has_multiple_values?; false; end def _section :'file-retention' end @props = {'non-malicious'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'90', 'default'=>'14', 'help-string'=>'Benign/Grayware file retention (days). Default is 14.', 'ui-hint'=>'"unitText": "days","fieldLabel": "Benign/Grayware"'}, 'malicious'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'indefinite', 'help-string'=>'Malicious file retention (indefinite or days)', 'ui-hint'=>'"unitText": "days","fieldLabel": "Malicious"', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'2000', 'help-string'=>'Keep from 1 to 2000 days'}, 'enum'=>[{'value'=>'indefinite', 'help-string'=>'Keep indefinitely (default)'}]}}} # Benign/Grayware file retention (days). Default is 14. def non_malicious prop_get('non-malicious') end # Benign/Grayware file retention (days). Default is 14. def non_malicious=(val) prop_set('non-malicious', val) end # Malicious file retention (indefinite or days) def malicious prop_get('malicious') end # Malicious file retention (indefinite or days) def malicious=(val) prop_set('malicious', val) end end def file_retention @subclasses['file-retention'] ||= FileRetention.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'active-vm'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'10', 'default'=>'vm-5', 'optional'=>'yes', 'complete-handler'=>'wf-appliance-vm-images-completer', 'ui-hint'=>'"fieldLabel": "Sample Analysis Image"'}, 'cloud-server'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^([a-zA-Z0-9./_-])+$', 'minlen'=>'1', 'maxlen'=>'63', 'default'=>'wildfire.paloaltonetworks.com', 'help-string'=>'Hostname for cloud server. Default is wildfire-public-cloud'}, 'vm-network-enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable/disable', 'ui-hint'=>'"fieldLabel": "Environment Networking"'}, 'vm-network-use-tor'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable/disable', 'ui-hint'=>'"fieldLabel": "Anonymous Networking"'}, 'custom-dns-name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'1', 'maxlen'=>'253', 'subtype'=>'strict-dns-name', 'ui-hint'=>'"fieldLabel": "External Load Balancer"', 'help-string'=>'use this dns name instead of the default (wfpc.service..) in server certificate and WildFire server list'}, 'preferred-analysis-environment'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'default', 'help-string'=>'Set analysis resources allocation preference', 'enum'=>[{'value'=>'default', 'help-string'=>'No analysis resources allocation preference'}, {'value'=>'Executables', 'help-string'=>'Analysis resources allocation preference: Executables'}, {'value'=>'Documents', 'help-string'=>'Analysis resources allocation preference: Documents'}]}} def active_vm prop_get('active-vm') end def active_vm=(val) prop_set('active-vm', val) end # Hostname for cloud server. Default is wildfire-public-cloud def cloud_server prop_get('cloud-server') end # Hostname for cloud server. Default is wildfire-public-cloud def cloud_server=(val) prop_set('cloud-server', val) end # enable/disable def vm_network_enable prop_get('vm-network-enable') end # enable/disable def vm_network_enable=(val) prop_set('vm-network-enable', val) end # enable/disable def vm_network_use_tor prop_get('vm-network-use-tor') end # enable/disable def vm_network_use_tor=(val) prop_set('vm-network-use-tor', val) end # use this dns name instead of the default (wfpc.service..) in server certificate and WildFire server list def custom_dns_name prop_get('custom-dns-name') end # use this dns name instead of the default (wfpc.service..) in server certificate and WildFire server list def custom_dns_name=(val) prop_set('custom-dns-name', val) end # Set analysis resources allocation preference def preferred_analysis_environment prop_get('preferred-analysis-environment') end # Set analysis resources allocation preference def preferred_analysis_environment=(val) prop_set('preferred-analysis-environment', val) end end def wildfire @subclasses['wildfire'] ||= Wildfire.new(parent_instance: self, client: @client, create_children: @create_children) end class Management < ConfigClass def has_multiple_values?; false; end def _section :management end class Api < ConfigClass def has_multiple_values?; false; end def _section :api end class Key < ConfigClass def has_multiple_values?; false; end def _section :key end @props = {'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'api key lifetime in minutes', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'525600'}, 'enum'=>[{'value'=>'0', 'help-string'=>'never'}]}}} # api key lifetime in minutes def lifetime prop_get('lifetime') end # api key lifetime in minutes def lifetime=(val) prop_set('lifetime', val) end end def key @subclasses['key'] ||= Key.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def api @subclasses['api'] ||= Api.new(parent_instance: self, client: @client, create_children: @create_children) end class AdminLockout < ConfigClass def has_multiple_values?; false; end def _section :'admin-lockout' end @props = {'failed-attempts'=>{'node-type'=>'element', 'default'=>'10', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'10', 'help-string'=>'Number of failed login attempts to trigger lock-out'}, 'lockout-time'=>{'node-type'=>'element', 'default'=>'5', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'60', 'help-string'=>'Number of minutes to lock-out'}} # Number of failed login attempts to trigger lock-out def failed_attempts prop_get('failed-attempts') end # Number of failed login attempts to trigger lock-out def failed_attempts=(val) prop_set('failed-attempts', val) end # Number of minutes to lock-out def lockout_time prop_get('lockout-time') end # Number of minutes to lock-out def lockout_time=(val) prop_set('lockout-time', val) end end def admin_lockout @subclasses['admin-lockout'] ||= AdminLockout.new(parent_instance: self, client: @client, create_children: @create_children) end class AdminSession < ConfigClass def has_multiple_values?; false; end def _section :'admin-session' end @props = {'max-session-count'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4', 'default'=>'0', 'prune-on'=>'fips-mode', 'help-string'=>'Set the maximum number of sessions administrators are allowed'}, 'max-session-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4', 'default'=>'0', 'prune-on'=>'fips-mode', 'help-string'=>'Set the maximum session time (0, 60-1499 minutes)', 'regex'=>'^((0)|([6-9][0-9])|([1-9][0-9][0-9])|(1[0-4][0-9][0-9]))$'}} # Set the maximum number of sessions administrators are allowed def max_session_count prop_get('max-session-count') end # Set the maximum number of sessions administrators are allowed def max_session_count=(val) prop_set('max-session-count', val) end # Set the maximum session time (0, 60-1499 minutes) def max_session_time prop_get('max-session-time') end # Set the maximum session time (0, 60-1499 minutes) def max_session_time=(val) prop_set('max-session-time', val) end end def admin_session @subclasses['admin-session'] ||= AdminSession.new(parent_instance: self, client: @client, create_children: @create_children) end class SecureConnServer < ConfigClass def has_multiple_values?; false; end def _section :'secure-conn-server' end class AuthorizationList < XML::ConfigClass def has_multiple_values?; true; end def _section :'authorization-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Identifier < XML::ConfigClass def has_multiple_values?; true; end def _section :identifier end class Subject < ConfigClass def has_multiple_values?; false; end def _section :subject end @props = {'common-name'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'.*', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'Subject Common Name'}} # Subject Common Name def common_name prop_get('common-name') end # Subject Common Name def common_name=(val) prop_set('common-name', val) end end def subject @subclasses['subject'] ||= Subject.new(parent_instance: self, client: @client, create_children: @create_children) end class SubjectAltName < ConfigClass def has_multiple_values?; false; end def _section :'subject-alt-name' end @props = {'ip'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'help-string'=>'Subject alternate name IP'}, 'hostname'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'Subject alternate name DNS'}, 'email'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'255', 'help-string'=>'Email address of the contact person'}} # Subject alternate name IP def ip prop_get('ip') end # Subject alternate name IP def ip=(val) prop_set('ip', val) end # Subject alternate name DNS def hostname prop_get('hostname') end # Subject alternate name DNS def hostname=(val) prop_set('hostname', val) end # Email address of the contact person def email prop_get('email') end # Email address of the contact person def email=(val) prop_set('email', val) end end def subject_alt_name @subclasses['subject-alt-name'] ||= SubjectAltName.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def identifier maybe_register_subclass('identifier', Identifier.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def authorization_list maybe_register_subclass('authorization-list', AuthorizationList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'ssl-tls-service-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'optional'=>'yes', 'help-string'=>'SSL TLS service profile'}, 'certificate-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'255', 'help-string'=>'profile for verifying client certificates'}, 'disable-pre-defined-cert'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Disable connections using predefined certificates. Default setting: \'no\''}, 'check-authorization-list'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'help'=>'Check the authorization table for permitting incoming client connections. Default setting : \'no\'', 'optional'=>'yes'}} # SSL TLS service profile def ssl_tls_service_profile prop_get('ssl-tls-service-profile') end # SSL TLS service profile def ssl_tls_service_profile=(val) prop_set('ssl-tls-service-profile', val) end # profile for verifying client certificates def certificate_profile prop_get('certificate-profile') end # profile for verifying client certificates def certificate_profile=(val) prop_set('certificate-profile', val) end # Disable connections using predefined certificates. Default setting: 'no' def disable_pre_defined_cert prop_get('disable-pre-defined-cert') end # Disable connections using predefined certificates. Default setting: 'no' def disable_pre_defined_cert=(val) prop_set('disable-pre-defined-cert', val) end def check_authorization_list prop_get('check-authorization-list') end def check_authorization_list=(val) prop_set('check-authorization-list', val) end end def secure_conn_server @subclasses['secure-conn-server'] ||= SecureConnServer.new(parent_instance: self, client: @client, create_children: @create_children) end class SecureConnClient < ConfigClass def has_multiple_values?; false; end def _section :'secure-conn-client' end class CertificateType < ConfigClass def has_multiple_values?; false; end def _section :'certificate-type' end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end class Local < ConfigClass def has_multiple_values?; false; end def _section :local end @props = {'certificate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'255', 'help-string'=>'Custom certificate used in management connections to Panorama and Log collectors'}, 'certificate-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'optional'=>'yes'}} # Custom certificate used in management connections to Panorama and Log collectors def certificate prop_get('certificate') end # Custom certificate used in management connections to Panorama and Log collectors def certificate=(val) prop_set('certificate', val) end def certificate_profile prop_get('certificate-profile') end def certificate_profile=(val) prop_set('certificate-profile', val) end end def local @subclasses['local'] ||= Local.new(parent_instance: self, client: @client, create_children: @create_children) end class Scep < ConfigClass def has_multiple_values?; false; end def _section :scep end @props = {'scep-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'optional'=>'yes', 'help-string'=>'SCEP profile name'}, 'certificate-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'optional'=>'yes'}} # SCEP profile name def scep_profile prop_get('scep-profile') end # SCEP profile name def scep_profile=(val) prop_set('scep-profile', val) end def certificate_profile prop_get('certificate-profile') end def certificate_profile=(val) prop_set('certificate-profile', val) end end def scep @subclasses['scep'] ||= Scep.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def certificate_type @subclasses['certificate-type'] ||= CertificateType.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def secure_conn_client @subclasses['secure-conn-client'] ||= SecureConnClient.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'idle-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'default administrative session idle timeout in minutes', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'1440', 'help-string'=>'minutes'}, 'enum'=>[{'value'=>'0', 'help-string'=>'never timeout'}]}}} # default administrative session idle timeout in minutes def idle_timeout prop_get('idle-timeout') end # default administrative session idle timeout in minutes def idle_timeout=(val) prop_set('idle-timeout', val) end end def management @subclasses['management'] ||= Management.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def setting @subclasses['setting'] ||= Setting.new(parent_instance: self, client: @client, create_children: @create_children) end class HighAvailability < ConfigClass def has_multiple_values?; false; end def _section :'high-availability' end class Encryption < ConfigClass def has_multiple_values?; false; end def _section :encryption end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} def enabled prop_get('enabled') end def enabled=(val) prop_set('enabled', val) end end def encryption @subclasses['encryption'] ||= Encryption.new(parent_instance: self, client: @client, create_children: @create_children) end class ElectionOption < ConfigClass def has_multiple_values?; false; end def _section :'election-option' end class Timers < ConfigClass def has_multiple_values?; false; end def _section :timers end class Recommended < ConfigClass def has_multiple_values?; false; end def _section :recommended end @props = {} end def recommended @subclasses['recommended'] ||= Recommended.new(parent_instance: self, client: @client, create_children: @create_children) end class Aggressive < ConfigClass def has_multiple_values?; false; end def _section :aggressive end @props = {} end def aggressive @subclasses['aggressive'] ||= Aggressive.new(parent_instance: self, client: @client, create_children: @create_children) end class Advanced < ConfigClass def has_multiple_values?; false; end def _section :advanced end @props = {'promotion-hold-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'60000', 'default'=>'2000', 'help-string'=>'Interval in milliseconds to state change from Passive to Active, default 2000'}, 'hello-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'8000', 'max'=>'60000', 'default'=>'8000', 'help-string'=>'Interval in milliseconds to send Hello messages, default 8000'}, 'heartbeat-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1000', 'max'=>'60000', 'default'=>'2000', 'help-string'=>'Interval in milliseconds to send Heartbeat pings, default 2000'}, 'preemption-hold-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'60', 'default'=>'1', 'help-string'=>'Interval in minutes to stay in Passive before preempting Active device, default 1'}} # Interval in milliseconds to state change from Passive to Active, default 2000 def promotion_hold_time prop_get('promotion-hold-time') end # Interval in milliseconds to state change from Passive to Active, default 2000 def promotion_hold_time=(val) prop_set('promotion-hold-time', val) end # Interval in milliseconds to send Hello messages, default 8000 def hello_interval prop_get('hello-interval') end # Interval in milliseconds to send Hello messages, default 8000 def hello_interval=(val) prop_set('hello-interval', val) end # Interval in milliseconds to send Heartbeat pings, default 2000 def heartbeat_interval prop_get('heartbeat-interval') end # Interval in milliseconds to send Heartbeat pings, default 2000 def heartbeat_interval=(val) prop_set('heartbeat-interval', val) end # Interval in minutes to stay in Passive before preempting Active device, default 1 def preemption_hold_time prop_get('preemption-hold-time') end # Interval in minutes to stay in Passive before preempting Active device, default 1 def preemption_hold_time=(val) prop_set('preemption-hold-time', val) end end def advanced @subclasses['advanced'] ||= Advanced.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def timers @subclasses['timers'] ||= Timers.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'priority'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-string'=>'Set priority of the local device', 'enum'=>[{'value'=>'primary', 'help-string'=>'Primary HA device'}, {'value'=>'secondary', 'help-string'=>'Secondary HA device'}]}, 'preemptive'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Configure on both HA peers to allow preemption by Passive device based on priority, default no'}} # Set priority of the local device def priority prop_get('priority') end # Set priority of the local device def priority=(val) prop_set('priority', val) end # Configure on both HA peers to allow preemption by Passive device based on priority, default no def preemptive prop_get('preemptive') end # Configure on both HA peers to allow preemption by Passive device based on priority, default no def preemptive=(val) prop_set('preemptive', val) end end def election_option @subclasses['election-option'] ||= ElectionOption.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable high-availability'}} # Enable high-availability def enabled prop_get('enabled') end # Enable high-availability def enabled=(val) prop_set('enabled', val) end end def high_availability @subclasses['high-availability'] ||= HighAvailability.new(parent_instance: self, client: @client, create_children: @create_children) end class Cluster < ConfigClass def has_multiple_values?; false; end def _section :cluster end class ServiceAdvertisement < ConfigClass def has_multiple_values?; false; end def _section :'service-advertisement' end class DnsService < ConfigClass def has_multiple_values?; false; end def _section :'dns-service' end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} def enabled prop_get('enabled') end def enabled=(val) prop_set('enabled', val) end end def dns_service @subclasses['dns-service'] ||= DnsService.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def service_advertisement @subclasses['service-advertisement'] ||= ServiceAdvertisement.new(parent_instance: self, client: @client, create_children: @create_children) end class Encryption < ConfigClass def has_multiple_values?; false; end def _section :encryption end @props = {'enabled'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'yes', 'help-string'=>'enable/disable cluster encrypted communication', 'enum'=>[{'value'=>'yes'}, {'value'=>'no', 'prune-on'=>'fips-mode'}]}} # enable/disable cluster encrypted communication def enabled prop_get('enabled') end # enable/disable cluster encrypted communication def enabled=(val) prop_set('enabled', val) end end def encryption @subclasses['encryption'] ||= Encryption.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def cluster @subclasses['cluster'] ||= Cluster.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def deviceconfig @subclasses['deviceconfig'] ||= Deviceconfig.new(parent_instance: self, client: @client, create_children: @create_children) end class NodeManagement < XML::ConfigClass def has_multiple_values?; true; end def _section :'node-management' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}, 'node-role'=>{'node-type'=>'element', 'type'=>'enum', 'help-string'=>'Node role', 'enum'=>[{'value'=>'worker', 'help-string'=>'Worker'}, {'value'=>'controller', 'help-string'=>'Controller'}, {'value'=>'controller-backup', 'help-string'=>'Controller Backup'}]}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end # Node role def node_role prop_get('node-role') end # Node role def node_role=(val) prop_set('node-role', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def node_management maybe_register_subclass('node-management', NodeManagement.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'strict-host-name', 'help-string'=>'Wildfire appliance cluster name'}} # Wildfire appliance cluster name def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def wildfire_appliance_cluster maybe_register_subclass('wildfire-appliance-cluster', WildfireApplianceCluster.new(parent_instance: self, client: @client, create_children: @create_children)) end class WildfireAppliance < XML::ConfigClass def has_multiple_values?; true; end def _section :'wildfire-appliance' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Platform < ConfigClass def has_multiple_values?; false; end def _section :platform end class Limits < ConfigClass def has_multiple_values?; false; end def _section :limits end @props = {} end def limits @subclasses['limits'] ||= Limits.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def platform @subclasses['platform'] ||= Platform.new(parent_instance: self, client: @client, create_children: @create_children) end class MgtConfig < ConfigClass def has_multiple_values?; false; end def _section :'mgt-config' end class Users < XML::ConfigClass def has_multiple_values?; true; end def _section :users end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Permissions < XML::ConfigClass def has_multiple_values?; true; end def _section :permissions end class RoleBased < XML::ConfigClass def has_multiple_values?; true; end def _section :'role-based' end @props = {'superuser'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'yes'}]}} def superuser prop_get('superuser') end def superuser=(val) prop_set('superuser', val) end end def role_based maybe_register_subclass('role-based', RoleBased.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def permissions maybe_register_subclass('permissions', Permissions.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'regex'=>'^[a-zA-Z0-9_.-]+$', 'maxlen'=>'31', 'help-string'=>'alphanumeric value'}, 'phash'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'63', 'optional'=>'yes'}, 'authentication-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes'}, 'password-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes'}, 'public-key'=>{'node-type'=>'element', 'type'=>'string', 'prune-on'=>'fips-mode', 'optional'=>'yes', 'minlen'=>'1', 'maxlen'=>'4096', 'help-string'=>'Public RSA/DSA'}} # alphanumeric value def name prop_get('@name') end def phash prop_get('phash') end def phash=(val) prop_set('phash', val) end def authentication_profile prop_get('authentication-profile') end def authentication_profile=(val) prop_set('authentication-profile', val) end def password_profile prop_get('password-profile') end def password_profile=(val) prop_set('password-profile', val) end # Public RSA/DSA def public_key prop_get('public-key') end # Public RSA/DSA def public_key=(val) prop_set('public-key', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def users maybe_register_subclass('users', Users.new(parent_instance: self, client: @client, create_children: @create_children)) end class ImportedPanoramaAdminUsers < XML::ConfigClass def has_multiple_values?; true; end def _section :'imported-panorama-admin-users' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string', 'complete-handler'=>'imported-panorama-admin-users-completer', 'help-string'=>'Imported Panorama admin user name'}} # Imported Panorama admin user name def member prop_get('member') end # Imported Panorama admin user name def member=(val) prop_set('member', val) end end def imported_panorama_admin_users maybe_register_subclass('imported-panorama-admin-users', ImportedPanoramaAdminUsers.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def mgt_config @subclasses['mgt-config'] ||= MgtConfig.new(parent_instance: self, client: @client, create_children: @create_children) end class Shared < ConfigClass def has_multiple_values?; false; end def _section :shared end class LogSettings < ConfigClass def has_multiple_values?; false; end def _section :'log-settings' end class System < ConfigClass def has_multiple_values?; false; end def _section :system end class MatchList < XML::ConfigClass def has_multiple_values?; true; end def _section :'match-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SendSnmptrap < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-snmptrap' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_snmptrap maybe_register_subclass('send-snmptrap', SendSnmptrap.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendEmail < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-email' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_email maybe_register_subclass('send-email', SendEmail.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendSyslog < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-syslog' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_syslog maybe_register_subclass('send-syslog', SendSyslog.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendHttp < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-http' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_http maybe_register_subclass('send-http', SendHttp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Actions < XML::ConfigClass def has_multiple_values?; true; end def _section :actions end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Type < XML::ConfigClass def has_multiple_values?; true; end def _section :type end @props = {} end def type maybe_register_subclass('type', Type.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def actions maybe_register_subclass('actions', Actions.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'filter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1023'}} def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def filter prop_get('filter') end def filter=(val) prop_set('filter', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def match_list maybe_register_subclass('match-list', MatchList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def system @subclasses['system'] ||= System.new(parent_instance: self, client: @client, create_children: @create_children) end class Config < ConfigClass def has_multiple_values?; false; end def _section :config end class MatchList < XML::ConfigClass def has_multiple_values?; true; end def _section :'match-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class SendSnmptrap < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-snmptrap' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_snmptrap maybe_register_subclass('send-snmptrap', SendSnmptrap.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendEmail < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-email' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_email maybe_register_subclass('send-email', SendEmail.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendSyslog < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-syslog' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_syslog maybe_register_subclass('send-syslog', SendSyslog.new(parent_instance: self, client: @client, create_children: @create_children)) end class SendHttp < XML::ConfigClass def has_multiple_values?; true; end def _section :'send-http' end @props = {'member'=>{'node-type'=>'element', 'type'=>'string'}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def send_http maybe_register_subclass('send-http', SendHttp.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'filter'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'1023'}} def name prop_get('@name') end def description prop_get('description') end def description=(val) prop_set('description', val) end def filter prop_get('filter') end def filter=(val) prop_set('filter', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def match_list maybe_register_subclass('match-list', MatchList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def config @subclasses['config'] ||= Config.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def log_settings @subclasses['log-settings'] ||= LogSettings.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def shared @subclasses['shared'] ||= Shared.new(parent_instance: self, client: @client, create_children: @create_children) end class Deviceconfig < ConfigClass def has_multiple_values?; false; end def _section :deviceconfig end class System < ConfigClass def has_multiple_values?; false; end def _section :system end class NtpServers < ConfigClass def has_multiple_values?; false; end def _section :'ntp-servers' end class PrimaryNtpServer < ConfigClass def has_multiple_values?; false; end def _section :'primary-ntp-server' end class AuthenticationType < XML::ConfigClass def has_multiple_values?; true; end def _section :'authentication-type' end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end class SymmetricKey < ConfigClass def has_multiple_values?; false; end def _section :'symmetric-key' end class Algorithm < XML::ConfigClass def has_multiple_values?; true; end def _section :algorithm end class Md5 < ConfigClass def has_multiple_values?; false; end def _section :md5 end @props = {'authentication-key'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([!-~])+$', 'minlen'=>'6', 'maxlen'=>'32', 'help-string'=>'Symmetric Key MD5 String', 'encrypt'=>'yes'}} # Symmetric Key MD5 String def authentication_key prop_get('authentication-key') end # Symmetric Key MD5 String def authentication_key=(val) prop_set('authentication-key', val) end end def md5 @subclasses['md5'] ||= Md5.new(parent_instance: self, client: @client, create_children: @create_children) end class Sha1 < ConfigClass def has_multiple_values?; false; end def _section :sha1 end @props = {'authentication-key'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([0-9A-Fa-f])+$', 'minlen'=>'40', 'maxlen'=>'40', 'help-string'=>'Symmetric Key SHA1 Hexadecimal', 'encrypt'=>'yes', 'error-string'=>'Error: SHA1 authentication-key should be 40 hexadecimal characters'}} # Symmetric Key SHA1 Hexadecimal def authentication_key prop_get('authentication-key') end # Symmetric Key SHA1 Hexadecimal def authentication_key=(val) prop_set('authentication-key', val) end end def sha1 @subclasses['sha1'] ||= Sha1.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def algorithm maybe_register_subclass('algorithm', Algorithm.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'key-id'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65534', 'help-string'=>'Symmetric Key Number'}} # Symmetric Key Number def key_id prop_get('key-id') end # Symmetric Key Number def key_id=(val) prop_set('key-id', val) end end def symmetric_key @subclasses['symmetric-key'] ||= SymmetricKey.new(parent_instance: self, client: @client, create_children: @create_children) end class Autokey < ConfigClass def has_multiple_values?; false; end def _section :autokey end @props = {} end def autokey @subclasses['autokey'] ||= Autokey.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def authentication_type maybe_register_subclass('authentication-type', AuthenticationType.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'ntp-server-address'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([0-9a-zA-Z:./_-])+$', 'maxlen'=>'63', 'help-string'=>'NTP Server IP Address or Domain Name'}} # NTP Server IP Address or Domain Name def ntp_server_address prop_get('ntp-server-address') end # NTP Server IP Address or Domain Name def ntp_server_address=(val) prop_set('ntp-server-address', val) end end def primary_ntp_server @subclasses['primary-ntp-server'] ||= PrimaryNtpServer.new(parent_instance: self, client: @client, create_children: @create_children) end class SecondaryNtpServer < ConfigClass def has_multiple_values?; false; end def _section :'secondary-ntp-server' end class AuthenticationType < XML::ConfigClass def has_multiple_values?; true; end def _section :'authentication-type' end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end class SymmetricKey < ConfigClass def has_multiple_values?; false; end def _section :'symmetric-key' end class Algorithm < XML::ConfigClass def has_multiple_values?; true; end def _section :algorithm end class Md5 < ConfigClass def has_multiple_values?; false; end def _section :md5 end @props = {'authentication-key'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([!-~])+$', 'minlen'=>'6', 'maxlen'=>'32', 'help-string'=>'Symmetric Key MD5 String', 'encrypt'=>'yes'}} # Symmetric Key MD5 String def authentication_key prop_get('authentication-key') end # Symmetric Key MD5 String def authentication_key=(val) prop_set('authentication-key', val) end end def md5 @subclasses['md5'] ||= Md5.new(parent_instance: self, client: @client, create_children: @create_children) end class Sha1 < ConfigClass def has_multiple_values?; false; end def _section :sha1 end @props = {'authentication-key'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([0-9A-Fa-f])+$', 'minlen'=>'40', 'maxlen'=>'40', 'help-string'=>'Symmetric Key SHA1 Hexadecimal', 'encrypt'=>'yes', 'error-string'=>'Error: SHA1 authentication-key should be 40 hexadecimal characters'}} # Symmetric Key SHA1 Hexadecimal def authentication_key prop_get('authentication-key') end # Symmetric Key SHA1 Hexadecimal def authentication_key=(val) prop_set('authentication-key', val) end end def sha1 @subclasses['sha1'] ||= Sha1.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def algorithm maybe_register_subclass('algorithm', Algorithm.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'key-id'=>{'node-type'=>'element', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65534', 'help-string'=>'Symmetric Key Number'}} # Symmetric Key Number def key_id prop_get('key-id') end # Symmetric Key Number def key_id=(val) prop_set('key-id', val) end end def symmetric_key @subclasses['symmetric-key'] ||= SymmetricKey.new(parent_instance: self, client: @client, create_children: @create_children) end class Autokey < ConfigClass def has_multiple_values?; false; end def _section :autokey end @props = {} end def autokey @subclasses['autokey'] ||= Autokey.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def authentication_type maybe_register_subclass('authentication-type', AuthenticationType.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'ntp-server-address'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'^([0-9a-zA-Z:./_-])+$', 'maxlen'=>'63', 'help-string'=>'NTP Server IP Address or Domain Name'}} # NTP Server IP Address or Domain Name def ntp_server_address prop_get('ntp-server-address') end # NTP Server IP Address or Domain Name def ntp_server_address=(val) prop_set('ntp-server-address', val) end end def secondary_ntp_server @subclasses['secondary-ntp-server'] ||= SecondaryNtpServer.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ntp_servers @subclasses['ntp-servers'] ||= NtpServers.new(parent_instance: self, client: @client, create_children: @create_children) end class DnsSetting < ConfigClass def has_multiple_values?; false; end def _section :'dns-setting' end class Servers < ConfigClass def has_multiple_values?; false; end def _section :servers end @props = {'primary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-only'=>'yes', 'help-string'=>'Primary DNS server IP address'}, 'secondary'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-only'=>'yes', 'help-string'=>'Secondary DNS server IP address'}} # Primary DNS server IP address def primary prop_get('primary') end # Primary DNS server IP address def primary=(val) prop_set('primary', val) end # Secondary DNS server IP address def secondary prop_get('secondary') end # Secondary DNS server IP address def secondary=(val) prop_set('secondary', val) end end def servers @subclasses['servers'] ||= Servers.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def dns_setting @subclasses['dns-setting'] ||= DnsSetting.new(parent_instance: self, client: @client, create_children: @create_children) end class PermittedIp < XML::ConfigClass def has_multiple_values?; true; end def _section :'permitted-ip' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'optional'=>'yes', 'type'=>'ipspec', 'help-string'=>'ip address/prefix'}} # ip address/prefix def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def permitted_ip maybe_register_subclass('permitted-ip', PermittedIp.new(parent_instance: self, client: @client, create_children: @create_children)) end class Service < ConfigClass def has_multiple_values?; false; end def _section :service end @props = {'disable-ssh'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'disable-icmp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'disable-snmp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes'}, 'ha1'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable high-availability'}, 'ha1-backup'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable high-availability'}} def disable_ssh prop_get('disable-ssh') end def disable_ssh=(val) prop_set('disable-ssh', val) end def disable_icmp prop_get('disable-icmp') end def disable_icmp=(val) prop_set('disable-icmp', val) end def disable_snmp prop_get('disable-snmp') end def disable_snmp=(val) prop_set('disable-snmp', val) end # Enable high-availability def ha1 prop_get('ha1') end # Enable high-availability def ha1=(val) prop_set('ha1', val) end # Enable high-availability def ha1_backup prop_get('ha1-backup') end # Enable high-availability def ha1_backup=(val) prop_set('ha1-backup', val) end end def service @subclasses['service'] ||= Service.new(parent_instance: self, client: @client, create_children: @create_children) end class Ssh < ConfigClass def has_multiple_values?; false; end def _section :ssh end class Profiles < ConfigClass def has_multiple_values?; false; end def _section :profiles end class HaProfiles < XML::ConfigClass def has_multiple_values?; true; end def _section :'ha-profiles' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Ciphers < XML::ConfigClass def has_multiple_values?; true; end def _section :ciphers end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'aes128-cbc', 'enum'=>[{'value'=>'aes128-cbc', 'optional'=>'yes', 'help-string'=>'AES 128 bit cipher with Cipher Block Chaining'}, {'value'=>'aes192-cbc', 'optional'=>'yes', 'help-string'=>'AES 192 bit cipher with Cipher Block Chaining'}, {'value'=>'aes256-cbc', 'optional'=>'yes', 'help-string'=>'AES 256 bit cipher with Cipher Block Chaining'}, {'value'=>'aes128-ctr', 'optional'=>'yes', 'help-string'=>'AES 128 bit cipher with Counter Mode'}, {'value'=>'aes192-ctr', 'optional'=>'yes', 'help-string'=>'AES 192 bit cipher with Counter Mode'}, {'value'=>'aes256-ctr', 'optional'=>'yes', 'help-string'=>'AES 256 bit cipher with Counter Mode'}, {'value'=>'aes128-gcm', 'optional'=>'yes', 'help-string'=>'AES 128 bit cipher with GCM'}, {'value'=>'aes256-gcm', 'optional'=>'yes', 'help-string'=>'AES 256 bit cipher with GCM'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def ciphers maybe_register_subclass('ciphers', Ciphers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Mac < XML::ConfigClass def has_multiple_values?; true; end def _section :mac end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'hmac-sha2-256', 'enum'=>[{'value'=>'hmac-sha1', 'optional'=>'yes', 'help-string'=>'MAC with SHA1 cryptographic hash'}, {'value'=>'hmac-sha2-256', 'optional'=>'yes', 'help-string'=>'MAC with SHA2-256 cryptographic hash'}, {'value'=>'hmac-sha2-512', 'optional'=>'yes', 'help-string'=>'MAC with SHA2-512 cryptographic hash'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def mac maybe_register_subclass('mac', Mac.new(parent_instance: self, client: @client, create_children: @create_children)) end class Kex < XML::ConfigClass def has_multiple_values?; true; end def _section :kex end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'diffie-hellman-group14-sha1', 'enum'=>[{'value'=>'diffie-hellman-group14-sha1', 'help-string'=>'Diffie Hellman group 14 with SHA1 hash'}, {'value'=>'ecdh-sha2-nistp256', 'help-string'=>'Elliptic Curve Diffie Hellman over NIST P-256 with SHA2-256 hash'}, {'value'=>'ecdh-sha2-nistp384', 'help-string'=>'Elliptic Curve Diffie Hellman over NIST P-384 with SHA2-384 hash'}, {'value'=>'ecdh-sha2-nistp521', 'help-string'=>'Elliptic Curve Diffie Hellman over NIST P-521 with SHA2-521 hash'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def kex maybe_register_subclass('kex', Kex.new(parent_instance: self, client: @client, create_children: @create_children)) end class DefaultHostkey < ConfigClass def has_multiple_values?; false; end def _section :'default-hostkey' end class KeyType < XML::ConfigClass def has_multiple_values?; true; end def _section :'key-type' end @props = {'ECDSA'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'256', 'help-string'=>'ECDSA key', 'enum'=>[{'value'=>'256', 'help-string'=>'ECDSA key of length 256'}, {'value'=>'384', 'help-string'=>'ECDSA key of length 384'}, {'value'=>'521', 'help-string'=>'ECDSA key of length 521'}]}, 'RSA'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'2048', 'help-string'=>'RSA key', 'enum'=>[{'value'=>'2048', 'help-string'=>'RSA key of length 2048'}, {'value'=>'3072', 'help-string'=>'RSA key of length 3072'}, {'value'=>'4096', 'help-string'=>'RSA key of length 4096'}]}} # ECDSA key def ECDSA prop_get('ECDSA') end # ECDSA key def ECDSA=(val) prop_set('ECDSA', val) end # RSA key def RSA prop_get('RSA') end # RSA key def RSA=(val) prop_set('RSA', val) end end def key_type maybe_register_subclass('key-type', KeyType.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def default_hostkey @subclasses['default-hostkey'] ||= DefaultHostkey.new(parent_instance: self, client: @client, create_children: @create_children) end class SessionRekey < ConfigClass def has_multiple_values?; false; end def _section :'session-rekey' end @props = {'data'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'default', 'help-string'=>'Set the data to be transmitted between each ssh rekeying', 'multi-types'=>{'rangedint'=>{'min'=>'10', 'max'=>'4000', 'help-string'=>'Maximum data in Megabytes to be transmitted between each rekeying'}, 'enum'=>[{'value'=>'default', 'help-string'=>'Set the default to cipher based rekeying, which is between 1GB to 4GB'}]}}, 'interval'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'default', 'help-string'=>'Set the time interval between each ssh rekeying', 'multi-types'=>{'rangedint'=>{'min'=>'10', 'max'=>'3600', 'help-string'=>'Maximum time interval in seconds between each rekeying'}, 'enum'=>[{'value'=>'default', 'help-string'=>'Set the default to no time based rekeying'}]}}, 'packets'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'default', 'help-string'=>'Set the number of packets to be transmitted between each ssh rekeying', 'multi-types'=>{'rangedint'=>{'min'=>'12', 'max'=>'27', 'help-string'=>'Maximum number of packets (2^n) to be transmitted between rekeying'}, 'enum'=>[{'value'=>'default', 'help-string'=>'Set the default number of packets (2^28)'}]}}} # Set the data to be transmitted between each ssh rekeying def data prop_get('data') end # Set the data to be transmitted between each ssh rekeying def data=(val) prop_set('data', val) end # Set the time interval between each ssh rekeying def interval prop_get('interval') end # Set the time interval between each ssh rekeying def interval=(val) prop_set('interval', val) end # Set the number of packets to be transmitted between each ssh rekeying def packets prop_get('packets') end # Set the number of packets to be transmitted between each ssh rekeying def packets=(val) prop_set('packets', val) end end def session_rekey @subclasses['session-rekey'] ||= SessionRekey.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string begin with letter: [0-9a-zA-Z._-]', 'regex'=>'^[a-zA-Z]{1}[0-9a-zA-Z._-]*$'}} # alphanumeric string begin with letter: [0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def ha_profiles maybe_register_subclass('ha-profiles', HaProfiles.new(parent_instance: self, client: @client, create_children: @create_children)) end class MgmtProfiles < ConfigClass def has_multiple_values?; false; end def _section :'mgmt-profiles' end class ServerProfiles < XML::ConfigClass def has_multiple_values?; true; end def _section :'server-profiles' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Ciphers < XML::ConfigClass def has_multiple_values?; true; end def _section :ciphers end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'aes-128-cbc', 'enum'=>[{'value'=>'aes128-cbc', 'optional'=>'yes', 'help-string'=>'AES 128 bit cipher with Cipher Block Chaining'}, {'value'=>'aes192-cbc', 'optional'=>'yes', 'help-string'=>'AES 192 bit cipher with Cipher Block Chaining'}, {'value'=>'aes256-cbc', 'optional'=>'yes', 'help-string'=>'AES 256 bit cipher with Cipher Block Chaining'}, {'value'=>'aes128-ctr', 'optional'=>'yes', 'help-string'=>'AES 128 bit cipher with Counter Mode'}, {'value'=>'aes192-ctr', 'optional'=>'yes', 'help-string'=>'AES 192 bit cipher with Counter Mode'}, {'value'=>'aes256-ctr', 'optional'=>'yes', 'help-string'=>'AES 256 bit cipher with Counter Mode'}, {'value'=>'aes128-gcm', 'optional'=>'yes', 'help-string'=>'AES 128 bit cipher with GCM'}, {'value'=>'aes256-gcm', 'optional'=>'yes', 'help-string'=>'AES 256 bit cipher with GCM'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def ciphers maybe_register_subclass('ciphers', Ciphers.new(parent_instance: self, client: @client, create_children: @create_children)) end class Mac < XML::ConfigClass def has_multiple_values?; true; end def _section :mac end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'hmac-sha2-256', 'enum'=>[{'value'=>'hmac-sha1', 'optional'=>'yes', 'help-string'=>'MAC with SHA1 cryptographic hash'}, {'value'=>'hmac-sha2-256', 'optional'=>'yes', 'help-string'=>'MAC with SHA2-256 cryptographic hash'}, {'value'=>'hmac-sha2-512', 'optional'=>'yes', 'help-string'=>'MAC with SHA2-512 cryptographic hash'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def mac maybe_register_subclass('mac', Mac.new(parent_instance: self, client: @client, create_children: @create_children)) end class Kex < XML::ConfigClass def has_multiple_values?; true; end def _section :kex end @props = {'member'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'diffie-hellman-group14-sha1', 'enum'=>[{'value'=>'diffie-hellman-group14-sha1', 'help-string'=>'Diffie Hellman group 14 with SHA1 hash'}, {'value'=>'ecdh-sha2-nistp256', 'help-string'=>'Elliptic Curve Diffie Hellman over NIST P-256 with SHA2-256 hash'}, {'value'=>'ecdh-sha2-nistp384', 'help-string'=>'Elliptic Curve Diffie Hellman over NIST P-384 with SHA2-384 hash'}, {'value'=>'ecdh-sha2-nistp521', 'help-string'=>'Elliptic Curve Diffie Hellman over NIST P-521 with SHA2-521 hash'}]}} def member prop_get('member') end def member=(val) prop_set('member', val) end end def kex maybe_register_subclass('kex', Kex.new(parent_instance: self, client: @client, create_children: @create_children)) end class DefaultHostkey < ConfigClass def has_multiple_values?; false; end def _section :'default-hostkey' end class KeyType < XML::ConfigClass def has_multiple_values?; true; end def _section :'key-type' end class All < ConfigClass def has_multiple_values?; false; end def _section :all end @props = {} end def all @subclasses['all'] ||= All.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'ECDSA'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'256', 'help-string'=>'ECDSA key', 'enum'=>[{'value'=>'256', 'help-string'=>'ECDSA key of length 256'}, {'value'=>'384', 'help-string'=>'ECDSA key of length 384'}, {'value'=>'521', 'help-string'=>'ECDSA key of length 521'}]}, 'RSA'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'2048', 'help-string'=>'RSA key', 'enum'=>[{'value'=>'2048', 'help-string'=>'RSA key of length 2048'}, {'value'=>'3072', 'help-string'=>'RSA key of length 3072'}, {'value'=>'4096', 'help-string'=>'RSA key of length 4096'}]}} # ECDSA key def ECDSA prop_get('ECDSA') end # ECDSA key def ECDSA=(val) prop_set('ECDSA', val) end # RSA key def RSA prop_get('RSA') end # RSA key def RSA=(val) prop_set('RSA', val) end end def key_type maybe_register_subclass('key-type', KeyType.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def default_hostkey @subclasses['default-hostkey'] ||= DefaultHostkey.new(parent_instance: self, client: @client, create_children: @create_children) end class SessionRekey < ConfigClass def has_multiple_values?; false; end def _section :'session-rekey' end @props = {'data'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'default', 'help-string'=>'Set the data to be transmitted between each ssh rekeying', 'multi-types'=>{'rangedint'=>{'min'=>'10', 'max'=>'4000', 'help-string'=>'Maximum data in Megabytes to be transmitted between each rekeying'}, 'enum'=>[{'value'=>'default', 'help-string'=>'Set the default to cipher based rekeying, which is between 1GB to 4GB'}]}}, 'interval'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'default', 'help-string'=>'Set the time interval between each ssh rekeying', 'multi-types'=>{'rangedint'=>{'min'=>'10', 'max'=>'3600', 'help-string'=>'Maximum time interval in seconds between each rekeying'}, 'enum'=>[{'value'=>'default', 'help-string'=>'Set the default to no time based rekeying'}]}}, 'packets'=>{'node-type'=>'element', 'type'=>'multiple', 'optional'=>'yes', 'default'=>'default', 'help-string'=>'Set the number of packets to be transmitted between each ssh rekeying', 'multi-types'=>{'rangedint'=>{'min'=>'12', 'max'=>'27', 'help-string'=>'Maximum number of packets (2^n) to be transmitted between rekeying'}, 'enum'=>[{'value'=>'default', 'help-string'=>'Set the default number of packets (2^28)'}]}}} # Set the data to be transmitted between each ssh rekeying def data prop_get('data') end # Set the data to be transmitted between each ssh rekeying def data=(val) prop_set('data', val) end # Set the time interval between each ssh rekeying def interval prop_get('interval') end # Set the time interval between each ssh rekeying def interval=(val) prop_set('interval', val) end # Set the number of packets to be transmitted between each ssh rekeying def packets prop_get('packets') end # Set the number of packets to be transmitted between each ssh rekeying def packets=(val) prop_set('packets', val) end end def session_rekey @subclasses['session-rekey'] ||= SessionRekey.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string begin with letter: [0-9a-zA-Z._-]', 'regex'=>'^[a-zA-Z]{1}[0-9a-zA-Z._-]*$'}} # alphanumeric string begin with letter: [0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def server_profiles maybe_register_subclass('server-profiles', ServerProfiles.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def mgmt_profiles @subclasses['mgmt-profiles'] ||= MgmtProfiles.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def profiles @subclasses['profiles'] ||= Profiles.new(parent_instance: self, client: @client, create_children: @create_children) end class Ha < ConfigClass def has_multiple_values?; false; end def _section :ha end @props = {'ha-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'HA profile to be used by HA SSH'}} # HA profile to be used by HA SSH def ha_profile prop_get('ha-profile') end # HA profile to be used by HA SSH def ha_profile=(val) prop_set('ha-profile', val) end end def ha @subclasses['ha'] ||= Ha.new(parent_instance: self, client: @client, create_children: @create_children) end class Mgmt < ConfigClass def has_multiple_values?; false; end def _section :mgmt end @props = {'server-profile'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'subtype'=>'object-name', 'help-string'=>'Mgmt profile to be used by Mgmt SSH Server'}} # Mgmt profile to be used by Mgmt SSH Server def server_profile prop_get('server-profile') end # Mgmt profile to be used by Mgmt SSH Server def server_profile=(val) prop_set('server-profile', val) end end def mgmt @subclasses['mgmt'] ||= Mgmt.new(parent_instance: self, client: @client, create_children: @create_children) end class RegenerateHostkeys < ConfigClass def has_multiple_values?; false; end def _section :'regenerate-hostkeys' end class Ha < ConfigClass def has_multiple_values?; false; end def _section :ha end class KeyType < XML::ConfigClass def has_multiple_values?; true; end def _section :'key-type' end class ECDSA < ConfigClass def has_multiple_values?; false; end def _section :ECDSA end @props = {'key-length'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'256', 'help-string'=>'Length of SSH key', 'enum'=>[{'value'=>'256', 'help-string'=>'ECDSA key of length 256'}, {'value'=>'384', 'help-string'=>'ECDSA key of length 384'}, {'value'=>'521', 'help-string'=>'ECDSA key of length 521'}]}} # Length of SSH key def key_length prop_get('key-length') end # Length of SSH key def key_length=(val) prop_set('key-length', val) end end def ECDSA @subclasses['ECDSA'] ||= ECDSA.new(parent_instance: self, client: @client, create_children: @create_children) end class RSA < ConfigClass def has_multiple_values?; false; end def _section :RSA end @props = {'key-length'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'2048', 'help-string'=>'Length of SSH key', 'enum'=>[{'value'=>'2048', 'help-string'=>'RSA key of length 2048'}, {'value'=>'3072', 'help-string'=>'RSA key of length 3072'}, {'value'=>'4096', 'help-string'=>'RSA key of length 4096'}]}} # Length of SSH key def key_length prop_get('key-length') end # Length of SSH key def key_length=(val) prop_set('key-length', val) end end def RSA @subclasses['RSA'] ||= RSA.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def key_type maybe_register_subclass('key-type', KeyType.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def ha @subclasses['ha'] ||= Ha.new(parent_instance: self, client: @client, create_children: @create_children) end class Mgmt < ConfigClass def has_multiple_values?; false; end def _section :mgmt end class KeyType < XML::ConfigClass def has_multiple_values?; true; end def _section :'key-type' end class ECDSA < ConfigClass def has_multiple_values?; false; end def _section :ECDSA end @props = {'key-length'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'256', 'help-string'=>'Length of SSH key', 'enum'=>[{'value'=>'256', 'help-string'=>'ECDSA key of length 256'}, {'value'=>'384', 'help-string'=>'ECDSA key of length 384'}, {'value'=>'521', 'help-string'=>'ECDSA key of length 521'}]}} # Length of SSH key def key_length prop_get('key-length') end # Length of SSH key def key_length=(val) prop_set('key-length', val) end end def ECDSA @subclasses['ECDSA'] ||= ECDSA.new(parent_instance: self, client: @client, create_children: @create_children) end class RSA < ConfigClass def has_multiple_values?; false; end def _section :RSA end @props = {'key-length'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'2048', 'help-string'=>'Length of SSH key', 'enum'=>[{'value'=>'2048', 'help-string'=>'RSA key of length 2048'}, {'value'=>'3072', 'help-string'=>'RSA key of length 3072'}, {'value'=>'4096', 'help-string'=>'RSA key of length 4096'}]}} # Length of SSH key def key_length prop_get('key-length') end # Length of SSH key def key_length=(val) prop_set('key-length', val) end end def RSA @subclasses['RSA'] ||= RSA.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def key_type maybe_register_subclass('key-type', KeyType.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def mgmt @subclasses['mgmt'] ||= Mgmt.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def regenerate_hostkeys @subclasses['regenerate-hostkeys'] ||= RegenerateHostkeys.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def ssh @subclasses['ssh'] ||= Ssh.new(parent_instance: self, client: @client, create_children: @create_children) end class UpdateSchedule < ConfigClass def has_multiple_values?; false; end def _section :'update-schedule' end class WfContent < ConfigClass def has_multiple_values?; false; end def _section :'wf-content' end class Recurring < ConfigClass def has_multiple_values?; false; end def _section :recurring end class Daily < ConfigClass def has_multiple_values?; false; end def _section :daily end @props = {'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3]):([0-5][0-9])', 'minlen'=>'5', 'maxlen'=>'5', 'help-string'=>'Time specification hh:mm (e.g. 20:10)'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'download-only', 'help-string'=>'Download but do not install'}, {'value'=>'download-and-install', 'help-string'=>'Download and install'}]}} # Time specification hh:mm (e.g. 20:10) def at prop_get('at') end # Time specification hh:mm (e.g. 20:10) def at=(val) prop_set('at', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end end def daily @subclasses['daily'] ||= Daily.new(parent_instance: self, client: @client, create_children: @create_children) end class Weekly < ConfigClass def has_multiple_values?; false; end def _section :weekly end @props = {'day-of-week'=>{'node-type'=>'element', 'type'=>'enum', 'enum'=>[{'value'=>'sunday', 'help-string'=>'Sunday'}, {'value'=>'monday', 'help-string'=>'Monday'}, {'value'=>'tuesday', 'help-string'=>'Tuesday'}, {'value'=>'wednesday', 'help-string'=>'Wednesday'}, {'value'=>'thursday', 'help-string'=>'Thursday'}, {'value'=>'friday', 'help-string'=>'Friday'}, {'value'=>'saturday', 'help-string'=>'Saturday'}]}, 'at'=>{'node-type'=>'element', 'type'=>'string', 'regex'=>'([01][0-9]|[2][0-3]):([0-5][0-9])', 'minlen'=>'5', 'maxlen'=>'5', 'help-string'=>'Time specification hh:mm (e.g. 20:10)'}, 'action'=>{'node-type'=>'element', 'type'=>'enum', 'optional'=>'yes', 'enum'=>[{'value'=>'download-only', 'help-string'=>'Download but do not install'}, {'value'=>'download-and-install', 'help-string'=>'Download and install'}]}} def day_of_week prop_get('day-of-week') end def day_of_week=(val) prop_set('day-of-week', val) end # Time specification hh:mm (e.g. 20:10) def at prop_get('at') end # Time specification hh:mm (e.g. 20:10) def at=(val) prop_set('at', val) end def action prop_get('action') end def action=(val) prop_set('action', val) end end def weekly @subclasses['weekly'] ||= Weekly.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def recurring @subclasses['recurring'] ||= Recurring.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def wf_content @subclasses['wf-content'] ||= WfContent.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def update_schedule @subclasses['update-schedule'] ||= UpdateSchedule.new(parent_instance: self, client: @client, create_children: @create_children) end class VmInterface < ConfigClass def has_multiple_values?; false; end def _section :'vm-interface' end class Service < ConfigClass def has_multiple_values?; false; end def _section :service end @props = {'disable-icmp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'disable-ssh'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'ha1'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable high-availability', 'uiHint-fieldLabel'=>'HA'}, 'ha1-backup'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable high-availability backup service', 'uiHint-fieldLabel'=>'HA Backup'}, 'cluster-mgmt'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable cluster management service', 'uiHint-fieldLabel'=>'Cluster Management'}, 'ipv6-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-with-mask'=>'yes', 'ipv6-only'=>'yes', 'help-string'=>'IPv6 address for the management interface'}, 'ipv6-default-gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'unicast-only'=>'yes', 'type'=>'ipspec', 'help-string'=>'IPv6 Default gateway'}} def disable_icmp prop_get('disable-icmp') end def disable_icmp=(val) prop_set('disable-icmp', val) end def disable_ssh prop_get('disable-ssh') end def disable_ssh=(val) prop_set('disable-ssh', val) end # Enable high-availability def ha1 prop_get('ha1') end # Enable high-availability def ha1=(val) prop_set('ha1', val) end # Enable high-availability backup service def ha1_backup prop_get('ha1-backup') end # Enable high-availability backup service def ha1_backup=(val) prop_set('ha1-backup', val) end # Enable cluster management service def cluster_mgmt prop_get('cluster-mgmt') end # Enable cluster management service def cluster_mgmt=(val) prop_set('cluster-mgmt', val) end # IPv6 address for the management interface def ipv6_address prop_get('ipv6-address') end # IPv6 address for the management interface def ipv6_address=(val) prop_set('ipv6-address', val) end # IPv6 Default gateway def ipv6_default_gateway prop_get('ipv6-default-gateway') end # IPv6 Default gateway def ipv6_default_gateway=(val) prop_set('ipv6-default-gateway', val) end end def service @subclasses['service'] ||= Service.new(parent_instance: self, client: @client, create_children: @create_children) end class PermittedIp < XML::ConfigClass def has_multiple_values?; true; end def _section :'permitted-ip' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'optional'=>'yes', 'type'=>'ipspec', 'help-string'=>'ip address/prefix'}} # ip address/prefix def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def permitted_ip maybe_register_subclass('permitted-ip', PermittedIp.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'speed-duplex'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'auto-negotiate', 'help-string'=>'Speed and duplex for the interface', 'enum'=>[{'value'=>'auto-negotiate'}, {'value'=>'10Mbps-half-duplex', 'prune-on-sdb'=>'cfg.platform.model=M-300,cfg.platform.model=M-700'}, {'value'=>'10Mbps-full-duplex', 'prune-on-sdb'=>'cfg.platform.model=M-300,cfg.platform.model=M-700'}, {'value'=>'100Mbps-half-duplex', 'prune-on-sdb'=>'cfg.platform.model=M-300,cfg.platform.model=M-700'}, {'value'=>'100Mbps-full-duplex', 'prune-on-sdb'=>'cfg.platform.model=M-300,cfg.platform.model=M-700'}, {'value'=>'1Gbps-half-duplex', 'prune-on-sdb'=>'cfg.platform.model=M-300,cfg.platform.model=M-700'}, {'value'=>'1Gbps-full-duplex', 'prune-on-sdb'=>'cfg.platform.model=M-300,cfg.platform.model=M-700'}]}, 'ip-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes', 'help-string'=>'IP address for the interface'}, 'netmask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'subtype'=>'ip-address', 'help-string'=>'IP netmask for the interface'}, 'default-gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-only'=>'yes', 'help-string'=>'Default gateway'}, 'ipv6-address'=>{'node-type'=>'element', 'optional'=>'yes', 'prune-on'=>'fips-mode', 'type'=>'ipspec', 'unicast-with-mask'=>'yes', 'ipv6-only'=>'yes', 'help-string'=>'IPv6 address for the interface'}, 'ipv6-default-gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'prune-on'=>'fips-mode', 'unicast-only'=>'yes', 'type'=>'ipspec', 'help-string'=>'IPv6 Default gateway'}, 'mtu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'576', 'max'=>'1500', 'default'=>'1500', 'help-string'=>'Maximum Transmission Unit for the interface'}, 'link-state'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'up', 'help-string'=>'Link state up or down', 'enum'=>[{'value'=>'up'}, {'value'=>'down'}]}, 'dns-server'=>{'node-type'=>'element', 'type'=>'ipspec', 'unicast-only'=>'yes', 'help-string'=>'dns server'}} # Speed and duplex for the interface def speed_duplex prop_get('speed-duplex') end # Speed and duplex for the interface def speed_duplex=(val) prop_set('speed-duplex', val) end # IP address for the interface def ip_address prop_get('ip-address') end # IP address for the interface def ip_address=(val) prop_set('ip-address', val) end # IP netmask for the interface def netmask prop_get('netmask') end # IP netmask for the interface def netmask=(val) prop_set('netmask', val) end # Default gateway def default_gateway prop_get('default-gateway') end # Default gateway def default_gateway=(val) prop_set('default-gateway', val) end # IPv6 address for the interface def ipv6_address prop_get('ipv6-address') end # IPv6 address for the interface def ipv6_address=(val) prop_set('ipv6-address', val) end # IPv6 Default gateway def ipv6_default_gateway prop_get('ipv6-default-gateway') end # IPv6 Default gateway def ipv6_default_gateway=(val) prop_set('ipv6-default-gateway', val) end # Maximum Transmission Unit for the interface def mtu prop_get('mtu') end # Maximum Transmission Unit for the interface def mtu=(val) prop_set('mtu', val) end # Link state up or down def link_state prop_get('link-state') end # Link state up or down def link_state=(val) prop_set('link-state', val) end # dns server def dns_server prop_get('dns-server') end # dns server def dns_server=(val) prop_set('dns-server', val) end end def vm_interface @subclasses['vm-interface'] ||= VmInterface.new(parent_instance: self, client: @client, create_children: @create_children) end class GeoLocation < ConfigClass def has_multiple_values?; false; end def _section :'geo-location' end @props = {'latitude'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'-90.0', 'max'=>'90.0', 'help-string'=>'latitude coordinate'}, 'longitude'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'float', 'min'=>'-180.0', 'max'=>'180.0', 'help-string'=>'longitude coordinate'}} # latitude coordinate def latitude prop_get('latitude') end # latitude coordinate def latitude=(val) prop_set('latitude', val) end # longitude coordinate def longitude prop_get('longitude') end # longitude coordinate def longitude=(val) prop_set('longitude', val) end end def geo_location @subclasses['geo-location'] ||= GeoLocation.new(parent_instance: self, client: @client, create_children: @create_children) end class Eth2 < ConfigClass def has_multiple_values?; false; end def _section :eth2 end class Service < ConfigClass def has_multiple_values?; false; end def _section :service end @props = {'disable-icmp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'disable-ssh'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'ha1'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable high-availability', 'uiHint-fieldLabel'=>'HA'}, 'ha1-backup'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable high-availability backup service', 'uiHint-fieldLabel'=>'HA Backup'}, 'cluster-mgmt'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable cluster management service', 'uiHint-fieldLabel'=>'Cluster Management'}, 'ipv6-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-with-mask'=>'yes', 'ipv6-only'=>'yes', 'help-string'=>'IPv6 address for the management interface'}, 'ipv6-default-gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'unicast-only'=>'yes', 'type'=>'ipspec', 'help-string'=>'IPv6 Default gateway'}} def disable_icmp prop_get('disable-icmp') end def disable_icmp=(val) prop_set('disable-icmp', val) end def disable_ssh prop_get('disable-ssh') end def disable_ssh=(val) prop_set('disable-ssh', val) end # Enable high-availability def ha1 prop_get('ha1') end # Enable high-availability def ha1=(val) prop_set('ha1', val) end # Enable high-availability backup service def ha1_backup prop_get('ha1-backup') end # Enable high-availability backup service def ha1_backup=(val) prop_set('ha1-backup', val) end # Enable cluster management service def cluster_mgmt prop_get('cluster-mgmt') end # Enable cluster management service def cluster_mgmt=(val) prop_set('cluster-mgmt', val) end # IPv6 address for the management interface def ipv6_address prop_get('ipv6-address') end # IPv6 address for the management interface def ipv6_address=(val) prop_set('ipv6-address', val) end # IPv6 Default gateway def ipv6_default_gateway prop_get('ipv6-default-gateway') end # IPv6 Default gateway def ipv6_default_gateway=(val) prop_set('ipv6-default-gateway', val) end end def service @subclasses['service'] ||= Service.new(parent_instance: self, client: @client, create_children: @create_children) end class PermittedIp < XML::ConfigClass def has_multiple_values?; true; end def _section :'permitted-ip' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'optional'=>'yes', 'type'=>'ipspec', 'help-string'=>'ip address/prefix'}} # ip address/prefix def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def permitted_ip maybe_register_subclass('permitted-ip', PermittedIp.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'speed-duplex'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'auto-negotiate', 'help-string'=>'Speed and duplex for the interface', 'enum'=>[{'value'=>'auto-negotiate'}, {'value'=>'10Mbps-half-duplex', 'prune-on-sdb'=>'cfg.platform.model=M-300,cfg.platform.model=M-700'}, {'value'=>'10Mbps-full-duplex', 'prune-on-sdb'=>'cfg.platform.model=M-300,cfg.platform.model=M-700'}, {'value'=>'100Mbps-half-duplex', 'prune-on-sdb'=>'cfg.platform.model=M-300,cfg.platform.model=M-700'}, {'value'=>'100Mbps-full-duplex', 'prune-on-sdb'=>'cfg.platform.model=M-300,cfg.platform.model=M-700'}, {'value'=>'1Gbps-half-duplex', 'prune-on-sdb'=>'cfg.platform.model=M-300,cfg.platform.model=M-700'}, {'value'=>'1Gbps-full-duplex', 'prune-on-sdb'=>'cfg.platform.model=M-300,cfg.platform.model=M-700'}]}, 'ip-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes', 'help-string'=>'IP address for the interface'}, 'netmask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'subtype'=>'ip-address', 'help-string'=>'IP netmask for the interface'}, 'default-gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-only'=>'yes', 'help-string'=>'Default gateway'}, 'ipv6-address'=>{'node-type'=>'element', 'optional'=>'yes', 'prune-on'=>'fips-mode', 'type'=>'ipspec', 'unicast-with-mask'=>'yes', 'ipv6-only'=>'yes', 'help-string'=>'IPv6 address for the interface'}, 'ipv6-default-gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'prune-on'=>'fips-mode', 'unicast-only'=>'yes', 'type'=>'ipspec', 'help-string'=>'IPv6 Default gateway'}, 'mtu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'576', 'max'=>'1500', 'default'=>'1500', 'help-string'=>'Maximum Transmission Unit for the interface'}} # Speed and duplex for the interface def speed_duplex prop_get('speed-duplex') end # Speed and duplex for the interface def speed_duplex=(val) prop_set('speed-duplex', val) end # IP address for the interface def ip_address prop_get('ip-address') end # IP address for the interface def ip_address=(val) prop_set('ip-address', val) end # IP netmask for the interface def netmask prop_get('netmask') end # IP netmask for the interface def netmask=(val) prop_set('netmask', val) end # Default gateway def default_gateway prop_get('default-gateway') end # Default gateway def default_gateway=(val) prop_set('default-gateway', val) end # IPv6 address for the interface def ipv6_address prop_get('ipv6-address') end # IPv6 address for the interface def ipv6_address=(val) prop_set('ipv6-address', val) end # IPv6 Default gateway def ipv6_default_gateway prop_get('ipv6-default-gateway') end # IPv6 Default gateway def ipv6_default_gateway=(val) prop_set('ipv6-default-gateway', val) end # Maximum Transmission Unit for the interface def mtu prop_get('mtu') end # Maximum Transmission Unit for the interface def mtu=(val) prop_set('mtu', val) end end def eth2 @subclasses['eth2'] ||= Eth2.new(parent_instance: self, client: @client, create_children: @create_children) end class Eth3 < ConfigClass def has_multiple_values?; false; end def _section :eth3 end class Service < ConfigClass def has_multiple_values?; false; end def _section :service end @props = {'disable-icmp'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'disable-ssh'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}, 'ha1'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable high-availability', 'uiHint-fieldLabel'=>'HA'}, 'ha1-backup'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable high-availability backup service', 'uiHint-fieldLabel'=>'HA Backup'}, 'cluster-mgmt'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable cluster management service', 'uiHint-fieldLabel'=>'Cluster Management'}, 'ipv6-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-with-mask'=>'yes', 'ipv6-only'=>'yes', 'help-string'=>'IPv6 address for the management interface'}, 'ipv6-default-gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'unicast-only'=>'yes', 'type'=>'ipspec', 'help-string'=>'IPv6 Default gateway'}} def disable_icmp prop_get('disable-icmp') end def disable_icmp=(val) prop_set('disable-icmp', val) end def disable_ssh prop_get('disable-ssh') end def disable_ssh=(val) prop_set('disable-ssh', val) end # Enable high-availability def ha1 prop_get('ha1') end # Enable high-availability def ha1=(val) prop_set('ha1', val) end # Enable high-availability backup service def ha1_backup prop_get('ha1-backup') end # Enable high-availability backup service def ha1_backup=(val) prop_set('ha1-backup', val) end # Enable cluster management service def cluster_mgmt prop_get('cluster-mgmt') end # Enable cluster management service def cluster_mgmt=(val) prop_set('cluster-mgmt', val) end # IPv6 address for the management interface def ipv6_address prop_get('ipv6-address') end # IPv6 address for the management interface def ipv6_address=(val) prop_set('ipv6-address', val) end # IPv6 Default gateway def ipv6_default_gateway prop_get('ipv6-default-gateway') end # IPv6 Default gateway def ipv6_default_gateway=(val) prop_set('ipv6-default-gateway', val) end end def service @subclasses['service'] ||= Service.new(parent_instance: self, client: @client, create_children: @create_children) end class PermittedIp < XML::ConfigClass def has_multiple_values?; true; end def _section :'permitted-ip' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'optional'=>'yes', 'type'=>'ipspec', 'help-string'=>'ip address/prefix'}} # ip address/prefix def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def permitted_ip maybe_register_subclass('permitted-ip', PermittedIp.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'speed-duplex'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'auto-negotiate', 'help-string'=>'Speed and duplex for the interface', 'enum'=>[{'value'=>'auto-negotiate'}, {'value'=>'10Mbps-half-duplex', 'prune-on-sdb'=>'cfg.platform.model=M-300,cfg.platform.model=M-700'}, {'value'=>'10Mbps-full-duplex', 'prune-on-sdb'=>'cfg.platform.model=M-300,cfg.platform.model=M-700'}, {'value'=>'100Mbps-half-duplex', 'prune-on-sdb'=>'cfg.platform.model=M-300,cfg.platform.model=M-700'}, {'value'=>'100Mbps-full-duplex', 'prune-on-sdb'=>'cfg.platform.model=M-300,cfg.platform.model=M-700'}, {'value'=>'1Gbps-half-duplex', 'prune-on-sdb'=>'cfg.platform.model=M-300,cfg.platform.model=M-700'}, {'value'=>'1Gbps-full-duplex', 'prune-on-sdb'=>'cfg.platform.model=M-300,cfg.platform.model=M-700'}]}, 'ip-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes', 'help-string'=>'IP address for the interface'}, 'netmask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'subtype'=>'ip-address', 'help-string'=>'IP netmask for the interface'}, 'default-gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-only'=>'yes', 'help-string'=>'Default gateway'}, 'ipv6-address'=>{'node-type'=>'element', 'optional'=>'yes', 'prune-on'=>'fips-mode', 'type'=>'ipspec', 'unicast-with-mask'=>'yes', 'ipv6-only'=>'yes', 'help-string'=>'IPv6 address for the interface'}, 'ipv6-default-gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'prune-on'=>'fips-mode', 'unicast-only'=>'yes', 'type'=>'ipspec', 'help-string'=>'IPv6 Default gateway'}, 'mtu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'576', 'max'=>'1500', 'default'=>'1500', 'help-string'=>'Maximum Transmission Unit for the interface'}} # Speed and duplex for the interface def speed_duplex prop_get('speed-duplex') end # Speed and duplex for the interface def speed_duplex=(val) prop_set('speed-duplex', val) end # IP address for the interface def ip_address prop_get('ip-address') end # IP address for the interface def ip_address=(val) prop_set('ip-address', val) end # IP netmask for the interface def netmask prop_get('netmask') end # IP netmask for the interface def netmask=(val) prop_set('netmask', val) end # Default gateway def default_gateway prop_get('default-gateway') end # Default gateway def default_gateway=(val) prop_set('default-gateway', val) end # IPv6 address for the interface def ipv6_address prop_get('ipv6-address') end # IPv6 address for the interface def ipv6_address=(val) prop_set('ipv6-address', val) end # IPv6 Default gateway def ipv6_default_gateway prop_get('ipv6-default-gateway') end # IPv6 Default gateway def ipv6_default_gateway=(val) prop_set('ipv6-default-gateway', val) end # Maximum Transmission Unit for the interface def mtu prop_get('mtu') end # Maximum Transmission Unit for the interface def mtu=(val) prop_set('mtu', val) end end def eth3 @subclasses['eth3'] ||= Eth3.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'hostname'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[a-zA-Z0-9\._-]+$', 'minlen'=>'1', 'maxlen'=>'32', 'help-string'=>'alphanumeric string [a-zA-Z0-9._-]'}, 'ip-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-only'=>'yes', 'disallow-loopback'=>'yes', 'disallow-zero-addr'=>'yes', 'help-string'=>'IP address for the interface'}, 'netmask'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'subtype'=>'ip-address', 'help-string'=>'IP netmask for the interface'}, 'default-gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-only'=>'yes', 'help-string'=>'Default gateway'}, 'mtu'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'576', 'max'=>'1500', 'default'=>'1500', 'help-string'=>'Maximum Transmission Unit for the interface'}, 'speed-duplex'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'auto-negotiate', 'help-string'=>'Speed and duplex for the interface', 'enum'=>[{'value'=>'auto-negotiate'}, {'value'=>'10Mbps-half-duplex'}, {'value'=>'10Mbps-full-duplex'}, {'value'=>'100Mbps-half-duplex'}, {'value'=>'100Mbps-full-duplex'}, {'value'=>'1Gbps-half-duplex'}, {'value'=>'1Gbps-full-duplex'}]}, 'ipv6-address'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'unicast-with-mask'=>'yes', 'ipv6-only'=>'yes', 'help-string'=>'IPv6 address for the management interface'}, 'ipv6-default-gateway'=>{'node-type'=>'element', 'optional'=>'yes', 'unicast-only'=>'yes', 'type'=>'ipspec', 'help-string'=>'IPv6 Default gateway'}, 'authentication-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'Authentication profile to use for non-local admins. Only RADIUS, TACACS+ and authentication sequence are supported.'}, 'syslog-certificate'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'help-string'=>'client certificate for syslog'}, 'timezone'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'enum'=>[{'value'=>'Africa/Abidjan'}, {'value'=>'Africa/Accra'}, {'value'=>'Africa/Addis_Ababa'}, {'value'=>'Africa/Algiers'}, {'value'=>'Africa/Asmara'}, {'value'=>'Africa/Asmera'}, {'value'=>'Africa/Bamako'}, {'value'=>'Africa/Bangui'}, {'value'=>'Africa/Banjul'}, {'value'=>'Africa/Bissau'}, {'value'=>'Africa/Blantyre'}, {'value'=>'Africa/Brazzaville'}, {'value'=>'Africa/Bujumbura'}, {'value'=>'Africa/Cairo'}, {'value'=>'Africa/Casablanca'}, {'value'=>'Africa/Ceuta'}, {'value'=>'Africa/Conakry'}, {'value'=>'Africa/Dakar'}, {'value'=>'Africa/Dar_es_Salaam'}, {'value'=>'Africa/Djibouti'}, {'value'=>'Africa/Douala'}, {'value'=>'Africa/El_Aaiun'}, {'value'=>'Africa/Freetown'}, {'value'=>'Africa/Gaborone'}, {'value'=>'Africa/Harare'}, {'value'=>'Africa/Johannesburg'}, {'value'=>'Africa/Kampala'}, {'value'=>'Africa/Khartoum'}, {'value'=>'Africa/Kigali'}, {'value'=>'Africa/Kinshasa'}, {'value'=>'Africa/Lagos'}, {'value'=>'Africa/Libreville'}, {'value'=>'Africa/Lome'}, {'value'=>'Africa/Luanda'}, {'value'=>'Africa/Lubumbashi'}, {'value'=>'Africa/Lusaka'}, {'value'=>'Africa/Malabo'}, {'value'=>'Africa/Maputo'}, {'value'=>'Africa/Maseru'}, {'value'=>'Africa/Mbabane'}, {'value'=>'Africa/Mogadishu'}, {'value'=>'Africa/Monrovia'}, {'value'=>'Africa/Nairobi'}, {'value'=>'Africa/Ndjamena'}, {'value'=>'Africa/Niamey'}, {'value'=>'Africa/Nouakchott'}, {'value'=>'Africa/Ouagadougou'}, {'value'=>'Africa/Porto-Novo'}, {'value'=>'Africa/Sao_Tome'}, {'value'=>'Africa/Timbuktu'}, {'value'=>'Africa/Tripoli'}, {'value'=>'Africa/Tunis'}, {'value'=>'Africa/Windhoek'}, {'value'=>'America/Adak'}, {'value'=>'America/Anchorage'}, {'value'=>'America/Anguilla'}, {'value'=>'America/Antigua'}, {'value'=>'America/Araguaina'}, {'value'=>'America/Argentina/Buenos_Aires'}, {'value'=>'America/Argentina/Catamarca'}, {'value'=>'America/Argentina/ComodRivadavia'}, {'value'=>'America/Argentina/Cordoba'}, {'value'=>'America/Argentina/Jujuy'}, {'value'=>'America/Argentina/La_Rioja'}, {'value'=>'America/Argentina/Mendoza'}, {'value'=>'America/Argentina/Rio_Gallegos'}, {'value'=>'America/Argentina/Salta'}, {'value'=>'America/Argentina/San_Juan'}, {'value'=>'America/Argentina/San_Luis'}, {'value'=>'America/Argentina/Tucuman'}, {'value'=>'America/Argentina/Ushuaia'}, {'value'=>'America/Aruba'}, {'value'=>'America/Asuncion'}, {'value'=>'America/Atikokan'}, {'value'=>'America/Atka'}, {'value'=>'America/Bahia'}, {'value'=>'America/Barbados'}, {'value'=>'America/Belem'}, {'value'=>'America/Belize'}, {'value'=>'America/Blanc-Sablon'}, {'value'=>'America/Boa_Vista'}, {'value'=>'America/Bogota'}, {'value'=>'America/Boise'}, {'value'=>'America/Buenos_Aires'}, {'value'=>'America/Cambridge_Bay'}, {'value'=>'America/Campo_Grande'}, {'value'=>'America/Cancun'}, {'value'=>'America/Caracas'}, {'value'=>'America/Catamarca'}, {'value'=>'America/Cayenne'}, {'value'=>'America/Cayman'}, {'value'=>'America/Chicago'}, {'value'=>'America/Chihuahua'}, {'value'=>'America/Coral_Harbour'}, {'value'=>'America/Cordoba'}, {'value'=>'America/Costa_Rica'}, {'value'=>'America/Cuiaba'}, {'value'=>'America/Curacao'}, {'value'=>'America/Danmarkshavn'}, {'value'=>'America/Dawson'}, {'value'=>'America/Dawson_Creek'}, {'value'=>'America/Denver'}, {'value'=>'America/Detroit'}, {'value'=>'America/Dominica'}, {'value'=>'America/Edmonton'}, {'value'=>'America/Eirunepe'}, {'value'=>'America/El_Salvador'}, {'value'=>'America/Ensenada'}, {'value'=>'America/Fortaleza'}, {'value'=>'America/Fort_Wayne'}, {'value'=>'America/Glace_Bay'}, {'value'=>'America/Godthab'}, {'value'=>'America/Goose_Bay'}, {'value'=>'America/Grand_Turk'}, {'value'=>'America/Grenada'}, {'value'=>'America/Guadeloupe'}, {'value'=>'America/Guatemala'}, {'value'=>'America/Guayaquil'}, {'value'=>'America/Guyana'}, {'value'=>'America/Halifax'}, {'value'=>'America/Havana'}, {'value'=>'America/Hermosillo'}, {'value'=>'America/Indiana/Indianapolis'}, {'value'=>'America/Indiana/Knox'}, {'value'=>'America/Indiana/Marengo'}, {'value'=>'America/Indiana/Petersburg'}, {'value'=>'America/Indianapolis'}, {'value'=>'America/Indiana/Tell_City'}, {'value'=>'America/Indiana/Vevay'}, {'value'=>'America/Indiana/Vincennes'}, {'value'=>'America/Indiana/Winamac'}, {'value'=>'America/Inuvik'}, {'value'=>'America/Iqaluit'}, {'value'=>'America/Jamaica'}, {'value'=>'America/Jujuy'}, {'value'=>'America/Juneau'}, {'value'=>'America/Kentucky/Louisville'}, {'value'=>'America/Kentucky/Monticello'}, {'value'=>'America/Knox_IN'}, {'value'=>'America/La_Paz'}, {'value'=>'America/Lima'}, {'value'=>'America/Los_Angeles'}, {'value'=>'America/Louisville'}, {'value'=>'America/Maceio'}, {'value'=>'America/Managua'}, {'value'=>'America/Manaus'}, {'value'=>'America/Marigot'}, {'value'=>'America/Martinique'}, {'value'=>'America/Mazatlan'}, {'value'=>'America/Mendoza'}, {'value'=>'America/Menominee'}, {'value'=>'America/Merida'}, {'value'=>'America/Mexico_City'}, {'value'=>'America/Miquelon'}, {'value'=>'America/Moncton'}, {'value'=>'America/Monterrey'}, {'value'=>'America/Montevideo'}, {'value'=>'America/Montreal'}, {'value'=>'America/Montserrat'}, {'value'=>'America/Nassau'}, {'value'=>'America/New_York'}, {'value'=>'America/Nipigon'}, {'value'=>'America/Nome'}, {'value'=>'America/Noronha'}, {'value'=>'America/North_Dakota/Center'}, {'value'=>'America/North_Dakota/New_Salem'}, {'value'=>'America/Panama'}, {'value'=>'America/Pangnirtung'}, {'value'=>'America/Paramaribo'}, {'value'=>'America/Phoenix'}, {'value'=>'America/Port-au-Prince'}, {'value'=>'America/Porto_Acre'}, {'value'=>'America/Port_of_Spain'}, {'value'=>'America/Porto_Velho'}, {'value'=>'America/Puerto_Rico'}, {'value'=>'America/Rainy_River'}, {'value'=>'America/Rankin_Inlet'}, {'value'=>'America/Recife'}, {'value'=>'America/Regina'}, {'value'=>'America/Resolute'}, {'value'=>'America/Rio_Branco'}, {'value'=>'America/Rosario'}, {'value'=>'America/Santarem'}, {'value'=>'America/Santiago'}, {'value'=>'America/Santo_Domingo'}, {'value'=>'America/Sao_Paulo'}, {'value'=>'America/Scoresbysund'}, {'value'=>'America/Shiprock'}, {'value'=>'America/St_Barthelemy'}, {'value'=>'America/St_Johns'}, {'value'=>'America/St_Kitts'}, {'value'=>'America/St_Lucia'}, {'value'=>'America/St_Thomas'}, {'value'=>'America/St_Vincent'}, {'value'=>'America/Swift_Current'}, {'value'=>'America/Tegucigalpa'}, {'value'=>'America/Thule'}, {'value'=>'America/Thunder_Bay'}, {'value'=>'America/Tijuana'}, {'value'=>'America/Toronto'}, {'value'=>'America/Tortola'}, {'value'=>'America/Vancouver'}, {'value'=>'America/Virgin'}, {'value'=>'America/Whitehorse'}, {'value'=>'America/Winnipeg'}, {'value'=>'America/Yakutat'}, {'value'=>'America/Yellowknife'}, {'value'=>'Antarctica/Casey'}, {'value'=>'Antarctica/Davis'}, {'value'=>'Antarctica/DumontDUrville'}, {'value'=>'Antarctica/Mawson'}, {'value'=>'Antarctica/McMurdo'}, {'value'=>'Antarctica/Palmer'}, {'value'=>'Antarctica/Rothera'}, {'value'=>'Antarctica/South_Pole'}, {'value'=>'Antarctica/Syowa'}, {'value'=>'Antarctica/Vostok'}, {'value'=>'Arctic/Longyearbyen'}, {'value'=>'Asia/Aden'}, {'value'=>'Asia/Almaty'}, {'value'=>'Asia/Amman'}, {'value'=>'Asia/Anadyr'}, {'value'=>'Asia/Aqtau'}, {'value'=>'Asia/Aqtobe'}, {'value'=>'Asia/Ashgabat'}, {'value'=>'Asia/Ashkhabad'}, {'value'=>'Asia/Baghdad'}, {'value'=>'Asia/Bahrain'}, {'value'=>'Asia/Baku'}, {'value'=>'Asia/Bangkok'}, {'value'=>'Asia/Beirut'}, {'value'=>'Asia/Bishkek'}, {'value'=>'Asia/Brunei'}, {'value'=>'Asia/Calcutta'}, {'value'=>'Asia/Choibalsan'}, {'value'=>'Asia/Chongqing'}, {'value'=>'Asia/Chungking'}, {'value'=>'Asia/Colombo'}, {'value'=>'Asia/Dacca'}, {'value'=>'Asia/Damascus'}, {'value'=>'Asia/Dhaka'}, {'value'=>'Asia/Dili'}, {'value'=>'Asia/Dubai'}, {'value'=>'Asia/Dushanbe'}, {'value'=>'Asia/Gaza'}, {'value'=>'Asia/Harbin'}, {'value'=>'Asia/Ho_Chi_Minh'}, {'value'=>'Asia/Hong_Kong'}, {'value'=>'Asia/Hovd'}, {'value'=>'Asia/Irkutsk'}, {'value'=>'Asia/Istanbul'}, {'value'=>'Asia/Jakarta'}, {'value'=>'Asia/Jayapura'}, {'value'=>'Asia/Jerusalem'}, {'value'=>'Asia/Kabul'}, {'value'=>'Asia/Kamchatka'}, {'value'=>'Asia/Karachi'}, {'value'=>'Asia/Kashgar'}, {'value'=>'Asia/Kathmandu'}, {'value'=>'Asia/Katmandu'}, {'value'=>'Asia/Kolkata'}, {'value'=>'Asia/Krasnoyarsk'}, {'value'=>'Asia/Kuala_Lumpur'}, {'value'=>'Asia/Kuching'}, {'value'=>'Asia/Kuwait'}, {'value'=>'Asia/Macao'}, {'value'=>'Asia/Macau'}, {'value'=>'Asia/Magadan'}, {'value'=>'Asia/Makassar'}, {'value'=>'Asia/Manila'}, {'value'=>'Asia/Muscat'}, {'value'=>'Asia/Nicosia'}, {'value'=>'Asia/Novokuznetsk'}, {'value'=>'Asia/Novosibirsk'}, {'value'=>'Asia/Omsk'}, {'value'=>'Asia/Oral'}, {'value'=>'Asia/Phnom_Penh'}, {'value'=>'Asia/Pontianak'}, {'value'=>'Asia/Pyongyang'}, {'value'=>'Asia/Qatar'}, {'value'=>'Asia/Qyzylorda'}, {'value'=>'Asia/Rangoon'}, {'value'=>'Asia/Riyadh'}, {'value'=>'Asia/Riyadh87'}, {'value'=>'Asia/Riyadh88'}, {'value'=>'Asia/Riyadh89'}, {'value'=>'Asia/Saigon'}, {'value'=>'Asia/Sakhalin'}, {'value'=>'Asia/Samarkand'}, {'value'=>'Asia/Seoul'}, {'value'=>'Asia/Shanghai'}, {'value'=>'Asia/Singapore'}, {'value'=>'Asia/Taipei'}, {'value'=>'Asia/Tashkent'}, {'value'=>'Asia/Tbilisi'}, {'value'=>'Asia/Tehran'}, {'value'=>'Asia/Tel_Aviv'}, {'value'=>'Asia/Thimbu'}, {'value'=>'Asia/Thimphu'}, {'value'=>'Asia/Tokyo'}, {'value'=>'Asia/Ujung_Pandang'}, {'value'=>'Asia/Ulaanbaatar'}, {'value'=>'Asia/Ulan_Bator'}, {'value'=>'Asia/Urumqi'}, {'value'=>'Asia/Vientiane'}, {'value'=>'Asia/Vladivostok'}, {'value'=>'Asia/Yakutsk'}, {'value'=>'Asia/Yekaterinburg'}, {'value'=>'Asia/Yerevan'}, {'value'=>'Atlantic/Azores'}, {'value'=>'Atlantic/Bermuda'}, {'value'=>'Atlantic/Canary'}, {'value'=>'Atlantic/Cape_Verde'}, {'value'=>'Atlantic/Faeroe'}, {'value'=>'Atlantic/Faroe'}, {'value'=>'Atlantic/Jan_Mayen'}, {'value'=>'Atlantic/Madeira'}, {'value'=>'Atlantic/Reykjavik'}, {'value'=>'Atlantic/South_Georgia'}, {'value'=>'Atlantic/Stanley'}, {'value'=>'Atlantic/St_Helena'}, {'value'=>'Australia/ACT'}, {'value'=>'Australia/Adelaide'}, {'value'=>'Australia/Brisbane'}, {'value'=>'Australia/Broken_Hill'}, {'value'=>'Australia/Canberra'}, {'value'=>'Australia/Currie'}, {'value'=>'Australia/Darwin'}, {'value'=>'Australia/Eucla'}, {'value'=>'Australia/Hobart'}, {'value'=>'Australia/LHI'}, {'value'=>'Australia/Lindeman'}, {'value'=>'Australia/Lord_Howe'}, {'value'=>'Australia/Melbourne'}, {'value'=>'Australia/North'}, {'value'=>'Australia/NSW'}, {'value'=>'Australia/Perth'}, {'value'=>'Australia/Queensland'}, {'value'=>'Australia/South'}, {'value'=>'Australia/Sydney'}, {'value'=>'Australia/Tasmania'}, {'value'=>'Australia/Victoria'}, {'value'=>'Australia/West'}, {'value'=>'Australia/Yancowinna'}, {'value'=>'Brazil/Acre'}, {'value'=>'Brazil/DeNoronha'}, {'value'=>'Brazil/East'}, {'value'=>'Brazil/West'}, {'value'=>'Canada/Atlantic'}, {'value'=>'Canada/Central'}, {'value'=>'Canada/Eastern'}, {'value'=>'Canada/East-Saskatchewan'}, {'value'=>'Canada/Mountain'}, {'value'=>'Canada/Newfoundland'}, {'value'=>'Canada/Pacific'}, {'value'=>'Canada/Saskatchewan'}, {'value'=>'Canada/Yukon'}, {'value'=>'CET'}, {'value'=>'Chile/Continental'}, {'value'=>'Chile/EasterIsland'}, {'value'=>'CST6CDT'}, {'value'=>'Cuba'}, {'value'=>'EET'}, {'value'=>'Egypt'}, {'value'=>'Eire'}, {'value'=>'EST'}, {'value'=>'EST5EDT'}, {'value'=>'Etc/GMT'}, {'value'=>'Etc/GMT0'}, {'value'=>'Etc/GMT-0'}, {'value'=>'Etc/GMT+0'}, {'value'=>'Etc/GMT-1'}, {'value'=>'Etc/GMT+1'}, {'value'=>'Etc/GMT-10'}, {'value'=>'Etc/GMT+10'}, {'value'=>'Etc/GMT-11'}, {'value'=>'Etc/GMT+11'}, {'value'=>'Etc/GMT-12'}, {'value'=>'Etc/GMT+12'}, {'value'=>'Etc/GMT-13'}, {'value'=>'Etc/GMT-14'}, {'value'=>'Etc/GMT-2'}, {'value'=>'Etc/GMT+2'}, {'value'=>'Etc/GMT-3'}, {'value'=>'Etc/GMT+3'}, {'value'=>'Etc/GMT-4'}, {'value'=>'Etc/GMT+4'}, {'value'=>'Etc/GMT-5'}, {'value'=>'Etc/GMT+5'}, {'value'=>'Etc/GMT-6'}, {'value'=>'Etc/GMT+6'}, {'value'=>'Etc/GMT-7'}, {'value'=>'Etc/GMT+7'}, {'value'=>'Etc/GMT-8'}, {'value'=>'Etc/GMT+8'}, {'value'=>'Etc/GMT-9'}, {'value'=>'Etc/GMT+9'}, {'value'=>'Etc/Greenwich'}, {'value'=>'Etc/UCT'}, {'value'=>'Etc/Universal'}, {'value'=>'Etc/UTC'}, {'value'=>'Etc/Zulu'}, {'value'=>'Europe/Amsterdam'}, {'value'=>'Europe/Andorra'}, {'value'=>'Europe/Athens'}, {'value'=>'Europe/Belfast'}, {'value'=>'Europe/Belgrade'}, {'value'=>'Europe/Berlin'}, {'value'=>'Europe/Bratislava'}, {'value'=>'Europe/Brussels'}, {'value'=>'Europe/Bucharest'}, {'value'=>'Europe/Budapest'}, {'value'=>'Europe/Chisinau'}, {'value'=>'Europe/Copenhagen'}, {'value'=>'Europe/Dublin'}, {'value'=>'Europe/Gibraltar'}, {'value'=>'Europe/Guernsey'}, {'value'=>'Europe/Helsinki'}, {'value'=>'Europe/Isle_of_Man'}, {'value'=>'Europe/Istanbul'}, {'value'=>'Europe/Jersey'}, {'value'=>'Europe/Kaliningrad'}, {'value'=>'Europe/Kiev'}, {'value'=>'Europe/Lisbon'}, {'value'=>'Europe/Ljubljana'}, {'value'=>'Europe/London'}, {'value'=>'Europe/Luxembourg'}, {'value'=>'Europe/Madrid'}, {'value'=>'Europe/Malta'}, {'value'=>'Europe/Mariehamn'}, {'value'=>'Europe/Minsk'}, {'value'=>'Europe/Monaco'}, {'value'=>'Europe/Moscow'}, {'value'=>'Europe/Nicosia'}, {'value'=>'Europe/Oslo'}, {'value'=>'Europe/Paris'}, {'value'=>'Europe/Podgorica'}, {'value'=>'Europe/Prague'}, {'value'=>'Europe/Riga'}, {'value'=>'Europe/Rome'}, {'value'=>'Europe/Samara'}, {'value'=>'Europe/San_Marino'}, {'value'=>'Europe/Sarajevo'}, {'value'=>'Europe/Simferopol'}, {'value'=>'Europe/Skopje'}, {'value'=>'Europe/Sofia'}, {'value'=>'Europe/Stockholm'}, {'value'=>'Europe/Tallinn'}, {'value'=>'Europe/Tirane'}, {'value'=>'Europe/Tiraspol'}, {'value'=>'Europe/Uzhgorod'}, {'value'=>'Europe/Vaduz'}, {'value'=>'Europe/Vatican'}, {'value'=>'Europe/Vienna'}, {'value'=>'Europe/Vilnius'}, {'value'=>'Europe/Volgograd'}, {'value'=>'Europe/Warsaw'}, {'value'=>'Europe/Zagreb'}, {'value'=>'Europe/Zaporozhye'}, {'value'=>'Europe/Zurich'}, {'value'=>'Factory'}, {'value'=>'GB'}, {'value'=>'GB-Eire'}, {'value'=>'GMT'}, {'value'=>'GMT0'}, {'value'=>'GMT-0'}, {'value'=>'GMT+0'}, {'value'=>'Greenwich'}, {'value'=>'Hongkong'}, {'value'=>'HST'}, {'value'=>'Iceland'}, {'value'=>'Indian/Antananarivo'}, {'value'=>'Indian/Chagos'}, {'value'=>'Indian/Christmas'}, {'value'=>'Indian/Cocos'}, {'value'=>'Indian/Comoro'}, {'value'=>'Indian/Kerguelen'}, {'value'=>'Indian/Mahe'}, {'value'=>'Indian/Maldives'}, {'value'=>'Indian/Mauritius'}, {'value'=>'Indian/Mayotte'}, {'value'=>'Indian/Reunion'}, {'value'=>'Iran'}, {'value'=>'Israel'}, {'value'=>'Jamaica'}, {'value'=>'Japan'}, {'value'=>'Kwajalein'}, {'value'=>'Libya'}, {'value'=>'MET'}, {'value'=>'Mexico/BajaNorte'}, {'value'=>'Mexico/BajaSur'}, {'value'=>'Mexico/General'}, {'value'=>'Mideast/Riyadh87'}, {'value'=>'Mideast/Riyadh88'}, {'value'=>'Mideast/Riyadh89'}, {'value'=>'MST'}, {'value'=>'MST7MDT'}, {'value'=>'Navajo'}, {'value'=>'NZ'}, {'value'=>'NZ-CHAT'}, {'value'=>'Pacific/Apia'}, {'value'=>'Pacific/Auckland'}, {'value'=>'Pacific/Chatham'}, {'value'=>'Pacific/Easter'}, {'value'=>'Pacific/Efate'}, {'value'=>'Pacific/Enderbury'}, {'value'=>'Pacific/Fakaofo'}, {'value'=>'Pacific/Fiji'}, {'value'=>'Pacific/Funafuti'}, {'value'=>'Pacific/Galapagos'}, {'value'=>'Pacific/Gambier'}, {'value'=>'Pacific/Guadalcanal'}, {'value'=>'Pacific/Guam'}, {'value'=>'Pacific/Honolulu'}, {'value'=>'Pacific/Johnston'}, {'value'=>'Pacific/Kiritimati'}, {'value'=>'Pacific/Kosrae'}, {'value'=>'Pacific/Kwajalein'}, {'value'=>'Pacific/Majuro'}, {'value'=>'Pacific/Marquesas'}, {'value'=>'Pacific/Midway'}, {'value'=>'Pacific/Nauru'}, {'value'=>'Pacific/Niue'}, {'value'=>'Pacific/Norfolk'}, {'value'=>'Pacific/Noumea'}, {'value'=>'Pacific/Pago_Pago'}, {'value'=>'Pacific/Palau'}, {'value'=>'Pacific/Pitcairn'}, {'value'=>'Pacific/Ponape'}, {'value'=>'Pacific/Port_Moresby'}, {'value'=>'Pacific/Rarotonga'}, {'value'=>'Pacific/Saipan'}, {'value'=>'Pacific/Samoa'}, {'value'=>'Pacific/Tahiti'}, {'value'=>'Pacific/Tarawa'}, {'value'=>'Pacific/Tongatapu'}, {'value'=>'Pacific/Truk'}, {'value'=>'Pacific/Wake'}, {'value'=>'Pacific/Wallis'}, {'value'=>'Pacific/Yap'}, {'value'=>'Poland'}, {'value'=>'Portugal'}, {'value'=>'PRC'}, {'value'=>'PST8PDT'}, {'value'=>'ROC'}, {'value'=>'ROK'}, {'value'=>'Singapore'}, {'value'=>'Turkey'}, {'value'=>'UCT'}, {'value'=>'Universal'}, {'value'=>'US/Alaska'}, {'value'=>'US/Aleutian'}, {'value'=>'US/Arizona'}, {'value'=>'US/Central'}, {'value'=>'US/Eastern'}, {'value'=>'US/East-Indiana'}, {'value'=>'US/Hawaii'}, {'value'=>'US/Indiana-Starke'}, {'value'=>'US/Michigan'}, {'value'=>'US/Mountain'}, {'value'=>'US/Pacific'}, {'value'=>'US/Samoa'}, {'value'=>'UTC'}, {'value'=>'WET'}, {'value'=>'W-SU'}, {'value'=>'Zulu'}]}, 'domain'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'32', 'subtype'=>'strict-dns-name'}, 'panorama-server'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^([0-9a-zA-Z:./_-])+$', 'maxlen'=>'63', 'help-string'=>'Panorama server (IP address or FQDN)'}, 'panorama-server-2'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^([0-9a-zA-Z:./_-])+$', 'maxlen'=>'63', 'help-string'=>'Panorama server 2 (IP address or FQDN)'}, 'login-banner'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'3200'}, 'update-server'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^([0-9a-zA-Z./_-])+$', 'maxlen'=>'63', 'help-string'=>'PaloAlto Networks update server', 'default'=>'wildfire.paloaltonetworks.com'}, 'server-verification'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Verify update server identity'}, 'secure-proxy-server'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^[^-]([0-9a-zA-Z.:/_-])+$', 'maxlen'=>'63', 'help-string'=>'Secure Proxy server to use'}, 'secure-proxy-port'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'65535', 'help-string'=>'Port for secure proxy server'}, 'secure-proxy-user'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'help-string'=>'Secure Proxy user name to use'}, 'secure-proxy-password'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'encrypt'=>'yes', 'help-string'=>'Secure Proxy password to use'}} # alphanumeric string [a-zA-Z0-9._-] def hostname prop_get('hostname') end # alphanumeric string [a-zA-Z0-9._-] def hostname=(val) prop_set('hostname', val) end # IP address for the interface def ip_address prop_get('ip-address') end # IP address for the interface def ip_address=(val) prop_set('ip-address', val) end # IP netmask for the interface def netmask prop_get('netmask') end # IP netmask for the interface def netmask=(val) prop_set('netmask', val) end # Default gateway def default_gateway prop_get('default-gateway') end # Default gateway def default_gateway=(val) prop_set('default-gateway', val) end # Maximum Transmission Unit for the interface def mtu prop_get('mtu') end # Maximum Transmission Unit for the interface def mtu=(val) prop_set('mtu', val) end # Speed and duplex for the interface def speed_duplex prop_get('speed-duplex') end # Speed and duplex for the interface def speed_duplex=(val) prop_set('speed-duplex', val) end # IPv6 address for the management interface def ipv6_address prop_get('ipv6-address') end # IPv6 address for the management interface def ipv6_address=(val) prop_set('ipv6-address', val) end # IPv6 Default gateway def ipv6_default_gateway prop_get('ipv6-default-gateway') end # IPv6 Default gateway def ipv6_default_gateway=(val) prop_set('ipv6-default-gateway', val) end # Authentication profile to use for non-local admins. Only RADIUS, TACACS+ and authentication sequence are supported. def authentication_profile prop_get('authentication-profile') end # Authentication profile to use for non-local admins. Only RADIUS, TACACS+ and authentication sequence are supported. def authentication_profile=(val) prop_set('authentication-profile', val) end # client certificate for syslog def syslog_certificate prop_get('syslog-certificate') end # client certificate for syslog def syslog_certificate=(val) prop_set('syslog-certificate', val) end def timezone prop_get('timezone') end def timezone=(val) prop_set('timezone', val) end def domain prop_get('domain') end def domain=(val) prop_set('domain', val) end # Panorama server (IP address or FQDN) def panorama_server prop_get('panorama-server') end # Panorama server (IP address or FQDN) def panorama_server=(val) prop_set('panorama-server', val) end # Panorama server 2 (IP address or FQDN) def panorama_server_2 prop_get('panorama-server-2') end # Panorama server 2 (IP address or FQDN) def panorama_server_2=(val) prop_set('panorama-server-2', val) end def login_banner prop_get('login-banner') end def login_banner=(val) prop_set('login-banner', val) end # PaloAlto Networks update server def update_server prop_get('update-server') end # PaloAlto Networks update server def update_server=(val) prop_set('update-server', val) end # Verify update server identity def server_verification prop_get('server-verification') end # Verify update server identity def server_verification=(val) prop_set('server-verification', val) end # Secure Proxy server to use def secure_proxy_server prop_get('secure-proxy-server') end # Secure Proxy server to use def secure_proxy_server=(val) prop_set('secure-proxy-server', val) end # Port for secure proxy server def secure_proxy_port prop_get('secure-proxy-port') end # Port for secure proxy server def secure_proxy_port=(val) prop_set('secure-proxy-port', val) end # Secure Proxy user name to use def secure_proxy_user prop_get('secure-proxy-user') end # Secure Proxy user name to use def secure_proxy_user=(val) prop_set('secure-proxy-user', val) end # Secure Proxy password to use def secure_proxy_password prop_get('secure-proxy-password') end # Secure Proxy password to use def secure_proxy_password=(val) prop_set('secure-proxy-password', val) end end def system @subclasses['system'] ||= System.new(parent_instance: self, client: @client, create_children: @create_children) end class Setting < ConfigClass def has_multiple_values?; false; end def _section :setting end class Wildfire < ConfigClass def has_multiple_values?; false; end def _section :wildfire end class CloudIntelligence < ConfigClass def has_multiple_values?; false; end def _section :'cloud-intelligence' end @props = {'submit-report'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Automatically submit xml report of malwares to public cloud, turned off when submit-sample is on', 'ui-hint'=>'"fieldLabel": "Send Analysis Data"'}, 'submit-sample'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Automatically submit malwares to public cloud', 'ui-hint'=>'"fieldLabel": "Send Malicious Samples"'}, 'submit-diagnostics'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Automatically diagnostic and statistic information to public cloud.', 'ui-hint'=>'"fieldLabel": "Send Diagnostics"'}, 'cloud-query'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Automatically query public cloud before local analysis', 'ui-hint'=>'"fieldLabel": "Verdict Lookup"'}} # Automatically submit xml report of malwares to public cloud, turned off when submit-sample is on def submit_report prop_get('submit-report') end # Automatically submit xml report of malwares to public cloud, turned off when submit-sample is on def submit_report=(val) prop_set('submit-report', val) end # Automatically submit malwares to public cloud def submit_sample prop_get('submit-sample') end # Automatically submit malwares to public cloud def submit_sample=(val) prop_set('submit-sample', val) end # Automatically diagnostic and statistic information to public cloud. def submit_diagnostics prop_get('submit-diagnostics') end # Automatically diagnostic and statistic information to public cloud. def submit_diagnostics=(val) prop_set('submit-diagnostics', val) end # Automatically query public cloud before local analysis def cloud_query prop_get('cloud-query') end # Automatically query public cloud before local analysis def cloud_query=(val) prop_set('cloud-query', val) end end def cloud_intelligence @subclasses['cloud-intelligence'] ||= CloudIntelligence.new(parent_instance: self, client: @client, create_children: @create_children) end class SignatureGeneration < ConfigClass def has_multiple_values?; false; end def _section :'signature-generation' end @props = {'av'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Generate AV signatures'}, 'dns'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Generate DNS signatures'}, 'url'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'yes', 'help-string'=>'Generate URL signatures'}} # Generate AV signatures def av prop_get('av') end # Generate AV signatures def av=(val) prop_set('av', val) end # Generate DNS signatures def dns prop_get('dns') end # Generate DNS signatures def dns=(val) prop_set('dns', val) end # Generate URL signatures def url prop_get('url') end # Generate URL signatures def url=(val) prop_set('url', val) end end def signature_generation @subclasses['signature-generation'] ||= SignatureGeneration.new(parent_instance: self, client: @client, create_children: @create_children) end class FileRetention < ConfigClass def has_multiple_values?; false; end def _section :'file-retention' end @props = {'non-malicious'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'90', 'default'=>'14', 'help-string'=>'Benign/Grayware file retention (days). Default is 14.', 'ui-hint'=>'"unitText": "days","fieldLabel": "Benign/Grayware"'}, 'malicious'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'default'=>'indefinite', 'help-string'=>'Malicious file retention (indefinite or days)', 'ui-hint'=>'"unitText": "days","fieldLabel": "Malicious"', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'2000', 'help-string'=>'Keep from 1 to 2000 days'}, 'enum'=>[{'value'=>'indefinite', 'help-string'=>'Keep indefinitely (default)'}]}}} # Benign/Grayware file retention (days). Default is 14. def non_malicious prop_get('non-malicious') end # Benign/Grayware file retention (days). Default is 14. def non_malicious=(val) prop_set('non-malicious', val) end # Malicious file retention (indefinite or days) def malicious prop_get('malicious') end # Malicious file retention (indefinite or days) def malicious=(val) prop_set('malicious', val) end end def file_retention @subclasses['file-retention'] ||= FileRetention.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'active-vm'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'10', 'default'=>'vm-5', 'optional'=>'yes', 'complete-handler'=>'wf-appliance-vm-images-completer', 'ui-hint'=>'"fieldLabel": "Sample Analysis Image"'}, 'cloud-server'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'^([a-zA-Z0-9./_-])+$', 'minlen'=>'1', 'maxlen'=>'63', 'default'=>'wildfire.paloaltonetworks.com', 'help-string'=>'Hostname for cloud server. Default is wildfire-public-cloud'}, 'vm-network-enable'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable/disable', 'ui-hint'=>'"fieldLabel": "Environment Networking"'}, 'vm-network-use-tor'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'enable/disable', 'ui-hint'=>'"fieldLabel": "Anonymous Networking"'}, 'custom-dns-name'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'minlen'=>'1', 'maxlen'=>'253', 'subtype'=>'strict-dns-name', 'ui-hint'=>'"fieldLabel": "External Load Balancer"', 'help-string'=>'use this dns name instead of the default (wfpc.service..) in server certificate and WildFire server list'}, 'preferred-analysis-environment'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'default'=>'default', 'help-string'=>'Set analysis resources allocation preference', 'enum'=>[{'value'=>'default', 'help-string'=>'No analysis resources allocation preference'}, {'value'=>'Executables', 'help-string'=>'Analysis resources allocation preference: Executables'}, {'value'=>'Documents', 'help-string'=>'Analysis resources allocation preference: Documents'}]}} def active_vm prop_get('active-vm') end def active_vm=(val) prop_set('active-vm', val) end # Hostname for cloud server. Default is wildfire-public-cloud def cloud_server prop_get('cloud-server') end # Hostname for cloud server. Default is wildfire-public-cloud def cloud_server=(val) prop_set('cloud-server', val) end # enable/disable def vm_network_enable prop_get('vm-network-enable') end # enable/disable def vm_network_enable=(val) prop_set('vm-network-enable', val) end # enable/disable def vm_network_use_tor prop_get('vm-network-use-tor') end # enable/disable def vm_network_use_tor=(val) prop_set('vm-network-use-tor', val) end # use this dns name instead of the default (wfpc.service..) in server certificate and WildFire server list def custom_dns_name prop_get('custom-dns-name') end # use this dns name instead of the default (wfpc.service..) in server certificate and WildFire server list def custom_dns_name=(val) prop_set('custom-dns-name', val) end # Set analysis resources allocation preference def preferred_analysis_environment prop_get('preferred-analysis-environment') end # Set analysis resources allocation preference def preferred_analysis_environment=(val) prop_set('preferred-analysis-environment', val) end end def wildfire @subclasses['wildfire'] ||= Wildfire.new(parent_instance: self, client: @client, create_children: @create_children) end class Management < ConfigClass def has_multiple_values?; false; end def _section :management end class Api < ConfigClass def has_multiple_values?; false; end def _section :api end class Key < ConfigClass def has_multiple_values?; false; end def _section :key end @props = {'lifetime'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'api key lifetime in minutes', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'525600'}, 'enum'=>[{'value'=>'0', 'help-string'=>'never'}]}}} # api key lifetime in minutes def lifetime prop_get('lifetime') end # api key lifetime in minutes def lifetime=(val) prop_set('lifetime', val) end end def key @subclasses['key'] ||= Key.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def api @subclasses['api'] ||= Api.new(parent_instance: self, client: @client, create_children: @create_children) end class AdminLockout < ConfigClass def has_multiple_values?; false; end def _section :'admin-lockout' end @props = {'failed-attempts'=>{'node-type'=>'element', 'default'=>'10', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'10', 'help-string'=>'Number of failed login attempts to trigger lock-out'}, 'lockout-time'=>{'node-type'=>'element', 'default'=>'5', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'60', 'help-string'=>'Number of minutes to lock-out'}} # Number of failed login attempts to trigger lock-out def failed_attempts prop_get('failed-attempts') end # Number of failed login attempts to trigger lock-out def failed_attempts=(val) prop_set('failed-attempts', val) end # Number of minutes to lock-out def lockout_time prop_get('lockout-time') end # Number of minutes to lock-out def lockout_time=(val) prop_set('lockout-time', val) end end def admin_lockout @subclasses['admin-lockout'] ||= AdminLockout.new(parent_instance: self, client: @client, create_children: @create_children) end class AdminSession < ConfigClass def has_multiple_values?; false; end def _section :'admin-session' end @props = {'max-session-count'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'4', 'default'=>'0', 'prune-on'=>'fips-mode', 'help-string'=>'Set the maximum number of sessions administrators are allowed'}, 'max-session-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'4', 'default'=>'0', 'prune-on'=>'fips-mode', 'help-string'=>'Set the maximum session time (0, 60-1499 minutes)', 'regex'=>'^((0)|([6-9][0-9])|([1-9][0-9][0-9])|(1[0-4][0-9][0-9]))$'}} # Set the maximum number of sessions administrators are allowed def max_session_count prop_get('max-session-count') end # Set the maximum number of sessions administrators are allowed def max_session_count=(val) prop_set('max-session-count', val) end # Set the maximum session time (0, 60-1499 minutes) def max_session_time prop_get('max-session-time') end # Set the maximum session time (0, 60-1499 minutes) def max_session_time=(val) prop_set('max-session-time', val) end end def admin_session @subclasses['admin-session'] ||= AdminSession.new(parent_instance: self, client: @client, create_children: @create_children) end class SecureConnServer < ConfigClass def has_multiple_values?; false; end def _section :'secure-conn-server' end class AuthorizationList < XML::ConfigClass def has_multiple_values?; true; end def _section :'authorization-list' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end class Identifier < XML::ConfigClass def has_multiple_values?; true; end def _section :identifier end class Subject < ConfigClass def has_multiple_values?; false; end def _section :subject end @props = {'common-name'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'.*', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'Subject Common Name'}} # Subject Common Name def common_name prop_get('common-name') end # Subject Common Name def common_name=(val) prop_set('common-name', val) end end def subject @subclasses['subject'] ||= Subject.new(parent_instance: self, client: @client, create_children: @create_children) end class SubjectAltName < ConfigClass def has_multiple_values?; false; end def _section :'subject-alt-name' end @props = {'ip'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'ipspec', 'help-string'=>'Subject alternate name IP'}, 'hostname'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'63', 'help-string'=>'Subject alternate name DNS'}, 'email'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'regex'=>'.*', 'maxlen'=>'255', 'help-string'=>'Email address of the contact person'}} # Subject alternate name IP def ip prop_get('ip') end # Subject alternate name IP def ip=(val) prop_set('ip', val) end # Subject alternate name DNS def hostname prop_get('hostname') end # Subject alternate name DNS def hostname=(val) prop_set('hostname', val) end # Email address of the contact person def email prop_get('email') end # Email address of the contact person def email=(val) prop_set('email', val) end end def subject_alt_name @subclasses['subject-alt-name'] ||= SubjectAltName.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def identifier maybe_register_subclass('identifier', Identifier.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'63', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def authorization_list maybe_register_subclass('authorization-list', AuthorizationList.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {'ssl-tls-service-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'optional'=>'yes', 'help-string'=>'SSL TLS service profile'}, 'certificate-profile'=>{'node-type'=>'element', 'type'=>'string', 'optional'=>'yes', 'maxlen'=>'255', 'help-string'=>'profile for verifying client certificates'}, 'disable-pre-defined-cert'=>{'node-type'=>'element', 'type'=>'bool', 'optional'=>'yes', 'default'=>'no', 'help-string'=>'Disable connections using predefined certificates. Default setting: \'no\''}, 'check-authorization-list'=>{'node-type'=>'element', 'type'=>'bool', 'default'=>'no', 'help'=>'Check the authorization table for permitting incoming client connections. Default setting : \'no\'', 'optional'=>'yes'}} # SSL TLS service profile def ssl_tls_service_profile prop_get('ssl-tls-service-profile') end # SSL TLS service profile def ssl_tls_service_profile=(val) prop_set('ssl-tls-service-profile', val) end # profile for verifying client certificates def certificate_profile prop_get('certificate-profile') end # profile for verifying client certificates def certificate_profile=(val) prop_set('certificate-profile', val) end # Disable connections using predefined certificates. Default setting: 'no' def disable_pre_defined_cert prop_get('disable-pre-defined-cert') end # Disable connections using predefined certificates. Default setting: 'no' def disable_pre_defined_cert=(val) prop_set('disable-pre-defined-cert', val) end def check_authorization_list prop_get('check-authorization-list') end def check_authorization_list=(val) prop_set('check-authorization-list', val) end end def secure_conn_server @subclasses['secure-conn-server'] ||= SecureConnServer.new(parent_instance: self, client: @client, create_children: @create_children) end class SecureConnClient < ConfigClass def has_multiple_values?; false; end def _section :'secure-conn-client' end class CertificateType < ConfigClass def has_multiple_values?; false; end def _section :'certificate-type' end class None < ConfigClass def has_multiple_values?; false; end def _section :none end @props = {} end def none @subclasses['none'] ||= None.new(parent_instance: self, client: @client, create_children: @create_children) end class Local < ConfigClass def has_multiple_values?; false; end def _section :local end @props = {'certificate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'maxlen'=>'255', 'help-string'=>'Custom certificate used in management connections to Panorama and Log collectors'}, 'certificate-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'optional'=>'yes'}} # Custom certificate used in management connections to Panorama and Log collectors def certificate prop_get('certificate') end # Custom certificate used in management connections to Panorama and Log collectors def certificate=(val) prop_set('certificate', val) end def certificate_profile prop_get('certificate-profile') end def certificate_profile=(val) prop_set('certificate-profile', val) end end def local @subclasses['local'] ||= Local.new(parent_instance: self, client: @client, create_children: @create_children) end class Scep < ConfigClass def has_multiple_values?; false; end def _section :scep end @props = {'scep-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'optional'=>'yes', 'help-string'=>'SCEP profile name'}, 'certificate-profile'=>{'node-type'=>'element', 'type'=>'string', 'maxlen'=>'255', 'optional'=>'yes'}} # SCEP profile name def scep_profile prop_get('scep-profile') end # SCEP profile name def scep_profile=(val) prop_set('scep-profile', val) end def certificate_profile prop_get('certificate-profile') end def certificate_profile=(val) prop_set('certificate-profile', val) end end def scep @subclasses['scep'] ||= Scep.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def certificate_type @subclasses['certificate-type'] ||= CertificateType.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def secure_conn_client @subclasses['secure-conn-client'] ||= SecureConnClient.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'idle-timeout'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'multiple', 'help-string'=>'default administrative session idle timeout in minutes', 'multi-types'=>{'rangedint'=>{'min'=>'1', 'max'=>'1440', 'help-string'=>'minutes'}, 'enum'=>[{'value'=>'0', 'help-string'=>'never timeout'}]}}} # default administrative session idle timeout in minutes def idle_timeout prop_get('idle-timeout') end # default administrative session idle timeout in minutes def idle_timeout=(val) prop_set('idle-timeout', val) end end def management @subclasses['management'] ||= Management.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def setting @subclasses['setting'] ||= Setting.new(parent_instance: self, client: @client, create_children: @create_children) end class HighAvailability < ConfigClass def has_multiple_values?; false; end def _section :'high-availability' end class Encryption < ConfigClass def has_multiple_values?; false; end def _section :encryption end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} def enabled prop_get('enabled') end def enabled=(val) prop_set('enabled', val) end end def encryption @subclasses['encryption'] ||= Encryption.new(parent_instance: self, client: @client, create_children: @create_children) end class ElectionOption < ConfigClass def has_multiple_values?; false; end def _section :'election-option' end class Timers < ConfigClass def has_multiple_values?; false; end def _section :timers end class Recommended < ConfigClass def has_multiple_values?; false; end def _section :recommended end @props = {} end def recommended @subclasses['recommended'] ||= Recommended.new(parent_instance: self, client: @client, create_children: @create_children) end class Aggressive < ConfigClass def has_multiple_values?; false; end def _section :aggressive end @props = {} end def aggressive @subclasses['aggressive'] ||= Aggressive.new(parent_instance: self, client: @client, create_children: @create_children) end class Advanced < ConfigClass def has_multiple_values?; false; end def _section :advanced end @props = {'promotion-hold-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'60000', 'default'=>'2000', 'help-string'=>'Interval in milliseconds to state change from Passive to Active, default 2000'}, 'hello-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'8000', 'max'=>'60000', 'default'=>'8000', 'help-string'=>'Interval in milliseconds to send Hello messages, default 8000'}, 'heartbeat-interval'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1000', 'max'=>'60000', 'default'=>'2000', 'help-string'=>'Interval in milliseconds to send Heartbeat pings, default 2000'}, 'preemption-hold-time'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'1', 'max'=>'60', 'default'=>'1', 'help-string'=>'Interval in minutes to stay in Passive before preempting Active device, default 1'}} # Interval in milliseconds to state change from Passive to Active, default 2000 def promotion_hold_time prop_get('promotion-hold-time') end # Interval in milliseconds to state change from Passive to Active, default 2000 def promotion_hold_time=(val) prop_set('promotion-hold-time', val) end # Interval in milliseconds to send Hello messages, default 8000 def hello_interval prop_get('hello-interval') end # Interval in milliseconds to send Hello messages, default 8000 def hello_interval=(val) prop_set('hello-interval', val) end # Interval in milliseconds to send Heartbeat pings, default 2000 def heartbeat_interval prop_get('heartbeat-interval') end # Interval in milliseconds to send Heartbeat pings, default 2000 def heartbeat_interval=(val) prop_set('heartbeat-interval', val) end # Interval in minutes to stay in Passive before preempting Active device, default 1 def preemption_hold_time prop_get('preemption-hold-time') end # Interval in minutes to stay in Passive before preempting Active device, default 1 def preemption_hold_time=(val) prop_set('preemption-hold-time', val) end end def advanced @subclasses['advanced'] ||= Advanced.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def timers @subclasses['timers'] ||= Timers.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'priority'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'enum', 'help-string'=>'Set priority of the local device', 'enum'=>[{'value'=>'primary', 'help-string'=>'Primary HA device'}, {'value'=>'secondary', 'help-string'=>'Secondary HA device'}]}, 'preemptive'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Configure on both HA peers to allow preemption by Passive device based on priority, default no'}} # Set priority of the local device def priority prop_get('priority') end # Set priority of the local device def priority=(val) prop_set('priority', val) end # Configure on both HA peers to allow preemption by Passive device based on priority, default no def preemptive prop_get('preemptive') end # Configure on both HA peers to allow preemption by Passive device based on priority, default no def preemptive=(val) prop_set('preemptive', val) end end def election_option @subclasses['election-option'] ||= ElectionOption.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no', 'help-string'=>'Enable high-availability'}} # Enable high-availability def enabled prop_get('enabled') end # Enable high-availability def enabled=(val) prop_set('enabled', val) end end def high_availability @subclasses['high-availability'] ||= HighAvailability.new(parent_instance: self, client: @client, create_children: @create_children) end class Cluster < ConfigClass def has_multiple_values?; false; end def _section :cluster end class ServiceAdvertisement < ConfigClass def has_multiple_values?; false; end def _section :'service-advertisement' end class DnsService < ConfigClass def has_multiple_values?; false; end def _section :'dns-service' end @props = {'enabled'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'bool', 'default'=>'no'}} def enabled prop_get('enabled') end def enabled=(val) prop_set('enabled', val) end end def dns_service @subclasses['dns-service'] ||= DnsService.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def service_advertisement @subclasses['service-advertisement'] ||= ServiceAdvertisement.new(parent_instance: self, client: @client, create_children: @create_children) end class Encryption < ConfigClass def has_multiple_values?; false; end def _section :encryption end @props = {'enabled'=>{'node-type'=>'element', 'type'=>'enum', 'default'=>'yes', 'help-string'=>'enable/disable cluster encrypted communication', 'enum'=>[{'value'=>'yes'}, {'value'=>'no', 'prune-on'=>'fips-mode'}]}} # enable/disable cluster encrypted communication def enabled prop_get('enabled') end # enable/disable cluster encrypted communication def enabled=(val) prop_set('enabled', val) end end def encryption @subclasses['encryption'] ||= Encryption.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def cluster @subclasses['cluster'] ||= Cluster.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def deviceconfig @subclasses['deviceconfig'] ||= Deviceconfig.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'64', 'regex'=>'^[0-9A-Z]+$', 'help-string'=>'Wildfire appliance serial number'}} # Wildfire appliance serial number def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def wildfire_appliance maybe_register_subclass('wildfire-appliance', WildfireAppliance.new(parent_instance: self, client: @client, create_children: @create_children)) end class Platform < ConfigClass def has_multiple_values?; false; end def _section :platform end class Limits < ConfigClass def has_multiple_values?; false; end def _section :limits end @props = {'licensed-mgt-devices'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'10000'}, 'max-device-group'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'10000'}, 'max-templates'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'10000'}, 'max-template-stacks'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'10000'}, 'max-ha-cluster-members'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'rangedint', 'min'=>'0', 'max'=>'16'}} def licensed_mgt_devices prop_get('licensed-mgt-devices') end def licensed_mgt_devices=(val) prop_set('licensed-mgt-devices', val) end def max_device_group prop_get('max-device-group') end def max_device_group=(val) prop_set('max-device-group', val) end def max_templates prop_get('max-templates') end def max_templates=(val) prop_set('max-templates', val) end def max_template_stacks prop_get('max-template-stacks') end def max_template_stacks=(val) prop_set('max-template-stacks', val) end def max_ha_cluster_members prop_get('max-ha-cluster-members') end def max_ha_cluster_members=(val) prop_set('max-ha-cluster-members', val) end end def limits @subclasses['limits'] ||= Limits.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def platform @subclasses['platform'] ||= Platform.new(parent_instance: self, client: @client, create_children: @create_children) end class Plugins < ConfigClass def has_multiple_values?; false; end def _section :plugins end class Sw_fw_license < ConfigClass def has_multiple_values?; false; end def _section :sw_fw_license end class LicenseManager < XML::ConfigClass def has_multiple_values?; true; end def _section :'license-manager' end class Entry < ArrayConfigClass def has_multiple_values?; false; end def _section :entry end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'minlen'=>'1', 'maxlen'=>'127', 'regex'=>'^[^\]\'\[]*$'}, 'device-group'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'template-stack'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'bootstrap-definition'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'auto-deactivate'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}, 'description'=>{'node-type'=>'element', 'optional'=>'yes', 'type'=>'string', 'minlen'=>'0', 'maxlen'=>'1023'}} def name prop_get('@name') end def device_group prop_get('device-group') end def device_group=(val) prop_set('device-group', val) end def template_stack prop_get('template-stack') end def template_stack=(val) prop_set('template-stack', val) end def bootstrap_definition prop_get('bootstrap-definition') end def bootstrap_definition=(val) prop_set('bootstrap-definition', val) end def auto_deactivate prop_get('auto-deactivate') end def auto_deactivate=(val) prop_set('auto-deactivate', val) end def description prop_get('description') end def description=(val) prop_set('description', val) end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def license_manager maybe_register_subclass('license-manager', LicenseManager.new(parent_instance: self, client: @client, create_children: @create_children)) end @props = {} end def sw_fw_license @subclasses['sw_fw_license'] ||= Sw_fw_license.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def plugins @subclasses['plugins'] ||= Plugins.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {'@name'=>{'node-type'=>'attr-req', 'type'=>'string', 'maxlen'=>'31', 'subtype'=>'object-name', 'help-string'=>'alphanumeric string [ 0-9a-zA-Z._-]'}} # alphanumeric string [ 0-9a-zA-Z._-] def name prop_get('@name') end end def selector_subclasses ['entry'] end def entries return @subclasses['entry'] end def entry(*args, &block) array_class_setter(*args, klass: Entry, section: 'entry', &block) end @props = {} end def devices maybe_register_subclass('devices', Devices.new(parent_instance: self, client: @client, create_children: @create_children)) end class Readonly < ConfigClass def has_multiple_values?; false; end def _section :readonly end @props = {} end def readonly @subclasses['readonly'] ||= Readonly.new(parent_instance: self, client: @client, create_children: @create_children) end @props = {} end def config @subclasses['config'] ||= Config.new(parent_instance: nil, client: self, create_children: @create_children) end end end